[
  {
    "path": ".gitignore",
    "content": "## Ignore Visual Studio temporary files, build results, and\n## files generated by popular Visual Studio add-ons.\n##\n## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore\n\n# User-specific files\n*.suo\n*.user\n*.userosscache\n*.sln.docstates\n\n# User-specific files (MonoDevelop/Xamarin Studio)\n*.userprefs\n\n# Build results\n[Aa][Rr][Mm]64/\nx64/\nx86/\n[Ww]in32/\nbld/\n\n# Visual Studio 2015 cache/options directory\n.vs/\n# Uncomment if you have tasks that create the project's static files in wwwroot\n#wwwroot/\n\n# MSTest test Results\n[Tt]est[Rr]esult*/\n[Bb]uild[Ll]og.*\n\n# NUNIT\n*.VisualState.xml\nTestResult.xml\n\n# Build Results of an ATL Project\n[Dd]ebugPS/\n[Rr]eleasePS/\ndlldata.c\n\n# .NET Core\nproject.lock.json\nproject.fragment.lock.json\nartifacts/\n**/Properties/launchSettings.json\n\n*_i.c\n*_p.c\n*_i.h\n*.ilk\n*.meta\n*.obj\n*.o\n*.pch\n*.pdb\n*.pgc\n*.pgd\n*.rsp\n*.sbr\n*.tlb\n*.tli\n*.tlh\n*.tmp\n*.tmp_proj\n*.log\n*.vspscc\n*.vssscc\n.builds\n*.pidb\n*.svclog\n*.scc\n\n# Chutzpah Test files\n_Chutzpah*\n\n# Visual C++ cache files\nipch/\n*.aps\n*.ncb\n*.opendb\n*.opensdf\n*.sdf\n*.cachefile\n*.VC.db\n*.VC.VC.opendb\n\n# Visual Studio profiler\n*.psess\n*.vsp\n*.vspx\n*.sap\n\n# TFS 2012 Local Workspace\n$tf/\n\n# Guidance Automation Toolkit\n*.gpState\n\n# ReSharper is a .NET coding add-in\n_ReSharper*/\n*.[Rr]e[Ss]harper\n*.DotSettings.user\n\n# JustCode is a .NET coding add-in\n.JustCode\n\n# TeamCity is a build add-in\n_TeamCity*\n\n# DotCover is a Code Coverage Tool\n*.dotCover\n\n# Visual Studio code coverage results\n*.coverage\n*.coveragexml\n\n# NCrunch\n_NCrunch_*\n.*crunch*.local.xml\nnCrunchTemp_*\n\n# MightyMoose\n*.mm.*\nAutoTest.Net/\n\n# Web workbench (sass)\n.sass-cache/\n\n# Installshield output folder\n[Ee]xpress/\n\n# DocProject is a documentation generator add-in\nDocProject/buildhelp/\nDocProject/Help/*.HxT\nDocProject/Help/*.HxC\nDocProject/Help/*.hhc\nDocProject/Help/*.hhk\nDocProject/Help/*.hhp\nDocProject/Help/Html2\nDocProject/Help/html\n\n# Click-Once directory\npublish/\n\n# Publish Web Output\n*.[Pp]ublish.xml\n*.azurePubxml\n# TODO: Comment the next line if you want to checkin your web deploy settings\n# but database connection strings (with potential passwords) will be unencrypted\n*.pubxml\n*.publishproj\n\n# Microsoft Azure Web App publish settings. Comment the next line if you want to\n# checkin your Azure Web App publish settings, but sensitive information contained\n# in these scripts will be unencrypted\nPublishScripts/\n\n# NuGet Packages\n*.nupkg\n# The packages folder can be ignored because of Package Restore\n**/packages/*\n# except build/, which is used as an MSBuild target.\n!**/packages/build/\n# Uncomment if necessary however generally it will be regenerated when needed\n#!**/packages/repositories.config\n# NuGet v3's project.json files produces more ignorable files\n*.nuget.props\n*.nuget.targets\n\n# Microsoft Azure Build Output\ncsx/\n*.build.csdef\n\n# Microsoft Azure Emulator\necf/\nrcf/\n\n# Windows Store app package directories and files\nAppPackages/\nBundleArtifacts/\nPackage.StoreAssociation.xml\n_pkginfo.txt\n\n# Visual Studio cache files\n# files ending in .cache can be ignored\n*.[Cc]ache\n# but keep track of directories ending in .cache\n!*.[Cc]ache/\n\n# Others\nClientBin/\n~$*\n*~\n*.dbmdl\n*.dbproj.schemaview\n*.jfm\n*.pfx\n*.publishsettings\norleans.codegen.cs\n\n# Since there are multiple workflows, uncomment next line to ignore bower_components\n# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)\n#bower_components/\n\n# RIA/Silverlight projects\nGenerated_Code/\n\n# Backup & report files from converting an old project file\n# to a newer Visual Studio version. Backup files are not needed,\n# because we have git ;-)\n_UpgradeReport_Files/\nBackup*/\nUpgradeLog*.XML\nUpgradeLog*.htm\n\n# SQL Server files\n*.mdf\n*.ldf\n*.ndf\n\n# Business Intelligence projects\n*.rdl.data\n*.bim.layout\n*.bim_*.settings\n\n# Microsoft Fakes\nFakesAssemblies/\n\n# GhostDoc plugin setting file\n*.GhostDoc.xml\n\n# Node.js Tools for Visual Studio\n.ntvs_analysis.dat\nnode_modules/\n\n# Typescript v1 declaration files\ntypings/\n\n# Visual Studio 6 build log\n*.plg\n\n# Visual Studio 6 workspace options file\n*.opt\n\n# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)\n*.vbw\n\n# Visual Studio LightSwitch build output\n**/*.HTMLClient/GeneratedArtifacts\n**/*.DesktopClient/GeneratedArtifacts\n**/*.DesktopClient/ModelManifest.xml\n**/*.Server/GeneratedArtifacts\n**/*.Server/ModelManifest.xml\n_Pvt_Extensions\n\n# Paket dependency manager\n.paket/paket.exe\npaket-files/\n\n# FAKE - F# Make\n.fake/\n\n# JetBrains Rider\n.idea/\n*.sln.iml\n\n# CodeRush\n.cr/\n\n# Python Tools for Visual Studio (PTVS)\n__pycache__/\n*.pyc\n\n# Cake - Uncomment if you are using it\n# tools/**\n# !tools/packages.config\n\n# Telerik's JustMock configuration file\n*.jmconfig\n\n# BizTalk build output\n*.btp.cs\n*.btm.cs\n*.odx.cs\n*.xsd.cs\nMakefile.depends\n*.exe\ntags\n"
  },
  {
    "path": "CHANGES.md",
    "content": "## Changes in v10.4 compared to v10.3 (February 2025)\n\n1. New Korean translation\n2. Resizable dialogs in pt-PT\n3. Better preservation of display settings when opening a specified directory via command line\n4. Relative paths when opening a specified directory via command line\n5. Security related warnings and hardening\n\n## Changes in v10.3 compared to v10.2 (March 2024)\n\n1. Ability to launch Administrator command prompt or Explorer in a directory\n2. More entries in the Goto dialog, and ability to Page Up/Page Down through the list\n3. Resizable dialogs throughout\n4. Symbolic links are visually distinguished using &gt;SYMLINK&lt;\n5. Translation improvements\n6. Can launch the Store version from the command line\n7. Refresh is more thorough\n8. Can specify an initial directory when opening Winfile\n9. Source and tooling improvements, including an ability to target Windows XP\n\n## Changes in v10.2 compared to v10.0 (December 2022)\n\n1. Editor configurable via Winfile.ini[Settings]EditorPath\n2. Change drives now via CTRL + ALT + letter\n3. File.Goto paths can be configured.  Default = C:\\\\. Configure via Winfile.ini[Settings]CachedPath\n4. `ctrl+C` copies path text to clipboard\n5. CTRL + ENTER executes associated files as administrator\n6. Symbolic Link directories/files and can be created by pressing CTRL + SHIFT during drag and drop of directories/files\n7. Hardlinks and Junctions and can be created by pressing CTRL + SHIFT + ALT during drag and drop of directories/files\n8. The delimiters for splitting words for the GotoCache can be configured via Winfile.ini[Settings]GotoCachePunctuation. The default is - _.\n9. The scroll behavior of the treeview on expand can be configured via Winfile.ini[Settings]ScrollOnExpand. The default is to scroll.\n10. Can handle paths up to 1024 characters with Windows10 >= 1607. Set HKLM\\SYSTEM\\CurrentControlSet\\Control\\FileSystem\\LongPathsEnabled=1 as admin.\n11. Japanese localisation with full-width katakanas\n12. Create files with suffix '- Copy', when copying with (`ctrl+C`) -> (`ctrl+V`) in the same dir, or drag-copy with mouse onto empty space in same dir.\n13. AMD64 build available\n\n## Changes in v10.0 compared to original_plus (April 2018)\n\nVersion v10.0 represents the entire set of changes from Nov. 2007 until this OSS project was created.\n\n1. OLE drag/drop support\n2. control characters (e.g., ctrl+C) map to current shortcut (e.g., `ctrl+C` -> `copy`)\ninstead of changing drives\n3. cut (`ctrl+X`) followed by paste (`ctrl+V`) translates into a file move as one would expect\n4. left and right arrows in the tree view expand and collapse folders like in the Explorer\n5. added context menus in both panes\n6. improved the means by which icons are displayed for files\n7. F12 runs notepad or notepad++ on the selected file\n8. moved the ini file location to `%AppData%\\Roaming\\Microsoft\\WinFile`\n9. File.Search can include a date which limits the files returned to those after the date provided;\nthe output is also sorted by the date instead of by the name\n10. File.Search includes an option as to whether to include sub-directories\n11. `ctrl+K` starts a command shell (ConEmu if installed) in the current directory; `shift+ctrl+K`\nstarts an elevated command shell (`cmd.exe` only)\n12. File.Goto (`ctrl+G`) enables one to type a few words of a path and get a list of directories;\nselecting one changes to that directory.  Hardcoded to C:\\\\ .\n13. UI shows reparse points (e.g., Junction Points and Symbolic Links) as such with little icons.\n14. added simple forward / back navigation (probably needs to be improved)\n15. View command has a new option to sort by date forward (oldest on top); normal date sorting is newest on top\n\n## Changes in original_plus (April 2018)\n\nThe source code provided here (in the `src` directory) was copied from the Windows NT 4 source tree in November\n2007.  The tag named original_plus contains a very limited set of modifications\nfrom the original sources to enable `WinFile.exe` to run on current Windows.\nThe most significant changes are:\n\n1. converted to Visual Studio solution; works on VS 2015 and 2017\n2. compiles and runs on 64-bit Windows (e.g., GetWindowLong -> GetWindowLongPtr, LONG -> LPARAM)\n3. added a few header files which were stored elsewhere in the NT source tree (e.g., wfext.h)\n4. deleted some unused files (e.g., winfile.def)\n5. converted 64-bit arithmetic from internal libraries to C\n6. converted internal shell APIs to public APIs (the primary reason the old version would not run)\n\nThe help directory contains both winfile.hlp and winfile.chm.  Winfile.hlp was in the NT4\nsource tree, but does not work on Windows 10 any more.  Winfile.chm was copied from\na regular installation of Windows 98 and works on Windows 10.  As is, `WinFile.exe`\ntries to launch winfile.hlp which fails.\n\nTo create your own local branch referring to this release, run `git checkout -b <your branch> original_plus`.\n\n"
  },
  {
    "path": "GNUmakefile",
    "content": "SRCS = \\\n\tsrc/dbg.c \\\n\tsrc/lfn.c \\\n\tsrc/lfnmisc.c \\\n\tsrc/numfmt.c \\\n\tsrc/Resize.c \\\n\tsrc/suggest.c \\\n\tsrc/tbar.c \\\n\tsrc/treectl.c \\\n\tsrc/wfassoc.c \\\n\tsrc/wfchgnot.c \\\n\tsrc/wfcomman.c \\\n\tsrc/wfcopy.c \\\n\tsrc/wfdir.c \\\n\tsrc/wfdirrd.c \\\n\tsrc/wfdirsrc.c \\\n\tsrc/wfdlgs.c \\\n\tsrc/wfdlgs2.c \\\n\tsrc/wfdlgs3.c \\\n\tsrc/wfdos.c \\\n\tsrc/wfdrives.c \\\n\tsrc/wfdrop.c \\\n\tsrc/wfext.c \\\n\tsrc/wffile.c \\\n\tsrc/wfinfo.c \\\n\tsrc/wfinit.c \\\n\tsrc/wfmem.c \\\n\tsrc/wfloc.c \\\n\tsrc/wfprint.c \\\n\tsrc/wfsearch.c \\\n\tsrc/wftree.c \\\n\tsrc/wfutil.c \\\n\tsrc/winfile.c \\\n\tsrc/wnetcaps.c\n\nOBJS = $(subst .c,.o,$(SRCS)) src/wfgoto.o src/res.o\n\nCFLAGS = -DUNICODE -DFASTMOVE -DSTRSAFE_NO_DEPRECATE -DWINVER=0x0600\nLDLIBS = -mwindows -lkernel32 -lgdi32 -luser32 -ladvapi32 -lcomctl32 -lole32 -lshlwapi -lshell32 -loleaut32 -lversion\nTARGET = winfile\nifeq ($(OS),Windows_NT)\nTARGET := $(TARGET).exe\nendif\n\nCC ?= gcc\nCXX ?= g++\nWINDRES = windres\nRM = rm -f\n\n.PHONY: all depend clean\n.SUFFIXES: .c .cpp .o .res\n\nall : $(TARGET)\n\n$(TARGET) : $(OBJS)\n\t$(CXX) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)\n\n.c.o :\n\t$(CC) -c $(CFLAGS) -I. $< -o $@\n\n.cpp.o :\n\t$(CXX) -c $(CFLAGS) -I. $< -o $@\n\nsrc/res.o : src/res.rc src/lang/*.rc src/lang/*.dlg\n\t$(WINDRES) -DNOWINRES -I. -Isrc/ -i src/res.rc -o src/res.o\n\nclean :\n\t$(RM) $(OBJS) $(TARGET)\n\ndepend:\n\t$(CC) -E -MM -w src/*.c > Makefile.depends\n\n-include Makefile.depends\n"
  },
  {
    "path": "LICENSE",
    "content": "    MIT License\n\n    Copyright (c) Microsoft Corporation. All rights reserved.\n\n    Permission is hereby granted, free of charge, to any person obtaining a copy\n    of this software and associated documentation files (the \"Software\"), to deal\n    in the Software without restriction, including without limitation the rights\n    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n    copies of the Software, and to permit persons to whom the Software is\n    furnished to do so, subject to the following conditions:\n\n    The above copyright notice and this permission notice shall be included in all\n    copies or substantial portions of the Software.\n\n    THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n    SOFTWARE\n"
  },
  {
    "path": "Package/Package.appxmanifest",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Package\n  xmlns=\"http://schemas.microsoft.com/appx/manifest/foundation/windows10\"\n  xmlns:mp=\"http://schemas.microsoft.com/appx/2014/phone/manifest\"\n  xmlns:uap=\"http://schemas.microsoft.com/appx/manifest/uap/windows10\"\n  xmlns:uap3=\"http://schemas.microsoft.com/appx/manifest/uap/windows10/3\"\n  xmlns:desktop=\"http://schemas.microsoft.com/appx/manifest/desktop/windows10\"\n  xmlns:rescap=\"http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities\"\n  IgnorableNamespaces=\"desktop uap uap3 mp rescap\">\n  <Identity Name=\"Microsoft.WindowsFileManager\" Publisher=\"CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US\" Version=\"10.4.0.0\" />\n  <Properties>\n    <DisplayName>Windows File Manager</DisplayName>\n    <PublisherDisplayName>Microsoft Corporation</PublisherDisplayName>\n    <Logo>Images\\StoreLogo.png</Logo>\n  </Properties>\n  <Dependencies>\n    <TargetDeviceFamily Name=\"Windows.Desktop\" MinVersion=\"10.0.14393.0\" MaxVersionTested=\"10.0.14393.0\" />\n  </Dependencies>\n  <Resources>\n    <Resource Language=\"x-generate\" />\n  </Resources>\n  <Applications>\n    <Application Id=\"App\" Executable=\"$targetnametoken$.exe\" EntryPoint=\"$targetentrypoint$\">\n      <uap:VisualElements DisplayName=\"Windows File Manager\" Description=\"Windows File Manager reborn; cf. https://github.com/microsoft/winfile.\" BackgroundColor=\"transparent\" Square150x150Logo=\"Images\\Square150x150Logo.png\" Square44x44Logo=\"Images\\Square44x44Logo.png\">\n        <uap:DefaultTile>\n          <uap:ShowNameOnTiles>\n            <uap:ShowOn Tile=\"square150x150Logo\" />\n          </uap:ShowNameOnTiles>\n        </uap:DefaultTile>\n        <uap:SplashScreen Image=\"Images\\SplashScreen.png\" />\n      </uap:VisualElements>\n      <Extensions>\n        <uap3:Extension\n          Category=\"windows.appExecutionAlias\"\n          Executable=\"Winfile\\Winfile.exe\"\n          EntryPoint=\"Windows.FullTrustApplication\">\n          <uap3:AppExecutionAlias>\n            <desktop:ExecutionAlias Alias=\"Winfile.exe\" />\n          </uap3:AppExecutionAlias>\n        </uap3:Extension>\n      </Extensions>\n    </Application>\n  </Applications>\n  <Capabilities>\n    <Capability Name=\"internetClient\" />\n    <rescap:Capability Name=\"runFullTrust\" />\n  </Capabilities>\n</Package>\n"
  },
  {
    "path": "Package/Package.wapproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"15.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <PropertyGroup Condition=\"'$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '15.0'\">\n    <VisualStudioVersion>15.0</VisualStudioVersion>\n  </PropertyGroup>\n  <ItemGroup Label=\"ProjectConfigurations\">\n    <ProjectConfiguration Include=\"Debug|Win32\">\n      <Configuration>Debug</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Release|Win32\">\n      <Configuration>Release</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Debug|x64\">\n      <Configuration>Debug</Configuration>\n      <Platform>x64</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Release|x64\">\n      <Configuration>Release</Configuration>\n      <Platform>x64</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Debug|ARM64\">\n      <Configuration>Debug</Configuration>\n      <Platform>ARM64</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Release|ARM64\">\n      <Configuration>Release</Configuration>\n      <Platform>ARM64</Platform>\n    </ProjectConfiguration>\n  </ItemGroup>\n  <PropertyGroup>\n    <WapProjPath Condition=\"'$(WapProjPath)'==''\">$(MSBuildExtensionsPath)\\Microsoft\\DesktopBridge\\</WapProjPath>\n    <PlatformTarget Condition=\"'$(Platform)'=='Win32'\">x86</PlatformTarget>\n  </PropertyGroup>\n  <Import Project=\"$(WapProjPath)\\Microsoft.DesktopBridge.props\" />\n  <PropertyGroup>\n    <ProjectGuid>ac921d51-18e2-4fbe-a444-059543458c00</ProjectGuid>\n    <TargetPlatformVersion>10.0.18362.0</TargetPlatformVersion>\n    <TargetPlatformMinVersion>10.0.16299.0</TargetPlatformMinVersion>\n    <DefaultLanguage>en-US</DefaultLanguage>\n    <PackageCertificateKeyFile>Winfile.AppStore.UploadCert.pfx</PackageCertificateKeyFile>\n    <EntryPointProjectUniqueName>..\\src\\Winfile.vcxproj</EntryPointProjectUniqueName>\n    <GenerateAppInstallerFile>False</GenerateAppInstallerFile>\n    <AppxAutoIncrementPackageRevision>False</AppxAutoIncrementPackageRevision>\n    <AppxBundlePlatforms>x86|x64|arm64</AppxBundlePlatforms>\n    <AppInstallerUpdateFrequency>0</AppInstallerUpdateFrequency>\n    <AppInstallerCheckForUpdateFrequency>OnApplicationRun</AppInstallerCheckForUpdateFrequency>\n    <!-- cf. https://github.com/microsoft/winfile/issues/227 -->\n    <SkipUnionWinmd>true</SkipUnionWinmd>\n    <AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm>\n    <GenerateTestArtifacts>True</GenerateTestArtifacts>\n    <HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|ARM64'\">\n    <AppxBundle>Always</AppxBundle>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\">\n    <AppxBundle>Always</AppxBundle>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\">\n    <AppxBundle>Always</AppxBundle>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <AppxBundle>Always</AppxBundle>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|ARM64'\">\n    <AppxBundle>Always</AppxBundle>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <AppxBundle>Always</AppxBundle>\n  </PropertyGroup>\n  <ItemGroup>\n    <AppxManifest Include=\"Package.appxmanifest\">\n      <SubType>Designer</SubType>\n    </AppxManifest>\n    <None Include=\"Package_TemporaryKey.pfx\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Content Include=\"Images\\SplashScreen.png\" />\n    <Content Include=\"Images\\Square150x150Logo.scale-100.png\" />\n    <Content Include=\"Images\\Square150x150Logo.scale-200.png\" />\n    <Content Include=\"Images\\Square150x150Logo.scale-400.png\" />\n    <Content Include=\"Images\\Square44x44Logo.altform-unplated_targetsize-16.png\" />\n    <Content Include=\"Images\\Square44x44Logo.altform-unplated_targetsize-256.png\" />\n    <Content Include=\"Images\\Square44x44Logo.altform-unplated_targetsize-48.png\" />\n    <Content Include=\"Images\\Square44x44Logo.scale-100.png\" />\n    <Content Include=\"Images\\Square44x44Logo.scale-200.png\" />\n    <Content Include=\"Images\\Square44x44Logo.scale-400.png\" />\n    <Content Include=\"Images\\Square44x44Logo.targetsize-16.png\" />\n    <Content Include=\"Images\\Square44x44Logo.targetsize-256.png\" />\n    <Content Include=\"Images\\Square44x44Logo.targetsize-48.png\" />\n    <Content Include=\"Images\\StoreLogo.scale-100.png\" />\n    <Content Include=\"Images\\StoreLogo.scale-200.png\" />\n    <Content Include=\"Images\\StoreLogo.scale-400.png\" />\n    <None Include=\"Winfile.AppStore.UploadCert.pfx\" />\n    <None Include=\"Package_StoreKey.pfx\" />\n    <None Include=\"Package.StoreAssociation.xml\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ProjectReference Include=\"..\\src\\Winfile.vcxproj\" />\n  </ItemGroup>\n  <Import Project=\"$(WapProjPath)\\Microsoft.DesktopBridge.targets\" />\n</Project>\n"
  },
  {
    "path": "README.md",
    "content": "\n\n# Announcement: Repository to be archived on March 1, 2025\nWe realize this may come as a shock and disappointment to our contributors but we simply do not have the expertise or resources within the organization to continue to maintain this project. \nWhile you may continue to work on your own private fork, remember that use of archived repositories are more risky from a security standpoint and caution should be taken. \n\n# ![icon](winfile.png) Windows File Manager (WinFile)\n\nThe Windows File Manager lives again and runs as a native x86, x64 and arm64 desktop app\non all currently supported version of Windows, including Windows 11. I welcome your thoughts, comments and suggestions.\n\nThere are two primary versions of the source code in the master branch:\n\n1. original_plus tag: refers to the source for WinFile as of Windows NT4 with minimal changes\nso that it compiles with Visual Studio and runs on current Windows.\n\n2. current master: actively developed branch that consists of enhancements and additions to WinFile.\n\nI will consider bugs fixes and suggestions for minor changes to the master branch. Feel free to create a pull request or post issues as you see fit.\n\nI will not be changing the original_plus sources nor creating other branches for other purposes.\nYou are welcome to do that on your own.\n\n## Download The App\n\nIf you are running Windows 10, you can download the app from the store\n\n<a href=\"https://www.microsoft.com/store/apps/9p7vbbbc49rb?ocid=badge\"><img src=\"https://developer.microsoft.com/store/badges/images/English_get-it-from-MS.png\" alt=\"Get it from Microsoft\" width=\"150px\"></a>\n\nIf you just want to download the WinFile application without worrying about compiling from the source code, we have a number of pre-compiled versions available.\n\nPlease select the version which you would like to download.\n\n- [Chocolatey release](https://chocolatey.org/packages/winfile)\n\n- Winget release: `winget install \"Windows File Manager\"`\n\n- [MSYS2 release](https://packages.msys2.org/base/mingw-w64-winfile)\n\n- [Latest Release on Github (v10.3.0.0)](https://github.com/microsoft/winfile/releases/latest)\n\nTo see more release binaries, including of older versions, [see the releases page](https://github.com/Microsoft/winfile/releases).\n\n## History\n\nThe Windows File manager was originally released with Windows 3.0 in the early 1990s.  You\ncan read more about the history at https://en.wikipedia.org/wiki/Windows_File_Manager .\n\n## Change history\n\nHighlights of changes in each release are in [CHANGES.md](CHANGES.md).\n\n## What it looks like\n# ![Winfile](winfilescreenshot.png)\n\n## Contributing\n\n### Contributor License Agreement\nAs mentioned above, this project welcomes contributions and suggestions.  Most contributions require you to agree to a\nContributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us\nthe rights to use your contribution. For details, visit https://cla.microsoft.com.\n\nWhen you submit a pull request, a CLA-bot will automatically determine whether you need to provide\na CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions\nprovided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).\nFor more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or\ncontact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\n### What Makes a Good Pull Request for WinFile?\nIf you are interested in contributing and/or suggesting changes to the actual application, you might find it helpful to [read this post first](https://github.com/Microsoft/winfile/issues/88).\n\n## License\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nLicensed under the [MIT](LICENSE) License.\n"
  },
  {
    "path": "SECURITY.md",
    "content": "<!-- BEGIN MICROSOFT SECURITY.MD V0.0.7 BLOCK -->\n\n## Security\n\nMicrosoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/).\n\nIf you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/opensource/security/definition), please report it to us as described below.\n\n## Reporting Security Issues\n\n**Please do not report security vulnerabilities through public GitHub issues.**\n\nInstead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/opensource/security/create-report).\n\nIf you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com).  If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/opensource/security/pgpkey).\n\nYou should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://aka.ms/opensource/security/msrc). \n\nPlease include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:\n\n  * Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)\n  * Full paths of source file(s) related to the manifestation of the issue\n  * The location of the affected source code (tag/branch/commit or direct URL)\n  * Any special configuration required to reproduce the issue\n  * Step-by-step instructions to reproduce the issue\n  * Proof-of-concept or exploit code (if possible)\n  * Impact of the issue, including how an attacker might exploit the issue\n\nThis information will help us triage your report more quickly.\n\nIf you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/opensource/security/bounty) page for more details about our active programs.\n\n## Preferred Languages\n\nWe prefer all communications to be in English.\n\n## Policy\n\nMicrosoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/opensource/security/cvd).\n\n<!-- END MICROSOFT SECURITY.MD BLOCK -->\n"
  },
  {
    "path": "SignConfig.xml",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n<SignConfigXML>\n <job platform=\"Win32\" certSubject=\"CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US\" configuration=\"Release\" dest=\"__OUTPATHROOT__\\signed\" jobname=\"Winfile x86\" joburl=\"https://github.com/microsoft/winfile\" approvers=\"\">\n   <file src=\"__INPATHROOT__\\Winfile.exe\" signType=\"135020002\" dest=\"__OUTPATHROOT__\\signed\\Winfile.exe\" />\n </job>\n <job platform=\"x64\" certSubject=\"CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US\" configuration=\"Release\" dest=\"__OUTPATHROOT__\\signed\" jobname=\"Winfile x64\" joburl=\"https://github.com/microsoft/winfile\" approvers=\"\">\n   <file src=\"__INPATHROOT__\\Winfile.exe\" signType=\"135020002\" dest=\"__OUTPATHROOT__\\signed\\Winfile.exe\" />\n </job>\n <job platform=\"ARM\" certSubject=\"CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US\" configuration=\"Release\" dest=\"__OUTPATHROOT__\\signed\" jobname=\"Winfile ARM\" joburl=\"https://github.com/microsoft/winfile\" approvers=\"\">\n   <file src=\"__INPATHROOT__\\Winfile.exe\" signType=\"135020002\" dest=\"__OUTPATHROOT__\\signed\\Winfile.exe\" />\n </job>\n</SignConfigXML>\n"
  },
  {
    "path": "Winfile.sln",
    "content": "﻿\nMicrosoft Visual Studio Solution File, Format Version 12.00\n# Visual Studio 15\nVisualStudioVersion = 15.0.27428.2037\nMinimumVisualStudioVersion = 10.0.40219.1\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"Winfile\", \"src\\Winfile.vcxproj\", \"{028400E7-500A-4FB9-877F-F6C7AE24F109}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"VerifyResources\", \"tools\\VerifyResources\\VerifyResources.vcxproj\", \"{2A455495-7936-4F67-B957-6356E0141DAD}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"FileSignatureInfo\", \"tools\\FileSignatureInfo\\FileSignatureInfo.vcxproj\", \"{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"AddonSample\", \"samples\\addon\\AddOnSample.vcxproj\", \"{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}\"\nEndProject\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\") = \"ExeView\", \"tools\\ExeView\\ExeView.vcxproj\", \"{23717B8E-CA4A-412F-A4EA-5E6899143EC7}\"\nEndProject\nProject(\"{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}\") = \"Package\", \"Package\\Package.wapproj\", \"{AC921D51-18E2-4FBE-A444-059543458C00}\"\nEndProject\nProject(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\") = \"Solution Items\", \"Solution Items\", \"{2C73F3F2-606A-4B7B-B473-3E5A8AC467FB}\"\n\tProjectSection(SolutionItems) = preProject\n\t\tREADME.md = README.md\n\tEndProjectSection\nEndProject\nGlobal\n\tGlobalSection(SolutionConfigurationPlatforms) = preSolution\n\t\tDebug|ARM64 = Debug|ARM64\n\t\tDebug|Win32 = Debug|Win32\n\t\tDebug|x64 = Debug|x64\n\t\tDebug|x86 = Debug|x86\n\t\tDebugXPStatic|ARM64 = DebugXPStatic|ARM64\n\t\tDebugXPStatic|Win32 = DebugXPStatic|Win32\n\t\tDebugXPStatic|x64 = DebugXPStatic|x64\n\t\tDebugXPStatic|x86 = DebugXPStatic|x86\n\t\tRelease|ARM64 = Release|ARM64\n\t\tRelease|Win32 = Release|Win32\n\t\tRelease|x64 = Release|x64\n\t\tRelease|x86 = Release|x86\n\t\tReleaseXPStatic|ARM64 = ReleaseXPStatic|ARM64\n\t\tReleaseXPStatic|Win32 = ReleaseXPStatic|Win32\n\t\tReleaseXPStatic|x64 = ReleaseXPStatic|x64\n\t\tReleaseXPStatic|x86 = ReleaseXPStatic|x86\n\tEndGlobalSection\n\tGlobalSection(ProjectConfigurationPlatforms) = postSolution\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.Debug|ARM64.ActiveCfg = Debug|ARM64\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.Debug|ARM64.Build.0 = Debug|ARM64\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.Debug|x64.ActiveCfg = Debug|x64\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.Debug|x64.Build.0 = Debug|x64\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.Debug|x86.ActiveCfg = Debug|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.Debug|x86.Build.0 = Debug|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.DebugXPStatic|ARM64.ActiveCfg = DebugXPStatic|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.DebugXPStatic|ARM64.Build.0 = DebugXPStatic|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.DebugXPStatic|Win32.ActiveCfg = DebugXPStatic|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.DebugXPStatic|Win32.Build.0 = DebugXPStatic|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.DebugXPStatic|x64.ActiveCfg = DebugXPStatic|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.DebugXPStatic|x64.Build.0 = DebugXPStatic|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.DebugXPStatic|x86.ActiveCfg = DebugXPStatic|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.DebugXPStatic|x86.Build.0 = DebugXPStatic|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.Release|ARM64.ActiveCfg = Release|ARM64\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.Release|ARM64.Build.0 = Release|ARM64\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.Release|Win32.Build.0 = Release|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.Release|x64.ActiveCfg = Release|x64\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.Release|x64.Build.0 = Release|x64\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.Release|x86.ActiveCfg = Release|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.Release|x86.Build.0 = Release|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.ReleaseXPStatic|ARM64.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.ReleaseXPStatic|ARM64.Build.0 = ReleaseXPStatic|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.ReleaseXPStatic|Win32.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.ReleaseXPStatic|Win32.Build.0 = ReleaseXPStatic|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.ReleaseXPStatic|x64.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.ReleaseXPStatic|x64.Build.0 = ReleaseXPStatic|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.ReleaseXPStatic|x86.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{028400E7-500A-4FB9-877F-F6C7AE24F109}.ReleaseXPStatic|x86.Build.0 = ReleaseXPStatic|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.Debug|ARM64.ActiveCfg = Debug|ARM64\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.Debug|ARM64.Build.0 = Debug|ARM64\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.Debug|x64.ActiveCfg = Debug|x64\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.Debug|x64.Build.0 = Debug|x64\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.Debug|x86.ActiveCfg = Debug|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.Debug|x86.Build.0 = Debug|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.DebugXPStatic|ARM64.ActiveCfg = DebugXPStatic|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.DebugXPStatic|ARM64.Build.0 = DebugXPStatic|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.DebugXPStatic|Win32.ActiveCfg = DebugXPStatic|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.DebugXPStatic|Win32.Build.0 = DebugXPStatic|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.DebugXPStatic|x64.ActiveCfg = DebugXPStatic|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.DebugXPStatic|x64.Build.0 = DebugXPStatic|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.DebugXPStatic|x86.ActiveCfg = DebugXPStatic|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.DebugXPStatic|x86.Build.0 = DebugXPStatic|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.Release|ARM64.ActiveCfg = Release|ARM64\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.Release|ARM64.Build.0 = Release|ARM64\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.Release|Win32.Build.0 = Release|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.Release|x64.ActiveCfg = Release|x64\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.Release|x64.Build.0 = Release|x64\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.Release|x86.ActiveCfg = Release|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.Release|x86.Build.0 = Release|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.ReleaseXPStatic|ARM64.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.ReleaseXPStatic|ARM64.Build.0 = ReleaseXPStatic|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.ReleaseXPStatic|Win32.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.ReleaseXPStatic|Win32.Build.0 = ReleaseXPStatic|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.ReleaseXPStatic|x64.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.ReleaseXPStatic|x64.Build.0 = ReleaseXPStatic|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.ReleaseXPStatic|x86.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{2A455495-7936-4F67-B957-6356E0141DAD}.ReleaseXPStatic|x86.Build.0 = ReleaseXPStatic|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.Debug|ARM64.ActiveCfg = Debug|ARM64\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.Debug|ARM64.Build.0 = Debug|ARM64\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.Debug|x64.ActiveCfg = Debug|x64\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.Debug|x64.Build.0 = Debug|x64\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.Debug|x86.ActiveCfg = Debug|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.Debug|x86.Build.0 = Debug|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.DebugXPStatic|ARM64.ActiveCfg = DebugXPStatic|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.DebugXPStatic|ARM64.Build.0 = DebugXPStatic|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.DebugXPStatic|Win32.ActiveCfg = DebugXPStatic|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.DebugXPStatic|Win32.Build.0 = DebugXPStatic|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.DebugXPStatic|x64.ActiveCfg = DebugXPStatic|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.DebugXPStatic|x64.Build.0 = DebugXPStatic|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.DebugXPStatic|x86.ActiveCfg = DebugXPStatic|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.DebugXPStatic|x86.Build.0 = DebugXPStatic|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.Release|ARM64.ActiveCfg = Release|ARM64\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.Release|ARM64.Build.0 = Release|ARM64\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.Release|Win32.Build.0 = Release|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.Release|x64.ActiveCfg = Release|x64\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.Release|x64.Build.0 = Release|x64\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.Release|x86.ActiveCfg = Release|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.Release|x86.Build.0 = Release|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.ReleaseXPStatic|ARM64.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.ReleaseXPStatic|ARM64.Build.0 = ReleaseXPStatic|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.ReleaseXPStatic|Win32.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.ReleaseXPStatic|Win32.Build.0 = ReleaseXPStatic|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.ReleaseXPStatic|x64.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.ReleaseXPStatic|x64.Build.0 = ReleaseXPStatic|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.ReleaseXPStatic|x86.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}.ReleaseXPStatic|x86.Build.0 = ReleaseXPStatic|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.Debug|ARM64.ActiveCfg = Debug|ARM64\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.Debug|ARM64.Build.0 = Debug|ARM64\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.Debug|x64.ActiveCfg = Debug|x64\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.Debug|x64.Build.0 = Debug|x64\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.Debug|x86.ActiveCfg = Debug|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.Debug|x86.Build.0 = Debug|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.DebugXPStatic|ARM64.ActiveCfg = DebugXPStatic|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.DebugXPStatic|ARM64.Build.0 = DebugXPStatic|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.DebugXPStatic|Win32.ActiveCfg = DebugXPStatic|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.DebugXPStatic|Win32.Build.0 = DebugXPStatic|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.DebugXPStatic|x64.ActiveCfg = DebugXPStatic|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.DebugXPStatic|x64.Build.0 = DebugXPStatic|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.DebugXPStatic|x86.ActiveCfg = DebugXPStatic|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.DebugXPStatic|x86.Build.0 = DebugXPStatic|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.Release|ARM64.ActiveCfg = Release|ARM64\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.Release|ARM64.Build.0 = Release|ARM64\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.Release|Win32.Build.0 = Release|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.Release|x64.ActiveCfg = Release|x64\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.Release|x64.Build.0 = Release|x64\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.Release|x86.ActiveCfg = Release|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.Release|x86.Build.0 = Release|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.ReleaseXPStatic|ARM64.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.ReleaseXPStatic|ARM64.Build.0 = ReleaseXPStatic|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.ReleaseXPStatic|Win32.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.ReleaseXPStatic|Win32.Build.0 = ReleaseXPStatic|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.ReleaseXPStatic|x64.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.ReleaseXPStatic|x64.Build.0 = ReleaseXPStatic|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.ReleaseXPStatic|x86.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}.ReleaseXPStatic|x86.Build.0 = ReleaseXPStatic|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.Debug|ARM64.ActiveCfg = Debug|ARM64\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.Debug|ARM64.Build.0 = Debug|ARM64\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.Debug|x64.ActiveCfg = Debug|x64\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.Debug|x64.Build.0 = Debug|x64\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.Debug|x86.ActiveCfg = Debug|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.Debug|x86.Build.0 = Debug|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.DebugXPStatic|ARM64.ActiveCfg = DebugXPStatic|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.DebugXPStatic|ARM64.Build.0 = DebugXPStatic|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.DebugXPStatic|Win32.ActiveCfg = DebugXPStatic|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.DebugXPStatic|Win32.Build.0 = DebugXPStatic|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.DebugXPStatic|x64.ActiveCfg = DebugXPStatic|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.DebugXPStatic|x64.Build.0 = DebugXPStatic|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.DebugXPStatic|x86.ActiveCfg = DebugXPStatic|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.DebugXPStatic|x86.Build.0 = DebugXPStatic|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.Release|ARM64.ActiveCfg = Release|ARM64\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.Release|ARM64.Build.0 = Release|ARM64\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.Release|Win32.Build.0 = Release|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.Release|x64.ActiveCfg = Release|x64\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.Release|x64.Build.0 = Release|x64\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.Release|x86.ActiveCfg = Release|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.Release|x86.Build.0 = Release|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.ReleaseXPStatic|ARM64.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.ReleaseXPStatic|ARM64.Build.0 = ReleaseXPStatic|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.ReleaseXPStatic|Win32.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.ReleaseXPStatic|Win32.Build.0 = ReleaseXPStatic|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.ReleaseXPStatic|x64.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.ReleaseXPStatic|x64.Build.0 = ReleaseXPStatic|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.ReleaseXPStatic|x86.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{23717B8E-CA4A-412F-A4EA-5E6899143EC7}.ReleaseXPStatic|x86.Build.0 = ReleaseXPStatic|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Debug|ARM64.ActiveCfg = Debug|ARM64\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Debug|ARM64.Build.0 = Debug|ARM64\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Debug|ARM64.Deploy.0 = Debug|ARM64\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Debug|Win32.ActiveCfg = Debug|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Debug|Win32.Build.0 = Debug|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Debug|Win32.Deploy.0 = Debug|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Debug|x64.ActiveCfg = Debug|x64\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Debug|x64.Build.0 = Debug|x64\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Debug|x64.Deploy.0 = Debug|x64\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Debug|x86.ActiveCfg = Debug|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Debug|x86.Build.0 = Debug|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Debug|x86.Deploy.0 = Debug|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.DebugXPStatic|ARM64.ActiveCfg = DebugXPStatic|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.DebugXPStatic|Win32.ActiveCfg = DebugXPStatic|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.DebugXPStatic|Win32.Build.0 = DebugXPStatic|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.DebugXPStatic|x64.ActiveCfg = DebugXPStatic|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.DebugXPStatic|x86.ActiveCfg = DebugXPStatic|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.DebugXPStatic|x86.Build.0 = DebugXPStatic|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Release|ARM64.ActiveCfg = Release|ARM64\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Release|ARM64.Build.0 = Release|ARM64\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Release|ARM64.Deploy.0 = Release|ARM64\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Release|Win32.ActiveCfg = Release|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Release|Win32.Build.0 = Release|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Release|Win32.Deploy.0 = Release|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Release|x64.ActiveCfg = Release|x64\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Release|x64.Build.0 = Release|x64\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Release|x64.Deploy.0 = Release|x64\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Release|x86.ActiveCfg = Release|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Release|x86.Build.0 = Release|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.Release|x86.Deploy.0 = Release|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.ReleaseXPStatic|ARM64.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.ReleaseXPStatic|Win32.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.ReleaseXPStatic|Win32.Build.0 = ReleaseXPStatic|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.ReleaseXPStatic|x64.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.ReleaseXPStatic|x86.ActiveCfg = ReleaseXPStatic|Win32\n\t\t{AC921D51-18E2-4FBE-A444-059543458C00}.ReleaseXPStatic|x86.Build.0 = ReleaseXPStatic|Win32\n\tEndGlobalSection\n\tGlobalSection(SolutionProperties) = preSolution\n\t\tHideSolutionNode = FALSE\n\tEndGlobalSection\n\tGlobalSection(ExtensibilityGlobals) = postSolution\n\t\tSolutionGuid = {56BB175E-5DE4-4CCB-B12D-67217C03BD15}\n\tEndGlobalSection\nEndGlobal\n"
  },
  {
    "path": "build/README.md",
    "content": "\nThese two files control repo-wide build settings.\n\nMsbuild projects work by including a \"default\" props file, then allowing\nprojects to override those defaults, then including a \"props\" file that\ncan apply high-level properties into lower level configuration.  After that,\nprojects can once again override lower level values, then define which files\nto compile, then include a \"targets\" file to perform execution.\n\nIn other words, the way to think of these two files is\n`Winfile.default.props` executes before `Winfile.props`, and the two files\nare split to allow individual projects to manipulate state in between.\n\nGenerally, anything affecting supported architectures, compilers, and basic\ncompilation options should be here.  Anything specific to an executable\nshould be in the project files.\n\n"
  },
  {
    "path": "build/Winfile.default.props",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup Label=\"ProjectConfigurations\">\n    <ProjectConfiguration Include=\"Debug|ARM64\">\n      <Configuration>Debug</Configuration>\n      <Platform>ARM64</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Debug|Win32\">\n      <Configuration>Debug</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Debug|x64\">\n      <Configuration>Debug</Configuration>\n      <Platform>x64</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"DebugXPStatic|Win32\">\n      <Configuration>DebugXPStatic</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Release|ARM64\">\n      <Configuration>Release</Configuration>\n      <Platform>ARM64</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Release|Win32\">\n      <Configuration>Release</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"Release|x64\">\n      <Configuration>Release</Configuration>\n      <Platform>x64</Platform>\n    </ProjectConfiguration>\n    <ProjectConfiguration Include=\"ReleaseXPStatic|Win32\">\n      <Configuration>ReleaseXPStatic</Configuration>\n      <Platform>Win32</Platform>\n    </ProjectConfiguration>\n  </ItemGroup>\n  <PropertyGroup Label=\"Globals\">\n    <WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>\n    <WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>\n    <WindowsSDKDesktopARM64Support>true</WindowsSDKDesktopARM64Support>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)'=='Debug' or '$(Configuration)'=='DebugXPStatic'\">\n    <UseDebugLibraries>true</UseDebugLibraries>\n    <LinkIncremental>true</LinkIncremental>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)'=='Release' or '$(Configuration)'=='ReleaseXPStatic'\">\n    <UseDebugLibraries>false</UseDebugLibraries>\n    <LinkIncremental>false</LinkIncremental>\n    <WholeProgramOptimization>true</WholeProgramOptimization>\n  </PropertyGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.Default.props\" />\n  <PropertyGroup Label=\"Configuration\" Condition=\"'$(Configuration)'=='ReleaseXPStatic' or '$(Configuration)'=='DebugXPStatic'\">\n    <PlatformToolset>v141_xp</PlatformToolset>\n    <XPDeprecationWarning>false</XPDeprecationWarning>\n  </PropertyGroup>\n  <PropertyGroup Label=\"Configuration\" Condition=\"'$(Configuration)'=='Release' or '$(Configuration)'=='Debug'\">\n    <PlatformToolset>v143</PlatformToolset>\n  </PropertyGroup>\n</Project>\n"
  },
  {
    "path": "build/Winfile.props",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.props\" />\n  <ItemDefinitionGroup Label=\"Globals\">\n    <ClCompile>\n      <WarningLevel>Level3</WarningLevel>\n      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\n      <MultiProcessorCompilation>true</MultiProcessorCompilation>\n    </ClCompile>\n    <Link>\n      <GenerateDebugInformation>true</GenerateDebugInformation>\n    </Link>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)'=='Debug'\">\n    <ClCompile>\n      <Optimization>Disabled</Optimization>\n      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\n      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\n      <SdlCheck>true</SdlCheck>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)'=='DebugXPStatic'\">\n    <ClCompile>\n      <Optimization>Disabled</Optimization>\n      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\n      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\n      <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)'=='Release'\">\n    <ClCompile>\n      <Optimization>MaxSpeed</Optimization>\n      <FunctionLevelLinking>true</FunctionLevelLinking>\n      <IntrinsicFunctions>true</IntrinsicFunctions>\n      <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\n      <SdlCheck>true</SdlCheck>\n    </ClCompile>\n    <Link>\n      <OptimizeReferences>true</OptimizeReferences>\n      <EnableCOMDATFolding>true</EnableCOMDATFolding>\n    </Link>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)'=='ReleaseXPStatic'\">\n    <ClCompile>\n      <Optimization>MinSpace</Optimization>\n      <FunctionLevelLinking>true</FunctionLevelLinking>\n      <IntrinsicFunctions>true</IntrinsicFunctions>\n      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>\n      <EnableEnhancedInstructionSet>NoExtensions</EnableEnhancedInstructionSet>\n    </ClCompile>\n    <Link>\n      <OptimizeReferences>true</OptimizeReferences>\n      <EnableCOMDATFolding>true</EnableCOMDATFolding>\n    </Link>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Platform)'=='Win32'\">\n    <ClCompile>\n      <CallingConvention>StdCall</CallingConvention>\n    </ClCompile>\n    <Link>\n      <TargetMachine>MachineX86</TargetMachine>\n    </Link>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Platform)'=='ARM64'\">\n    <ClCompile>\n      <CallingConvention>StdCall</CallingConvention>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Platform)'=='x64'\">\n    <ClCompile>\n      <CallingConvention>StdCall</CallingConvention>\n    </ClCompile>\n    <Link>\n      <TargetMachine>MachineX64</TargetMachine>\n    </Link>\n    <Midl>\n      <TargetEnvironment>X64</TargetEnvironment>\n    </Midl>\n  </ItemDefinitionGroup>\n  <PropertyGroup>\n    <OutDir>$(Platform)\\$(Configuration)\\</OutDir>\n    <IntDir>$(Platform)\\$(Configuration)\\</IntDir>\n  </PropertyGroup>\n</Project>\n"
  },
  {
    "path": "help/ini/index.html",
    "content": "<html>\n<head>\n<title>Building winfile.ini from scratch</title>\n</head>\n<body>\n <p>OR: Building WINFILE.INI from scratch is a bad idea. Here's how to do it anyway.</p>\n<h3>Preface:</h3>\n<p>This is not an \"issue\" per se, and is more of an \"I couldn't find this written down anywhere and perhaps somebody else might want to know this for some reason\" thing. Feel free to mark it as \"solved\" or \"complete\" or whatever, this is purely informational. If you need an issue, somebody could find a way to work this information into the help documentation or whatever.</p>\n<p>To be perfectly clear, there is very little practical reason you should ever edit WINFILE.INI directly - nearly everything that is stored in the INI can be directly changed using the user interface, and it's much easier to make these changes in the UI directly. I make this quick reference available simply to satisfy my own sensibilities. If this helps you, great.</p>\n<p>At any rate, if you ever need or desire to modify the INI file for fun or profit, here is a list of all of the INI settings I've identified, with best-effort descriptions of what they do. Add them to the help files or whatever. Hopefully, google/bing/whatever will index this and the next person who searches for it will find this.</p>\n<p>Also, for anybody following along at home, sprinkled throughout this document are example lines ripped directly from my INI file. You don't have to copy them directly if you don't want to - this is just how I like mine.</p>\n<h3>[Settings]</h3>\n<p>The INI file begins with the line <em>[Settings]</em>. It delimits the beginning of the settings portion of the INI file, which just so happens to be the entire file. This line is mandatory: File Manager is pretty lax about the order of each key/setting, however it outright ignores all parameters that are not beneath [Settings] - it has to be the first line of the file.</p>\n<p><code>[Settings]</code></p>\n<h3>Window metrics:</h3>\n<p>The first entry of note is <strong>Window</strong>, which stores the last opened location of the MDI parent window. It features several parameters, not all of which are known to me - if you know what the missing ones are, feel free to share. In order, the parameters are the leftmost pixel location, the topmost pixel location, the width in pixels, the height in pixels, an unknown blank parameter, another unknown blank parameter, and visibility. Set visibility zero to make the program window not display at all even though winfile is running in the background, 1 for normal, 3 for maximized. Technically, I think 2 should have it start minimized, but it doesn't.</p>\n<p><code>Window=123,123,800,600, , ,1</code></p>\n<p>Similarly, Windows File Manager has many child windows, and it will save the location/metrics of these windows on close using entries <strong>dir1</strong>, <strong>dir2</strong>, etc. You <em>could</em> edit these entries to change the view options of each window. I do not recommend doing so, as any missing parameters cause file manager to close entirely, and I don't fully understand how each parameter is calculated. The known parameters are: leftmost pixel, topmost pixel, width, height, -1, -1, visible, ?, ?, ?,divider,path. Those three question marks? Those are used for the view options. How exactly those values are calculated are beyond the scope of this document because I don't know myself. As with the parent, so with the child - set visible to 0 for an invisible folder window, 1 for normal display, 2 for minimized, and 3 for maximized. Path must include the file mask you wish to show. For example, <code>C:\\*.* </code>shows all files in the C:\\ drive. <code>D:\\folder\\*.exe</code> shows all exe files in the location D:\\folder, etc.</p>\n<pre><code>dir1=80,52,776,486,-1,-1,1,30,201,135958,247,C:\\*.*\ndir2=0,0,636,348,-1,-1,1,32,201,24561,193,Z:\\*.exe\ndir3=120,44,500,300,-1,-1,2,30,201,24561,193,E:\\*.*\n</code></pre>\n<h3>Options menu items</h3>\n<p>Most of these are self explanatory. <strong>MinOnRun</strong> does exactly that, if set to true (1), File Manager minimized itself when a program or file is executed. <strong>IndexOnLaunch</strong>, when set to 1, causes the Goto Directory index to be created on launch. This is helpful because it means you don't have to remember exactly how things are spelled when using the goto feature.<strong>StatusBar</strong>, <strong>DriveBar</strong>, and <strong>Toolbar</strong> all control whether or not these bars are visible (1) or not (0). Finally, <strong>NewWinOnNetConnect</strong> determines if a new folder window is opened when you connect to a network drive.</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"goto.png\"><img src=\"goto.png\" alt=\"GotoIndex\" style=\"max-width: 100%;\"></a><br>\n[Figure 1: The Goto directory dialog (Ctrl+G) is shown with indexing disabled and again with it enabled.]</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"toolbar.png\"><img src=\"toolbar.png\" alt=\"ToolbarsOnOff\" style=\"max-width: 100%;\"></a><br>\n[Figure 2: The primary interface is shown with the toolbar/drivebar/status bar disabled, and again below with aforementioned bars enabled]</p>\n<pre><code>MinOnRun=0\nIndexOnLaunch=1\nStatusBar=1\nDriveBar=1\nToolbar=1\nNewWinOnNetConnect=1\n</code></pre>\n<h3>Are you sure about that?</h3>\n<p>All of these options are found in the Options &gt; Confirmation dialog, and they are entirely self explanatory. Setting them to 0 unchecks the box and consequently means File Manager does not ask for confirmation. Setting them to 1 checks the box and makes it ask you to confirm. <strong>ConfirmDelete</strong> asks on file deletion, <strong>ConfirmSubDel</strong> asks on folder deletion, <strong>ConfirmReplace</strong> asks when you try to replace an existing file, <strong>ConfirmMouse</strong> asks when you drag-and-drop a file, <strong>ConfirmFormat</strong> is supposed to ask when you select to format a drive, but doesn't appear to do so. <strong>ConfirmReadOnly</strong> asks when you try to modify a System, Hidden, and/or Read-Only file.</p>\n<pre><code>ConfirmDelete=1\nConfirmSubDel=1\nConfirmReplace=1\nConfirmMouse=0\nConfirmFormat=1\nConfirmReadOnly=1\n</code></pre>\n<p><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"confirm.png\"><img src=\"confirm.png\" alt=\"image\" style=\"max-width: 100%;\"></a><br>\n[Figure 3: File Manager is asking me to confirm I intended to delete a file. I am prone to accidents, so having it double check my work is always reassuring, especially when you consider that File Manager bypasses the Windows Recycle Bin and directly deletes the file.]</p>\n<h3>Fun Visual Tricks</h3>\n<p><strong>DisableVisualStyles</strong> determines if the toolbar uses visual styles (0), or does not (1). If you want that authentic 9x/nt4 feel, set it to 1 for raised buttons. Or leave it at 0 and get the boring, flat buttons.<br>\n<strong>MirrorContent</strong> reverses the left-right order of individual items without reversing text. See attached picture below. I'm not sure if there's an actual practical use for it, or if it's just neat.<br>\n<a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"styles.png\"><img src=\"styles.png\" alt=\"visualStyling\" style=\"max-width: 100%;\"></a><br>\n[Figure 4: Visual styles are enabled (top) and disabled (bottom). It's altogether a minor change, but if you're using a classic theme on your computer it may tie things together.]</p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"rtl.png\"><img src=\"rtl.png\" alt=\"mirror_mode\" style=\"max-width: 100%;\"></a><br>\n[Figure 5: The File Manager window has been mirrored! Text is still rendered in the correct left-to-right fashion, but menu items and buttons are right-to-left ordered.]</p>\n<pre><code>DisableVisualStyles=1\nMirrorContent=0\n</code></pre>\n<h3>Fun with Fonts</h3>\n<p><strong>Face</strong> sets the font face used by File Manager. Note: it uses the name of the font as shown in the font picker, and not the filename of a font, so the font has to be installed in the system to use. <strong>Size</strong> sets the font size. These are probably the only two you should mess with.</p>\n<p><strong>LowerCase</strong> controls whether or not Italic/Oblique fonts are used. Oh, and also makes every thing lowercase. It's pulling double duty. Default value is 0. Add 1 to the value to make FAT formatted drives display in lowercase. Add 8 to the value to make all drives display in lowercase. Add 4 to the value to make the font italic. So, for example, to make the font italic <em>and</em> have FAT drives display lowercase, set the value to 5. <strong>Weight</strong> sets the font weight used. What values are valid? Depends on the font. For example, in Segoe UI a value of 300 corresponds to light, 350 semilight, 400 regular, 700 semibold. Different fonts have different values. Frankly, I suggest just omitting this property entirely.</p>\n<pre><code>Face=Segoe UI\nSize=10\nLowerCase=0\n</code></pre>\n<h3>Miscellaneous other tweaks</h3>\n<p><strong>UILanguage</strong> sets the language used by File Manager. At, present, to my knowledge anyways, there are seven available language options currently: en-US, zh-CN, he-IL, ja-JP, pl-PL, de-DE, and ko-KR. English (US), Chinese (Simplified), Hebrew, Japanese, Polish, German, and Korean.</p>\n<p><code>UILanguage=en-US</code></p>\n<p><strong>EditorPath</strong> sets the editor that is executed when the edit command is selected. Contrary to what the name indicates, you might not necessarily need the entire path - if the editor itself is in your path somewhere, you can just put the editor command in alone.<br>\n<code>EditorPath=nano</code></p>\n<p><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"edit.gif\"><img src=\"edit.gif\" alt=\"ezgif com-gif-maker\" style=\"max-width: 100%;\"></a><br>\n[Figure 6: I have set the default editor to nano. Now, when File Manager is told to edit the the file NOSHARE, the file is automatically opened in the console based text editor nano.]</p>\n<p><strong>ScrollOnExpand</strong> determines if the directory tree view scrolls automatically when you expand a folder in the tree. The default behavior (1) is that it does scroll automatically putting the directory you expanded at the top of the view. You can disable this behavior by setting the value to 0.<br>\nNote: at the time of writing, this behavior is not available in the currently released version. I'm led to believe that the changes necessary have been implemented if you build from source, and it could turn up in a theoretical future release.</p>\n<p><code>ScrollOnExpand = 0</code></p>\n</body>\n</html>\n"
  },
  {
    "path": "nuget/LICENSE.txt",
    "content": "\nFrom: https://github.com/Microsoft/winfile/raw/master/LICENSE\n\nLICENSE\n\n    MIT License\n\n    Copyright (c) Microsoft Corporation. All rights reserved.\n\n    Permission is hereby granted, free of charge, to any person obtaining a copy\n    of this software and associated documentation files (the \"Software\"), to deal\n    in the Software without restriction, including without limitation the rights\n    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n    copies of the Software, and to permit persons to whom the Software is\n    furnished to do so, subject to the following conditions:\n\n    The above copyright notice and this permission notice shall be included in all\n    copies or substantial portions of the Software.\n\n    THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n    SOFTWARE\n\n"
  },
  {
    "path": "nuget/VERIFICATION.txt",
    "content": "\nVERIFICATION\nVerification is intended to assist the Chocolatey moderators and community\nin verifying that this package's contents are trustworthy.\n \n    Verify authenticode signature signed by :\n\t\n\tCN = Microsoft 3rd Party Application Component\n\tO = Microsoft Corporation\n\tL = Redmond\n\tS = Washington\n\tC = US\n"
  },
  {
    "path": "nuget/winfile.nuspec",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<package xmlns=\"http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd\">\n  <metadata>\n    <id>winfile</id>\n    <version>10.4.0.0</version>\n    <title>WinFile</title>\n    <authors>Microsoft, WinFile OSS Contributors</authors>\n    <owners>https://github.com/craigwi</owners>\n    <requireLicenseAcceptance>false</requireLicenseAcceptance>\n    <bugTrackerUrl>https://github.com/Microsoft/winfile/issues</bugTrackerUrl>\n    <iconUrl>https://github.com/Microsoft/winfile/blob/master/winfile.png</iconUrl>\n    <licenseUrl>https://github.com/Microsoft/winfile/raw/master/LICENSE</licenseUrl>\n    <projectSourceUrl>https://github.com/Microsoft/winfile</projectSourceUrl>\n    <projectUrl>https://github.com/Microsoft/winfile</projectUrl>\n    <releaseNotes>https://github.com/Microsoft/winfile/releases</releaseNotes>\n    <description>Windows File Manager (WinFile) was originally released with Windows 3.0 in the early 1990s. You can read more about the history at https://en.wikipedia.org/wiki/Windows_File_Manager.</description>\n    <summary>WinFile is the predecessor to the Windows Explorer and now runs on modern Windows, including Windows 10.</summary>\n    <copyright>Copyright (c) Microsoft Corporation. All rights reserved.</copyright>\n    <tags>file manager utilities tools</tags>\n    <dependencies>\n      <dependency id='vcredist140' version='14.38.33135' />\n    </dependencies>\n  </metadata>\n  <files>\n    <file src=\"LICENSE.txt\" target=\"legal\\LICENSE.txt\" />\n    <file src=\"VERIFICATION.txt\" target=\"legal\\VERIFICATION.txt\" />\n    <file src=\"x86\\Winfile.exe\" target=\"tools\\x86\\Winfile.exe\" />\n    <file src=\"x86\\Winfile.pdb\" target=\"tools\\x86\\Winfile.pdb\" />\n    <file src=\"help\\winfile.chm\" target=\"tools\\x86\\winfile.chm\" />\n    <file src=\"x64\\Winfile.exe\" target=\"tools\\x64\\Winfile.exe\" />\n    <file src=\"x64\\Winfile.pdb\" target=\"tools\\x64\\Winfile.pdb\" />\n    <file src=\"arm64\\Winfile.exe\" target=\"tools\\arm64\\Winfile.exe\" />\n    <file src=\"arm64\\Winfile.pdb\" target=\"tools\\arm64\\Winfile.pdb\" />\n  </files>\n</package>\n"
  },
  {
    "path": "samples/addon/AddOnSample.vcxproj.filters",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup>\n    <ClCompile Include=\"dllmain.cpp\" />\n    <ClCompile Include=\"extproc.cpp\" />\n    <ClCompile Include=\"stdafx.cpp\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ClInclude Include=\"wfext.h\">\n      <Filter>Headers</Filter>\n    </ClInclude>\n    <ClInclude Include=\"stdafx.h\">\n      <Filter>Headers</Filter>\n    </ClInclude>\n    <ClInclude Include=\"targetver.h\">\n      <Filter>Headers</Filter>\n    </ClInclude>\n    <ClInclude Include=\"resource.h\">\n      <Filter>Resources</Filter>\n    </ClInclude>\n  </ItemGroup>\n  <ItemGroup>\n    <Filter Include=\"Resources\">\n      <UniqueIdentifier>{f6080eb3-5cce-4602-8507-30f028c8d840}</UniqueIdentifier>\n    </Filter>\n    <Filter Include=\"Headers\">\n      <UniqueIdentifier>{4b7508bc-69b1-4a80-92cc-2937c9a43869}</UniqueIdentifier>\n    </Filter>\n  </ItemGroup>\n  <ItemGroup>\n    <ResourceCompile Include=\"resources.rc\">\n      <Filter>Resources</Filter>\n    </ResourceCompile>\n  </ItemGroup>\n  <ItemGroup>\n    <Image Include=\"AddonSample.bmp\">\n      <Filter>Resources</Filter>\n    </Image>\n    <Image Include=\"AddonSample.ico\">\n      <Filter>Resources</Filter>\n    </Image>\n  </ItemGroup>\n</Project>"
  },
  {
    "path": "samples/addon/AddonSample.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"15.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <PropertyGroup Label=\"Globals\">\n    <VCProjectVersion>15.0</VCProjectVersion>\n    <ProjectGuid>{B46F5F82-52A4-45CC-9AA3-ADF9EE8E51A3}</ProjectGuid>\n    <Keyword>Win32Proj</Keyword>\n    <RootNamespace>AddonSample</RootNamespace>\n    <ProjectName>AddonSample</ProjectName>\n  </PropertyGroup>\n  <Import Project=\"..\\..\\build\\Winfile.default.props\" />\n  <PropertyGroup Label=\"Configuration\">\n    <ConfigurationType>DynamicLibrary</ConfigurationType>\n    <CharacterSet>Unicode</CharacterSet>\n  </PropertyGroup>\n  <PropertyGroup Condition=\"'$(Configuration)'=='Debug'\" Label=\"Configuration\">\n    <LinkIncremental>true</LinkIncremental>\n  </PropertyGroup>\n  <ItemDefinitionGroup>\n    <ClCompile>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <ConformanceMode>true</ConformanceMode>\n      <SDLCheck>true</SDLCheck>\n    </ClCompile>\n    <Link>\n      <SubSystem>Windows</SubSystem>\n    </Link>\n  </ItemDefinitionGroup>\n  <Import Project=\"..\\..\\build\\Winfile.props\" />\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\">\n    <ClCompile>\n      <PreprocessorDefinitions>_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|arm64'\">\n    <ClCompile>\n      <PreprocessorDefinitions>_DEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\">\n    <ClCompile>\n      <PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|arm64'\">\n    <ClCompile>\n      <PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemGroup>\n    <ClInclude Include=\"resource.h\" />\n    <ClInclude Include=\"stdafx.h\" />\n    <ClInclude Include=\"targetver.h\" />\n    <ClInclude Include=\"wfext.h\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ClCompile Include=\"dllmain.cpp\" />\n    <ClCompile Include=\"extproc.cpp\" />\n    <ClCompile Include=\"stdafx.cpp\">\n      <PrecompiledHeader>Create</PrecompiledHeader>\n    </ClCompile>\n  </ItemGroup>\n  <ItemGroup>\n    <ResourceCompile Include=\"resources.rc\" />\n  </ItemGroup>\n  <ItemGroup>\n    <Image Include=\"AddonSample.bmp\" />\n    <Image Include=\"AddonSample.ico\" />\n  </ItemGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n  <ImportGroup Label=\"ExtensionTargets\">\n  </ImportGroup>\n</Project>\n"
  },
  {
    "path": "samples/addon/dllmain.cpp",
    "content": "/********************************************************************\n\n   dllmain.cpp\n\n   Windows File Manager Sample Addon : Defines the entry point for the DLL application.\n\n   Copyright (c) Microsoft Corporation. All rights reserved.\n   Licensed under the MIT License.\n\n********************************************************************/\n\n#include \"stdafx.h\"\n\nHMODULE hInstance;\n\nBOOL APIENTRY DllMain( HMODULE hModule,\n                       DWORD  ul_reason_for_call,\n                       LPVOID lpReserved\n                     )\n{\n    hInstance = hModule;\n\n    switch (ul_reason_for_call)\n    {\n    case DLL_PROCESS_ATTACH:\n    case DLL_THREAD_ATTACH:\n    case DLL_THREAD_DETACH:\n    case DLL_PROCESS_DETACH:\n        break;\n    }\n    return TRUE;\n}\n\n"
  },
  {
    "path": "samples/addon/extproc.cpp",
    "content": "/********************************************************************\n\n   extproc.cpp\n\n   Windows File Manager Sample Addon : extension entry point (UNICODE)\n\n   Copyright (c) Microsoft Corporation. All rights reserved.\n   Licensed under the MIT License.\n\n********************************************************************/\n\n#include \"stdafx.h\"\n\nextern HMODULE hInstance;\nWORD wMenuDelta; \nBOOL fToggle = FALSE; \n\n/*\nLONG CALLBACK FMExtensionProc(HWND hwnd, WORD wMsg, LONG lParam)        -- ANSI\nLONG CALLBACK FMExtensionProcW(HWND hwnd, WORD wMsg, LONG lParam)       -- UNICODE\n\nParameters:\n\t\n\thwnd\tType: HWND\n\tA window handle to File Manager. \n\tAn extension uses this handle to specify the parent window for any dialog box or \n\tmessage box it must display, and to send query messages to File Manager.\n\n\twMsg\tType: WORD\n\tOne of the following File Manager messages.\n\n\t\t1 through 99\n\t\tUser selected an item from the extension-supplied menu. The value is the identifier of the selected menu item.\n\n\t\tFMEVENT_HELPMENUITEM\n\t\tUser pressed F1 while selecting an extension menu or toolbar command item. Indicates that the extension should call WinHelp appropriately for the command item.\n\n\t\tFMEVENT_HELPSTRING\n\t\tUser selected an extension menu or toolbar command item. Indicates that the extension should supply a Help string.\n\n\t\tFMEVENT_INITMENU\n\t\tUser selected the extension's menu. The extension should initialize items in the menu.\n\n\t\tFMEVENT_LOAD\n\t\tFile Manager is loading the extension DLL and prompts the DLL for information about the menu that the DLL supplies.\n\n\t\tFMEVENT_SELCHANGE\n\t\tSelection in the File Manager directory window or Search Results window has changed.\n\n\t\tFMEVENT_TOOLBARLOAD\n\t\tFile Manager is creating the toolbar and prompts the extension DLL for information about any buttons the DLL adds to the toolbar.\n\n\t\tFMEVENT_UNLOAD\n\t\tFile Manager is unloading the extension DLL.\n\n\t\tFMEVENT_USER_REFRESH\n\t\tUser selected the Refresh command from the Window menu. The extension should update items in the menu, if necessary.\n\t\n\tlParam\t\tType: LONG\n\tMessage-specific value.\n\n\tReturn value\tType: LONG\n\tReturns a value dependent upon the wMsg parameter message.\n\n    Usage: in order for Windows File Manager to load this dll, add a section to winfile.ini (located in %USERPROFILE%\\Roaming\\Microsoft\\Winfile):\n\n        [Addons]\n        ext1=<path to dll>\n\n    The key names ('ext1' in the example) don't matter, but must all be unique within the [Addons] section.  Specifying anything but a full path\n    results in undefined behavior currently.\n\n*/\nLONG APIENTRY FMExtensionProcW(HWND hwnd, WPARAM wEvent, LPARAM lParam)\n{\n\t// this is to export the function name as plain 'C'\n\t#pragma comment(linker, \"/EXPORT:\" __FUNCTION__ \"=\" __FUNCDNAME__) // my complain, but compiles well\n\n\tLONG returnValue = 0L;\n    HMENU hMenu;\n    TCHAR szBuf[200];\n\t\n\tswitch (wEvent)\n\t{\n\tcase FMEVENT_LOAD: \n\t\t{\n\t\t\t/* File Manager is loading the extension DLL and prompts the DLL for information about the menu that the DLL supplies. */\n\t\t\twMenuDelta = ((LPFMS_LOAD)lParam)->wMenuDelta; \n\t\t\t\n\t\t\t/* Fill the FMS_LOAD structure. */ \n\t\t\t((LPFMS_LOAD) lParam)->dwSize = sizeof(FMS_LOAD); \n\t\t\tlstrcpy(((LPFMS_LOAD)lParam)->szMenuName, L\"AddonSampleMenu\");\n\t\t\t\n\t\t\t/* Return the handle to the menu. */ \n\t\t\tHMENU hm = GetSubMenu(LoadMenu(hInstance, MAKEINTRESOURCE(IDR_MENU)), 0); // IDR_MENU from resource.h\n\n\t\t\t((LPFMS_LOAD)lParam)->hMenu = hm;\n\t\t\t\n\t\t\treturnValue = (LONG)TRUE; \n\t\t}\n\t\tbreak;\n\tcase FMEVENT_UNLOAD: \n\t\t{\n\t\t\t/* File Manager is unloading the extension DLL. */\n\t\t}\n\t\tbreak; \n\tcase FMEVENT_INITMENU: \n\t\t{\n\t\t\t/* User selected the extension's menu. The extension should initialize items in the menu. */\n\n\t\t\thMenu = (HMENU) lParam; \n\n\t\t\t// Add check marks to menu items as appropriate. \n\t\t\t// Add menu-item delta values to menu-item \n\t\t\t// identifiers to specify the menu items to check.\n\t\t\tCheckMenuItem(hMenu, wMenuDelta + IDM_TOGGLE,  fToggle ? MF_BYCOMMAND | MF_CHECKED : MF_BYCOMMAND | MF_UNCHECKED); \n\t\t}\n\t\tbreak; \n\tcase FMEVENT_TOOLBARLOAD: \n\t\t{\n\t\t\t/* File Manager is creating the toolbar and prompts the extension DLL for information about any buttons the DLL adds to the toolbar. */\n\t\t\t/* Gets called before winfile shows the toolbar. */\n\t\t\t\n\t\t\t// EXT_BUTTON:\n            // Parameter 1: <id>\n            // Parameter 2: <help string id>\n\t\t\t// Parameter 3: 0=normal, 1=invisible/separator, 2=pressed-not pressed\n\t\t\tstatic EXT_BUTTON extbtn[ ] = { { IDM_FIRSTBUTTON, 0, 0} }; \n\t\t\t\n\t\t\t// Fill the FMS_TOOLBARLOAD structure.\n\t\t\t((LPFMS_TOOLBARLOAD)lParam)->dwSize = sizeof(FMS_TOOLBARLOAD); \n\t\t\t((LPFMS_TOOLBARLOAD)lParam)->lpButtons = (LPEXT_BUTTON) &extbtn; \n\t\t\t((LPFMS_TOOLBARLOAD)lParam)->cButtons = 1; // Number of buttons in the list (incl. Seperator)\n\t\t\t((LPFMS_TOOLBARLOAD)lParam)->cBitmaps = 1; // Number of Buttons, shown with the current image\n\t\t\t((LPFMS_TOOLBARLOAD)lParam)->idBitmap = IDB_TEST; //IDB_TEST from resource.h \n\t\t\t\n\t\t\treturnValue = (LONG)TRUE; \n\t\t}\n\t\tbreak;\n\tcase FMEVENT_USER_REFRESH: \n\t\t{\n\t\t\t/* User selected the Refresh command from the Window menu. The extension should update items in the menu, if necessary. */\n\t\t}\n\t\tbreak; \n\tcase FMEVENT_SELCHANGE: \n\t\t{\n\t\t\t/* Selection in the File Manager directory window or Search Results window has changed. */\n\t\t\t/* reacts only on the right half of the window and only left click */\n\t\t}\n\t\tbreak; \n\tcase FMEVENT_HELPSTRING:\n\t\t{\n\t\t\t/* User selected an extension menu or toolbar command item. Indicates that the extension should supply a Help string. */\n\n\t\t\tif ( ((LPFMS_HELPSTRING)lParam)->idCommand == -1 )\n\t\t\t{\n\t\t\t\tlstrcpy(((LPFMS_HELPSTRING)lParam)->szHelp, L\"The mouse is over the menu item (Extension).\"); \n\t\t\t}\n\t\t\telse \n\t\t\t{\n\t\t\t\twsprintf(((LPFMS_HELPSTRING)lParam)->szHelp, L\"Tooltip for item %d\", ((LPFMS_HELPSTRING)lParam)->idCommand); \n\t\t\t}\n\t\t}\n\t\tbreak; \n\tcase FMEVENT_HELPMENUITEM: \n\t\t{\n\t\t\t/* \n\t\t\tUser pressed F1 while selecting an extension menu or toolbar command item. \n\t\t\tIndicates that the extension should call WinHelp appropriately for the command item. \n\t\t\t*/\n\t\t\twsprintf(szBuf, L\"Help for %d\", lParam); \n\t\t\tMessageBox(hwnd, szBuf, L\"WinHelp call\", MB_OK); \n\t\t\t/* Use: WinHelp(hwnd, \"ExtHelp.hlp\", HELP_CONTEXT, lParam);  */ \n\t\t}\n\t\tbreak; \n\t// ***** Till here FMEVENT_... *****\n\t// now the handling of the self defined actions\n\tcase IDM_FIRSTBUTTON: // (1)\n\t\t{\n\t\t\tINT focus = (INT)SendMessage(hwnd, FM_GETFOCUS, 0, 0);\n\n\t\t\tswitch( focus ) \n\t\t\t{\n\t\t\tcase FMFOCUS_DIR:\n\t\t\t\tMessageBox(hwnd, L\"Focus is on the right side.\", L\"Test-Plugin\", MB_OK); \n\t\t\t\tbreak;\n\t\t\tcase FMFOCUS_TREE:\n\t\t\t\tMessageBox(hwnd, L\"Focus is on the left side.\", L\"Test-Plugin\", MB_OK); \n\t\t\t\tbreak;\n\t\t\t};\n\t\t}\n\t\tbreak; \n\tcase IDM_TESTMENU: \n\t\t{\n\t\t\tMessageBox(hwnd, L\"Hi test!\", L\"IDM_TESTMENU\", MB_OK);\n\t\t}\n\t\tbreak; \n\tcase IDM_TOGGLE: \n\t\t{\n\t\t\tMessageBox(hwnd, fToggle ? L\"Hi On\" : L\"Hi Off\", L\"IDM_TOGGLE\", MB_OK);\n\t\t\tfToggle = !fToggle; \n\t\t}\n\t\tbreak; \n\tdefault: \n\t\t{\n\t\t\twsprintf(szBuf, L\"Unrecognized idm: %d\", (INT) wEvent);\n\t\t\tMessageBox(hwnd, szBuf, L\"Error\", MB_OK);\n\t\t}\n\t\tbreak;\n\t} \n\n\treturn returnValue; \n}\n"
  },
  {
    "path": "samples/addon/resource.h",
    "content": "/********************************************************************\n\n   resource.h\n\n   Windows File Manager Sample Addon resource definitions\n\n   Copyright (c) Microsoft Corporation. All rights reserved.\n   Licensed under the MIT License.\n\n********************************************************************/\n\n#define IDR_MENU                        101\n#define IDB_TEST                        102\n\n#define IDM_FIRSTBUTTON 1\n#define IDM_TESTMENU    2\n#define IDM_TOGGLE      8\n\n// Next default values for new objects\n// \n#ifdef APSTUDIO_INVOKED\n#ifndef APSTUDIO_READONLY_SYMBOLS\n#define _APS_NO_MFC                     1\n#define _APS_NEXT_RESOURCE_VALUE        103\n#define _APS_NEXT_COMMAND_VALUE         40002\n#define _APS_NEXT_CONTROL_VALUE         1000\n#define _APS_NEXT_SYMED_VALUE           101\n#endif\n#endif\n"
  },
  {
    "path": "samples/addon/resources.rc",
    "content": "/********************************************************************\n\n   resources.rc\n\n   Windows File Manager Sample Addon resource definitions\n\n   Copyright (c) Microsoft Corporation. All rights reserved.\n   Licensed under the MIT License.\n\n********************************************************************/\n\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"windows.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// English resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL\n#pragma code_page(1252)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\nIDR_MENU MENU\nBEGIN\n    POPUP \"AddonSampleMenu\"\n    BEGIN\n        MENUITEM \"Test entry 1234\", IDM_TESTMENU\n        MENUITEM \"Toggle\", IDM_TOGGLE\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\nIDB_TEST                BITMAP                  \"AddonSample.bmp\"\n#endif    // English resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "samples/addon/stdafx.cpp",
    "content": "// stdafx.cpp : source file that includes just the standard includes\n// Dll1.pch will be the pre-compiled header\n// stdafx.obj will contain the pre-compiled type information\n\n#include \"stdafx.h\"\n\n// NOTE: reference any additional headers you need in STDAFX.H\n// and not in this file\n"
  },
  {
    "path": "samples/addon/stdafx.h",
    "content": "// stdafx.h : include file for standard system include files,\n// or project specific include files that are used frequently, but\n// are changed infrequently\n//\n\n#pragma once\n\n#include \"targetver.h\"\n\n#define WIN32_LEAN_AND_MEAN             // Exclude rarely-used stuff from Windows headers\n// Windows Header Files:\n#include <windows.h>\n\n\n#include \"wfext.h\"\n#include \"resource.h\"\n"
  },
  {
    "path": "samples/addon/targetver.h",
    "content": "#pragma once\n\n// Including SDKDDKVer.h defines the highest available Windows platform.\n\n// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and\n// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.\n\n#include <SDKDDKVer.h>\n"
  },
  {
    "path": "samples/addon/wfext.h",
    "content": "/********************************************************************\n\n   wfext.h\n\n   Windows File Manager Extensions definitions (Win32 variant)\n\n   Copyright (c) Microsoft Corporation. All rights reserved.\n   Licensed under the MIT License.\n\n********************************************************************/\n\n#ifndef _INC_WFEXT\n#define _INC_WFEXT            /* #defined if wfext.h has been included */\n\n#ifdef __cplusplus            /* Assume C declaration for C++ */\nextern \"C\" {\n#endif  /* __cplusplus */\n\n#define MENU_TEXT_LEN           40\n\n#define FMMENU_FIRST            1\n#define FMMENU_LAST             99\n\n#define FMEVENT_LOAD            100\n#define FMEVENT_UNLOAD          101\n#define FMEVENT_INITMENU        102\n#define FMEVENT_USER_REFRESH    103\n#define FMEVENT_SELCHANGE       104\n#define FMEVENT_TOOLBARLOAD     105\n#define FMEVENT_HELPSTRING      106\n#define FMEVENT_HELPMENUITEM    107\n\n#define FMFOCUS_DIR             1\n#define FMFOCUS_TREE            2\n#define FMFOCUS_DRIVES          3\n#define FMFOCUS_SEARCH          4\n\n#define FM_GETFOCUS           (WM_USER + 0x0200)\n#define FM_GETSELCOUNT        (WM_USER + 0x0202)\n#define FM_GETSELCOUNTLFN     (WM_USER + 0x0203)  /* LFN versions are odd */\n#define FM_REFRESH_WINDOWS    (WM_USER + 0x0206)\n#define FM_RELOAD_EXTENSIONS  (WM_USER + 0x0207)\n\n#define FM_GETDRIVEINFOA      (WM_USER + 0x0201)\n#define FM_GETFILESELA        (WM_USER + 0x0204)\n#define FM_GETFILESELLFNA     (WM_USER + 0x0205)  /* LFN versions are odd */\n\n#define FM_GETDRIVEINFOW      (WM_USER + 0x0211)\n#define FM_GETFILESELW        (WM_USER + 0x0214)\n#define FM_GETFILESELLFNW     (WM_USER + 0x0215)  /* LFN versions are odd */\n\n#ifdef UNICODE\n#define FM_GETDRIVEINFO    FM_GETDRIVEINFOW\n#define FM_GETFILESEL      FM_GETFILESELW\n#define FM_GETFILESELLFN   FM_GETFILESELLFNW\n#else\n#define FM_GETDRIVEINFO    FM_GETDRIVEINFOA\n#define FM_GETFILESEL      FM_GETFILESELA\n#define FM_GETFILESELLFN   FM_GETFILESELLFNA\n#endif\n\n\ntypedef struct _FMS_GETFILESELA {\n   FILETIME ftTime;\n   DWORD dwSize;\n   BYTE bAttr;\n   CHAR szName[260];          // always fully qualified\n} FMS_GETFILESELA, FAR *LPFMS_GETFILESELA;\n\ntypedef struct _FMS_GETFILESELW {\n   FILETIME ftTime ;\n   DWORD dwSize;\n   BYTE bAttr;\n   WCHAR szName[260];          // always fully qualified\n} FMS_GETFILESELW, FAR *LPFMS_GETFILESELW;\n\n#ifdef UNICODE\n#define FMS_GETFILESEL   FMS_GETFILESELW\n#define LPFMS_GETFILESEL LPFMS_GETFILESELW\n#else\n#define FMS_GETFILESEL   FMS_GETFILESELA\n#define LPFMS_GETFILESEL LPFMS_GETFILESELA\n#endif\n\n\ntypedef struct _FMS_GETDRIVEINFOA {      // for drive\n   DWORD dwTotalSpace;\n   DWORD dwFreeSpace;\n   CHAR  szPath[260];                    // current directory\n   CHAR  szVolume[14];                   // volume label\n   CHAR  szShare[128];                   // if this is a net drive\n} FMS_GETDRIVEINFOA, FAR *LPFMS_GETDRIVEINFOA;\n\ntypedef struct _FMS_GETDRIVEINFOW {      // for drive\n   DWORD dwTotalSpace;\n   DWORD dwFreeSpace;\n   WCHAR szPath[260];                    // current directory\n   WCHAR szVolume[14];                   // volume label\n   WCHAR szShare[128];                   // if this is a net drive\n} FMS_GETDRIVEINFOW, FAR *LPFMS_GETDRIVEINFOW;\n\n#ifdef UNICODE\n#define FMS_GETDRIVEINFO   FMS_GETDRIVEINFOW\n#define LPFMS_GETDRIVEINFO LPFMS_GETDRIVEINFOW\n#else\n#define FMS_GETDRIVEINFO   FMS_GETDRIVEINFOA\n#define LPFMS_GETDRIVEINFO LPFMS_GETDRIVEINFOA\n#endif\n\n\ntypedef struct _FMS_LOADA {\n   DWORD dwSize;                        // for version checks\n   CHAR  szMenuName[MENU_TEXT_LEN];     // output\n   HMENU hMenu;                         // output\n   UINT  wMenuDelta;                    // input\n} FMS_LOADA, FAR *LPFMS_LOADA;\n\ntypedef struct _FMS_LOADW {\n   DWORD dwSize;                        // for version checks\n   WCHAR szMenuName[MENU_TEXT_LEN];     // output\n   HMENU hMenu;                         // output\n   UINT  wMenuDelta;                    // input\n} FMS_LOADW, FAR *LPFMS_LOADW;\n\n#ifdef UNICODE\n#define FMS_LOAD   FMS_LOADW\n#define LPFMS_LOAD LPFMS_LOADW\n#else\n#define FMS_LOAD   FMS_LOADA\n#define LPFMS_LOAD LPFMS_LOADA\n#endif\n\n\n// Toolbar definitions\n\ntypedef struct tagEXT_BUTTON {\n   WORD idCommand;                 /* menu command to trigger */\n   WORD idsHelp;                   /* help string ID */\n   WORD fsStyle;                   /* button style */\n} EXT_BUTTON, FAR *LPEXT_BUTTON;\n\ntypedef struct tagFMS_TOOLBARLOAD {\n   DWORD dwSize;                   /* for version checks */\n   LPEXT_BUTTON lpButtons;         /* output */\n   WORD cButtons;                  /* output, 0==>no buttons */\n   WORD cBitmaps;                  /* number of non-sep buttons */\n   WORD idBitmap;                  /* output */\n   HBITMAP hBitmap;                /* output if idBitmap==0 */\n} FMS_TOOLBARLOAD, FAR *LPFMS_TOOLBARLOAD;\n\ntypedef struct tagFMS_HELPSTRINGA {\n   INT   idCommand;       /* input, -1==>the menu was selected */\n   HMENU hMenu;           /* input, the extensions menu */\n   CHAR  szHelp[128];     /* output, the help string */\n} FMS_HELPSTRINGA, FAR *LPFMS_HELPSTRINGA;\n\ntypedef struct tagFMS_HELPSTRINGW {\n   INT   idCommand;       /* input, -1==>the menu was selected */\n   HMENU hMenu;           /* input, the extensions menu */\n   WCHAR szHelp[128];     /* output, the help string */\n} FMS_HELPSTRINGW, FAR *LPFMS_HELPSTRINGW;\n\n#ifdef UNICODE\n#define FMS_HELPSTRING   FMS_HELPSTRINGW\n#define LPFMS_HELPSTRING LPFMS_HELPSTRINGW\n#else\n#define FMS_HELPSTRING   FMS_HELPSTRINGA\n#define LPFMS_HELPSTRING LPFMS_HELPSTRINGA\n#endif\n\n\ntypedef DWORD (APIENTRY *FM_EXT_PROC)(HWND, WPARAM, LPARAM);\ntypedef DWORD (APIENTRY *FM_UNDELETE_PROC)(HWND, LPTSTR);\n\n#ifdef UNICODE\nLONG WINAPI FMExtensionProcW(HWND hwnd, WPARAM wEvent, LPARAM lParam);\n#else\nLONG WINAPI FMExtensionProc(HWND hwnd, WPARAM wEvent, LPARAM lParam);\n#endif\n\n#ifdef __cplusplus\n}                  /* End of extern \"C\" { */\n#endif             /* __cplusplus */\n\n#endif             /* _INC_WFEXT */\n\n"
  },
  {
    "path": "src/BagOValues.h",
    "content": "/********************************************************************\r\n\r\n   BagOValues.h\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include <string>\r\n#include <map>\r\n#include <vector>\r\n#include <algorithm>\r\n\r\n#include \"spinlock.h\"\r\n\r\nusing namespace std;\r\n\r\ntemplate <class TValue>\r\nclass BagOValues\r\n{\r\n\ttypedef pair<wstring, TValue> TPair;\r\n\ttypedef vector<TPair> TVector;\r\n\ttypedef typename TVector::const_iterator TItr;\r\n\r\n\tSpinLock m_spinlock;\r\n\tTVector m_Values;\r\n\twstring m_lastStr;\r\n\tTItr m_LastItr;\r\n\r\npublic:\r\n\tBagOValues()\r\n\t{\r\n\t}\r\n\r\n\t// copies the value, but doesn't assume any memory management needs be done\r\n\tvoid Add(wstring key, TValue value)\r\n\t{\r\n\t\tthis->m_spinlock.Lock();\r\n\t\twstring lowered;\r\n\t\tlowered.resize(key.size());\r\n\t\ttransform(std::begin(key), std::end(key), std::begin(lowered), ::tolower);\r\n\t\tm_Values.emplace_back(make_pair(std::move(lowered), value));\r\n\r\n\t\tm_lastStr.resize(0);\t// clear this after new data added\r\n\t\tthis->m_spinlock.Unlock();\r\n\t}\r\n\r\n\tvoid Sort()\r\n\t{\r\n\t\tthis->m_spinlock.Lock();\r\n\t\tsort(m_Values.begin(), m_Values.end());\r\n\t\tthis->m_spinlock.Unlock();\r\n\t}\r\n\r\n\t// Retrieve with fPrefix = true means return values for the tree at the point of the query matched; \r\n\t//      we must consume the whole query for anything to be returned\r\n\t// fPrefix = false means that we only return values when an entire key matches and we match substrings of the query\r\n\t//\r\n\t// NOTE: returns a newly allocated vector; must delete it\r\n\tvector<TValue> Retrieve(const wstring& query, bool fPrefix = true, unsigned maxResults = ULONG_MAX)\r\n\t{\r\n\t\twstring lowered;\r\n\t\tlowered.resize(query.size());\r\n\t\ttransform(std::cbegin(query), std::cend(query), std::begin(lowered), ::tolower);\r\n\r\n\t\tvector<TValue> results;\r\n\t\tTValue val = TValue();\r\n\t\tTPair laspair = make_pair(lowered, val);\r\n\r\n\t\tthis->m_spinlock.Lock();\r\n\r\n\t\t// if last saved string/iterator is a prefix of the new string, start there\r\n\t\tTItr itr;\r\n\t\tif (m_lastStr.size() != 0 && lowered.compare(0, m_lastStr.size(), m_lastStr) == 0)\r\n\t\t\titr = m_LastItr;\r\n\t\telse\r\n\t\t{\r\n\t\t\titr = lower_bound(m_Values.begin(), m_Values.end(), laspair, CompareFirst);\r\n\r\n\t\t\tm_lastStr = lowered;\r\n\t\t\tm_LastItr = itr;\r\n\t\t}\r\n\r\n\t\tfor (; itr != m_Values.end(); itr++)\r\n\t\t{\r\n\t\t\tconst wstring& key = itr->first;\r\n\t\t\tint cmp = key.compare(0, lowered.size(), lowered);\r\n\t\t\tif (cmp == 0)\r\n\t\t\t{\r\n\t\t\t\tif (!fPrefix && key.size() != lowered.size())\r\n\t\t\t\t{\r\n\t\t\t\t\t// need exact match (not just prefix); skip\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (results.size() >= maxResults)\r\n\t\t\t\t\tbreak;\r\n\r\n\t\t\t\tresults.push_back(itr->second);\r\n\t\t\t}\r\n\t\t\telse if (cmp > 0)\r\n\t\t\t{\r\n\t\t\t\t// iterated past the strings which match on the prefix\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis->m_spinlock.Unlock();\r\n\t\treturn results;\r\n\t}\r\n\r\nprivate:\r\n\tstatic bool CompareFirst(const TPair& a, const TPair& b)\r\n\t{\r\n\t\treturn a.first < b.first;\r\n\t}\r\n};\r\n\r\n"
  },
  {
    "path": "src/Resize.c",
    "content": "\n//\n//  Demonstration code for a generic implementation of resizeable dialogs.\n//  This code implements a window class (DIALOGRESIZECONTROLCLASS) which\n//  can be added to dialog templates in order to define how controls\n//  should be moved or resized as the dialog is resized.  An example\n//  statement looks like:\n//\n//  DIALOGRESIZECONTROL { A, B, C, D }\n//\n//  Where:\n//    A is the percentage of the new area to move the following control right;\n//    B is the percentage of the new area to move the following control down;\n//    C is the percentage of the new area to add to the following control's width;\n//    D is the percentage of the new area to add to the following control's height.\n//\n//  Optionally, a second class is provided (DIALOGRESIZEDATACLASS) which\n//  allows the resource to specify the bounds that the dialog can be resized\n//  to.  By default the dialog can be resized freely.  An example statement\n//  looks like:\n//\n//  DIALOGRESIZE { A, B }\n//\n//  Where:\n//    A is the maximum percentage of the initial width allowable, or 0 if\n//      unbounded;\n//    B is the maximum percentage of the initial height allowable, or 0 if\n//      unbounded.\n//\n//  Malcolm Smith, 11 Sep 2010\n//\n\n#define WIN32_LEAN_AND_MEAN\n#include <windows.h>\n#include <windowsx.h>\n#include \"Resize.h\"\n\n//\n//  For older 32-bit compilers, we won't have 64-bit support.  Use the 32-bit\n//  variants; lack of 64-bit support doesn't matter when we're targeting\n//  32-bit.\n//\n\n#ifndef SetWindowLongPtr\n#define LONG_PTR LONG\n#define DWLP_MSGRESULT DWL_MSGRESULT\n#define DWLP_USER DWL_USER\n#define SetWindowLongPtr( HWND, INDEX, DATA ) SetWindowLong( HWND, INDEX, DATA )\n#define GetWindowLongPtr( HWND, INDEX ) GetWindowLong( HWND, INDEX )\n#endif\n\n#ifndef WS_EX_LAYOUTRTL\n#define WS_EX_LAYOUTRTL         0x00400000L\n#endif\n\n//\n//  This is the only window message defined by our resize dialog control class,\n//  and it's fully internal.  We send this to each resize control to take care\n//  of its buddy.\n//\n\n#define WM_RESIZEPARENT WM_USER\n\n//\n//  This is the only window message defined by our resize dialog data class,\n//  and it's fully internal.  We send this to locate the user data that was\n//  given to the control by the dialog manager.\n//\n\n#define WM_GETDIALOGMETADATA WM_USER\n\n//\n//  The following structure is allocated and stored uniquely for each\n//  resizeable dialog that is currently active.  It describes the state\n//  of the dialog when it was created.\n//\n\n#pragma pack(push, 2)\ntypedef struct _RESIZE_DIALOG_INFO {\n    RECT  InitialClientRect;\n    RECT  InitialWindowRect;\n    HDWP  hDwp;\n    ULONG NumberResizeControlsPresent;\n} RESIZE_DIALOG_INFO, *PRESIZE_DIALOG_INFO;\n\n//\n//  This describes the data being passed into our resize metadata control\n//  from the dialog manager as part of its creation (only on Windows NT and\n//  successor systems.)  On Windows 95 and its successors, we lose all the\n//  information we need to perform layout management, and this module is\n//  effectively useless.\n//\n\ntypedef struct _RESIZE_DIALOG_DATA_CREATION_INFO {\n    USHORT SizeOfData;\n    USHORT MaximumWidthPercent;\n    USHORT MaximumHeightPercent;\n} RESIZE_DIALOG_DATA_CREATION_INFO, *PRESIZE_DIALOG_DATA_CREATION_INFO;\n\n//\n//  This structure is attached to each resize metadata control.  It saves\n//  off the bounds of the size that the dialog can accept.\n//\n\ntypedef struct _RESIZE_DIALOG_DATA_WINDOW_EXTRA {\n    USHORT MaximumWidthPercent;\n    USHORT MaximumHeightPercent;\n} RESIZE_DIALOG_DATA_WINDOW_EXTRA, *PRESIZE_DIALOG_DATA_WINDOW_EXTRA;\n\n//\n//  This structure is attached to each resize helper control.  It saves off\n//  the initial size of its buddy and the amount of adjustment to apply to\n//  the buddy when a resize occurs.\n//\n\ntypedef struct _RESIZE_DIALOG_CONTROL_WINDOW_EXTRA {\n    SMALL_RECT AdjustmentToBuddyRect;\n    RECT InitialBuddyRect;\n    BOOLEAN BuddyInitialized;\n    BOOLEAN AlignmentPadding;\n} RESIZE_DIALOG_CONTROL_WINDOW_EXTRA, *PRESIZE_DIALOG_CONTROL_WINDOW_EXTRA;\n#pragma pack(pop)\n\n//\n//  This describes the data being passed into our resize helper control from\n//  the dialog manager as part of its creation (only on Windows NT and\n//  successor systems.)  On Windows 95 and its successors, we lose all the\n//  information we need to perform layout management, and this module is\n//  effectively useless.\n//\n\n#pragma pack( push )\n#pragma pack( 2 )\ntypedef struct _RESIZE_DIALOG_CONTROL_CREATION_INFO {\n    USHORT SizeOfData;\n    SMALL_RECT AdjustmentToBuddyRect;\n} RESIZE_DIALOG_CONTROL_CREATION_INFO, *PRESIZE_DIALOG_CONTROL_CREATION_INFO;\n#pragma pack( pop )\n\nBOOL CALLBACK\nProcessResizeOnChildren( HWND hChildWnd, LPARAM lParam );\n\nBOOL CALLBACK\nFindMetadataFromChildren( HWND hChildWnd, LPARAM lParam );\n\n#ifdef DFC_SCROLL\n\n//\n//  This will display a sizing grip at the appropriate location on the dialog.\n//\nBOOL\nRenderSizingGrip( HWND hDlg )\n{\n    RECT SizeGripArea;\n    PAINTSTRUCT PaintStruct;\n    HDC hDC;\n    DWORD SizeBoxSize;\n\n    //\n    //  If the dialog isn't resizable, don't render the grip.\n    //\n\n    if ((GetWindowLong( hDlg, GWL_STYLE ) & WS_THICKFRAME) == 0) {\n        return TRUE;\n    }\n\n    GetClientRect( hDlg, &SizeGripArea );\n\n    SizeBoxSize = GetSystemMetrics( SM_CXHSCROLL );\n\n    SizeGripArea.left = SizeGripArea.right - SizeBoxSize;\n    SizeGripArea.top = SizeGripArea.bottom - SizeBoxSize;\n\n    InvalidateRect( hDlg, &SizeGripArea, TRUE );\n\n    hDC = BeginPaint( hDlg, &PaintStruct );\n\n    DrawFrameControl( hDC, &SizeGripArea, DFC_SCROLL, DFCS_SCROLLSIZEGRIP );\n\n    EndPaint( hDlg, &PaintStruct );\n\n    return TRUE;\n}\n\n//\n//  This will force the sizing grip to be redisplayed on resize\n//\nBOOL\nInvalidateSizingGrip( HWND hWnd, PRECT NewSize )\n{\n    RECT SizeGripArea;\n    DWORD SizeBoxSize;\n\n    //\n    //  First invalidate the old location of the grip.\n    //\n\n    GetClientRect( hWnd, &SizeGripArea );\n\n    SizeBoxSize = GetSystemMetrics( SM_CXHSCROLL );\n\n    SizeGripArea.left = SizeGripArea.right - SizeBoxSize;\n    SizeGripArea.top = SizeGripArea.bottom - SizeBoxSize;\n\n    InvalidateRect( hWnd, &SizeGripArea, FALSE );\n\n    //\n    //  Now invalidate the new location of the grip.\n    //\n\n    SizeGripArea = *NewSize;\n\n    SizeGripArea.left = SizeGripArea.right - SizeBoxSize;\n    SizeGripArea.top = SizeGripArea.bottom - SizeBoxSize;\n\n    InvalidateRect( hWnd, &SizeGripArea, FALSE );\n\n    return TRUE;\n}\n\n//\n//  This will check if we're within the sizing grip, so that the\n//  resize action will be performed if the user attempts to drag\n//\nBOOL\nIsWithinSizingGrip( HWND hWnd, DWORD OriginalPoint )\n{\n    RECT SizeGripArea;\n    DWORD SizeBoxSize;\n    POINT MousePoint;\n\n    //\n    //  If the dialog isn't resizable, we have no grip.\n    //\n\n    if ((GetWindowLong( hWnd, GWL_STYLE ) & WS_THICKFRAME) == 0) {\n        return FALSE;\n    }\n\n    MousePoint.x = GET_X_LPARAM( OriginalPoint );\n    MousePoint.y = GET_Y_LPARAM( OriginalPoint );\n\n    ScreenToClient( hWnd, &MousePoint );\n\n    GetClientRect( hWnd, &SizeGripArea );\n\n    SizeBoxSize = GetSystemMetrics( SM_CXHSCROLL );\n\n    SizeGripArea.left = SizeGripArea.right - SizeBoxSize;\n    SizeGripArea.top = SizeGripArea.bottom - SizeBoxSize;\n\n    //\n    //  We're in the right spot if the mouse is over the lower-right half\n    //  of the sizing grip rectangle.  The first two checks place us in\n    //  the rectangle, the final is to check if we're in the lower-right\n    //  half.\n    //\n\n    if (MousePoint.x > SizeGripArea.left && MousePoint.x <= SizeGripArea.right &&\n        MousePoint.y > SizeGripArea.top && MousePoint.y <= SizeGripArea.bottom &&\n        (DWORD)(MousePoint.x + MousePoint.y - SizeGripArea.left - SizeGripArea.top) > SizeBoxSize) {\n\n        if (GetWindowLong( hWnd, GWL_EXSTYLE ) & WS_EX_LAYOUTRTL) {\n            SetWindowLongPtr( hWnd, DWLP_MSGRESULT, HTBOTTOMLEFT );\n        } else {\n            SetWindowLongPtr( hWnd, DWLP_MSGRESULT, HTBOTTOMRIGHT );\n        }\n        return TRUE;\n    }\n\n    return FALSE;\n}\n\n#else\n\n#define IsWithinSizingGrip(a, b) (FALSE)\n#define InvalidateSizingGrip(a, b) (FALSE)\n#define RenderSizingGrip(a) (TRUE)\n\n#endif\n\n//\n//  This code is called by the dialog when processing its messages.  It\n//  performs dialog-level operations. Returns TRUE to indicate that it\n//  has processed a message and the caller should not continue; FALSE\n//  indicates no processing or that the caller may continue\n//\n\nBOOL CALLBACK\nResizeDialogProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)\n{\n    PRESIZE_DIALOG_INFO DialogInfo;\n\n    UNREFERENCED_PARAMETER(wParam);\n\n    switch( uMsg ) {\n\n        //\n        //  We're done and need to clean up any state.\n        //\n\n        case WM_DESTROY:\n\n            DialogInfo = (PRESIZE_DIALOG_INFO)GetWindowLongPtr( hDlg, DWLP_USER );\n\n            if (DialogInfo != NULL) {\n                HeapFree( GetProcessHeap(), 0, DialogInfo );\n            }\n\n            SetWindowLongPtr( hDlg, DWLP_USER, 0 );\n\n            return FALSE;\n\n        //\n        //  We have to make sure we don't resize smaller than the initial\n        //  size.  The layout management is concerned with how to allocate\n        //  additional size - it won't work well if that additional size\n        //  is less than zero.\n        //\n\n        case WM_GETMINMAXINFO:\n            {\n                LPMINMAXINFO MinMaxInfo = (LPMINMAXINFO)lParam;\n                PRESIZE_DIALOG_DATA_WINDOW_EXTRA ExtraData = NULL;\n                DialogInfo = (PRESIZE_DIALOG_INFO)GetWindowLongPtr( hDlg, DWLP_USER );\n\n                EnumChildWindows( hDlg, FindMetadataFromChildren, (LPARAM)&ExtraData );\n\n                if (ExtraData != NULL) {\n\n                    if (ExtraData->MaximumWidthPercent != 0) {\n\n                        MinMaxInfo->ptMaxTrackSize.x = (DialogInfo->InitialWindowRect.right - DialogInfo->InitialWindowRect.left) * ExtraData->MaximumWidthPercent / 100;\n\n                    }\n\n                    if (ExtraData->MaximumHeightPercent != 0) {\n\n                        MinMaxInfo->ptMaxTrackSize.y = (DialogInfo->InitialWindowRect.bottom - DialogInfo->InitialWindowRect.top) * ExtraData->MaximumHeightPercent / 100;\n\n                    }\n                }\n                MinMaxInfo->ptMinTrackSize.x = DialogInfo->InitialWindowRect.right - DialogInfo->InitialWindowRect.left;\n                MinMaxInfo->ptMinTrackSize.y = DialogInfo->InitialWindowRect.bottom - DialogInfo->InitialWindowRect.top;\n                return TRUE;\n            }\n\n        //\n        //  Display and give effect to the sizing grip\n        //\n\n        case WM_PAINT:\n            if (GetUpdateRect( hDlg, NULL, FALSE )) {\n                RenderSizingGrip( hDlg );\n            }\n            return FALSE;\n\n        case WM_NCHITTEST:\n            return IsWithinSizingGrip( hDlg, (DWORD)lParam );\n\n#ifdef WM_SIZING\n        case WM_SIZING:\n            InvalidateSizingGrip( hDlg, (PRECT)lParam );\n            return FALSE;\n#endif\n\n        //\n        //  Save off the initial window size and client area.  We use the\n        //  initial window size to ensure the window can't be shrunk\n        //  smaller than it, and we use the initial client size to\n        //  determine how much the window is growing.\n        //\n\n        case WM_INITDIALOG:\n            DialogInfo = (PRESIZE_DIALOG_INFO)HeapAlloc( GetProcessHeap(), 0, sizeof(*DialogInfo) );\n            \n            if (DialogInfo == NULL) {\n                EndDialog( hDlg, -1 );\n                return TRUE;\n            }\n            \n            GetClientRect( hDlg, &DialogInfo->InitialClientRect );\n            GetWindowRect( hDlg, &DialogInfo->InitialWindowRect );\n\n            DialogInfo->NumberResizeControlsPresent = 0;\n\n            SetWindowLongPtr( hDlg, DWLP_USER, (LONG_PTR)DialogInfo );\n            break;\n\n        //\n        //  The user changed the size of the window.  Walk through all\n        //  the resize helper controls and tell them this happened, and\n        //  how big we were when created.  From there, the helper controls\n        //  can resize their associated buddy controls appropriately.\n        //\n\n        case WM_SIZE:\n\n            DialogInfo = (PRESIZE_DIALOG_INFO)GetWindowLongPtr( hDlg, DWLP_USER );\n\n            RenderSizingGrip( hDlg );\n\n            //\n            //  If we \"know\" how many controls are present, use that.  If\n            //  we don't know, start with a sensible default.\n            //\n\n            if (DialogInfo->NumberResizeControlsPresent != 0) {\n                DialogInfo->hDwp = BeginDeferWindowPos( DialogInfo->NumberResizeControlsPresent );\n            } else {\n                DialogInfo->hDwp = BeginDeferWindowPos( 20 );\n            }\n\n            //\n            //  We're enumerating again, and recalculating the current\n            //  number of resize controls.\n            //\n\n            DialogInfo->NumberResizeControlsPresent = 0;\n\n            EnumChildWindows( hDlg, ProcessResizeOnChildren, (LPARAM)DialogInfo );\n\n            //\n            //  It's possible that controls have been added or our initial\n            //  guess was wrong, and we couldn't dynamically add space to\n            //  accommodate the new controls.  In that case, start over\n            //  and don't use the DeferWindowPos optimization.\n            //\n\n            if (DialogInfo->hDwp) {\n                EndDeferWindowPos( DialogInfo->hDwp );\n                DialogInfo->hDwp = NULL;\n            } else {\n                DialogInfo->NumberResizeControlsPresent = 0;\n                EnumChildWindows( hDlg, ProcessResizeOnChildren, (LPARAM)DialogInfo );\n            }\n            return FALSE;\n\n    }\n    return FALSE;\n}\n\n//\n//  We use this to walk through all the controls on the dialog and send the\n//  appropriate messages to our resize helper controls to fix things up.\n//\n\nBOOL CALLBACK\nFindMetadataFromChildren( HWND hChildWnd, LPARAM lParam )\n{\n    WCHAR szText[100];\n    int CharsCopied;\n\n    //\n    //  GetClassName expects a count of characters, so we dance in case\n    //  we're Unicode.\n    //\n\n    if (IsWindowUnicode( hChildWnd )) {\n\n        CharsCopied = GetClassNameW( hChildWnd, (PWCHAR)szText, sizeof( szText ) / sizeof( WCHAR ));\n\n        //\n        //  If we couldn't get this into our buffer, assume it's not our\n        //  class, but keep enumerating.\n        //\n\n        if (CharsCopied == 0 || CharsCopied >= (sizeof( szText ) / sizeof( WCHAR ))) {\n            return TRUE;\n        }\n\n        //\n        //  We only need to find one per-dialog metadata class.  If we\n        //  find it, we're done.\n        //\n\n        if (wcscmp( (PWCHAR)szText, DIALOGRESIZEDATACLASSW ) == 0) {\n            SendMessage( hChildWnd, WM_GETDIALOGMETADATA, 0, lParam );\n            return FALSE;\n        }\n\n    } else {\n\n        CharsCopied = GetClassNameA( hChildWnd, (PCHAR)szText, sizeof( szText ) / sizeof( CHAR ));\n\n        //\n        //  If we couldn't get this into our buffer, assume it's not our\n        //  class, but keep enumerating.\n        //\n\n        if (CharsCopied == 0 || CharsCopied >= (sizeof( szText ) / sizeof( CHAR ))) {\n            return TRUE;\n        }\n\n        //\n        //  We only need to find one per-dialog metadata class.  If we\n        //  find it, we're done.\n        //\n\n        if (strcmp( (PCHAR)szText, DIALOGRESIZEDATACLASSA ) == 0) {\n            SendMessage( hChildWnd, WM_GETDIALOGMETADATA, 0, lParam );\n            return FALSE;\n        }\n    }\n\n    return TRUE;\n}\n\n//\n//  This control exists once per resizeable dialog and specifies metadata\n//  about how the dialog can be resized.\n//\n\nLRESULT CALLBACK\nResizeDialogDataWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)\n{\n    PRESIZE_DIALOG_DATA_WINDOW_EXTRA ExtraData;\n\n    switch( uMsg ) {\n        case WM_CREATE:\n        {\n            LPCREATESTRUCT CreateStruct;\n            PRESIZE_DIALOG_DATA_CREATION_INFO CreationInfo;\n\n            //\n            //  Allocate memory and save off the additional parameters\n            //  defined for the resize metadata control.  These define\n            //  how much the dialog can be resized by.\n            //\n\n            CreateStruct = (LPCREATESTRUCT)lParam;\n            CreationInfo = (PRESIZE_DIALOG_DATA_CREATION_INFO)CreateStruct->lpCreateParams;\n\n            ExtraData = (PRESIZE_DIALOG_DATA_WINDOW_EXTRA)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*ExtraData) );\n            if (ExtraData == NULL) {\n                return -1;\n            }\n\n            //\n            //  A dialog metadata control takes two WORDs as arguments to\n            //  define how much the dialog should be resized.  Accordingly,\n            //  if we have less than 2 * sizeof(WORD), we don't have enough\n            //  data to operate.  Windows 95 and successor systems won't pass\n            //  us this information through the dialog template, so if we\n            //  have nothing, we don't allow the dialog to be resized.\n            //\n\n            if (CreationInfo != NULL && CreationInfo->SizeOfData >= (sizeof(WORD) * 2)) {\n\n                //\n                //  Record the amount to adjust the buddy control, and\n                //  attach it to our window data.\n                //\n\n                ExtraData->MaximumWidthPercent = CreationInfo->MaximumWidthPercent;\n                ExtraData->MaximumHeightPercent = CreationInfo->MaximumHeightPercent;\n\n                //\n                //  For sanity, don't allow a maximum size which is smaller\n                //  than the minimum size.\n                //\n\n                if (ExtraData->MaximumWidthPercent != 0 && ExtraData->MaximumWidthPercent < 100) {\n                    ExtraData->MaximumWidthPercent = 100;\n                }\n\n                if (ExtraData->MaximumHeightPercent != 0 && ExtraData->MaximumHeightPercent < 100) {\n                    ExtraData->MaximumHeightPercent = 100;\n                }\n\n            } else {\n\n                //\n                //  Don't resize anything.\n                //\n\n                ExtraData->MaximumWidthPercent = 100;\n                ExtraData->MaximumHeightPercent = 100;\n            }\n\n            SetWindowLongPtr( hWnd, 0, (LONG_PTR)ExtraData );\n            break;\n        }\n\n        case WM_DESTROY:\n            \n            //\n            //  Our resize helper control is being destroyed.  Tear down\n            //  any data we're keeping to assist with resize operations.\n            //\n\n            ExtraData = (PRESIZE_DIALOG_DATA_WINDOW_EXTRA)GetWindowLongPtr( hWnd, 0 );\n            if (ExtraData != NULL) {\n                SetWindowLongPtr( hWnd, 0, 0 );\n                HeapFree( GetProcessHeap(), 0, ExtraData );\n            }\n            break;\n\n        case WM_GETDIALOGMETADATA:\n        {\n            ExtraData = (PRESIZE_DIALOG_DATA_WINDOW_EXTRA)GetWindowLongPtr( hWnd, 0 );\n            *(PRESIZE_DIALOG_DATA_WINDOW_EXTRA *)lParam = ExtraData;\n            return TRUE;\n        }\n    }\n    return DefWindowProc( hWnd, uMsg, wParam, lParam );\n}\n\n//\n//  We use this to walk through all the controls on the dialog and send the\n//  appropriate messages to our resize helper controls to fix things up.\n//\n\nBOOL CALLBACK\nProcessResizeOnChildren( HWND hChildWnd, LPARAM lParam )\n{\n    WCHAR szText[100];\n    int CharsCopied;\n\n    //\n    //  GetClassName expects a count of characters, so we dance in case\n    //  we're Unicode.\n    //\n\n    if (IsWindowUnicode( hChildWnd )) {\n\n        CharsCopied = GetClassNameW( hChildWnd, (PWCHAR)szText, sizeof( szText ) / sizeof( WCHAR ));\n\n        //\n        //  If we couldn't get this into our buffer, assume it's not our\n        //  class, but keep enumerating.\n        //\n\n        if (CharsCopied == 0 || CharsCopied >= (sizeof( szText ) / sizeof( WCHAR ))) {\n            return TRUE;\n        }\n\n        if (wcscmp( (PWCHAR)szText, DIALOGRESIZECONTROLCLASSW ) == 0) {\n            SendMessage( hChildWnd, WM_RESIZEPARENT, 0, lParam );\n        }\n\n    } else {\n\n        CharsCopied = GetClassNameA( hChildWnd, (PCHAR)szText, sizeof( szText ) / sizeof( CHAR ));\n\n        //\n        //  If we couldn't get this into our buffer, assume it's not our\n        //  class, but keep enumerating.\n        //\n\n        if (CharsCopied == 0 || CharsCopied >= (sizeof( szText ) / sizeof( CHAR ))) {\n            return TRUE;\n        }\n\n        if (strcmp( (PCHAR)szText, DIALOGRESIZECONTROLCLASSA ) == 0) {\n            SendMessage( hChildWnd, WM_RESIZEPARENT, 0, lParam );\n        }\n    }\n\n    return TRUE;\n}\n\n//\n//  The following code deals with how to process resize information for\n//  controls on a dialog.\n//\n\nLRESULT CALLBACK\nResizeDialogControlWindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)\n{\n    HWND hWndParent = GetParent( hWnd );\n\n    PRESIZE_DIALOG_CONTROL_WINDOW_EXTRA ExtraData;\n\n    switch( uMsg ) {\n        case WM_CREATE:\n        {\n            LPCREATESTRUCT CreateStruct;\n            PRESIZE_DIALOG_CONTROL_CREATION_INFO CreationInfo;\n\n            //\n            //  Allocate memory and save off the additional parameters\n            //  defined for the resize helper control.  These define how\n            //  much of the additional space to allocate to our buddy\n            //  control. \n            //\n\n            CreateStruct = (LPCREATESTRUCT)lParam;\n            CreationInfo = (PRESIZE_DIALOG_CONTROL_CREATION_INFO)CreateStruct->lpCreateParams;\n\n            ExtraData = (PRESIZE_DIALOG_CONTROL_WINDOW_EXTRA)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*ExtraData) );\n            if (ExtraData == NULL) {\n                return -1;\n            }\n\n            //\n            //  A dialog resize helper takes four WORDs as arguments\n            //  to define how the buddy control should be resized.\n            //  Accordingly, if we have less than 4 * sizeof(WORD),\n            //  we don't have enough data to operate.  Windows 95 and\n            //  successor systems won't pass us this information\n            //  through the dialog template, so if we have nothing, we\n            //  do nothing but allow the dialog to load.\n            //\n\n            if (CreationInfo != NULL && CreationInfo->SizeOfData >= sizeof(CreationInfo->AdjustmentToBuddyRect)) {\n\n                //\n                //  Record the amount to adjust the buddy control, and\n                //  attach it to our window data.\n                //\n\n                ExtraData->AdjustmentToBuddyRect = CreationInfo->AdjustmentToBuddyRect;\n\n            } else {\n\n                //\n                //  Don't resize anything.\n                //\n\n                ExtraData->AdjustmentToBuddyRect.Left = 0;\n                ExtraData->AdjustmentToBuddyRect.Top = 0;\n                ExtraData->AdjustmentToBuddyRect.Right = 0;\n                ExtraData->AdjustmentToBuddyRect.Bottom = 0;\n            }\n\n            SetWindowLongPtr( hWnd, 0, (LONG_PTR)ExtraData );\n            break;\n        }\n\n        case WM_DESTROY:\n            \n            //\n            //  Our resize helper control is being destroyed.  Tear down\n            //  any data we're keeping to assist with resize operations.\n            //\n\n            ExtraData = (PRESIZE_DIALOG_CONTROL_WINDOW_EXTRA)GetWindowLongPtr( hWnd, 0 );\n            if (ExtraData != NULL) {\n                SetWindowLongPtr( hWnd, 0, 0 );\n                HeapFree( GetProcessHeap(), 0, ExtraData );\n            }\n            break;\n\n        case WM_RESIZEPARENT:\n        {\n            PRESIZE_DIALOG_INFO DialogInfo = (PRESIZE_DIALOG_INFO)lParam;\n            HWND hWndBuddy = GetNextWindow( hWnd, GW_HWNDNEXT );\n            PRECT InitialParentRect;\n            RECT CurrentParentRect;\n\n            DWORD IncreaseHorizontal;\n            DWORD IncreaseVertical;\n\n            DWORD NewLeft;\n            DWORD NewTop;\n            DWORD NewWidth;\n            DWORD NewHeight;\n\n            //\n            //  Initialize our brains.\n            //\n\n            ExtraData = (PRESIZE_DIALOG_CONTROL_WINDOW_EXTRA)GetWindowLongPtr( hWnd, 0 );\n            InitialParentRect = &DialogInfo->InitialClientRect;\n\n            //\n            //  Count that we were here so the resizer has a good idea of\n            //  how many controls to expect next time.\n            //\n\n            DialogInfo->NumberResizeControlsPresent++;\n\n            //\n            //  If this is the first time we've been sized, it must be for\n            //  initial placement.  In that case, save off the initial\n            //  location and size of the buddy control so we can transform\n            //  it later.\n            //\n\n            if (!ExtraData->BuddyInitialized) {\n                RECT buddyrect;\n\n                //\n                //  GetWindowRect returns coordinates relative to the top\n                //  left of the display.  We need to transform this into\n                //  coordinates relative to the top left of the dialog.\n                //\n\n                GetWindowRect( hWndBuddy, &buddyrect );\n\n                MapWindowPoints( NULL, hWndParent, (LPPOINT)&buddyrect, 2 );\n\n                ExtraData->InitialBuddyRect = buddyrect;\n\n                ExtraData->BuddyInitialized = TRUE;\n            }\n\n            //\n            //  Find out how big the dialog now is.\n            //\n\n            GetClientRect( hWndParent, &CurrentParentRect );\n\n            //\n            //  Now calculate how much the dialog has grown by since it\n            //  was created.\n            //\n\n            IncreaseHorizontal = (CurrentParentRect.right - InitialParentRect->right);\n            IncreaseVertical = (CurrentParentRect.bottom - InitialParentRect->bottom);\n\n            //\n            //  And from there, calculate where our buddy control belongs.\n            //  We take the initial positions and add the adjustment as a percentage.\n            //\n\n            NewLeft = ExtraData->InitialBuddyRect.left + IncreaseHorizontal * ExtraData->AdjustmentToBuddyRect.Left / 100;\n            NewTop = ExtraData->InitialBuddyRect.top + IncreaseVertical * ExtraData->AdjustmentToBuddyRect.Top / 100;\n            NewWidth = (ExtraData->InitialBuddyRect.right - ExtraData->InitialBuddyRect.left) + IncreaseHorizontal * ExtraData->AdjustmentToBuddyRect.Right / 100;\n            NewHeight = (ExtraData->InitialBuddyRect.bottom - ExtraData->InitialBuddyRect.top) + IncreaseVertical * ExtraData->AdjustmentToBuddyRect.Bottom / 100;\n\n            //\n            //  We're going to be moving and resizing our buddy, so make sure\n            //  it repaints itself.\n            //\n\n            InvalidateRect( hWndBuddy, NULL, TRUE );\n\n            //\n            //  Now position the buddy control.  We will typically optimize this\n            //  via DeferWindowPos, which will move all the controls when we're\n            //  done; but if we can't do that, we'll move it here.\n            //\n\n            if (DialogInfo->hDwp != NULL) {\n                DialogInfo->hDwp = DeferWindowPos( DialogInfo->hDwp,\n                    hWndBuddy,\n                    NULL,\n                    NewLeft,\n                    NewTop,\n                    NewWidth,\n                    NewHeight,\n                    SWP_NOZORDER | SWP_NOACTIVATE );\n            }\n\n            //\n            //  If the DeferWindowPos structure was not set up, or if we just\n            //  tore it down above by adding more controls than it could deal\n            //  with, move manually here.\n            //\n\n            if (DialogInfo->hDwp == NULL) {\n\n                MoveWindow( hWndBuddy,\n                    NewLeft,\n                    NewTop,\n                    NewWidth,\n                    NewHeight,\n                    TRUE );\n            }\n\n            break;\n        }\n\n    }\n    return DefWindowProc( hWnd, uMsg, wParam, lParam );\n}\n\n\nBOOL\nResizeDialogInitialize( HINSTANCE hInst )\n{\n    WNDCLASSW ResizeDialogClassW;\n    WNDCLASSA ResizeDialogClassA;\n\n    //\n    //  Here we register our resize helper control class - twice.\n    //  Once for unicode, once for non-unicode systems.\n    //  This control is used to define how buddy controls should\n    //  be manipulated when resizes occur.\n    //\n\n    ZeroMemory( &ResizeDialogClassW, sizeof( ResizeDialogClassW ));\n\n    ResizeDialogClassW.style = 0;\n    ResizeDialogClassW.lpfnWndProc = ResizeDialogControlWindowProc;\n    ResizeDialogClassW.cbClsExtra = 0;\n    ResizeDialogClassW.cbWndExtra = sizeof(PVOID);\n    ResizeDialogClassW.hInstance = hInst;\n    ResizeDialogClassW.hIcon = NULL;\n    ResizeDialogClassW.hCursor = NULL;\n    ResizeDialogClassW.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);\n    ResizeDialogClassW.lpszMenuName = NULL;\n    ResizeDialogClassW.lpszClassName = DIALOGRESIZECONTROLCLASSW;\n\n    RegisterClassW( &ResizeDialogClassW );\n\n    ZeroMemory( &ResizeDialogClassA, sizeof( ResizeDialogClassA ));\n\n    ResizeDialogClassA.style = 0;\n    ResizeDialogClassA.lpfnWndProc = ResizeDialogControlWindowProc;\n    ResizeDialogClassA.cbClsExtra = 0;\n    ResizeDialogClassA.cbWndExtra = sizeof(PVOID);\n    ResizeDialogClassA.hInstance = hInst;\n    ResizeDialogClassA.hIcon = NULL;\n    ResizeDialogClassA.hCursor = NULL;\n    ResizeDialogClassA.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);\n    ResizeDialogClassA.lpszMenuName = NULL;\n    ResizeDialogClassA.lpszClassName = DIALOGRESIZECONTROLCLASSA;\n\n    RegisterClassA( &ResizeDialogClassA );\n\n    ZeroMemory( &ResizeDialogClassW, sizeof( ResizeDialogClassW ));\n\n    ResizeDialogClassW.style = 0;\n    ResizeDialogClassW.lpfnWndProc = ResizeDialogDataWindowProc;\n    ResizeDialogClassW.cbClsExtra = 0;\n    ResizeDialogClassW.cbWndExtra = sizeof(PVOID);\n    ResizeDialogClassW.hInstance = hInst;\n    ResizeDialogClassW.hIcon = NULL;\n    ResizeDialogClassW.hCursor = NULL;\n    ResizeDialogClassW.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);\n    ResizeDialogClassW.lpszMenuName = NULL;\n    ResizeDialogClassW.lpszClassName = DIALOGRESIZEDATACLASSW;\n\n    RegisterClassW( &ResizeDialogClassW );\n\n    ZeroMemory( &ResizeDialogClassA, sizeof( ResizeDialogClassA ));\n\n    ResizeDialogClassA.style = 0;\n    ResizeDialogClassA.lpfnWndProc = ResizeDialogDataWindowProc;\n    ResizeDialogClassA.cbClsExtra = 0;\n    ResizeDialogClassA.cbWndExtra = sizeof(PVOID);\n    ResizeDialogClassA.hInstance = hInst;\n    ResizeDialogClassA.hIcon = NULL;\n    ResizeDialogClassA.hCursor = NULL;\n    ResizeDialogClassA.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);\n    ResizeDialogClassA.lpszMenuName = NULL;\n    ResizeDialogClassA.lpszClassName = DIALOGRESIZEDATACLASSA;\n\n    RegisterClassA( &ResizeDialogClassA );\n\n    return TRUE;\n}\n\n"
  },
  {
    "path": "src/Resize.h",
    "content": "\n#define DIALOGRESIZECONTROLCLASSW L\"DialogResizeControlClassW\"\n#define DIALOGRESIZECONTROLCLASSA \"DialogResizeControlClassA\"\n\n#if defined(UNICODE) || defined(_UNICODE)\n#define DIALOGRESIZECONTROLCLASS DIALOGRESIZECONTROLCLASSW\n#else\n#define DIALOGRESIZECONTROLCLASS DIALOGRESIZECONTROLCLASSA\n#endif\n\n#define DIALOGRESIZEDATACLASSW L\"DialogResizeDataClassW\"\n#define DIALOGRESIZEDATACLASSA \"DialogResizeDataClassA\"\n\n#if defined(UNICODE) || defined(_UNICODE)\n#define DIALOGRESIZEDATACLASS DIALOGRESIZEDATACLASSW\n#else\n#define DIALOGRESIZEDATACLASS DIALOGRESIZEDATACLASSA\n#endif\n\n#ifndef RC_INVOKED\n\nBOOL CALLBACK\nResizeDialogProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);\n\nBOOL\nResizeDialogInitialize(HINSTANCE hInst);\n\n#else\n\n#define DIALOGRESIZE CONTROL \"\", -1, DIALOGRESIZEDATACLASS, NOT WS_VISIBLE, 0, 0, 0, 0, 0 \n#define DIALOGRESIZECONTROL CONTROL \"\", -1, DIALOGRESIZECONTROLCLASS, NOT WS_VISIBLE, 0, 0, 0, 0, 0 \n\n#endif\n\n"
  },
  {
    "path": "src/Winfile.vcxproj",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<Project DefaultTargets=\"Build\" ToolsVersion=\"14.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\r\n  <PropertyGroup Label=\"Globals\">\r\n    <ProjectGuid>{028400E7-500A-4FB9-877F-F6C7AE24F109}</ProjectGuid>\r\n    <RootNamespace>Winfile</RootNamespace>\r\n    <Keyword>Win32Proj</Keyword>\r\n  </PropertyGroup>\r\n  <Import Project=\"..\\build\\Winfile.default.props\" />\r\n  <PropertyGroup Label=\"Configuration\">\r\n    <ConfigurationType>Application</ConfigurationType>\r\n  </PropertyGroup>\r\n  <Import Project=\"..\\build\\Winfile.props\" />\r\n  <ItemDefinitionGroup Label=\"Globals\">\r\n    <ClCompile>\r\n      <ControlFlowGuard>Guard</ControlFlowGuard>\r\n      <DisableSpecificWarnings>4706;4152;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r\n      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r\n      <PreprocessorDefinitions>LFN;FASTMOVE;UNICODE;_UNICODE;USELASTDOT;MEMDOUBLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ClCompile>\r\n    <ResourceCompile>\r\n      <AdditionalIncludeDirectories>.;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r\n      <PreprocessorDefinitions>LFN;FASTMOVE;UNICODE;_UNICODE;USELASTDOT;MEMDOUBLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ResourceCompile>\r\n    <Link>\r\n      <AdditionalDependencies>kernel32.lib;gdi32.lib;user32.lib;advapi32.lib;oleaut32.lib;ole32.lib;shell32.lib;shlwapi.lib;comctl32.lib;version.lib</AdditionalDependencies>\r\n      <SubSystem>Windows</SubSystem>\r\n      <StackReserveSize>15000000</StackReserveSize>\r\n    </Link>\r\n  </ItemDefinitionGroup>\r\n  <PropertyGroup>\r\n    <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r\n    <CodeAnalysisRuleSet Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">AllRules.ruleset</CodeAnalysisRuleSet>\r\n    <CodeAnalysisRuleSet Condition=\"'$(Configuration)|$(Platform)'=='Debug|ARM64'\">AllRules.ruleset</CodeAnalysisRuleSet>\r\n    <CodeAnalysisRules Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" />\r\n    <CodeAnalysisRules Condition=\"'$(Configuration)|$(Platform)'=='Debug|ARM64'\" />\r\n    <CodeAnalysisRuleAssemblies Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\" />\r\n    <CodeAnalysisRuleAssemblies Condition=\"'$(Configuration)|$(Platform)'=='Debug|ARM64'\" />\r\n    <CodeAnalysisRuleSet Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\">AllRules.ruleset</CodeAnalysisRuleSet>\r\n    <CodeAnalysisRules Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\" />\r\n    <CodeAnalysisRuleAssemblies Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\" />\r\n    <CodeAnalysisRuleSet Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">AllRules.ruleset</CodeAnalysisRuleSet>\r\n    <CodeAnalysisRuleSet Condition=\"'$(Configuration)|$(Platform)'=='Release|ARM64'\">AllRules.ruleset</CodeAnalysisRuleSet>\r\n    <CodeAnalysisRules Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" />\r\n    <CodeAnalysisRules Condition=\"'$(Configuration)|$(Platform)'=='Release|ARM64'\" />\r\n    <CodeAnalysisRuleAssemblies Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\" />\r\n    <CodeAnalysisRuleAssemblies Condition=\"'$(Configuration)|$(Platform)'=='Release|ARM64'\" />\r\n    <CodeAnalysisRuleSet Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\">AllRules.ruleset</CodeAnalysisRuleSet>\r\n    <CodeAnalysisRules Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\" />\r\n    <CodeAnalysisRuleAssemblies Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\" />\r\n  </PropertyGroup>\r\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\r\n    <ClCompile>\r\n      <PreprocessorDefinitions>DBG=1;DEBUG=1;WINVER=0x0601;_WIN32_WINNT=0x601;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ClCompile>\r\n    <ResourceCompile>\r\n      <PreprocessorDefinitions>DBG=1;DEBUG=1;WINVER=0x0601;_WIN32_WINNT=0x601;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ResourceCompile>\r\n    <Link>\r\n      <ImageHasSafeExceptionHandlers>true</ImageHasSafeExceptionHandlers>\r\n    </Link>\r\n  </ItemDefinitionGroup>\r\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='DebugXPStatic|Win32'\">\r\n    <ClCompile>\r\n      <PreprocessorDefinitions>DBG=1;DEBUG=1;STRSAFE_NO_DEPRECATE=1;WINVER=0x0501;_WIN32_WINNT=0x501;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ClCompile>\r\n    <ResourceCompile>\r\n      <PreprocessorDefinitions>DBG=1;DEBUG=1;STRSAFE_NO_DEPRECATE=1;WINVER=0x0501;_WIN32_WINNT=0x501;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ResourceCompile>\r\n    <Link>\r\n      <ImageHasSafeExceptionHandlers>true</ImageHasSafeExceptionHandlers>\r\n    </Link>\r\n  </ItemDefinitionGroup>\r\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|ARM64'\">\r\n    <ClCompile>\r\n      <PreprocessorDefinitions>DBG=1;DEBUG=1;WINVER=0x0A00;_WIN32_WINNT=0xA00;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ClCompile>\r\n    <ResourceCompile>\r\n      <PreprocessorDefinitions>DBG=1;DEBUG=1;WINVER=0x0A00;_WIN32_WINNT=0xA00;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ResourceCompile>\r\n    <Link>\r\n      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>\r\n    </Link>\r\n  </ItemDefinitionGroup>\r\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\r\n    <ClCompile>\r\n      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x601;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ClCompile>\r\n    <ResourceCompile>\r\n      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x601;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ResourceCompile>\r\n    <Link>\r\n      <ImageHasSafeExceptionHandlers>true</ImageHasSafeExceptionHandlers>\r\n    </Link>\r\n  </ItemDefinitionGroup>\r\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='ReleaseXPStatic|Win32'\">\r\n    <ClCompile>\r\n      <PreprocessorDefinitions>STRSAFE_NO_DEPRECATE=1;WINVER=0x0501;_WIN32_WINNT=0x501;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ClCompile>\r\n    <ResourceCompile>\r\n      <PreprocessorDefinitions>STRSAFE_NO_DEPRECATE=1;WINVER=0x0501;_WIN32_WINNT=0x501;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ResourceCompile>\r\n    <Link>\r\n      <ImageHasSafeExceptionHandlers>true</ImageHasSafeExceptionHandlers>\r\n    </Link>\r\n  </ItemDefinitionGroup>\r\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|ARM64'\">\r\n    <ClCompile>\r\n      <PreprocessorDefinitions>WINVER=0x0A00;_WIN32_WINNT=0xA00;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ClCompile>\r\n    <ResourceCompile>\r\n      <PreprocessorDefinitions>WINVER=0x0A00;_WIN32_WINNT=0xA00;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ResourceCompile>\r\n    <Link>\r\n      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>\r\n    </Link>\r\n  </ItemDefinitionGroup>\r\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\">\r\n    <ClCompile>\r\n      <PreprocessorDefinitions>DBG=1;DEBUG=1;WINVER=0x0601;_WIN32_WINNT=0x601;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ClCompile>\r\n    <ResourceCompile>\r\n      <PreprocessorDefinitions>DBG=1;DEBUG=1;WINVER=0x0601;_WIN32_WINNT=0x0601;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ResourceCompile>\r\n  </ItemDefinitionGroup>\r\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\">\r\n    <ClCompile>\r\n      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x601;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ClCompile>\r\n    <ResourceCompile>\r\n      <PreprocessorDefinitions>WINVER=0x0601;_WIN32_WINNT=0x0601;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ResourceCompile>\r\n  </ItemDefinitionGroup>\r\n  <ItemGroup>\r\n    <ClInclude Include=\"dbg.h\" />\r\n    <ClInclude Include=\"fmifs.h\" />\r\n    <ClInclude Include=\"lfn.h\" />\r\n    <ClInclude Include=\"BagOValues.h\" />\r\n    <ClInclude Include=\"mpr.h\" />\r\n    <ClInclude Include=\"numfmt.h\" />\r\n    <ClInclude Include=\"res.h\" />\r\n    <ClInclude Include=\"resize.h\" />\r\n    <ClInclude Include=\"spinlock.h\" />\r\n    <ClInclude Include=\"suggest.h\" />\r\n    <ClInclude Include=\"treectl.h\" />\r\n    <ClInclude Include=\"wfcopy.h\" />\r\n    <ClInclude Include=\"wfdlgs.h\" />\r\n    <ClInclude Include=\"wfdocb.h\" />\r\n    <ClInclude Include=\"wfdrop.h\" />\r\n    <ClInclude Include=\"wfext.h\" />\r\n    <ClInclude Include=\"wfexti.h\" />\r\n    <ClInclude Include=\"wfgwl.h\" />\r\n    <ClInclude Include=\"wfhelp.h\" />\r\n    <ClInclude Include=\"wfinfo.h\" />\r\n    <ClInclude Include=\"wfmem.h\" />\r\n    <ClInclude Include=\"winexp.h\" />\r\n    <ClInclude Include=\"winfile.h\" />\r\n    <ClInclude Include=\"wnetcaps.h\" />\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <None Include=\"lang\\res_pl-PL.rc\" />\r\n    <None Include=\"lang\\res_de-DE.rc\" />\r\n    <None Include=\"lang\\res_tr-TR.rc\" />\r\n    <ResourceCompile Include=\"res.rc\">\r\n      <Culture>0x0409</Culture>\r\n      <ShowProgress Condition=\"'$(Configuration)'=='Debug'\">true</ShowProgress>\r\n      <PreprocessorDefinitions Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">WIN32_LEAN_AND_MEAN=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n      <PreprocessorDefinitions Condition=\"'$(Configuration)|$(Platform)'=='Debug|ARM64'\">WIN32_LEAN_AND_MEAN=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n      <PreprocessorDefinitions Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\">WIN32_LEAN_AND_MEAN=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n      <PreprocessorDefinitions Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">WIN32_LEAN_AND_MEAN=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n      <PreprocessorDefinitions Condition=\"'$(Configuration)|$(Platform)'=='Release|ARM64'\">WIN32_LEAN_AND_MEAN=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n      <PreprocessorDefinitions Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\">WIN32_LEAN_AND_MEAN=1;;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r\n    </ResourceCompile>\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <None Include=\"lang\\res_en-US.rc\" />\r\n    <None Include=\"lang\\res_zh-CN.rc\" />\r\n    <None Include=\"lang\\res_ja-JP.rc\" />\r\n    <None Include=\"lang\\res_he-IL.rc\" />\r\n    <None Include=\"lang\\res_pt-PT.rc\" />\r\n    <None Include=\"lang\\res_ko-KR.rc\" />\r\n    <None Include=\"lang\\suggest_de-DE.db\" />\r\n    <None Include=\"lang\\suggest_en-US.db\" />\r\n    <None Include=\"lang\\suggest_pl-PL.db\" />\r\n    <None Include=\"lang\\suggest_pt-PT.db\" />\r\n    <None Include=\"lang\\suggest_tr-TR.db\" />\r\n    <None Include=\"lang\\suggest_zh-CN.db\" />\r\n    <None Include=\"lang\\suggest_ja-JP.db\" />\r\n    <None Include=\"lang\\suggest_he-IL.db\" />\r\n    <None Include=\"lang\\suggest_ko-KR.db\" />\r\n    <None Include=\"lang\\winfile_de-DE.dlg\" />\r\n    <None Include=\"lang\\winfile_en-US.dlg\" />\r\n    <None Include=\"lang\\winfile_pl-PL.dlg\" />\r\n    <None Include=\"lang\\winfile_pt-PT.dlg\" />\r\n    <None Include=\"lang\\winfile_tr-TR.dlg\" />\r\n    <None Include=\"lang\\winfile_zh-CN.dlg\" />\r\n    <None Include=\"lang\\winfile_ja-JP.dlg\" />\r\n    <None Include=\"lang\\winfile_he-IL.dlg\" />\r\n    <None Include=\"lang\\winfile_ko-KR.dlg\" />\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <ClCompile Include=\"dbg.c\" />\r\n    <ClCompile Include=\"lfn.c\" />\r\n    <ClCompile Include=\"lfnmisc.c\" />\r\n    <ClCompile Include=\"numfmt.c\" />\r\n    <ClCompile Include=\"resize.c\" />\r\n    <ClCompile Include=\"suggest.c\" />\r\n    <ClCompile Include=\"tbar.c\" />\r\n    <ClCompile Include=\"treectl.c\" />\r\n    <ClCompile Include=\"wfassoc.c\" />\r\n    <ClCompile Include=\"wfchgnot.c\" />\r\n    <ClCompile Include=\"wfcomman.c\" />\r\n    <ClCompile Include=\"wfcopy.c\" />\r\n    <ClCompile Include=\"wfdir.c\" />\r\n    <ClCompile Include=\"wfdirrd.c\" />\r\n    <ClCompile Include=\"wfdirsrc.c\" />\r\n    <ClCompile Include=\"wfdlgs.c\" />\r\n    <ClCompile Include=\"wfdlgs2.c\" />\r\n    <ClCompile Include=\"wfdlgs3.c\" />\r\n    <ClCompile Include=\"wfdos.c\" />\r\n    <ClCompile Include=\"wfdrives.c\" />\r\n    <ClCompile Include=\"wfdrop.c\" />\r\n    <ClCompile Include=\"wfext.c\" />\r\n    <ClCompile Include=\"wffile.c\" />\r\n    <ClCompile Include=\"wfgoto.cpp\" />\r\n    <ClCompile Include=\"wfinfo.c\" />\r\n    <ClCompile Include=\"wfinit.c\" />\r\n    <ClCompile Include=\"wfloc.c\" />\r\n    <ClCompile Include=\"wfmem.c\" />\r\n    <ClCompile Include=\"wfprint.c\" />\r\n    <ClCompile Include=\"wfsearch.c\" />\r\n    <ClCompile Include=\"wftree.c\" />\r\n    <ClCompile Include=\"wfutil.c\" />\r\n    <ClCompile Include=\"winfile.c\" />\r\n    <ClCompile Include=\"wnetcaps.c\" />\r\n  </ItemGroup>\r\n  <ItemGroup>\r\n    <Manifest Include=\"winfile.exe.manifest\" />\r\n  </ItemGroup>\r\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\r\n</Project>\r\n"
  },
  {
    "path": "src/Winfile.vcxproj.filters",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup>\n    <Manifest Include=\"winfile.exe.manifest\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ClCompile Include=\"dbg.c\" />\n    <ClCompile Include=\"lfn.c\" />\n    <ClCompile Include=\"lfnmisc.c\" />\n    <ClCompile Include=\"numfmt.c\" />\n    <ClCompile Include=\"suggest.c\" />\n    <ClCompile Include=\"tbar.c\" />\n    <ClCompile Include=\"treectl.c\" />\n    <ClCompile Include=\"wfassoc.c\" />\n    <ClCompile Include=\"wfchgnot.c\" />\n    <ClCompile Include=\"wfcomman.c\" />\n    <ClCompile Include=\"wfcopy.c\" />\n    <ClCompile Include=\"wfdir.c\" />\n    <ClCompile Include=\"wfdirrd.c\" />\n    <ClCompile Include=\"wfdirsrc.c\" />\n    <ClCompile Include=\"wfdlgs.c\" />\n    <ClCompile Include=\"wfdlgs2.c\" />\n    <ClCompile Include=\"wfdlgs3.c\" />\n    <ClCompile Include=\"wfdos.c\" />\n    <ClCompile Include=\"wfdrives.c\" />\n    <ClCompile Include=\"wfdrop.c\" />\n    <ClCompile Include=\"wfext.c\" />\n    <ClCompile Include=\"wffile.c\" />\n    <ClCompile Include=\"wfgoto.cpp\" />\n    <ClCompile Include=\"wfinfo.c\" />\n    <ClCompile Include=\"wfinit.c\" />\n    <ClCompile Include=\"wfmem.c\" />\n    <ClCompile Include=\"wfprint.c\" />\n    <ClCompile Include=\"wfsearch.c\" />\n    <ClCompile Include=\"wftree.c\" />\n    <ClCompile Include=\"wfutil.c\" />\n    <ClCompile Include=\"winfile.c\" />\n    <ClCompile Include=\"wnetcaps.c\" />\n    <ClCompile Include=\"wfloc.c\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ClInclude Include=\"dbg.h\" />\n    <ClInclude Include=\"fmifs.h\" />\n    <ClInclude Include=\"lfn.h\" />\n    <ClInclude Include=\"BagOValues.h\" />\n    <ClInclude Include=\"mpr.h\" />\n    <ClInclude Include=\"numfmt.h\" />\n    <ClInclude Include=\"spinlock.h\" />\n    <ClInclude Include=\"suggest.h\" />\n    <ClInclude Include=\"treectl.h\" />\n    <ClInclude Include=\"wfcopy.h\" />\n    <ClInclude Include=\"wfdlgs.h\" />\n    <ClInclude Include=\"wfdocb.h\" />\n    <ClInclude Include=\"wfdrop.h\" />\n    <ClInclude Include=\"wfext.h\" />\n    <ClInclude Include=\"wfexti.h\" />\n    <ClInclude Include=\"wfgwl.h\" />\n    <ClInclude Include=\"wfhelp.h\" />\n    <ClInclude Include=\"wfinfo.h\" />\n    <ClInclude Include=\"wfmem.h\" />\n    <ClInclude Include=\"winexp.h\" />\n    <ClInclude Include=\"winfile.h\" />\n    <ClInclude Include=\"wnetcaps.h\" />\n    <ClInclude Include=\"res.h\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ResourceCompile Include=\"res.rc\" />\n  </ItemGroup>\n  <ItemGroup>\n    <None Include=\"lang\\res_en-US.rc\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\res_zh-CN.rc\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\suggest_en-US.db\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\suggest_zh-CN.db\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\winfile_en-US.dlg\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\winfile_zh-CN.dlg\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\suggest_ja-JP.db\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\winfile_ja-JP.dlg\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\res_ja-JP.rc\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\suggest_pl-PL.db\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\winfile_pl-PL.dlg\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\res_pl-PL.rc\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\suggest_he-IL.db\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\winfile_he-IL.dlg\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\res_he-IL.rc\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\suggest_de-DE.db\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\res_de-DE.rc\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\winfile_de-DE.dlg\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\res_tr-TR.rc\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\suggest_tr-TR.db\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\winfile_tr-TR.dlg\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\res_pt-PT.rc\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\suggest_pt-PT.db\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\winfile_pt-PT.dlg\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\suggest_ko-KR.db\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\winfile_ko-KR.dlg\">\n      <Filter>lang</Filter>\n    </None>\n    <None Include=\"lang\\res_ko-KR.rc\">\n      <Filter>lang</Filter>\n    </None>\n  </ItemGroup>\n  <ItemGroup>\n    <Filter Include=\"lang\">\n      <UniqueIdentifier>{a74d83f3-58ec-46d3-bb3d-fadca6ac5743}</UniqueIdentifier>\n    </Filter>\n  </ItemGroup>\n</Project>\n"
  },
  {
    "path": "src/dbg.c",
    "content": "/********************************************************************\r\n\r\n   dbg.c\r\n\r\n   Debugging utilities\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n#include \"dbg.h\"\r\n\r\n#if DBG\r\n\r\nTCHAR szAsrtFmt[] = TEXT(\"Assertion Failure in %s at %d\\n\");\r\nTCHAR szFmt[300];\r\nunsigned long TraceFlags = \r\n      BF_START\r\n//     | BF_PROCTRACE\r\n//     | BF_PARMTRACE\r\n//     | BF_MSGTRACE\r\n//     | BF_DEFMSGTRACE\r\n    ;     // set these to print on TRACEs\r\n\r\nunsigned long BreakFlags = 0\r\n    // | BF_START\r\n    ;     // set these to break on TRACEs\r\n\r\nVOID DbgAssert(\r\nLPTSTR file,\r\nint line)\r\n{\r\n    wsprintf(szFmt,szAsrtFmt,file,line);\r\n    OutputDebugString(szFmt);\r\n//    DbgPrint(szAsrtFmt, file, line);\r\n    DebugBreak();\r\n}\r\n\r\n\r\nVOID DbgTrace(\r\nDWORD tf,\r\nLPTSTR lpstr)\r\n{\r\n    if (tf & TraceFlags) {\r\n        wsprintf(szFmt,TEXT(\"%s\\n\"),lpstr);\r\n        OutputDebugString(szFmt);\r\n//        DbgPrint(\"%s\\n\", lpstr);\r\n        if (tf & BreakFlags) {\r\n            DebugBreak();\r\n        }\r\n    }\r\n}\r\n\r\n\r\nVOID DbgBreak(\r\nDWORD bf,\r\nLPTSTR file,\r\nint line)\r\n{\r\n    if (bf & BreakFlags) {\r\n        wsprintf(szFmt,TEXT(\"BREAK at %s:%d\\n\"), file, line);\r\n        OutputDebugString(szFmt);\r\n//        DbgPrint(\"BREAK at %s:%d\\n\", file, line);\r\n        DebugBreak();\r\n    }\r\n}\r\n\r\n\r\nVOID DbgPrint1(\r\nDWORD tf,\r\nLPTSTR fmt,\r\nLPTSTR p1)\r\n{\r\n    if (tf & TraceFlags) {\r\n        wsprintf(szFmt,fmt, p1);\r\n        OutputDebugString(szFmt);\r\n//        DbgPrint(\"%d\",GetTickCount());\r\n        OutputDebugString(TEXT(\"\\n\"));\r\n//        DbgPrint(fmt, p1);\r\n//        DbgPrint(\"\\n\");\r\n    }\r\n    if (tf & BreakFlags) {\r\n        DebugBreak();\r\n    }\r\n}\r\n\r\n\r\nVOID DbgEnter(\r\nLPTSTR funName)\r\n{\r\n    DbgPrint1(BF_PROCTRACE, TEXT(\"> %s \"), funName);\r\n}\r\n\r\nVOID DbgLeave(\r\nLPTSTR funName)\r\n{\r\n    DbgPrint1(BF_PROCTRACE, TEXT(\" <%s \"), funName);\r\n}\r\n\r\n\r\nVOID DbgTraceMessage(\r\nLPTSTR funName,\r\nLPTSTR msgName)\r\n{\r\n    if (BF_MSGTRACE & TraceFlags) {\r\n        wsprintf(szFmt,TEXT(\"MSG: %s - %s\\n\"), funName, msgName);\r\n        OutputDebugString(szFmt);\r\n//        DbgPrint(\"MSG: %s - %s\\n\", funName, msgName);\r\n    }\r\n    if (BF_MSGTRACE & BreakFlags) {\r\n        DebugBreak();\r\n    }\r\n}\r\n\r\nVOID DbgTraceDefMessage(\r\nLPTSTR funName,\r\nWORD msgId)\r\n{\r\n    if (BF_DEFMSGTRACE & TraceFlags) {\r\n        wsprintf(szFmt,TEXT(\"MSG: %s - default(0x%x)\\n\"), funName, msgId);\r\n        OutputDebugString(szFmt);\r\n//        DbgPrint(\"MSG: %s - default(0x%x)\\n\", funName, msgId);\r\n    }\r\n    if (BF_DEFMSGTRACE & BreakFlags) {\r\n        DebugBreak();\r\n    }\r\n}\r\n\r\n#endif // DBG\r\n"
  },
  {
    "path": "src/dbg.h",
    "content": "/********************************************************************\r\n\r\n   dbg.h\r\n\r\n   Debugging utilities header\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#if DBG\r\n\r\nextern TCHAR szAsrtFmt[];\r\nextern unsigned long BreakFlags;\r\nextern unsigned long TraceFlags;\r\n\r\nDWORD DbgPrint( LPTSTR Format, ...);\r\nVOID DbgAssert(LPTSTR file, int line);\r\nVOID DbgTrace(DWORD tf, LPTSTR lpstr);\r\nVOID DbgBreak(DWORD bf, LPTSTR file, int line);\r\nVOID DbgPrint1(DWORD tf, LPTSTR fmt, LPTSTR p1);\r\nVOID DbgEnter(LPTSTR funName);\r\nVOID DbgLeave(LPTSTR funName);\r\nVOID DbgTraceMessage(LPTSTR funName, LPTSTR msgName);\r\nVOID DbgTraceDefMessage(LPTSTR funName, WORD msgId);\r\n\r\n// BreakFlags flags\r\n\r\n#define BF_SPECIAL              0x00800000\r\n\r\n#define BF_WM_CREATE            0x02000000\r\n#define BF_DEFMSGTRACE          0x04000000\r\n#define BF_MSGTRACE             0x08000000\r\n\r\n#define BF_PARMTRACE            0x20000000\r\n#define BF_PROCTRACE            0x40000000\r\n#define BF_START                0x80000000\r\n\r\n#define ASSERT(fOk)             if (!(fOk)) DbgAssert(TEXT(__FILE__), __LINE__)\r\n#define FBREAK(bf)              DbgBreak(bf, TEXT(__FILE__), __LINE__)\r\n#define TRACE(tf, lpstr)        DbgTrace(tf, lpstr)\r\n#define PRINT(tf, fmt, p1)      DbgPrint1(tf, fmt, (LPTSTR)(p1))\r\n#define MSG(funName, msgName)   DbgTraceMessage(funName, msgName)\r\n#define DEFMSG(funName, wMsgId) DbgTraceDefMessage(funName, wMsgId)\r\n\r\n#define ENTER(funName)          DbgEnter(funName)\r\n#define LEAVE(funName)          DbgLeave(funName)\r\n\r\n\r\n#else // !DBG\r\n\r\n#define ASSERT(fOk)\r\n#define FBREAK(bf)\r\n#define TRACE(tf, lpstr)\r\n#define PRINT(tf, fmt, p1)\r\n#define MSG(funName, msgName)\r\n#define DEFMSG(funName, wMsgId)\r\n#define ENTER(funName)\r\n#define LEAVE(funName)\r\n\r\n#endif // DBG\r\n"
  },
  {
    "path": "src/fmifs.h",
    "content": "/********************************************************************\r\n\r\n   fmifs.h\r\n\r\n   This header file contains the specification of the interface\r\n   between the file manager and fmifs.dll for the purposes of\r\n   accomplishing IFS functions.\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#if !defined( _FMIFS_DEFN_ )\r\n\r\n#define _FMIFS_DEFN_\r\n\r\n\r\n//\r\n// These are the defines for 'PacketType'.\r\n//\r\n\r\ntypedef enum _FMIFS_PACKET_TYPE {\r\n    FmIfsPercentCompleted,\r\n    FmIfsFormatReport,\r\n    FmIfsInsertDisk,\r\n    FmIfsIncompatibleFileSystem,\r\n    FmIfsFormattingDestination,\r\n    FmIfsIncompatibleMedia,\r\n    FmIfsAccessDenied,\r\n    FmIfsMediaWriteProtected,\r\n    FmIfsCantLock,\r\n    FmIfsCantQuickFormat,\r\n    FmIfsIoError,\r\n    FmIfsFinished,\r\n    FmIfsBadLabel,\r\n#if defined( DBLSPACE_ENABLED )\r\n    FmIfsDblspaceCreateFailed,\r\n    FmIfsDblspaceMountFailed,\r\n    FmIfsDblspaceDriveLetterFailed,\r\n    FmIfsDblspaceCreated,\r\n    FmIfsDblspaceMounted,\r\n#endif // DBLSPACE_ENABLED\r\n    FmIfsCheckOnReboot,\r\n    FmIfsTextMessage,\r\n    FmIfsHiddenStatus\r\n} FMIFS_PACKET_TYPE, *PFMIFS_PACKET_TYPE;\r\n\r\ntypedef struct _FMIFS_PERCENT_COMPLETE_INFORMATION {\r\n    ULONG   PercentCompleted;\r\n} FMIFS_PERCENT_COMPLETE_INFORMATION, *PFMIFS_PERCENT_COMPLETE_INFORMATION;\r\n\r\ntypedef struct _FMIFS_FORMAT_REPORT_INFORMATION {\r\n    ULONG   KiloBytesTotalDiskSpace;\r\n    ULONG   KiloBytesAvailable;\r\n} FMIFS_FORMAT_REPORT_INFORMATION, *PFMIFS_FORMAT_REPORT_INFORMATION;\r\n\r\n// The packet for FmIfsDblspaceCreated is a Unicode string\r\n// giving the name of the Compressed Volume File; it is not\r\n// necessarily zero-terminated.\r\n//\r\n\r\n#define DISK_TYPE_GENERIC           0\r\n#define DISK_TYPE_SOURCE            1\r\n#define DISK_TYPE_TARGET            2\r\n#define DISK_TYPE_SOURCE_AND_TARGET 3\r\n\r\ntypedef struct _FMIFS_INSERT_DISK_INFORMATION {\r\n    ULONG   DiskType;\r\n} FMIFS_INSERT_DISK_INFORMATION, *PFMIFS_INSERT_DISK_INFORMATION;\r\n\r\ntypedef struct _FMIFS_IO_ERROR_INFORMATION {\r\n    ULONG   DiskType;\r\n    ULONG   Head;\r\n    ULONG   Track;\r\n} FMIFS_IO_ERROR_INFORMATION, *PFMIFS_IO_ERROR_INFORMATION;\r\n\r\ntypedef struct _FMIFS_FINISHED_INFORMATION {\r\n    BOOLEAN Success;\r\n} FMIFS_FINISHED_INFORMATION, *PFMIFS_FINISHED_INFORMATION;\r\n\r\ntypedef struct _FMIFS_CHECKONREBOOT_INFORMATION {\r\n    OUT BOOLEAN QueryResult; // TRUE for \"yes\", FALSE for \"no\"\r\n} FMIFS_CHECKONREBOOT_INFORMATION, *PFMIFS_CHECKONREBOOT_INFORMATION;\r\n\r\ntypedef enum _TEXT_MESSAGE_TYPE {\r\n    MESSAGE_TYPE_PROGRESS,\r\n    MESSAGE_TYPE_RESULTS,\r\n    MESSAGE_TYPE_FINAL\r\n} TEXT_MESSAGE_TYPE, *PTEXT_MESSAGE_TYPE;\r\n\r\ntypedef struct _FMIFS_TEXT_MESSAGE {\r\n    IN TEXT_MESSAGE_TYPE    MessageType;\r\n    IN PSTR                 Message;\r\n} FMIFS_TEXT_MESSAGE, *PFMIFS_TEXT_MESSAGE;\r\n\r\n\r\n\r\n\r\n//\r\n// This is a list of supported floppy media types for format.\r\n//\r\n\r\ntypedef enum _FMIFS_MEDIA_TYPE {\r\n    FmMediaUnknown,\r\n    FmMediaF5_160_512,      // 5.25\", 160KB,  512 bytes/sector\r\n    FmMediaF5_180_512,      // 5.25\", 180KB,  512 bytes/sector\r\n    FmMediaF5_320_512,      // 5.25\", 320KB,  512 bytes/sector\r\n    FmMediaF5_320_1024,     // 5.25\", 320KB,  1024 bytes/sector\r\n    FmMediaF5_360_512,      // 5.25\", 360KB,  512 bytes/sector\r\n    FmMediaF3_720_512,      // 3.5\",  720KB,  512 bytes/sector\r\n    FmMediaF5_1Pt2_512,     // 5.25\", 1.2MB,  512 bytes/sector\r\n    FmMediaF3_1Pt44_512,    // 3.5\",  1.44MB, 512 bytes/sector\r\n    FmMediaF3_2Pt88_512,    // 3.5\",  2.88MB, 512 bytes/sector\r\n    FmMediaF3_20Pt8_512,    // 3.5\",  20.8MB, 512 bytes/sector\r\n    FmMediaRemovable,       // Removable media other than floppy\r\n    FmMediaFixed,\r\n    FmMediaF3_120M_512      // 3.5\", 120M Floppy\r\n} FMIFS_MEDIA_TYPE, *PFMIFS_MEDIA_TYPE;\r\n\r\n//\r\n// The structure below defines information to be passed into ChkdskEx.\r\n// When new fields are added, the version number will have to be upgraded\r\n// so that only new code will reference those new fields.\r\n//\r\ntypedef struct {\r\n    UCHAR   Major;      // initial version is 1.0\r\n    UCHAR   Minor;\r\n    ULONG   Flags;\r\n    PWSTR   PathToCheck;\r\n} FMIFS_CHKDSKEX_PARAM, *PFMIFS_CHKDSKEX_PARAM;\r\n\r\n//\r\n// Internal definitions for Flags field in FMIFS_CHKDSKEX_PARAM\r\n//\r\n#define FMIFS_CHKDSK_RECOVER_FREE_SPACE       0x00000002UL\r\n#define FMIFS_CHKDSK_RECOVER_ALLOC_SPACE      0x00000004UL\r\n\r\n//\r\n// External definitions for Flags field in FMIFS_CHKDSKEX_PARAM\r\n//\r\n\r\n// FMIFS_CHKDSK_VERBOSE\r\n//  - For FAT, chkdsk will print every filename being processed\r\n//  - For NTFS, chkdsk will print clean up messages\r\n// FMIFS_CHKDSK_RECOVER\r\n//  - Perform sector checking on free and allocated space\r\n// FMIFS_CHKDSK_EXTEND\r\n//  - For NTFS, chkdsk will extend a volume\r\n// FMIFS_CHKDSK_DOWNGRADE (for NT 5 or later but obsolete anyway)\r\n//  - For NTFS, this downgrade a volume from most recent NTFS version\r\n// FMIFS_CHKDSK_ENABLE_UPGRADE (for NT 5 or later but obsolete anyway)\r\n//  - For NTFS, this upgrades a volume to most recent NTFS version\r\n// FMIFS_CHKDSK_CHECK_IF_DIRTY\r\n//  - Perform consistency check only if the volume is dirty\r\n// FMIFS_CHKDSK_FORCE (for NT 5 or later)\r\n//  - Forces the volume to dismount first if necessary\r\n// FMIFS_CHKDSK_SKIP_INDEX_SCAN\r\n//  - Skip the scanning of each index entry\r\n// FMIFS_CHKDSK_SKIP_CYCLE_SCAN\r\n//  - Skip the checking of cycles within the directory tree\r\n\r\n\r\n#define FMIFS_CHKDSK_VERBOSE                  0x00000001UL\r\n#define FMIFS_CHKDSK_RECOVER                  (FMIFS_CHKDSK_RECOVER_FREE_SPACE | \\\r\n                                               FMIFS_CHKDSK_RECOVER_ALLOC_SPACE)\r\n#define FMIFS_CHKDSK_EXTEND                   0x00000008UL\r\n#define FMIFS_CHKDSK_DOWNGRADE                0x00000010UL\r\n#define FMIFS_CHKDSK_ENABLE_UPGRADE           0x00000020UL\r\n#define FMIFS_CHKDSK_CHECK_IF_DIRTY           0x00000080UL\r\n#define FMIFS_CHKDSK_FORCE                    0x00000100UL\r\n#define FMIFS_CHKDSK_SKIP_INDEX_SCAN          0x00000200UL\r\n#define FMIFS_CHKDSK_SKIP_CYCLE_SCAN          0x00000400UL\r\n\r\n//\r\n// Function types/interfaces.\r\n//\r\n\r\ntypedef BOOLEAN\r\n(*FMIFS_CALLBACK)(\r\n    IN  FMIFS_PACKET_TYPE   PacketType,\r\n    IN  ULONG               PacketLength,\r\n    IN  PVOID               PacketData\r\n    );\r\n\r\ntypedef\r\nVOID\r\n(*PFMIFS_FORMAT_ROUTINE)(\r\n    IN  PWSTR               DriveName,\r\n    IN  FMIFS_MEDIA_TYPE    MediaType,\r\n    IN  PWSTR               FileSystemName,\r\n    IN  PWSTR               Label,\r\n    IN  BOOLEAN             Quick,\r\n    IN  FMIFS_CALLBACK      Callback\r\n    );\r\n\r\ntypedef\r\nVOID\r\n(*PFMIFS_FORMATEX_ROUTINE)(\r\n    IN  PWSTR               DriveName,\r\n    IN  FMIFS_MEDIA_TYPE    MediaType,\r\n    IN  PWSTR               FileSystemName,\r\n    IN  PWSTR               Label,\r\n    IN  BOOLEAN             Quick,\r\n    IN  ULONG               ClusterSize,\r\n    IN  FMIFS_CALLBACK      Callback\r\n    );\r\n\r\ntypedef\r\nBOOLEAN\r\n(*PFMIFS_ENABLECOMP_ROUTINE)(\r\n    IN  PWSTR               DriveName,\r\n    IN  USHORT              CompressionFormat\r\n    );\r\n\r\n\r\ntypedef\r\nVOID\r\n(*PFMIFS_CHKDSK_ROUTINE)(\r\n    IN  PWSTR               DriveName,\r\n    IN  PWSTR               FileSystemName,\r\n    IN  BOOLEAN             Fix,\r\n    IN  BOOLEAN             Verbose,\r\n    IN  BOOLEAN             OnlyIfDirty,\r\n    IN  BOOLEAN             Recover,\r\n    IN  PWSTR               PathToCheck,\r\n    IN  BOOLEAN             Extend,\r\n    IN  FMIFS_CALLBACK      Callback\r\n    );\r\n\r\ntypedef\r\nVOID\r\n(*PFMIFS_CHKDSKEX_ROUTINE)(\r\n    IN  PWSTR                   DriveName,\r\n    IN  PWSTR                   FileSystemName,\r\n    IN  BOOLEAN                 Fix,\r\n    IN  PFMIFS_CHKDSKEX_PARAM   Param,\r\n    IN  FMIFS_CALLBACK          Callback\r\n    );\r\n\r\ntypedef\r\nVOID\r\n(*PFMIFS_EXTEND_ROUTINE)(\r\n    IN  PWSTR               DriveName,\r\n    IN  BOOLEAN             Verify,\r\n    IN  FMIFS_CALLBACK      Callback\r\n    );\r\n\r\n\r\ntypedef\r\nVOID\r\n(*PFMIFS_DISKCOPY_ROUTINE)(\r\n    IN  PWSTR           SourceDrive,\r\n    IN  PWSTR           DestDrive,\r\n    IN  BOOLEAN         Verify,\r\n    IN  FMIFS_CALLBACK  Callback\r\n    );\r\n\r\ntypedef\r\nBOOLEAN\r\n(*PFMIFS_SETLABEL_ROUTINE)(\r\n    IN  PWSTR   DriveName,\r\n    IN  PWSTR   Label\r\n    );\r\n\r\ntypedef\r\nBOOLEAN\r\n(*PFMIFS_QSUPMEDIA_ROUTINE)(\r\n    IN  PWSTR               DriveName,\r\n    OUT PFMIFS_MEDIA_TYPE   MediaTypeArray  OPTIONAL,\r\n    IN  ULONG               NumberOfArrayEntries,\r\n    OUT PULONG              NumberOfMediaTypes\r\n    );\r\n\r\n\r\ntypedef\r\nVOID\r\n(*PFMIFS_DOUBLESPACE_CREATE_ROUTINE)(\r\n    IN PWSTR           HostDriveName,\r\n    IN ULONG           Size,\r\n    IN PWSTR           Label,\r\n    IN PWSTR           NewDriveName,\r\n    IN FMIFS_CALLBACK  Callback\r\n    );\r\n\r\n#if defined( DBLSPACE_ENABLED )\r\ntypedef\r\nVOID\r\n(*PFMIFS_DOUBLESPACE_DELETE_ROUTINE)(\r\n    IN PWSTR           DblspaceDriveName,\r\n    IN FMIFS_CALLBACK  Callback\r\n    );\r\n\r\ntypedef\r\nVOID\r\n(*PFMIFS_DOUBLESPACE_MOUNT_ROUTINE)(\r\n    IN PWSTR           HostDriveName,\r\n    IN PWSTR           CvfName,\r\n    IN PWSTR           NewDriveName,\r\n    IN FMIFS_CALLBACK  Callback\r\n    );\r\n\r\ntypedef\r\nVOID\r\n(*PFMIFS_DOUBLESPACE_DISMOUNT_ROUTINE)(\r\n    IN PWSTR           DblspaceDriveName,\r\n    IN FMIFS_CALLBACK  Callback\r\n    );\r\n\r\ntypedef\r\nBOOLEAN\r\n(*PFMIFS_DOUBLESPACE_QUERY_INFO_ROUTINE)(\r\n    IN  PWSTR       DosDriveName,\r\n    OUT PBOOLEAN    IsRemovable,\r\n    OUT PBOOLEAN    IsFloppy,\r\n    OUT PBOOLEAN    IsCompressed,\r\n    OUT PBOOLEAN    Error,\r\n    OUT PWSTR       NtDriveName,\r\n    IN  ULONG       MaxNtDriveNameLength,\r\n    OUT PWSTR       CvfFileName,\r\n    IN  ULONG       MaxCvfFileNameLength,\r\n    OUT PWSTR       HostDriveName,\r\n    IN  ULONG       MaxHostDriveNameLength\r\n    );\r\n\r\ntypedef\r\nBOOLEAN\r\n(*PFMIFS_DOUBLESPACE_SET_AUTMOUNT_ROUTINE)(\r\n    IN  BOOLEAN EnableAutomount\r\n    );\r\n\r\n#endif // DBLSPACE_ENABLED\r\n\r\n\r\nVOID\r\nFormat(\r\n    IN  PWSTR               DriveName,\r\n    IN  FMIFS_MEDIA_TYPE    MediaType,\r\n    IN  PWSTR               FileSystemName,\r\n    IN  PWSTR               Label,\r\n    IN  BOOLEAN             Quick,\r\n    IN  FMIFS_CALLBACK      Callback\r\n    );\r\n\r\nVOID\r\nFormatEx(\r\n    IN  PWSTR               DriveName,\r\n    IN  FMIFS_MEDIA_TYPE    MediaType,\r\n    IN  PWSTR               FileSystemName,\r\n    IN  PWSTR               Label,\r\n    IN  BOOLEAN             Quick,\r\n    IN  ULONG               ClusterSize,\r\n    IN  FMIFS_CALLBACK      Callback\r\n    );\r\n\r\nBOOLEAN\r\nEnableVolumeCompression(\r\n    IN  PWSTR               DriveName,\r\n    IN  USHORT              CompressionFormat\r\n    );\r\n\r\nVOID\r\nChkdsk(\r\n    IN  PWSTR               DriveName,\r\n    IN  PWSTR               FileSystemName,\r\n    IN  BOOLEAN             Fix,\r\n    IN  BOOLEAN             Verbose,\r\n    IN  BOOLEAN             OnlyIfDirty,\r\n    IN  BOOLEAN             Recover,\r\n    IN  PWSTR               PathToCheck,\r\n    IN  BOOLEAN             Extend,\r\n    IN  FMIFS_CALLBACK      Callback\r\n    );\r\n\r\nVOID\r\nChkdskEx(\r\n    IN  PWSTR                   DriveName,\r\n    IN  PWSTR                   FileSystemName,\r\n    IN  BOOLEAN                 Fix,\r\n    IN  PFMIFS_CHKDSKEX_PARAM   Param,\r\n    IN  FMIFS_CALLBACK          Callback\r\n    );\r\n\r\nVOID\r\nExtend(\r\n    IN  PWSTR               DriveName,\r\n    IN  BOOLEAN             Verify,\r\n    IN  FMIFS_CALLBACK      Callback\r\n    );\r\n\r\nVOID\r\nDiskCopy(\r\n    IN  PWSTR           SourceDrive,\r\n    IN  PWSTR           DestDrive,\r\n    IN  BOOLEAN         Verify,\r\n    IN  FMIFS_CALLBACK  Callback\r\n    );\r\n\r\nBOOLEAN\r\nSetLabel(\r\n    IN  PWSTR   DriveName,\r\n    IN  PWSTR   Label\r\n    );\r\n\r\nBOOLEAN\r\nQuerySupportedMedia(\r\n    IN  PWSTR               DriveName,\r\n    OUT PFMIFS_MEDIA_TYPE   MediaTypeArray  OPTIONAL,\r\n    IN  ULONG               NumberOfArrayEntries,\r\n    OUT PULONG              NumberOfMediaTypes\r\n    );\r\n\r\nVOID\r\nDoubleSpaceCreate(\r\n    IN PWSTR           HostDriveName,\r\n    IN ULONG           Size,\r\n    IN PWSTR           Label,\r\n    IN PWSTR           NewDriveName,\r\n    IN FMIFS_CALLBACK  Callback\r\n    );\r\n\r\n#if defined( DBLSPACE_ENABLED )\r\n\r\nVOID\r\nDoubleSpaceDelete(\r\n    IN PWSTR           DblspaceDriveName,\r\n    IN FMIFS_CALLBACK  Callback\r\n    );\r\n\r\nVOID\r\nDoubleSpaceMount(\r\n    IN PWSTR           HostDriveName,\r\n    IN PWSTR           CvfName,\r\n    IN PWSTR           NewDriveName,\r\n    IN FMIFS_CALLBACK  Callback\r\n    );\r\n\r\nVOID\r\nDoubleSpaceDismount(\r\n    IN PWSTR           DblspaceDriveName,\r\n    IN FMIFS_CALLBACK  Callback\r\n    );\r\n\r\n// Miscellaneous prototypes:\r\n//\r\nBOOLEAN\r\nFmifsQueryDriveInformation(\r\n    IN  PWSTR       DosDriveName,\r\n    OUT PBOOLEAN    IsRemovable,\r\n    OUT PBOOLEAN    IsFloppy,\r\n    OUT PBOOLEAN    IsCompressed,\r\n    OUT PBOOLEAN    Error,\r\n    OUT PWSTR       NtDriveName,\r\n    IN  ULONG       MaxNtDriveNameLength,\r\n    OUT PWSTR       CvfFileName,\r\n    IN  ULONG       MaxCvfFileNameLength,\r\n    OUT PWSTR       HostDriveName,\r\n    IN  ULONG       MaxHostDriveNameLength\r\n    );\r\n\r\nBOOLEAN\r\nFmifsSetAutomount(\r\n    IN  BOOLEAN EnableAutomount\r\n    );\r\n\r\n#endif\r\n\r\n\r\n#endif // _FMIFS_DEFN_\r\n"
  },
  {
    "path": "src/lang/res_de-DE.rc",
    "content": "/********************************************************************\n\n   res_de-DE.rc\n\n   Copyright (c) Microsoft Corporation. All rights reserved.\n   Licensed under the MIT License.\n\n********************************************************************/\n\nLANGUAGE LANG_GERMAN, SUBLANG_GERMAN\n\nFRAMEMENU MENU\nBEGIN\n    POPUP       \"&Datei\"\n    BEGIN\n    MENUITEM    \"Ö&ffnen\\tEingabetaste\",                          IDM_OPEN\n    MENUITEM    \"Bearbeiten\\tF12\",                                IDM_EDIT\n    MENUITEM    \"&Verschieben...\\tF7\",                            IDM_MOVE\n    MENUITEM    \"&Kopieren...\\tF8\",                               IDM_COPY\n    MENUITEM    \"S&ymlink...\\tF11\",                               IDM_SYMLINK\n    MENUITEM    \"H&ardlink...\\tUmschalt+F11\",                     IDM_HARDLINK\n    MENUITEM    \"&In Zwischenablage...\\tStrg+C\",                  IDM_COPYTOCLIPBOARD\n    MENUITEM    \"Ausschneiden in Zwischenablage...\\tStrg+X\",      IDM_CUTTOCLIPBOARD\n    MENUITEM    \"&Einfügen\\tStrg+V\",                              IDM_PASTE\n    MENUITEM    \"&Löschen...\\tEntf\",                              IDM_DELETE\n    MENUITEM    \"&Umbenennen...\\tF2\",                             IDM_RENAME\n    MENUITEM    \"Ei&genschaften...\\tAlt+Eingabetaste\",            IDM_ATTRIBS\n    MENUITEM    SEPARATOR\n    MENUITEM    \"K&omprimieren...\",                               IDM_COMPRESS\n    MENUITEM    \"Deko&mprimieren...\",                             IDM_UNCOMPRESS\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&Ausführen...\",                                  IDM_RUN\n    MENUITEM    \"&Drucken...\",                                    IDM_PRINT\n    MENUITEM    \"Zuord&nen...\",                                   IDM_ASSOCIATE\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Ver&zeichnis erstellen...\\tUmschalt+Strg+N\",     IDM_MAKEDIR\n    MENUITEM    \"&Suchen...\\tStrg+F\",                             IDM_SEARCH\n    MENUITEM    \"Dateien aus&wählen...\",                          IDM_SELECT\n    POPUP       \"Starte (&.)\"\n    BEGIN\n    MENUITEM    \"&Bash Shell...\\tStrg+B\",                         IDM_STARTBASHSHELL\n    MENUITEM    \"&Cmd Shell...\\tStrg+K\",                          IDM_STARTCMDSHELL\n    MENUITEM    \"&PowerShell...\\tStrg+P\",                         IDM_STARTPOWERSHELL\n    MENUITEM    \"&Explorer...\\tStrg+E\",                           IDM_STARTEXPLORER\n    END\n    MENUITEM    \"&Gehe ins Verzeichnis...\\tStrg+G\",               IDM_GOTODIR\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&Beenden\",                                       IDM_EXIT\n    END\n    POPUP       \"Da&tenträger\"\n    BEGIN\n    MENUITEM    \"Datenträger &kopieren...\",                       IDM_DISKCOPY\n    MENUITEM    \"Datenträger &benennen...\",                       IDM_LABEL\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Datenträger &formatieren...\",                    IDM_FORMAT\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Laufwerk aus&wählen...\",                         IDM_DRIVESMORE\n    END\n    POPUP       \"&Verzeichnisse\"\n    BEGIN\n    MENUITEM    \"&Nächste Ebene einblenden\\t+\",                   IDM_EXPONE\n    MENUITEM    \"&Zweig einblenden\\t*\",                           IDM_EXPSUB\n    MENUITEM    \"Alle &Ebenen einblenden\\tStrg+*\",            IDM_EXPALL\n    MENUITEM    \"Zweig &ausblenden\\t-\",                           IDM_COLLAPSE\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&Verzweigungen kennzeichnen\",                    IDM_ADDPLUSES\n    END\n    POPUP       \"&Ansicht\"\n    BEGIN\n    MENUITEM    \"Struktur &und Verzeichnis\",                      IDM_BOTH\n    MENUITEM    \"Nur &Struktur\",                                  IDM_TREEONLY\n    MENUITEM    \"Nur &Verzeichnis\",                               IDM_DIRONLY\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Tei&len\",                                        IDM_SPLIT\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&Name\",                                          IDM_VNAME\n    MENUITEM    \"Alle &Dateiangaben\",                             IDM_VDETAILS, CHECKED\n    MENUITEM    \"&Bestimmte Dateiangaben...\",                     IDM_VOTHER\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Nach N&ame\",                                     IDM_BYNAME\n    MENUITEM    \"Nach &Typ\",                                      IDM_BYTYPE\n    MENUITEM    \"Nach &Größe\",                                    IDM_BYSIZE\n    MENUITEM    \"Nach Datu&m\",                                    IDM_BYDATE\n    MENUITEM    \"Nach Datum v&orwärts\",                           IDM_BYFDATE\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Angaben aus&wählen...\",                          IDM_VINCLUDE\n    END\n    POPUP       \"&Optionen\"\n    BEGIN\n    MENUITEM    \"&Bestätigen...\",                                 IDM_CONFIRM\n    MENUITEM    \"Schrift&art...\",                                 IDM_FONT\n    MENUITEM    \"Symbolleiste &definieren...\",                    IDM_TOOLBARCUST\n    MENUITEM    \"Zusätzliche E&instellungen...\",                 IDM_PREF\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Sy&mbolleiste\",                                  IDM_TOOLBAR\n    MENUITEM    \"Lauf&werkleiste\",                                IDM_DRIVEBAR\n    MENUITEM    \"Status&leiste\",                                  IDM_STATUSBAR\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&Symbol nach Programmstart\",                     IDM_MINONRUN\n    MENUITEM    \"Beim Starten &Goto-Index erstellen\",             IDM_INDEXONLAUNCH\n    MENUITEM    \"&Einstellungen beim Beenden speichern\",          IDM_SAVESETTINGS\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Einstellungen jetzt speicher&n\",                 IDM_SAVENOW\n    END\n    POPUP       \"&Sicherheit\"\n    BEGIN\n    MENUITEM    \"&Berechtigungen...\",                             IDM_PERMISSIONS\n    MENUITEM    \"Über&wachen...\",                                 IDM_AUDITING\n    MENUITEM    \"Besi&tzer...\",                                   IDM_OWNER\n    END\n    POPUP       \"&Fenster\"\n    BEGIN\n    MENUITEM    \"Neues &Fenster\\tStrg+Umschalt Enter\",            IDM_NEWWINDOW\n    MENUITEM    \"Über&lappend\\tUmschalt+F5\",                      IDM_CASCADE\n    MENUITEM    \"&Untereinander\",                                 IDM_TILEHORIZONTALLY\n    MENUITEM    \"&Nebeneinander\\tUmschalt+F4\",                    IDM_TILE\n    MENUITEM    \"&Symbole anordnen\",                              IDM_ARRANGE\n    MENUITEM    \"&Aktualisieren\\tF5\",                             IDM_REFRESH\n    END\n    POPUP       \"&Hilfe\"\n    BEGIN\n    MENUITEM    \"&Hilfethemen\",                                   IDM_HELPINDEX\n    MENUITEM    \"&Suchen...\",                                     IDM_HELPKEYS\n    MENUITEM    \"&Hilfe &verwenden\",                              IDM_HELPHELP\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&Über Datei-Manager\",                            IDM_ABOUT\n    END\nEND\n\nCTXMENU MENU\nBEGIN\n  POPUP \"Dummy Popup\"\n  BEGIN\n  MENUITEM    \"&Neues Fenster\\tStrg+Umschalt Eingabetaste\",       IDM_NEWWINDOW\n  MENUITEM    \"Öffnen\\tEnter\",                                    IDM_OPEN\n  MENUITEM    \"Bearbeiten\\tF12\",                                  IDM_EDIT\n  MENUITEM    \"&Verschieben...\\tF7\",                              IDM_MOVE\n  MENUITEM    \"&Kopieren...\\tF8\",                                 IDM_COPY\n  MENUITEM    \"S&ymlinken...\\tF11\",                               IDM_SYMLINK\n  MENUITEM    \"H&ardlinken...\\tUmschalt+F11\",                     IDM_HARDLINK\n  MENUITEM    \"&In Zwischenablage...\\tStrg+C\",                    IDM_COPYTOCLIPBOARD\n  MENUITEM    \"Ausschneiden in Zwischenablage...\\tStrg+X\",        IDM_CUTTOCLIPBOARD\n  MENUITEM    \"&Einfügen\\tStrg+V\",                                IDM_PASTE\n  MENUITEM    \"&Löschen...\\tEntf\",                                IDM_DELETE\n  MENUITEM    \"&Umbenennen...\\tF2\",                               IDM_RENAME\n  MENUITEM    \"&Eigenschaften...\\tAlt+Eingabetaste\",              IDM_ATTRIBS\n  MENUITEM    \"&Ausführen...\",                                    IDM_RUN\n  MENUITEM    \"Starte Bash Shell...\",                             IDM_STARTBASHSHELL\n  MENUITEM    \"Starte Cmd She&ll...\",                             IDM_STARTCMDSHELL\n  MENUITEM    \"Starte Po&werShell...\",                            IDM_STARTPOWERSHELL\n  MENUITEM    \"Starte E&xplorer...\",                              IDM_STARTEXPLORER\n  MENUITEM    \"&Gehe ins Verzeichnis...\",                         IDM_GOTODIR\n  END\nEND\n\n#define SUGGEST(id,err,flags,str) id+IDS_SUGGESTBEGIN str\n/*              0....5....1....56...2....5....3.2..5....4....5....5....6....5....7....5....8....5....9....5....0....5....1....5....2....5..8 */\nSTRINGTABLE\nBEGIN\n//    IDS_ENDSESSION          \"Exit Windows\"                                                          /* 32 */\n//    IDS_ENDSESSIONMSG       \"This will end your Windows session.\"                                   /* 128 */\n\n    IDS_COPYDISK            \"Datenträger kopieren\"                                                    /* 32 */\n    IDS_INSERTDEST          \"Legen Sie den Zieldatenträger ein.\"                                      /* 128 */\n    IDS_INSERTSRC           \"Legen Sie den Quelldatenträger ein.\"                                     /* 128 */\n    IDS_INSERTSRCDEST       \"Legen Sie den Quell- und den Zieldatenträger ein.\"                       /* 128 */\n    IDS_FORMATTINGDEST      \"Formatiert den Zieldatenträger.\"                                         /* 128 */\n\n    IDS_COPYDISKERR         \"Fehler beim Kopieren\"                                                    /* 32 */\n    IDS_COPYDISKERRMSG      \"Das Kopieren des Datenträgers ist nicht möglich.\"                        /* 128 */\n    IDS_COPYSRCDESTINCOMPAT \"Das Quell- und das Ziellaufwerk sind zueinander inkompatibel.\"           /* 128 */\n\n    IDS_PERCENTCOMP         \"%d %% bearbeitet\"                                                        /* 32 */\n    IDS_CREATEROOT          \"Das Stammverzeichnis wird angelegt...\"                                   /* 32 */\n    IDS_COPYSYSFILES        \"Die Systemdateien werden kopiert...\"                                     /* 32 */\n    IDS_FORMATERR           \"Fehler beim Formatieren\"                                                 /* 32 */\n    IDS_FORMATQUICKFAILURE  \"Datei-Manager kann keinen Quick-Format durchführen.\\n\\nMit normaler Formatierung weitermachen?\"\n//    IDS_FORMATERRMSG      \"Kann den Datenträger nicht formatieren.\"                                 /* 128 */\n//    IDS_FORMATCURERR      \"Sie können den aktuellen Datenträger nicht formatieren.\"                 /* 128 */\n    IDS_FORMATCOMPLETE      \"Formatieren abgeschlossen\"                                               /* 32 */\n    IDS_FORMATANOTHER       \"%ld Bytes Speicherplatz insgesamt\\n%ld Bytes Speicherplatz frei\\n\\nMöchten Sie eine weitere Diskette formatieren?\"    /* 128 */\n\n//    IDS_SYSDISK             \"Erstelle Systemdatenträger\"\n//    IDS_SYSDISKRUSURE       \"Sind Sie sicher, dass Sie Systemdateien auf die Festplatte im Laufwerk %c kopieren wollen?\"\n//    IDS_SYSDISKERR          \"Fehler auf dem Systemdatenträger\"\n//    IDS_SYSDISKNOFILES      \"Das MS-DOS-Startlaufwerk enthält keine Systemdateien oder ist nicht verfügbar.\"\n//    IDS_SYSDISKSAMEDRIVE    \"Systemdateien können nicht auf das MS-DOS-Startlaufwerk kopiert werden.\"\n//    IDS_SYSDISKADDERR       \"Kann keine Systemdateien zu dieser Platte hinzufügen.\\n\\nStellen Sie sicher, dass eine formatierte Platte im Laufwerk vorhanden ist und dass die Laufwerksklappe geschlossen ist.\"\n\n    IDS_NETERR              \"Netzwerkfehler\"                                                          /* 32 */\n    IDS_NETDISCONWINERR     \"Dieses Laufwerk enthält die Windows-Systemdateien und kann nicht getrennt werden.\"                                                 /* 128 */\n    IDS_NETDISCONOPEN       \"Datei-Manager kann das Netzlaufwerk nicht trennen.\\n\\nEs sind noch Dateien auf dem Laufwerk geöffnet.\"\n\n    IDS_ATTRIBERR           \"Attribute können nicht geändert werden. \"\n    IDS_MAKEDIRERR          \"Verzeichnis kann nicht erstellt werden. \"\n\n    IDS_LABELDISKERR        \"Datenträger kann nicht benannt werden.\\n\\nStellen Sie sicher, daß der Datenträger nicht schreibgeschützt, kein Netzlaufwerk und die Bezeichnung gültig ist.\\\n                             Bezeichnungen dürfen die folgenden Zeichen nicht enthalten:\\n[Leerzeichen] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n\n    IDS_SEARCHNOMATCHES     \"Es wurden keine entsprechenden Dateien gefunden.\"\n    IDS_SEARCHREFRESH       \"Der Inhalt des Laufwerks wurde geändert. Möchten Sie eine Aktualisierung des Suchergebnisses?\"\n    IDS_LABELACCESSDENIED   \"Sie müssen als Administrator an die Arbeitsstation angemeldet sein, um diesen Vorgang auszuführen.\"\n\n    IDS_DRIVETEMP           \"Laufwerk %c:%c\"\n\n    IDS_EXECERRTITLE,       \"Programmausführungsfehler\"\n    IDS_PRINTERRTITLE,      \"Kann Datei nicht drucken\"\n\n    IDS_UNKNOWNMSG,         \"Unerwarteter Fehler: %d.\"\n    IDS_NOMEMORYMSG,        \"Nicht genügend Arbeitsspeicher, um die ausgewählte Anwendung zu starten.\\n\\nSchließen Sie eine oder mehrere Anwendungen, und versuchen Sie es dann erneut.\"                   /* 128 */\n    IDS_FILENOTFOUNDMSG,    \"Datei bzw. Komponente nicht gefunden.\\n\\nÜberprüfen Sie, ob Pfad- und Dateiname richtig und alle Bibliotheken verfügbar sind.\"\n    IDS_BADPATHMSG,         \"Der angegebene Pfad ist ungültig.\"                                                                                           /* 128 */\n//    IDS_MANYOPENFILESMSG,   \"Zu viele Dateien werden derzeit verwendet.\\n\\nBeenden Sie eine oder mehrere Anwendungen oder erhöhen Sie den Wert des Wertes FILES in der CONFIG.SYS, und versuchen Sie es dann erneut.\"                                    /* 128 */\n    IDS_NOASSOCMSG,         \"Dieser Datendatei ist keine Anwendung zugeordnet.\\n\\nKlicken Sie im Menü 'Datei' auf den Befehl 'Zuordnen', um eine Zuordnung zu erstellen.\"       /* 128 */\n    IDS_ASSOCINCOMPLETE,    \"Die Datei kann nicht geöffnet oder gedruckt werden.\\n\\nVerwenden Sie die Anwendung, mit der die Datei erstellt wurde.\"\n//    IDS_MULTIPLEDSMSG,      \"Kann nicht mehr als eine Instanz der angegebenen Anwendung starten.\"                                                                /* 128 */\n//    IDS_OS2APPMSG           \"Die angegebene Anwendung ist kein Windows- or MS-DOS-Program.\"                                                            /* 128 */\n//    IDS_NEWWINDOWSMSG       \"Diese Anwendung benötigt eine neuere Version von Microsoft Windows.\"                                                          /* 128 */\n//    IDS_PMODEONLYMSG        \"Diese Anwendung benötigt Windows.\"                                                             /* 128 */\n    IDS_DDEFAIL             \"Ein Fehler ist während des Senden des Befehls zur Anwendung aufgetreten.\"                                                                /* 128 */\n//    IDS_COMPRESSEDEXE       \"Dies Anwendung oder einer ihrer Komponenten ist komprimiert.\\n\\nBenutzen sie das MS-DOS expand tool um die Datei vom Setup-Datenträger zu kopieren.\"\n    IDS_INVALIDDLL          \"Eine Bibliotheksdatei, die zum Betrieb der gewählten Anwendung benötigt wird ist defekt. Bitte installieren Sie die Anwendung erneut.\"\n    IDS_SHAREERROR          \"Diese Datei wird von einer anderen Anwendung verwendet.\"\n\n    IDS_CREATELONGDIR       \"Datei-Manager kann auf die Datei im Verzeichnis '%s' nicht zugreifen.\\n\\nMöchten Sie weitermachen?\"\n    IDS_CREATELONGDIRTITLE  \"Erstelle Verzeichnis\"\n\n    IDS_MOUSECONFIRM,       \"Mausaktion bestätigen\"       /* 32 */\n    IDS_COPYMOUSECONFIRM,   \"Sind Sie sicher, daß Sie die ausgewählten Dateien oder Verzeichnisse nach %s kopieren möchten?\"\n    IDS_MOVEMOUSECONFIRM,   \"Sind Sie sicher, daß Sie die ausgewählten Dateien oder Verzeichnisse nach %s verschieben möchten?\"\n    IDS_LINKMOUSECONFIRM,   \"Sind Sie sicher, daß Sie die ausgewählten Dateien oder Verzeichnisse nach %s verlinken möchten?\"\n    IDS_EXECMOUSECONFIRM,   \"Sind Sie sicher, daß Sie %s mit %s als Dokument ausführen möchten?\"                                                          /* 128 */\n\n    IDS_WINFILE,            \"Datei-Manager\"                  /* 32 */\n    IDS_TREETITLE,          \"Verzeichnisstruktur\"                /* 32 */\n    IDS_SEARCHTITLE,        \"Suchergebnis: \"              /* 32 */\n\n    IDS_READING             \"Lese Verzeichnis, bitte warten...\"\n    IDS_TOOMANYTITLE,       \"Zu viele Dateien\"                /* 32 */\n    IDS_OOMTITLE,           \"Datei-Manager - Zu wenig freier Speicherplatz\"  /* 32 */\n    IDS_OOMREADINGDIRMSG,   \"Kann nicht das genze Verzeichnis lesen. Nur ein Teil wird angezeigt.\"                                              /* 128 */\n\n//    IDS_PRINTFNF            \"Die zu druckende Datei kan nicht gefunden werden. Stellen Sie sicher, dass sie den richtigen Pfad und Dateinamen angegeben haben.\"                                                                                  /* 128 */\n    IDS_PRINTMEMORY         \"Nicht genug Speicher zum Drucken.\\n\\nSchließen Sie eine oder mehrere Anwendungen und versuchen Sie es erneut.\"                                             /* 128 */\n    IDS_PRINTDISK           \"Nicht genug freier Speicherplatz zum Drucken.\\n\\nLöschen Sie eine oder mehrere Dateien um Speicherplatz frei zu machen und versuchen Sie es erneut.\"                        /* 128 */\n    IDS_PRINTERROR          \"Während des Druckens ist ein Fehler aufgetreten.\\n\\nStellen Sie sicher, dass der Drucker richtig konfiguriert und der richtige ausgewählt ist.\"             /* 128 */\n    IDS_PRINTONLYONE        \"Datei-Manager kann nicht mehrere Dateien drucken.\\n\\nWählen Sie eine Datei aus und versuchen Sie es erneut.\"                                               /* 128 */\n\n    IDS_CURDIRIS,           \"Aktuelles Verzeichnis: %s\"                                                                                                    /* 128 */\n    IDS_CURDIRSARE,         \"Other: \"\n    IDS_COPY,               \"Kopieren\"                          /* 32 */\n    IDS_RENAME,             \"Umbenennen\"                        /* 32 */\n    IDS_FORMAT,             \"Datenträger formatieren\"                   /* 32 */\n    IDS_FORMATSELDISK,      \"Wählen Sie den Datenträger aus, den Sie formatieren möchten.\"                                                                                               /* 128 */\n    IDS_SYMLINK,            \"Symlinken\"                       /* 32 */\n    IDS_HARDLINK,           \"Hardlinken\"                      /* 32 */\n\n    IDS_KK_COPYFROMSTR,     \"&Von:\"\n    IDS_KK_COPYTOSTR,       \"&Nach:\"\n    IDS_KK_RENAMEFROMSTR,   \"&Von:\"\n    IDS_KK_RENAMETOSTR,     \"&Nach:\"\n    IDS_KK_HARDLINKFROMSTR, \"&Von:\"\n    IDS_KK_HARDLINKTOSTR,   \"&Nach:\"\n    IDS_KK_SYMLINKFROMSTR,  \"&Von:\"\n    IDS_KK_SYMLINKTOSTR,    \"&Nach:\"\n\n//    IDS_MAKESYSDISK,      \"Erstelle Systemdatenträger\"  /* 32 */\n\n    IDS_CREATINGMSG,        \"Legt an:\"                    /* 32 */\n    IDS_REMOVINGDIRMSG,     \"Löscht:\"                     /* 32 */\n    IDS_REMOVINGMSG,        \"Löscht...\"                   /* 32 */\n    IDS_COPYINGMSG,         \"Kopiert:\"                    /* 32 */\n    IDS_OPENINGMSG,         \"Öffnet...\"                   /* 32 */\n    IDS_CLOSINGMSG,         \"Schließt...\"                 /* 32 */\n    IDS_RENAMINGMSG,        \"Benennt um...\"               /* 32 */\n    IDS_MOVINGMSG,          \"Verschiebt...\"               /* 32 */\n    IDS_DELETINGMSG,        \"Löscht...\"                   /* 32 */\n    IDS_PRINTINGMSG,        \"Druckt: %s\"                  /* 32 */\n\n//    IDS_NOSUCHDRIVE,        \"Datenträger %c existiert nicht.\"                                                                                            /* 128 */\n    IDS_DRIVENOTREADY,      \"In Laufwerk %c: ist kein Datenträger eingelegt.\\n\\nLegen Sie einen Datenträger ein, und versuchen Sie es erneut.\"\n    IDS_UNFORMATTED,        \"Der Datenträger in Laufwerk %c: ist nicht formatiert.\\n\\nMöchten Sie ihn jetzt formatieren?\"\n\n    IDS_STATUSMSG,          \"%d Datei(en) (%s)\"             /* 128 */\n    IDS_STATUSMSG2,         \"%d Datei(en) (%s) ausgewählt\"          /* 128 */\n    IDS_DRIVEFREE,          \"%c: %s von  %s frei\"            /* 128 */\n    IDS_TREEABORT,          \"Unvollständiger Verzeichnisbaum wird angezeigt\"     /* 128 */\n    IDS_DIRSREAD,           \"%d Verzeichnisse gelesen\"                   /* 32 */\n    IDS_SEARCHMSG,          \"%d Datei(en) gefunden\"\n    IDS_BYTES,              \"%ld bytes\"\n    IDS_SBYTES,             \"%s bytes\"\n\n    IDS_SELECTEDFILES,      \"die ausgewählten Dateien\"            /* 32 */\n\n    /* These strings are used for generating error messages\n     * from the Copy, Move, and Delete code. */\n\n    IDS_COPYERROR + FUNC_COPY     \"Fehler beim Kopieren einer Datei\"\n    IDS_COPYERROR + FUNC_MOVE     \"Fehler beim Verschieben einer Datei\"\n    IDS_COPYERROR + FUNC_DELETE   \"Fehler beim Löschen einer Datei\"\n    IDS_COPYERROR + FUNC_RENAME   \"Fehler beim Umbenennen einer Datei\"\n    IDS_COPYERROR + FUNC_SETDRIVE \"Fehler beim Auswählen des Laufwerks\"\n    IDS_COPYERROR + FUNC_EXPAND   \"Fehler beim Lesen eines Verzeichnisses\"\n    IDS_COPYERROR + FUNC_LABEL    \"Fehler beim Benennen des Datenträgers\"\n    IDS_COPYERROR + FUNC_LINK     \"Fehler beim Erstellen eines Symbolischen Links\"\n    IDS_COPYERROR + FUNC_HARD     \"Fehler beim Erstellen eines Hardlinks\"\n    IDS_COPYERROR + FUNC_JUNC     \"Fehler beim Erstellen einer Junction\"\n\n    /* The first %s is replaced by a file name. The second %s is replaced\n     * by one of the \"reasons\" below. */\n\n    IDS_VERBS + FUNC_COPY       \"%s kann nicht kopiert werden.\\n%s\"\n    IDS_VERBS + FUNC_MOVE       \"%s kann nicht verschoben werden.\\n%s\"\n    IDS_VERBS + FUNC_DELETE     \"%s kann nicht gelöscht werden.\\n%s\"\n    IDS_VERBS + FUNC_RENAME     \"%s kann nicht umbenannt werden.\\n%s\"\n    IDS_VERBS + FUNC_LINK       \"%s kann nicht symbolisch verlinkt werden.\\n%s\"\n    IDS_VERBS + FUNC_HARD       \"%s kann nicht verlinkt werden.\\n%s\"\n    IDS_VERBS + FUNC_JUNC       \"%s kann als Junction nicht erstellt werden.\\n%s\"\n    IDS_ACTIONS + 1             \"Verzeichnis %s kann nicht erzeugt werden.\\n%s\"\n    IDS_ACTIONS + 2             \"Verzeichnis %s kann nicht gelöscht werden.\\n%s\"\n    IDS_REPLACING               \"%s kann nicht erstellt oder ersetzt werden.\\n%s\"\n    // IDS_CREATING             \"Datei-Manager kann %s nicht erstellen: %s\"\n\n// include reason strings\n\n#include \"suggest_de-DE.db\"\n\n    IDS_DESTFULL                \"Die Speicherkapazität des Ziellaufwerks ist erschöpft. Legen Sie einen neuen Datenträger ein, um fortzusetzen.\"\n    IDS_WRITEPROTECTFILE        \"Dies ist eine System-, eine versteckte oder eine schreibgeschützte Datei.\"\n\n    IDS_COPYINGTITLE            \"Kopiere...\"\n\n    IDS_QUICKFORMATTINGTITLE    \"Schnell-Formatierung...\"\n\n    IDS_BUSYFORMATQUITVERIFY    \"Momentan wird ein Datenträger vom Datei-Manager formatiert. Wenn Sie den Datei-Manager beenden, wird dieser Vorgang abgebrochen.\"\n    IDS_BUSYCOPYQUITVERIFY      \"Momentan wird ein Datenträger vom Datei-Manager kopiert. Wenn Sie den Datei-Manager beenden, wird dieser Vorgang abgebrochen.\"\n    IDS_PERCENTCOMPLETE         \"Prozent bearbeitet\"\n\n    IDS_12MB                    \"1%s2 MB\"\n    IDS_360KB                   \"360K\"\n    IDS_144MB                   \"1%s44 MB\"\n    IDS_720KB                   \"720K\"\n    IDS_288MB                   \"2%s88 MB\"\n    IDS_2080MB                  \"20%s8 MB\"\n\n#if defined(JAPAN) && defined(i386)\n/* ADD KBNES. NEC MEDIATYPE START */\nJAPANBEGIN\n    IDS_125MB                   \"1%s25 MB\"\n    IDS_256KB                   \"256K\"\n    IDS_128MB                   \"128 MB\"\nJAPANEND\n/* ADD KBNES. NEC MEDIATYPE END */\n\n//\n// FMR jul.21.1994 JY\n// We added 640KB/1.23MB media types.\n//\nJAPANBEGIN\n    IDS_640KB                   \"640K\"\n    IDS_123MB                   \"1%s23 MB\"\nJAPANEND\n#endif\n\n    IDS_DEVICECAP               \"Laufwerkkapazität\"\n    IDS_QSUPMEDIA               \"Datenträgerinformationen sind nicht lesbar.\\n\\nVergewissern Sie sich, daß eine Diskette im Laufwerk ist.\"\n    IDS_REMOVEMED               \"Unbekannter Datenträgertyp\"\n\n    IDS_CANTFORMATTITLE         \"Unbekannter Datenträgertyp\"\n    IDS_CANTFORMAT              \"Die Art von Datenträgern in Laufwerk %s: kann mit Datei-Manager nicht formatiert werden. Verwenden Sie den Festplatten-Manager.\"\n\n    IDS_FFERR_INCFS             \"Inkompatibles Dateisystem.\"\n    IDS_FFERR_ACCESSDENIED      \"Der Zugriff wird verweigert.\"\n    IDS_FFERR_DISKWP            \"Der Datenträger ist schreibgeschützt.\"\n    IDS_FFERR_CANTLOCK          \"Datenträger kann nicht gesperrt werden.\"\n    IDS_FFERR_CANTQUICKF        \"Quick-Format kann nicht durchgeführt werden.\\n\\nStellen Sie sicher, daß die richtige Speicherkapazität angegeben ist.\"\n    IDS_FFERR_SRCIOERR          \"Ein-/Ausgabefehler auf der Quelldiskette\"\n    IDS_FFERR_DSTIOERR          \"Ein-/Ausgabefehler auf der Zieldiskette\"\n    IDS_FFERR_SRCDSTIOERR       \"Ein-/Ausgabefehler sowohl auf der Quell- als auch auf der Zieldiskette\"\n    IDS_FFERR_GENIOERR          \"Eingabe/Ausgabe (E/A)-Fehler\"\n//    IDS_FFERR_MEDIASENSE      \"Diese Platte kann mit einer Kapazität von %s formatiert werden. Mit dieser Kapazität weiter formatieren?\"\n    IDS_FFERR                   \"Der Datenträger kann nicht formatiert werden.\\n\\nVergewissern Sie sich, daß der Datenträger eingelegt und nicht schreibgeschützt oder beschädigt ist, und nicht die falsche Speicherdichte angegeben wurde.\"\n    IDS_FFERR_BADLABEL          \"Der Datenträger kann nicht benannt werden.\\n\\nDie angegebene Bezeichnung ist ungültig. Stellen Sie sicher, daß die Bezeichnung keine der folgenden Zeichen enthält\\n\\\n                                [Leerzeichen] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n\n\n    IDS_FORMATCONFIRM           \"Beim Formatieren werden ALLE Daten von der Festplatte gelöscht. Sind Sie sicher, dass Sie die Festplatte im Laufwerk %c formatieren wollen?\"\n    IDS_FORMATCONFIRMTITLE      \"Datenträgerformatierung bestätigen\"\n\n    IDS_DISKCOPYCONFIRM         \"Dieser Vorgang löscht ALLE Daten auf der Zieldiskette.\\nSind Sie sicher, daß Sie fortsetzen möchten?\"\n    IDS_DISKCOPYCONFIRMTITLE    \"Datenträgerkopieren bestätigen\"\n    IDS_ANDCLOSE                \"&Schließen\"        // goes on Selection dialog\n    IDS_CLOSE                   \"Schließen\"         // braindead \"&Change\"\n    IDS_PATHNOTTHERE            \"Verzeichnis %s existiert nicht.\\n\\nMöchten Sie es erzeugen?\"\n    IDS_PROGRAMS                \"Programme#*.exe;*.pif;*.com;*.bat#Alle Dateien (*.*)#*.*#\"\n\n    IDS_MENUANDITEM             \"%s - %s\"\n    IDS_DRIVELABEL              \"Laufwerk:\"\n    IDS_STATUSMSGSINGLE         \"%s, \"\n\n    IDS_CONNECTHELP             \"Netzlaufwerk verbinden\"\n    IDS_DISCONHELP              \"Netzlaufwerk trennen\"\n    IDS_CONNECTIONHELP          \"Netzwerkverbindungen\"\n    IDS_SHAREASHELP             \"Verzeichnis freigeben\"\n    IDS_STOPSHAREHELP           \"Verzeichnisfreigabe beenden\"\n    IDS_VDETAILSHELP            \"Alle Dateiangaben anzeigen\"\n    IDS_VNAMEHELP               \"Nur den Dateinamen anzeigen\"\n    IDS_BYNAMEHELP              \"Nach Name\"\n    IDS_BYTYPEHELP              \"Nach Typ\"\n    IDS_BYSIZEHELP              \"Nach Größe\"\n    IDS_BYDATEHELP              \"Nach Datum\"\n    IDS_NEWWINHELP              \"Neues Fenster\"\n    IDS_COPYHELP                \"Dateien kopieren\"\n    IDS_MOVEHELP                \"Dateien verschieben\"\n    IDS_DELHELP                 \"Dateien löschen\"\n\n    IDS_DIRNAMELABEL            \"Ver&zeichnisname:\"\n    IDS_DRIVENOTAVAILABLE       \"Netzwerklaufwerk ist nicht verfügbar.\"\n\n    IDS_SHAREDAS                \"Freigegeben als %s\"\n    IDS_NOTSHARED               \"Nicht freigegeben\"\n\n    IDS_DRIVE_COMPRESSED        \" - KOMPRIMIERT\"\n\n    IDS_DRAG_COPYING            \"Datei(en) kopieren nach %s\"\n    IDS_DRAG_MOVING             \"Datei(en) verschieben nach %s\"\n    IDS_DRAG_LINKING            \"Datei(en) verlinken nach %s\"\n    IDS_DRAG_EXECUTING          \"Starten von Datei(en) mit %s\"\n\n    IDS_ORDERB                  \"%s Bytes\"\n    IDS_ORDERKB                 \"%s KB\"\n    IDS_ORDERMB                 \"%s MB\"\n    IDS_ORDERGB                 \"%s GB\"\n    IDS_ORDERTB                 \"%s TB\"\n\n    IDS_VN_COMMENTS             \"Kommentare\"\n    IDS_VN_COMPANYNAME          \"Firmenname\"\n    IDS_VN_FILEDESCRIPTION      \"Dateibeschreibung\"\n    IDS_VN_INTERNALNAME         \"Interner Name\"\n    IDS_VN_LEGALTRADEMARKS      \"Geschützte Marken\"\n    IDS_VN_ORIGINALFILENAME     \"Originaler Dateiname\"\n    IDS_VN_PRIVATEBUILD         \"Beschreibung\"\n    IDS_VN_PRODUCTNAME          \"Produktname\"\n    IDS_VN_PRODUCTVERSION       \"Produktversion\"\n    IDS_VN_SPECIALBUILD         \"Spezielle Beschreibung\"\n\n    IDS_VN_LANGUAGE             \"Sprache\"\n    IDS_VN_LANGUAGES            \"Sprachen\"\n\n    IDS_ASSOCIATE               \"Durchsuchen\"\n    IDS_RUN                     \"Ausführen\"\n    IDS_WINHELPERR              \"Die Hilfeinformation kann nicht angezeigt werden.\"\n    IDS_NOEXEASSOC              \"Dateien mit der Dateinamenerweiterung %s sind Programme und können nicht einer anderen Anwendung zugeordnet werden.\"\n    IDS_ASSOCNOTEXE             \"%s ist kein Programm und kann nicht einer Dateinamenerweiterung zugeordnet werden.\"\n    IDS_ASSOCNONE               \"(Keine)\"\n    IDS_NOFILES                 \"Keine Dateien gefunden.\"\n    IDS_NOACCESSDIR             \"Sie haben keine Berechtigung auf dieses Verzeichnis zuzugreifen.\"\n    IDS_NOACCESSFILE            \"Sie haben keine Berechtigung auf diese Datei zuzugreifen.\"\n\n    IDS_DRIVEBUSY_COPY          \"Auf Laufwerk %c: kann nicht zugegriffen werden, da es beschäftigt ist.\\nEs wird eine Diskette kopiert.\"\n    IDS_DRIVEBUSY_FORMAT        \"Auf Laufwerk %c: kann nicht zugegriffen werden, da es beschäftigt ist.\\nEs wird eine Diskette formatiert.\"\n\n    IDS_COPYMOVENOTCOMPLETED    \"Funktion nicht vollständig ausgeführt\"\n    IDS_DIRREMAINS              \"Vorgang kann nicht für alle Dateien und Verzeichnisse ausgeführt werden.\"\n\n    IDS_TOOMANYWINDOWS          \"Es sind zu viele Verzeichnisfenster geöffnet.\\n\\nSchließen Sie ein oder mehrere Fenster, und versuchen Sie es erneut.\"\n    IDS_FMIFSLOADERR            \"Eine für diese Funktion benötigte Bibliothek ist nicht verfügbar.\"\n\n    IDS_NOSUCHDIRTITLE          \"Verzeichnis kann nicht gelesen werden\"\n    IDS_NOSUCHDIR               \"Verzeichnis existiert nicht.\"\n\n    IDS_BADNETNAMETITLE         \"Netzlaufwerk kann nicht verbunden werden.\"\n    IDS_BADNETNAME              \"Netzwerkname kann nicht gefunden werden.\"\n\n    IDS_ALLFILES                \"'Alle...' betrifft auch System-, versteckte und schreibgeschützte Dateien.\"\n\n    IDS_ASSOC_OPEN              \"Öffnen\"\n    IDS_ASSOC_PRINT             \"Drucken\"\n\n    IDS_ADDEXTTITLE             \"Erweiterung hinzufügen\"\n    IDS_ADDEXTTEXT              \"Die Erweiterung '%s' ist momentan '%s.' zugeordnet. Fortsetzen und diese Zuordnung überschreiben?\"\n\n    IDS_EXTTITLE                \"Dateizuordnungs-Editor\"\n\n    IDS_EXTADDERROR             \"Erweiterung kann nicht zugeordnet werden.\"\n    IDS_EXTDELERROR             \"Erweiterung konnte nicht gelöscht werden.\"\n    IDS_FILETYPEADDERROR        \"Dateityp kann nicht hinzugefügt werden.\"\n    IDS_FILETYPEDELERROR        \"Dateityp kann nicht gelöscht werden.\"\n    IDS_FILETYPEREADERROR       \"Dateityp kann nicht gelesen werden.\"\n\n    IDS_FILETYPENULLDESCERROR   \"Die Beschreibung darf nicht leer sein. Bitte geben Sie eine Beschreibung ein.\"\n    IDS_FILETYPEDUPDESCERROR    \"Es konnte keine einmalige ID unter Verwendung Ihrer Beschreibung erzeugt werden. Bitte geben Sie eine neue Beschreibung ein.\"\n\n    IDS_FILETYPEDELCONFIRMTITLE \"Dateityp löschen\"\n    IDS_FILETYPEDELCONFIRMTEXT  \"Hiermit löschen Sie den Dateityp und alle zugeordneten Erweiterungen. Sind Sie sicher, daß Sie '%s' löschen möchten?\"\n#ifdef ASSOC\n    IDS_FILETYPEDELCONFIRMUSERTEXT \"Sie löschen einen persönlichen Dateityp. Es wird auf den gemeinsamen Dateityp zurückgesetzt, und alle seine Erweiterungen bleiben erhalten.  Sind Sie sicher, dass Sie'%s' rückgängig machen wollen?\"\n    IDS_FILETYPEUSERIZETEXT     \"Sie passen einen gemeinsamen Dateityp an. Datei-Manager speichert Ihre Änderungen in einem personalisierten Dateityp. Weitermachen?\"\n#endif\n    IDS_FILETYPECOMMANDNULLTEXT \"Für einen Dateityp muß mindestens ein Befehl für einen Vorgang angegeben sein. Bitte geben Sie den Namen einer Anwendung ein.\"\n\n    IDS_NEWFILETYPETITLE        \"Dateitypeditor\"\n    IDS_COPYINGDISKTITLE        \"Datenträger wird kopiert\"\n    IDS_SEARCHING               \"Suche...\"\n\nJAPANBEGIN\n    IDS_WRNNOSHIFTJIS           \"このフォントを使用すると漢字の表示が\\nできなくなります。\"\nJAPANEND\n\n    IDS_INITUPDATEFAIL          \"Hintergrundaktualisierung konnte nicht initialisiert werden. Der Datei-Manager wird beendet.\"\n    IDS_INITUPDATEFAILTITLE     \"Initialisierung des Datei-Managers\"\n\n    IDS_COMPRESSDIR             \"Möchten Sie alle Dateien und Unterverzeichnisse in %s auch komprimieren?\"\n    IDS_UNCOMPRESSDIR           \"Möchten Sie alle Dateien und Unterverzeichnisse in %s auch dekomprimieren?\"\n    IDS_COMPRESS_ATTRIB_ERR     \"Komprimierungsattribut von '%s' kann nicht geändert werden.\"\n    IDS_NTLDRCOMPRESSERR        \"Die Datei '%s' wird nicht komprimiert. Komprimieren dieser Datei könnte Ihr System unstartbar machen.\"\n    IDS_MULTICOMPRESSERR        \"Der Datei-Manager komprimiert bzw. dekomprimiert momentan Dateien.\\nWarten Sie bitte, bis dieser Vorgang beendet ist, bevor Sie weitere Dateien komprimieren bzw. dekomprimieren.\"\n\n    IDS_EDITFILTER              \"Programme (*.exe)\\0*.exe\\0\"\n\nEND\n#undef SUGGEST\n\n/* Help strings for the popup menus.\n */\nSTRINGTABLE\nBEGIN\n    MH_POPUP+IDM_FILE,          \"Befehle zum Arbeiten mit Dateien\"\n    MH_POPUP+IDM_DISK,          \"Befehle zum Arbeiten mit Datenträgern\"\n    MH_POPUP+IDM_TREE,          \"Befehle zum Arbeiten in dem Strukturfenster\"\n    MH_POPUP+IDM_VIEW,          \"Befehle zum Bestimmen der Informationsanzeige\"\n    MH_POPUP+IDM_OPTIONS,       \"Befehle zum Einstellen von Optionen\"\n    MH_POPUP+IDM_SECURITY,      \"Befehle zum Einstellen der Datei- und Verzeichnissicherheit\"\n    MH_POPUP+IDM_WINDOW,        \"Befehle zum Anordnen der Fenster\"\n    MH_POPUP+IDM_HELP,          \"Befehle zum Anzeigen der Hilfe zu Datei-Manager\"\nEND\n\n\n// Help strings for the \"standard\" toolbar items.\n\nSTRINGTABLE\nBEGIN\n    MH_MYITEMS+IDM_OPEN,            \"Ausgewähltes Objekt öffnen\"\n    MH_MYITEMS+IDM_EDIT,            \"Bearbeiten des ausgewählten Elements mit Notepad.exe\"\n    MH_MYITEMS+IDM_MOVE,            \"Verschieben des ausgewählten Objekts\"\n    MH_MYITEMS+IDM_COPY,            \"Kopieren von Dateien und Verzeichnissen\"\n    MH_MYITEMS+IDM_COPYTOCLIPBOARD, \"Kopieren einer Datei in die Zwischenablage\"\n    MH_MYITEMS+IDM_CUTTOCLIPBOARD,  \"Schneidet eine oder mehrere Dateien in die Zwischenablage aus\"\n    MH_MYITEMS+IDM_PASTE,           \"Datei aus der Zwischenablage in das aktuelle Verzeichnis einfügen\"\n    MH_MYITEMS+IDM_COMPRESS,        \"Komprimieren einer Datei oder eines Verzeichnisses\"\n    MH_MYITEMS+IDM_UNCOMPRESS,      \"Dekomprimieren einer Datei oder eines Verzeichnisses\"\n    MH_MYITEMS+IDM_DELETE,          \"Löschen von Dateien und Verzeichnissen\"\n    MH_MYITEMS+IDM_RENAME,          \"Umbenennen von Dateien und Verzeichnissen\"\n    MH_MYITEMS+IDM_ATTRIBS,         \"Anzeige der Eigenschaften und Setzen von Dateiattributen\"\n    MH_MYITEMS+IDM_RUN,             \"Startet oder öffnet eine Anwendung oder ein Dokument\"\n    MH_MYITEMS+IDM_PRINT,           \"Drucken eines Dokuments\"\n    MH_MYITEMS+IDM_ASSOCIATE,       \"Zuordnen einer Datei zu einer Anwendung\"\n    MH_MYITEMS+IDM_MAKEDIR,         \"Erstellen eines Verzeichnisses\"\n    MH_MYITEMS+IDM_SEARCH,          \"Suchen nach Dateien und Verzeichnissen\"\n    MH_MYITEMS+IDM_SELECT,          \"Auswählen einer Datei oder eines Verzeichnisses\"\n    MH_MYITEMS+IDM_EXIT,            \"Beenden von Datei-Manager\"\n\n    MH_MYITEMS+IDM_DISKCOPY,        \"Inhalt eines Datenträgers kopieren\"\n    MH_MYITEMS+IDM_LABEL,           \"Zuweisen oder Ändern der Datenträgerbezeichnung\"\n    MH_MYITEMS+IDM_FORMAT,          \"Formatieren einer Diskette/eines Laufwerks\"\n//    MH_MYITEMS+IDM_SYSDISK,         \"Kopiere MS-DOS-Dateien auf eine Diskette\"\n    MH_MYITEMS+IDM_CONNECT,         \"Verbinden zu einem Netzlaufwerk\"\n    MH_MYITEMS+IDM_DISCONNECT,      \"Netzlaufwerk trennen\"\n//    MH_MYITEMS+IDM_CONNECTIONS,     \"Netzwerk-Verbindungen...\"\n//    MH_MYITEMS+IDM_SHARES,          \"Freigegebene Verzeichnisse &anzeigen...\"\n    MH_MYITEMS+IDM_SHAREAS,         \"Freigeben eines Verzeichnisses\"\n    MH_MYITEMS+IDM_STOPSHARE,       \"Freigabe eines Verzeichnisses beenden\"\n\n    MH_MYITEMS+IDM_DRIVESMORE,  \"Auswählen eines Laufwerks\"\n\n    MH_MYITEMS+IDM_EXPONE,      \"Zeigt eine andere Ebene eines Verzeichnisses an\"\n    MH_MYITEMS+IDM_EXPSUB,      \"Zeigt alle Ebenen eines Verzeichnisses an\"\n    MH_MYITEMS+IDM_EXPALL,      \"Zeigt alle Ebenen aller Verzeichnisse an\"\n    MH_MYITEMS+IDM_COLLAPSE,    \"Klappt alle Verzeichnisse eines ausgewählten Verzeichnisses zusammen\"\n    MH_MYITEMS+IDM_ADDPLUSES,   \"Zeigt Verzeichnisse an, die Unterverzeichnisse haben\"\n\n    MH_MYITEMS+IDM_BOTH,        \"Verzeichnisstruktur und Inhalt des aktuellen Verzeichnisses anzeigen\"\n    MH_MYITEMS+IDM_TREEONLY,    \"Nur Struktur anzeigen\"\n    MH_MYITEMS+IDM_DIRONLY,     \"Inhalt des aktuellen Verzeichnisses anzeigen\"\n    MH_MYITEMS+IDM_SPLIT,       \"Teilen des Verzeichnisfensters oder bewegen der Teilungsleiste\"\n    MH_MYITEMS+IDM_VNAME,       \"Nur Anzeige der Dateinamen\"\n    MH_MYITEMS+IDM_VDETAILS,    \"Anzeige aller Dateiangaben\"\n    MH_MYITEMS+IDM_VOTHER,      \"Anzeige bestimmter Dateiangaben\"\n    MH_MYITEMS+IDM_BYNAME,      \"Nach Name sortiert\"\n    MH_MYITEMS+IDM_BYTYPE,      \"Nach Typ sortiert\"\n    MH_MYITEMS+IDM_BYSIZE,      \"Nach Größe sortiert\"\n    MH_MYITEMS+IDM_BYDATE,      \"Nach Datum sortiert\"\n    MH_MYITEMS+IDM_BYFDATE,     \"Dateien nach aufsteigendem Datum sortieren\"\n    MH_MYITEMS+IDM_VINCLUDE,    \"Nur Dateien des ausgewählten Typs anzeigen\"\n\n    MH_MYITEMS+IDM_CONFIRM,     \"Steuert Bestätigungsmeldungen\"\n    MH_MYITEMS+IDM_FONT,        \"Ändert die Schriftart des Datei-Managers\"\n\n    MH_MYITEMS+IDM_TOOLBARCUST,       \"Definieren des Aussehens der Symbolleiste\"\n    MH_MYITEMS+IDM_TOOLBAR,           \"Ein- oder Ausblenden der Symbolleiste\"\n    MH_MYITEMS+IDM_DRIVEBAR,          \"Ein- oder Ausblenden der Laufwerksleiste\"\n    MH_MYITEMS+IDM_STATUSBAR,         \"Ein- oder Ausblenden der Statusleiste\"\n    MH_MYITEMS+IDM_NEWWINONCONNECT,   \"Neues Fenster beim Verbinden öffnen\"\n\n    MH_MYITEMS+IDM_MINONRUN,          \"Minimiert den Datei-Manager zum Symbol nach Programmstart\"\n    MH_MYITEMS + IDM_INDEXONLAUNCH,   \"Erstellt beim Starten des Datei-Managers einen Goto Verzeichnis-Index\"\n    MH_MYITEMS+IDM_SAVESETTINGS,      \"Einstellungen beim Beenden von Datei-Manager speichern\"\n\n    MH_MYITEMS+IDM_NEWWINDOW,         \"Öffnen eines neuen Fensters\"\n    MH_MYITEMS+IDM_CASCADE,           \"Anordnen der Fenster überlappend\"\n    MH_MYITEMS+IDM_TILEHORIZONTALLY,  \"Anordnen der Fenster horizontal\"\n    MH_MYITEMS+IDM_TILE,              \"Anordnen der Fenster vertikal\"\n    MH_MYITEMS+IDM_ARRANGE,           \"Symbole anordnen\"\n    MH_MYITEMS+IDM_REFRESH,           \"Aktualisieren des Fensterinhalts\"\n\n    MH_MYITEMS+IDM_PERMISSIONS        \"Anzeigen und Ändern der Berechtigungen für ausgewählte Elemente\"\n    MH_MYITEMS+IDM_AUDITING           \"Anzeigen und Ändern der Überwachungseinstellungen für ausgewählte Elemente\"\n    MH_MYITEMS+IDM_OWNER              \"Anzeigen und Ändern des Besitzers für ausgewählte Elemente\"\n\n    MH_MYITEMS+IDM_HELPINDEX,         \"Inhalt der Hilfe anzeigen\"\n    MH_MYITEMS+IDM_HELPKEYS,          \"Suche nach einem Begriff in der Datei-Manager-Hilfe\"\n    MH_MYITEMS+IDM_HELPHELP,          \"Hilfe über Benutzen von Hilfe\"\n    MH_MYITEMS+IDM_ABOUT,             \"Anzeige von Informationen über Datei-Manager\"\nEND\n\n\n// Strings for menu items that may be added at init time.\n\nSTRINGTABLE\nBEGIN\n    IDS_CONNECT,                \"Netzlaufwerk &verbinden...\\tStrg+N\"\n    IDS_DISCONNECT,             \"Netzlaufwerk &trennen...\\tStrg+D\"\n    IDS_CONNECTIONS,            \"&Netzwerk-Verbindungen\"\n    IDS_SHAREDDIR               \"Freigege&bene Verzeichnisse...\"\n    IDS_SHAREAS,                \"F&reigeben als...\"\n    IDS_STOPSHARE,              \"Freigabe been&den...\"\n    IDS_SHARES,                 \"Freigegeben Verzeichnisse &anzeigen...\"\n    IDS_NEWWINONCONNECT,        \"Neues Fenster beim &Verbinden öffnen\"\nEND\n\n#include \"winfile_de-DE.dlg\"\n\n"
  },
  {
    "path": "src/lang/res_en-US.rc",
    "content": "/********************************************************************\n\n   res_en-US.rc\n\n   Copyright (c) Microsoft Corporation. All rights reserved.\n   Licensed under the MIT License.\n\n********************************************************************/\n\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n\nFRAMEMENU MENU\nBEGIN\n    POPUP       \"&File\"\n    BEGIN\n    MENUITEM    \"&Open\\tEnter\",     IDM_OPEN\n    MENUITEM    \"Edit\\tF12\",        IDM_EDIT\n    MENUITEM    \"&Move...\\tF7\",     IDM_MOVE\n    MENUITEM    \"&Copy...\\tF8\",     IDM_COPY\n    MENUITEM    \"S&ymlink...\\tF11\", IDM_SYMLINK\n    MENUITEM    \"Hardlin&k...\\tShift+F11\", IDM_HARDLINK\n    MENUITEM    \"Copy to Clip&board\\tCtrl+C\", IDM_COPYTOCLIPBOARD\n    MENUITEM    \"Cut to Clipboard\\tCtrl+X\", IDM_CUTTOCLIPBOARD\n    MENUITEM    \"&Paste\\tCtrl+V\",   IDM_PASTE\n    MENUITEM    \"&Delete...\\tDel\",  IDM_DELETE\n    MENUITEM    \"Re&name...\\tF2\",   IDM_RENAME\n    MENUITEM    \"Proper&ties...\\tAlt+Enter\",IDM_ATTRIBS\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Compre&ss...\",     IDM_COMPRESS\n    MENUITEM    \"&Uncompress...\",   IDM_UNCOMPRESS\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&Run...\",          IDM_RUN\n    MENUITEM    \"Pr&int...\",        IDM_PRINT\n    MENUITEM    \"&Associate...\",    IDM_ASSOCIATE\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Cr&eate Directory...\\tCtrl+Shift+N\", IDM_MAKEDIR\n    MENUITEM    \"Searc&h...\\tCtrl+F\",       IDM_SEARCH\n    MENUITEM    \"Select &Files...\", IDM_SELECT\n    POPUP       \"Start (&.)\"\n    BEGIN\n    MENUITEM    \"&Bash Shell...\\tCtrl+B\", IDM_STARTBASHSHELL\n    MENUITEM    \"&Cmd Shell...\\tCtrl+K\", IDM_STARTCMDSHELL\n    MENUITEM    \"&PowerShell...\\tCtrl+P\", IDM_STARTPOWERSHELL\n    MENUITEM    \"&Explorer...\\tCtrl+E\", IDM_STARTEXPLORER\n    END\n    MENUITEM    \"&Goto Directory...\\tCtrl+G\", IDM_GOTODIR\n    MENUITEM    SEPARATOR\n    MENUITEM    \"E&xit\",            IDM_EXIT\n    END\n    POPUP       \"&Disk\"\n    BEGIN\n    MENUITEM    \"&Copy Disk...\",    IDM_DISKCOPY\n    MENUITEM    \"&Label Disk...\",   IDM_LABEL\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&Format Drive...\",  IDM_FORMAT\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&Select Drive...\", IDM_DRIVESMORE\n    END\n    POPUP       \"&Tree\"\n    BEGIN\n    MENUITEM    \"E&xpand One Level\\t+\", IDM_EXPONE\n    MENUITEM    \"Expand &Branch\\t*\",    IDM_EXPSUB\n    MENUITEM    \"Expand &All\\tCtrl+*\",  IDM_EXPALL\n    MENUITEM    \"&Collapse Branch\\t-\",  IDM_COLLAPSE\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&Indicate Expandable Branches\",    IDM_ADDPLUSES\n    END\n    POPUP       \"&View\"\n    BEGIN\n    MENUITEM    \"T&ree and Directory\",  IDM_BOTH\n    MENUITEM    \"Tr&ee Only\",           IDM_TREEONLY\n    MENUITEM    \"Directory &Only\",      IDM_DIRONLY\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Sp&lit\",               IDM_SPLIT\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&Name\",                IDM_VNAME\n    MENUITEM    \"&All File Details\",    IDM_VDETAILS,   CHECKED\n    MENUITEM    \"&Partial Details...\",  IDM_VOTHER\n    MENUITEM    SEPARATOR\n    MENUITEM \"&Sort by Name\",   IDM_BYNAME\n    MENUITEM \"Sort &by Type\",   IDM_BYTYPE\n    MENUITEM \"Sort by Si&ze\",   IDM_BYSIZE\n    MENUITEM \"Sort by &Date\",   IDM_BYDATE\n    MENUITEM \"Sort &forward Date\",   IDM_BYFDATE\n    MENUITEM    SEPARATOR\n    MENUITEM    \"By File &Type...\",     IDM_VINCLUDE\n    END\n    POPUP       \"&Options\"\n    BEGIN\n    MENUITEM    \"&Confirmation...\",     IDM_CONFIRM\n    MENUITEM    \"&Font...\",             IDM_FONT\n    MENUITEM    \"Customize Tool&bar...\", IDM_TOOLBARCUST\n    MENUITEM    \"Additional &Preferences...\", IDM_PREF\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&Toolbar\",                 IDM_TOOLBAR\n    MENUITEM    \"&Drivebar\",                IDM_DRIVEBAR\n    MENUITEM    \"&Status Bar\",              IDM_STATUSBAR\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&Minimize on Use\",     IDM_MINONRUN\n    MENUITEM    \"Create &Goto Index on Launch\", IDM_INDEXONLAUNCH\n    MENUITEM    \"Save Settings on &Exit\",   IDM_SAVESETTINGS\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Save Settings &Now\",       IDM_SAVENOW\n    END\n    POPUP       \"&Security\"\n    BEGIN\n    MENUITEM    \"&Permissions...\",  IDM_PERMISSIONS\n    MENUITEM    \"&Auditing...\",     IDM_AUDITING\n    MENUITEM    \"&Owner...\",        IDM_OWNER\n    END\n    POPUP       \"&Window\"\n    BEGIN\n    MENUITEM    \"&New Window\\tCtrl+Shift Enter\",          IDM_NEWWINDOW\n    MENUITEM    \"&Cascade\\tShift+F5\",   IDM_CASCADE\n    MENUITEM    \"Tile &Horizontally\",   IDM_TILEHORIZONTALLY\n    MENUITEM    \"&Tile Vertically\\tShift+F4\",      IDM_TILE\n    MENUITEM    \"&Arrange Icons\",       IDM_ARRANGE\n    MENUITEM    \"&Refresh\\tF5\",         IDM_REFRESH\n    END\n    POPUP       \"&Help\"\n    BEGIN\n    MENUITEM    \"&Contents\",                IDM_HELPINDEX\n    MENUITEM    \"&Search for Help on...\",   IDM_HELPKEYS\n    MENUITEM    \"&How to Use Help\",         IDM_HELPHELP\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&About File Manager...\",   IDM_ABOUT\n    END\n\nEND\n\nCTXMENU MENU\nBEGIN\n    POPUP \"Dummy Popup\"\n    BEGIN\n    MENUITEM    \"&New Window\\tCtrl+Shift Enter\",     IDM_NEWWINDOW\n    MENUITEM    \"&Open\\tEnter\",     IDM_OPEN\n    MENUITEM    \"Edit\\tF12\",        IDM_EDIT\n    MENUITEM    \"&Move...\\tF7\",     IDM_MOVE\n    MENUITEM    \"&Copy...\\tF8\",     IDM_COPY\n    MENUITEM    \"S&ymlink...\\tF11\", IDM_SYMLINK\n    MENUITEM    \"Hardlin&k...\\tShift+F11\", IDM_HARDLINK\n    MENUITEM    \"Copy to Clip&board\\tCtrl+C\", IDM_COPYTOCLIPBOARD\n    MENUITEM    \"Cut to Clipboard\\tCtrl+X\", IDM_CUTTOCLIPBOARD\n    MENUITEM    \"&Paste\\tCtrl+V\", IDM_PASTE\n    MENUITEM    \"&Delete...\\tDel\",  IDM_DELETE\n    MENUITEM    \"Re&name...\\tF2\",   IDM_RENAME\n    MENUITEM    \"Proper&ties...\\tAlt+Enter\",IDM_ATTRIBS\n    MENUITEM    \"&Run...\",          IDM_RUN\n    MENUITEM    \"Start Bash Shell...\", IDM_STARTBASHSHELL\n    MENUITEM    \"Start Cmd She&ll...\", IDM_STARTCMDSHELL\n    MENUITEM    \"Start Po&werShell...\", IDM_STARTPOWERSHELL\n    MENUITEM    \"Start E&xplorer...\", IDM_STARTEXPLORER\n    MENUITEM    \"&Goto Directory...\", IDM_GOTODIR\n    END\nEND\n\n\n#define SUGGEST(id,err,flags,str) id+IDS_SUGGESTBEGIN str\n/*              0....5....1....56...2....5....3.2..5....4....5....5....6....5....7....5....8....5....9....5....0....5....1....5....2....5..8 */\nSTRINGTABLE\nBEGIN\n//    IDS_ENDSESSION          \"Exit Windows\"                  /* 32 */\n//    IDS_ENDSESSIONMSG       \"This will end your Windows session.\"                                                                                      /* 128 */\n\n    IDS_COPYDISK            \"Copy Disk\"                     /* 32 */\n    IDS_INSERTDEST          \"Insert destination disk.\"                                                                                                 /* 128 */\n    IDS_INSERTSRC           \"Insert source disk.\"                                                                                                      /* 128 */\n    IDS_INSERTSRCDEST       \"Insert source and destination disks.\"                                                                                     /* 128 */\n    IDS_FORMATTINGDEST      \"Formatting Destination Disk\"                                                                                             /* 128 */\n\n    IDS_COPYDISKERR         \"Copy Disk Error\"               /* 32 */\n    IDS_COPYDISKERRMSG      \"Unable to copy disk.\"                                                                                                     /* 128 */\n    IDS_COPYSRCDESTINCOMPAT \"Source and destination disks are incompatible.\"                                                                          /* 128 */\n\n    IDS_PERCENTCOMP         \"%d%% completed\"                /* 32 */\n    IDS_CREATEROOT          \"Creating root directory...\"       /* 32 */\n    IDS_COPYSYSFILES        \"Copying system files...\"          /* 32 */\n    IDS_FORMATERR           \"Format Disk Error\"             /* 32 */\n    IDS_FORMATQUICKFAILURE  \"File Manager cannot perform a quick format.\\n\\nContinue with normal format?\"\n//    IDS_FORMATERRMSG        \"Cannot format disk.\"                                                                                                      /* 128 */\n//    IDS_FORMATCURERR      \"You cannot format the current drive.\"                                                                                     /* 128 */\n    IDS_FORMATCOMPLETE      \"Format Complete\"               /* 32 */\n    IDS_FORMATANOTHER       \"%ld bytes total disk space\\n%ld bytes available on disk\\n\\nDo you want to format another disk?\"                           /* 128 */\n\n//    IDS_SYSDISK             \"Make System Disk\"\n//    IDS_SYSDISKRUSURE       \"Are you sure you want to copy system files onto the disk in drive %c?\"\n//    IDS_SYSDISKERR          \"System Disk Error\"\n//    IDS_SYSDISKNOFILES      \"The MS-DOS startup drive does not contain system files or is not available.\"\n//    IDS_SYSDISKSAMEDRIVE    \"Cannot copy system files to the MS-DOS startup drive.\"\n//    IDS_SYSDISKADDERR       \"Cannot add system files to this disk.\\n\\nMake sure a formatted disk is present in the drive and that the drive door is closed.\"\n\n    IDS_NETERR              \"Network Error\"                 /* 32 */\n    IDS_NETDISCONWINERR     \"This drive contains the Windows system files and cannot be disconnected.\"                                                 /* 128 */\n    IDS_NETDISCONOPEN       \"File Manager cannot disconnect network drive.\\n\\nFiles are open on this drive.\"\n\n    IDS_ATTRIBERR           \"File Manager cannot change attributes.  \"\n    IDS_MAKEDIRERR          \"File Manager cannot create directory.  \"\n\n    IDS_LABELDISKERR        \"File Manager cannot label disk.\\n\\nMake sure the disk is not write-protected, is not a network drive, and that the label is valid.\\\n                             Labels cannot contain the following characters:\\n[space] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n\n    IDS_SEARCHNOMATCHES     \"No matching files were found.\"\n    IDS_SEARCHREFRESH       \"The contents of this drive have changed. Do you want to retry the Search?\"\n    IDS_LABELACCESSDENIED   \"You must be logged onto this workstation as an administrator to perform this operation on hard disks.\"\n\n    IDS_DRIVETEMP           \"Drive %c:%c\"\n\n    IDS_EXECERRTITLE,       \"Cannot Run Program\"\n    IDS_PRINTERRTITLE,      \"Cannot Print File\"\n\n    IDS_UNKNOWNMSG,         \"Unexpected error: %d.\"\n    IDS_NOMEMORYMSG,        \"Not enough memory to start the specified application.\\n\\nQuit one or more applications, and then try again.\"                   /* 128 */\n    IDS_FILENOTFOUNDMSG,    \"File Manager cannot find file (or one of its components).\\n\\nMake sure the path and filename are correct and that all required libraries are available.\"\n    IDS_BADPATHMSG,         \"The specified path is invalid.\"                                                                                           /* 128 */\n//    IDS_MANYOPENFILESMSG,   \"Too many files are currently in use.\\n\\nQuit one or more applications or increase the value of the FILES command in CONFIG.SYS, and then try again.\"                                    /* 128 */\n    IDS_NOASSOCMSG,         \"No application is associated with this file.\\n\\nChoose Associate from the File menu to create an association.\"       /* 128 */\n    IDS_ASSOCINCOMPLETE,    \"File Manager cannot open or print file.\\n\\nStart the application used to create this file and open or print it from there.\"\n//    IDS_MULTIPLEDSMSG,      \"Cannot start more than one copy of the specified program.\"                                                                /* 128 */\n//    IDS_OS2APPMSG           \"The specified application is not a Windows or MS-DOS program.\"                                                            /* 128 */\n//    IDS_NEWWINDOWSMSG       \"This application requires a newer version of Microsoft Windows.\"                                                          /* 128 */\n//    IDS_PMODEONLYMSG        \"This application requires Windows.\"                                                             /* 128 */\n    IDS_DDEFAIL             \"An error occurred in sending the command to the application.\"                                                                /* 128 */\n//    IDS_COMPRESSEDEXE       \"This program or one of its components is compressed.\\n\\nUse the MS-DOS expand utility to copy the file from the setup disks.\"\n    IDS_INVALIDDLL          \"One of the library files needed to run this application is damaged. Please reinstall this application.\"\n    IDS_SHAREERROR          \"This file is in use by some other application.\"\n\n    IDS_CREATELONGDIR       \"File Manager may not be able to access files created in the directory '%s.'\\n\\nDo you want to continue?\"\n    IDS_CREATELONGDIRTITLE  \"Create Directory\"\n\n    IDS_MOUSECONFIRM,       \"Confirm Mouse Operation\"       /* 32 */\n    IDS_COPYMOUSECONFIRM,   \"Are you sure you want to copy the selected files or directories to %s?\"\n    IDS_MOVEMOUSECONFIRM,   \"Are you sure you want to move the selected files or directories to %s?\"\n    IDS_LINKMOUSECONFIRM,   \"Are you sure you want to link the selected files or directories to %s?\"\n    IDS_EXECMOUSECONFIRM,   \"Are you sure you want to start %s using %s as the initial file?\"                                                          /* 128 */\n\n    IDS_WINFILE,            \"File Manager\"                  /* 32 */\n    IDS_TREETITLE,          \"Directory Tree\"                /* 32 */\n    IDS_SEARCHTITLE,        \"Search Results: \"              /* 32 */\n\n    IDS_READING             \"Reading directory, please wait...\"\n    IDS_TOOMANYTITLE,       \"Too Many Files\"                /* 32 */\n    IDS_OOMTITLE,           \"File Manager - Out of Memory\"  /* 32 */\n    IDS_OOMREADINGDIRMSG,   \"Unable to read entire directory.  Only a partial listing will be displayed.\"                                              /* 128 */\n\n//    IDS_PRINTFNF            \"The file to be printed cannot be found. Make sure the correct path and filename are specified.\"                                                                                  /* 128 */\n    IDS_PRINTMEMORY         \"Not enough memory to print.\\n\\nQuit one or more applications, and then try again.\"                                             /* 128 */\n    IDS_PRINTDISK           \"Not enough disk space to print.\\n\\nDelete one or more files to increase disk space, and then try again.\"                        /* 128 */\n    IDS_PRINTERROR          \"An error has occurred while printing.\\n\\nMake sure the printer is properly configured and selected.\"             /* 128 */\n    IDS_PRINTONLYONE        \"File Manager cannot print multiple files.\\n\\nSelect only one file, and then try again.\"                                               /* 128 */\n\n    IDS_CURDIRIS,           \"Current Directory: %s\"                                                                                                    /* 128 */\n    IDS_CURDIRSARE,         \"Other current directories: \"\n    IDS_COPY,               \"Copy\"                          /* 32 */\n    IDS_RENAME,             \"Rename\"                        /* 32 */\n    IDS_FORMAT,             \"Format Disk\"                   /* 32 */\n    IDS_FORMATSELDISK,      \"Select the disk to format.\"                                                                                               /* 128 */\n    IDS_SYMLINK,            \"Symlink\"                       /* 32 */\n    IDS_HARDLINK,           \"Hardlink\"                      /* 32 */\n\n    IDS_KK_COPYFROMSTR,     \"&From:\"\n    IDS_KK_COPYTOSTR,       \"&To:\"\n    IDS_KK_RENAMEFROMSTR,   \"&From:\"\n    IDS_KK_RENAMETOSTR,     \"&To:\"\n    IDS_KK_HARDLINKFROMSTR, \"&From:\"\n    IDS_KK_HARDLINKTOSTR,   \"&To:\"\n    IDS_KK_SYMLINKFROMSTR,  \"&From:\"\n    IDS_KK_SYMLINKTOSTR,    \"&To:\"\n\n//    IDS_MAKESYSDISK,      \"Make System Disk\"              /* 32 */\n\n    IDS_CREATINGMSG,        \"Creating:\"                     /* 32 */\n    IDS_REMOVINGDIRMSG,     \"Removing:\"                     /* 32 */\n    IDS_REMOVINGMSG,        \"Removing...\"                   /* 32 */\n    IDS_COPYINGMSG,         \"Copying:\"                      /* 32 */\n    IDS_OPENINGMSG,         \"Opening...\"                    /* 32 */\n    IDS_CLOSINGMSG,         \"Closing...\"                    /* 32 */\n    IDS_RENAMINGMSG,        \"Renaming...\"                   /* 32 */\n    IDS_MOVINGMSG,          \"Moving...\"                     /* 32 */\n    IDS_DELETINGMSG,        \"Deleting...\"                   /* 32 */\n    IDS_PRINTINGMSG,        \"Printing: %s\"                  /* 32 */\n\n//    IDS_NOSUCHDRIVE,        \"Drive %c does not exist.\"                                                                                            /* 128 */\n    IDS_DRIVENOTREADY,      \"There is no disk in drive %c.\\n\\nInsert a disk, and then try again.\"\n    IDS_UNFORMATTED,        \"The disk in drive %c is not formatted.\\n\\nDo you want to format it now?\"\n\n    IDS_STATUSMSG,          \"Total %d file(s) (%s)\"             /* 128 */\n    IDS_STATUSMSG2,         \"Selected %d file(s) (%s)\"          /* 128 */\n    IDS_DRIVEFREE,          \"%c: %s free,  %s total\"            /* 128 */\n    IDS_TREEABORT,          \"Incomplete directory tree displayed\"     /* 128 */\n    IDS_DIRSREAD,           \"Directories read: %d \"                   /* 32 */\n    IDS_SEARCHMSG,          \"%d file(s) found\"\n    IDS_BYTES,              \"%ld bytes\"\n    IDS_SBYTES,             \"%s bytes\"\n\n    IDS_SELECTEDFILES,      \"the selected files\"            /* 32 */\n\n    /* These strings are used for generating error messages\n     * from the Copy, Move, and Delete code. */\n\n    IDS_COPYERROR + FUNC_COPY     \"Error Copying File\"\n    IDS_COPYERROR + FUNC_MOVE     \"Error Moving File\"\n    IDS_COPYERROR + FUNC_DELETE   \"Error Deleting File\"\n    IDS_COPYERROR + FUNC_RENAME   \"Error Renaming File\"\n    IDS_COPYERROR + FUNC_SETDRIVE \"Error Selecting Drive\"\n    IDS_COPYERROR + FUNC_EXPAND   \"Error Reading Directory\"\n    IDS_COPYERROR + FUNC_LABEL    \"Error Labeling Disk\"\n    IDS_COPYERROR + FUNC_LINK     \"Error Creating Symbolic Link\"\n    IDS_COPYERROR + FUNC_HARD     \"Error Creating Hardlink\"\n    IDS_COPYERROR + FUNC_JUNC     \"Error Creating Junction\"\n\n    /* The first %s is replaced by a file name. The second %s is replaced\n     * by one of the \"reasons\" below. */\n\n    IDS_VERBS + FUNC_COPY       \"File Manager cannot copy %s: %s\"\n    IDS_VERBS + FUNC_MOVE       \"File Manager cannot move %s: %s\"\n    IDS_VERBS + FUNC_DELETE     \"File Manager cannot delete %s: %s\"\n    IDS_VERBS + FUNC_RENAME     \"File Manager cannot rename %s: %s\"\n    IDS_VERBS + FUNC_LINK       \"File Manager cannot create symbolic link %s: %s\"\n    IDS_VERBS + FUNC_HARD       \"File Manager cannot create hardlink %s: %s\"\n    IDS_VERBS + FUNC_JUNC       \"File Manager cannot create junction %s: %s\"\n    IDS_ACTIONS + 1             \"File Manager cannot create directory %s: %s\"\n    IDS_ACTIONS + 2             \"File Manager cannot remove directory %s: %s\"\n    IDS_REPLACING               \"File Manager cannot create or replace %s: %s\"\n    // IDS_CREATING             \"File Manager cannot create %s: %s\"\n\n// include reason strings\n\n#include \"suggest_en-US.db\"\n\n    IDS_DESTFULL                \"The destination disk is full.  Please insert another disk to continue.\"\n    IDS_WRITEPROTECTFILE        \"This is a system, hidden, or read-only file.\"\n\n    IDS_COPYINGTITLE            \"Copying...\"\n\n    IDS_QUICKFORMATTINGTITLE    \"Quick Formatting...\"\n\n    IDS_BUSYFORMATQUITVERIFY    \"File Manager is currently formatting a disk.  Exiting File Manager will abort this operation.\"\n    IDS_BUSYCOPYQUITVERIFY      \"File Manager is currently copying a disk.  Exiting File Manager will abort this operation.\"\n    IDS_PERCENTCOMPLETE         \"Percent Complete\"\n\n    IDS_12MB                    \"1%s2 MB\"\n    IDS_360KB                   \"360K\"\n    IDS_144MB                   \"1%s44 MB\"\n    IDS_720KB                   \"720K\"\n    IDS_288MB                   \"2%s88 MB\"\n    IDS_2080MB                  \"20%s8 MB\"\n\n#if defined(JAPAN) && defined(i386)\n/* ADD KBNES. NEC MEDIATYPE START */\nJAPANBEGIN\n    IDS_125MB                   \"1%s25 MB\"\n    IDS_256KB                   \"256K\"\n    IDS_128MB                   \"128 MB\"\nJAPANEND\n/* ADD KBNES. NEC MEDIATYPE END */\n\n//\n// FMR jul.21.1994 JY\n// We added 640KB/1.23MB media types.\n//\nJAPANBEGIN\n    IDS_640KB                   \"640K\"\n    IDS_123MB                   \"1%s23 MB\"\nJAPANEND\n#endif\n\n    IDS_DEVICECAP               \"Drive Capacity\"\n    IDS_QSUPMEDIA               \"File manager cannot obtain disk information.\\n\\nMake sure the disk is in the drive.\"\n    IDS_REMOVEMED               \"Unknown Disk Type\"\n\n    IDS_CANTFORMATTITLE         \"Unknown Disk Type\"\n    IDS_CANTFORMAT              \"The type of disk in drive %s can not be formatted with the File Manager.  Please use the Disk Administrator to format this disk.\"\n\n    IDS_FFERR_INCFS             \"Incompatible file system.\"\n    IDS_FFERR_ACCESSDENIED      \"Access denied.\"\n    IDS_FFERR_DISKWP            \"The disk is write-protected.\"\n    IDS_FFERR_CANTLOCK          \"File Manager cannot lock volume.\"\n    IDS_FFERR_CANTQUICKF        \"File Manager cannot quick format disk.\\n\\nMake sure the disk is the correct density rating.\"\n    IDS_FFERR_SRCIOERR          \"IO error on the source disk.\"\n    IDS_FFERR_DSTIOERR          \"IO error on the destination disk.\"\n    IDS_FFERR_SRCDSTIOERR       \"IO error on both the source and destination disks.\"\n    IDS_FFERR_GENIOERR          \"An IO error has occurred.\"\n//    IDS_FFERR_MEDIASENSE      \"This disk is capable of being formatted at a capacity of %s. Continue formatting at this capacity?\"\n    IDS_FFERR                   \"File Manager cannot format disk.\\n\\nMake sure the disk is in the drive and not write-protected, damaged, or of wrong density rating.\"\n    IDS_FFERR_BADLABEL          \"File Manager cannot label the disk.\\n\\nThe specified label is invalid.  Make sure the label does not contain any of the following characters\\n\\\n                                [space] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n\n\n    IDS_FORMATCONFIRM           \"Formatting will erase ALL data from your disk. Are you sure that you want to format the disk in drive %c?\"\n    IDS_FORMATCONFIRMTITLE      \"Confirm Format Disk\"\n\n    IDS_DISKCOPYCONFIRM         \"This operation will erase ALL data from the destination disk. Are you sure you want to continue?\"\n    IDS_DISKCOPYCONFIRMTITLE    \"Confirm Copy Disk\"\n    IDS_ANDCLOSE                \"&Close\"        // goes on Selection dialog\n    IDS_CLOSE                   \"Close\"         // braindead \"&Change\"\n    IDS_PATHNOTTHERE            \"Directory %s does not exist.\\n\\nDo you want to create it?\"\n    IDS_PROGRAMS                \"Programs#*.exe;*.pif;*.com;*.bat#All Files (*.*)#*.*#\"\n\n    IDS_MENUANDITEM             \"%s - %s\"\n    IDS_DRIVELABEL              \"Drive:\"\n    IDS_STATUSMSGSINGLE         \"%s, \"\n\n    IDS_CONNECTHELP             \"Connect network drive\"\n    IDS_DISCONHELP              \"Disconnect network drive\"\n    IDS_CONNECTIONHELP          \"Network connections\"\n    IDS_SHAREASHELP             \"Share directory\"\n    IDS_STOPSHAREHELP           \"Stop sharing directory\"\n    IDS_VDETAILSHELP            \"View all file details\"\n    IDS_VNAMEHELP               \"View name only\"\n    IDS_BYNAMEHELP              \"Sort by name\"\n    IDS_BYTYPEHELP              \"Sort by type\"\n    IDS_BYSIZEHELP              \"Sort by size\"\n    IDS_BYDATEHELP              \"Sort by date\"\n    IDS_NEWWINHELP              \"New window\"\n    IDS_COPYHELP                \"Copy files\"\n    IDS_MOVEHELP                \"Move files\"\n    IDS_DELHELP                 \"Delete files\"\n\n    IDS_DIRNAMELABEL            \"&Directory Name:\"\n    IDS_DRIVENOTAVAILABLE       \"Network drive is not available.\"\n\n    IDS_SHAREDAS                \"Shared as %s\"\n    IDS_NOTSHARED               \"Not shared\"\n\n    IDS_DRIVE_COMPRESSED        \" - COMPRESSED\"\n\n    IDS_DRAG_COPYING            \"Copying files to %s\"\n    IDS_DRAG_MOVING             \"Moving files to %s\"\n    IDS_DRAG_LINKING            \"Linking files to %s\"\n    IDS_DRAG_EXECUTING          \"Running files with %s\"\n\n    IDS_ORDERB                  \"%s bytes\"\n    IDS_ORDERKB                 \"%sKB\"\n    IDS_ORDERMB                 \"%sMB\"\n    IDS_ORDERGB                 \"%sGB\"\n    IDS_ORDERTB                 \"%sTB\"\n\n    IDS_VN_COMMENTS             \"Comments\"\n    IDS_VN_COMPANYNAME          \"Company Name\"\n    IDS_VN_FILEDESCRIPTION      \"File Description\"\n    IDS_VN_INTERNALNAME         \"Internal Name\"\n    IDS_VN_LEGALTRADEMARKS      \"Legal Trademarks\"\n    IDS_VN_ORIGINALFILENAME     \"Original Filename\"\n    IDS_VN_PRIVATEBUILD         \"Private Build Description\"\n    IDS_VN_PRODUCTNAME          \"Product Name\"\n    IDS_VN_PRODUCTVERSION       \"Product Version\"\n    IDS_VN_SPECIALBUILD         \"Special Build Description\"\n\n    IDS_VN_LANGUAGE             \"Language\"\n    IDS_VN_LANGUAGES            \"Languages\"\n\n    IDS_ASSOCIATE               \"Browse\"\n    IDS_RUN                     \"Run\"\n    IDS_WINHELPERR              \"Unable to show Help information.\"\n    IDS_NOEXEASSOC              \"Files with the extension %s are programs and cannot be associated with another application.\"\n    IDS_ASSOCNOTEXE             \"%s is not a program and cannot be associated with a file extension.\"\n    IDS_ASSOCNONE               \"(None)\"\n    IDS_NOFILES                 \"No files found.\"\n    IDS_NOACCESSDIR             \"You do not have permission to access this directory.\"\n    IDS_NOACCESSFILE            \"You do not have permission to access this file.\"\n\n    IDS_DRIVEBUSY_COPY          \"Drive %c: is busy and cannot be accessed.\\nFile Manager is performing a disk copy.\"\n    IDS_DRIVEBUSY_FORMAT        \"Drive %c: is busy and cannot be accessed.\\nFile Manager is formatting this disk.\"\n\n    IDS_COPYMOVENOTCOMPLETED    \"Operation not fully completed\"\n    IDS_DIRREMAINS              \"Unable to finish operation on all files and directories.\"\n\n    IDS_TOOMANYWINDOWS          \"Too many directory windows are open.\\n\\nClose one or more windows, and then try again.\"\n    IDS_FMIFSLOADERR            \"Unable to load a library required for this operation.\"\n\n    IDS_NOSUCHDIRTITLE          \"Cannot read directory\"\n    IDS_NOSUCHDIR               \"Directory does not exist.\"\n\n    IDS_BADNETNAMETITLE         \"Cannot connect network drive\"\n    IDS_BADNETNAME              \"The network name cannot be found.\"\n\n    IDS_ALLFILES                \"'Yes to all' affects all files, including system, hidden, read-only.\"\n\n    IDS_ASSOC_OPEN              \"Open\"\n    IDS_ASSOC_PRINT             \"Print\"\n\n    IDS_ADDEXTTITLE             \"Add Extension\"\n    IDS_ADDEXTTEXT              \"The extension '%s' is currently associated with '%s.'  Continue and overwrite this association?\"\n\n    IDS_EXTTITLE                \"File Association Editor\"\n\n    IDS_EXTADDERROR             \"Unable to associate extension.  \"\n    IDS_EXTDELERROR             \"Unable to delete extension.  \"\n    IDS_FILETYPEADDERROR        \"Unable to add File Type.  \"\n    IDS_FILETYPEDELERROR        \"Unable to delete File Type.  \"\n    IDS_FILETYPEREADERROR       \"Unable to read File Type.  \"\n\n    IDS_FILETYPENULLDESCERROR   \"The File Type description cannot be empty.  Please type in a new File Type.\"\n    IDS_FILETYPEDUPDESCERROR    \"Unable to generate unique identifier based on your File Type.  Please type in a new File Type.\"\n\n    IDS_FILETYPEDELCONFIRMTITLE \"Delete File Type\"\n    IDS_FILETYPEDELCONFIRMTEXT  \"This will delete the File Type and all associated extensions.  Are you sure you want to delete '%s'?\"\n#ifdef ASSOC\n    IDS_FILETYPEDELCONFIRMUSERTEXT \"You are deleting a Personal File Type.  It will revert to the Common File Type, and all of its extensions will remain intact.  Are you sure you want to revert '%s'?\"\n    IDS_FILETYPEUSERIZETEXT     \"You are customizing a Common File Type.  File Manager save your changes in a Personalized File Type.  Continue?\"\n#endif\n    IDS_FILETYPECOMMANDNULLTEXT \"The File Type must have a command for at least one of its Actions.  Please type in an application in the command field.\"\n\n    IDS_NEWFILETYPETITLE        \"New File Type\"\n    IDS_COPYINGDISKTITLE        \"Copying Disk\"\n    IDS_SEARCHING               \"Searching...\"\n\nJAPANBEGIN\n    IDS_WRNNOSHIFTJIS           \"このフォントを使用すると漢字の表示が\\nできなくなります。\"\nJAPANEND\n\n    IDS_INITUPDATEFAIL          \"Unable to initialize background update support.  File Manager will exit.  \"\n    IDS_INITUPDATEFAILTITLE     \"File Manager Initialization\"\n\n    IDS_COMPRESSDIR             \"Do you want to Compress all of the files and sub-directories in %s also?\"\n    IDS_UNCOMPRESSDIR           \"Do you want to Uncompress all of the files and sub-directories in %s also?\"\n    IDS_COMPRESS_ATTRIB_ERR     \"File Manager cannot change compress attributes for %s.\"\n    IDS_NTLDRCOMPRESSERR        \"The file %s will not be compressed.  Compressing this file may render your system unbootable.\"\n    IDS_MULTICOMPRESSERR        \"File Manager is currently in the process of compressing/uncompressing files.\\nYou must wait until this is complete before attempting to compress/uncompress additional files.\"\n\n    IDS_EDITFILTER              \"Programs (*.exe)\\0*.exe\\0\"\n\nEND\n#undef SUGGEST\n\n/* Help strings for the popup menus.\n */\nSTRINGTABLE\nBEGIN\n    MH_POPUP+IDM_FILE,          \"Commands for working with files\"\n    MH_POPUP+IDM_DISK,          \"Commands for working with disks\"\n    MH_POPUP+IDM_TREE,          \"Commands for working in the tree window\"\n    MH_POPUP+IDM_VIEW,          \"Commands for determining how information is displayed\"\n    MH_POPUP+IDM_OPTIONS,       \"Commands for setting options\"\n    MH_POPUP+IDM_SECURITY,      \"Commands for manipulating file and directory security\"\n    MH_POPUP+IDM_WINDOW,        \"Commands for arranging windows\"\n    MH_POPUP+IDM_HELP,          \"Commands for displaying File Manager Help\"\nEND\n\n\n// Help strings for the \"standard\" toolbar items.\n\nSTRINGTABLE\nBEGIN\n    MH_MYITEMS+IDM_OPEN,        \"Opens selected item\"\n    MH_MYITEMS+IDM_EDIT,        \"Edits selected item using notepad.exe\"\n    MH_MYITEMS+IDM_MOVE,        \"Moves selected item\"\n    MH_MYITEMS+IDM_COPY,        \"Copies files and directories\"\n    MH_MYITEMS+IDM_COPYTOCLIPBOARD, \"Copies one or more files to the clipboard\"\n    MH_MYITEMS+IDM_CUTTOCLIPBOARD, \"Cuts one or more files to the clipboard\"\n    MH_MYITEMS+IDM_PASTE,       \"Paste file from clipboard to current directory\"\n    MH_MYITEMS+IDM_COMPRESS,    \"Compresses a file or directory\"\n    MH_MYITEMS+IDM_UNCOMPRESS,  \"Uncompresses a file or directory\"\n    MH_MYITEMS+IDM_DELETE,      \"Deletes files and directories\"\n    MH_MYITEMS+IDM_RENAME,      \"Renames a file or directory\"\n    MH_MYITEMS+IDM_ATTRIBS,     \"Sets file attributes and displays properties\"\n    MH_MYITEMS+IDM_RUN,         \"Starts or opens an application or document\"\n    MH_MYITEMS+IDM_PRINT,       \"Prints a document\"\n    MH_MYITEMS+IDM_ASSOCIATE,   \"Associates a file with an application\"\n    MH_MYITEMS+IDM_MAKEDIR,     \"Creates a directory\"\n    MH_MYITEMS+IDM_SEARCH,      \"Searches for files and directories\"\n    MH_MYITEMS+IDM_SELECT,      \"Selects files and directories\"\n    MH_MYITEMS+IDM_EXIT,        \"Quits File Manager\"\n\n    MH_MYITEMS+IDM_DISKCOPY,    \"Copies the contents of a floppy disk\"\n    MH_MYITEMS+IDM_LABEL,       \"Assigns or changes a disk's volume label\"\n    MH_MYITEMS+IDM_FORMAT,      \"Formats a drive\"\n//    MH_MYITEMS+IDM_SYSDISK,     \"Copies MS-DOS files to a floppy disk\"\n    MH_MYITEMS+IDM_CONNECT,     \"Connects to a network drive\"\n    MH_MYITEMS+IDM_DISCONNECT,  \"Disconnects from a network drive\"\n//    MH_MYITEMS+IDM_CONNECTIONS,       \"Network Connections...\"\n//    MH_MYITEMS+IDM_SHARES,    \"View Shared Directories...\"\n    MH_MYITEMS+IDM_SHAREAS,     \"Shares a directory\"\n    MH_MYITEMS+IDM_STOPSHARE,   \"Stops sharing a directory\"\n\n    MH_MYITEMS+IDM_DRIVESMORE,  \"Selects a different drive\"\n\n    MH_MYITEMS+IDM_EXPONE,      \"Displays another level of a directory\"\n    MH_MYITEMS+IDM_EXPSUB,      \"Displays all levels of a directory\"\n    MH_MYITEMS+IDM_EXPALL,      \"Displays all levels of all directories\"\n    MH_MYITEMS+IDM_COLLAPSE,    \"Collapses all directories of a selected directory\"\n    MH_MYITEMS+IDM_ADDPLUSES,   \"Indicates directories that have subdirectories\"\n\n    MH_MYITEMS+IDM_BOTH,        \"Displays the directory tree and the contents of the current directory\"\n    MH_MYITEMS+IDM_TREEONLY,    \"Displays the directory tree\"\n    MH_MYITEMS+IDM_DIRONLY,     \"Displays the contents of the current directory\"\n    MH_MYITEMS+IDM_SPLIT,       \"Splits a directory window or moves the split bar\"\n    MH_MYITEMS+IDM_VNAME,       \"Shows filenames only\"\n    MH_MYITEMS+IDM_VDETAILS,    \"Shows all file details\"\n    MH_MYITEMS+IDM_VOTHER,      \"Shows partial file details\"\n    MH_MYITEMS+IDM_BYNAME,      \"Sorts files by name\"\n    MH_MYITEMS+IDM_BYTYPE,      \"Sorts files by type\"\n    MH_MYITEMS+IDM_BYSIZE,      \"Sorts files by size\"\n    MH_MYITEMS+IDM_BYDATE,      \"Sorts files by date\"\n    MH_MYITEMS+IDM_BYFDATE,     \"Sorts files by forward date\"\n    MH_MYITEMS+IDM_VINCLUDE,    \"Shows files of a specified type\"\n\n    MH_MYITEMS+IDM_CONFIRM,     \"Controls confirmation messages\"\n    MH_MYITEMS+IDM_FONT,        \"Changes the File Manager font\"\n\n    MH_MYITEMS+IDM_TOOLBARCUST, \"Customizes the toolbar\"\n    MH_MYITEMS+IDM_TOOLBAR,     \"Displays or hides the toolbar\"\n    MH_MYITEMS+IDM_DRIVEBAR,    \"Displays or hides the drivebar\"\n    MH_MYITEMS+IDM_STATUSBAR,   \"Displays or hides the status bar\"\n    MH_MYITEMS+IDM_NEWWINONCONNECT,     \"Opens a new window when you connect\"\n\n    MH_MYITEMS+IDM_MINONRUN,    \"Reduces File Manager to an icon at startup\"\n    MH_MYITEMS + IDM_INDEXONLAUNCH, \"Creates an index for Goto Directory when File Manager launches\"\n    MH_MYITEMS+IDM_SAVESETTINGS,        \"Saves settings when you quit File Manager\"\n\n    MH_MYITEMS+IDM_NEWWINDOW,   \"Opens a new window\"\n    MH_MYITEMS+IDM_CASCADE,     \"Cascades windows\"\n    MH_MYITEMS+IDM_TILEHORIZONTALLY,    \"Tiles windows horizontally\"\n    MH_MYITEMS+IDM_TILE,        \"Tiles windows vertically\"\n    MH_MYITEMS+IDM_ARRANGE,     \"Arranges icons\"\n    MH_MYITEMS+IDM_REFRESH,     \"Updates the contents of a window\"\n\n    MH_MYITEMS+IDM_PERMISSIONS  \"View or set permission information on the selected item(s)\"\n    MH_MYITEMS+IDM_AUDITING     \"View or set auditing information on the selected item(s)\"\n    MH_MYITEMS+IDM_OWNER        \"View or take ownership of the selected item(s)\"\n\n    MH_MYITEMS+IDM_HELPINDEX,   \"Displays contents for File Manager Help\"\n    MH_MYITEMS+IDM_HELPKEYS,    \"Searches for a topic in File Manager Help\"\n    MH_MYITEMS+IDM_HELPHELP,    \"Displays information about using Help\"\n    MH_MYITEMS+IDM_ABOUT,       \"Displays information about File Manager\"\nEND\n\n\n// Strings for menu items that may be added at init time.\n\nSTRINGTABLE\nBEGIN\n    IDS_CONNECT,                \"Connect &Network Drive...\"\n    IDS_DISCONNECT,             \"&Disconnect Network Drive...\"\n    IDS_CONNECTIONS,            \"&Network Connections...\"\n    IDS_SHAREDDIR               \"S&hared Directories...\"\n    IDS_SHAREAS,                \"Share &As...\"\n    IDS_STOPSHARE,              \"S&top Sharing...\"\n    IDS_SHARES,                 \"View S&hared Directories...\"\n    IDS_NEWWINONCONNECT,        \"&Open New Window on Connect\"\nEND\n\n#include \"winfile_en-US.dlg\"\n\n"
  },
  {
    "path": "src/lang/res_he-IL.rc",
    "content": "/********************************************************************\n\n   res_he-IL.rc\n\n   Copyright (c) Microsoft Corporation. All rights reserved.\n   Licensed under the MIT License.\n\n********************************************************************/\n\nLANGUAGE LANG_HEBREW, SUBLANG_HEBREW_ISRAEL\n\nFRAMEMENU MENU\nBEGIN\n    POPUP       \"&קובץ\"\n    BEGIN\n    MENUITEM    \"&פתח\\tEnter\",     IDM_OPEN\n    MENUITEM    \"ערוך\\tF12\",        IDM_EDIT\n    MENUITEM    \"העברה...\\tF7\",     IDM_MOVE\n    MENUITEM    \"ה&עתקה...\\tF8\",     IDM_COPY\n    MENUITEM    \"קישור סימלי...\\tF11\", IDM_SYMLINK\n    MENUITEM    \"קישור קשה...\\tShift+F11\", IDM_HARDLINK\n    MENUITEM    \"העתקה ללוח העתקה\\tCtrl+C\", IDM_COPYTOCLIPBOARD\n    MENUITEM    \"גזירה ללוח העתקה\\tCtrl+X\", IDM_CUTTOCLIPBOARD\n    MENUITEM    \"&הדבק\\tCtrl+V\",    IDM_PASTE\n    MENUITEM    \"&מחיקה...\\tDel\",  IDM_DELETE\n    MENUITEM    \"שינוי שם...\\tF2\",   IDM_RENAME\n    MENUITEM    \"מאפיינים...\\tAlt+Enter\",IDM_ATTRIBS\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&דחיסה...\",     IDM_COMPRESS\n    MENUITEM    \"&חילוץ...\",   IDM_UNCOMPRESS\n    MENUITEM    SEPARATOR\n    MENUITEM    \"הפעלה...\",          IDM_RUN\n    MENUITEM    \"&הדפסה...\",        IDM_PRINT\n    MENUITEM    \"&שיוך...\",    IDM_ASSOCIATE\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&יצירת תיקיה...\\tCtrl+Shift+N\", IDM_MAKEDIR\n    MENUITEM    \"&חיפוש...\\tCtrl+F\",       IDM_SEARCH\n    MENUITEM    \"&בחירת קבצים...\", IDM_SELECT\n    POPUP       \"הפעלת (&.)\"\n    BEGIN\n    MENUITEM    \"הפעלת &Bash Shell...\\tCtrl+B\", IDM_STARTBASHSHELL\n    MENUITEM    \"הפעלת &Cmd Shell...\\tCtrl+K\", IDM_STARTCMDSHELL\n    MENUITEM    \"הפעלת &PowerShell...\\tCtrl+P\", IDM_STARTPOWERSHELL\n    MENUITEM    \"הפעלת &Explorer...\\tCtrl+E\", IDM_STARTEXPLORER\n    END\n    MENUITEM    \"עבור לתיקיה...\\tCtrl+G\", IDM_GOTODIR\n    MENUITEM    SEPARATOR\n    MENUITEM    \"י&ציאה\",            IDM_EXIT\n    END\n    POPUP       \"&דיסק\"\n    BEGIN\n    MENUITEM    \"ה&עתקת דיסק...\",    IDM_DISKCOPY\n    MENUITEM    \"&תווית דיסק...\",   IDM_LABEL\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&איתחול כונן...\",  IDM_FORMAT\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&בחירת כונן...\", IDM_DRIVESMORE\n    END\n    POPUP       \"&עץ\"\n    BEGIN\n    MENUITEM    \"הרחב &רמה אחת\\t+\", IDM_EXPONE\n    MENUITEM    \"הר&חב ענף\\t*\",    IDM_EXPSUB\n    MENUITEM    \"הרחב &הכל\\tCtrl+*\",  IDM_EXPALL\n    MENUITEM    \"כוו&ץ ענף\\t-\",  IDM_COLLAPSE\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&סמן ענפים הניתנים להרחבה\",    IDM_ADDPLUSES\n    END\n    POPUP       \"&תצוגה\"\n    BEGIN\n    MENUITEM    \"&עץ וספריה\",  IDM_BOTH\n    MENUITEM    \"עץ &בלבד\",           IDM_TREEONLY\n    MENUITEM    \"&ספריה בלבד\",      IDM_DIRONLY\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&פצל\",               IDM_SPLIT\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&שם\",                IDM_VNAME\n    MENUITEM    \"&כל נתוני הקובץ\",    IDM_VDETAILS,   CHECKED\n    MENUITEM    \"&נתונים חלקיים...\",  IDM_VOTHER\n    MENUITEM    SEPARATOR\n    MENUITEM    \"מיין לפי ש&ם\",   IDM_BYNAME\n    MENUITEM    \"מיין לפי ס&וג\",   IDM_BYTYPE\n    MENUITEM    \"מיין לפי גוד&ל\",   IDM_BYSIZE\n    MENUITEM    \"מיין לפי תארי&ך\",   IDM_BYDATE\n    MENUITEM    \"מיון לפי תאריך ה&עברה\",   IDM_BYFDATE\n    MENUITEM    SEPARATOR\n    MENUITEM    \"לפי סוג &קובץ...\",     IDM_VINCLUDE\n    END\n    POPUP       \"&אפשרויות\"\n    BEGIN\n    MENUITEM    \"א&ישור...\",     IDM_CONFIRM\n    MENUITEM    \"&גופן...\",             IDM_FONT\n    MENUITEM    \"סרגל כלים...\", IDM_TOOLBARCUST\n    MENUITEM    \"ה&עדפות נוספות...\", IDM_PREF\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&סרגל כלים\",                 IDM_TOOLBAR\n    MENUITEM    \"שורת &כוננים\",                IDM_DRIVEBAR\n    MENUITEM    \"שורת מ&צב\",              IDM_STATUSBAR\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&מזער בעת הפעלה\",     IDM_MINONRUN\n    MENUITEM    \"צור מפתח Goto בעת ההפעלה\", IDM_INDEXONLAUNCH\n    MENUITEM    \"&שמור הגדרות ביציאה\",   IDM_SAVESETTINGS\n    MENUITEM    SEPARATOR\n    MENUITEM    \"שמירת הגדרות &עכשיו\",       IDM_SAVENOW\n    END\n    POPUP       \"&אבטחה\"\n    BEGIN\n    MENUITEM    \"&הרשאות...\",  IDM_PERMISSIONS\n    MENUITEM    \"&ביקורת...\",     IDM_AUDITING\n    MENUITEM    \"&בעלות...\",        IDM_OWNER\n    END\n    POPUP       \"&חלון\"\n    BEGIN\n    MENUITEM    \"ח&לון חדש\\tCtrl+Shift Enter\",          IDM_NEWWINDOW\n    MENUITEM    \"&מדורג\\tShift+F5\",   IDM_CASCADE\n    MENUITEM    \"פרוש &אופקית\",   IDM_TILEHORIZONTALLY\n    MENUITEM    \"&פרוש אנכית\\tShift+F4\",      IDM_TILE\n    MENUITEM    \"&סדר סמלים\",       IDM_ARRANGE\n    MENUITEM    \"&רענון\\tF5\",         IDM_REFRESH\n    END\n    POPUP       \"ע&זרה\"\n    BEGIN\n    MENUITEM    \"&תוכן\",                IDM_HELPINDEX\n    MENUITEM    \"&חיפוש עזרה לגבי...\",   IDM_HELPKEYS\n    MENUITEM    \"&כיצד להשתמש בעזרה\",         IDM_HELPHELP\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&אודות מנהל הקבצים...\",   IDM_ABOUT\n    END\n\nEND\n\nCTXMENU MENU\nBEGIN\n    POPUP \"Dummy Popup\"\n    BEGIN\n    MENUITEM    \"&חלון חדש\\tCtrl+Shift Enter\",     IDM_NEWWINDOW\n    MENUITEM    \"&פתח\\tEnter\",     IDM_OPEN\n    MENUITEM    \"ערוך\\tF12\",        IDM_EDIT\n    MENUITEM    \"העברה...\\tF7\",     IDM_MOVE\n    MENUITEM    \"ה&עתקה...\\tF8\",     IDM_COPY\n    MENUITEM    \"קישור סימלי...\\tF11\",   IDM_SYMLINK\n    MENUITEM    \"קישור קשה...\\tShift+F11\", IDM_HARDLINK\n    MENUITEM    \"העתקה ללוח העתקה\\tCtrl+C\", IDM_COPYTOCLIPBOARD\n    MENUITEM    \"גזירה ללוח העתקה\\tCtrl+X\", IDM_CUTTOCLIPBOARD\n    MENUITEM    \"&הדבק\\tCtrl+V\", IDM_PASTE\n    MENUITEM    \"&מחיקה...\\tDel\",  IDM_DELETE\n    MENUITEM    \"שינוי שם...\\tF2\",   IDM_RENAME\n    MENUITEM    \"מאפיינים...\\tAlt+Enter\",IDM_ATTRIBS\n    MENUITEM    \"הפעלה...\",          IDM_RUN\n    MENUITEM    \"הפעלת Bash Shell...\", IDM_STARTBASHSHELL\n    MENUITEM    \"הפעלת Cmd She&ll...\", IDM_STARTCMDSHELL\n    MENUITEM    \"הפעלת Po&werShell...\", IDM_STARTPOWERSHELL\n    MENUITEM    \"הפעלת E&xplorer...\", IDM_STARTEXPLORER\n    MENUITEM    \"&עבור לתיקיה...\", IDM_GOTODIR\n    END\nEND\n\n\n#define SUGGEST(id,err,flags,str) id+IDS_SUGGESTBEGIN str\n/*              0....5....1....56...2....5....3.2..5....4....5....5....6....5....7....5....8....5....9....5....0....5....1....5....2....5..8 */\nSTRINGTABLE\nBEGIN\n//    IDS_ENDSESSION          \"יציאת מחלונות\"\n//    IDS_ENDSESSIONMSG       \"פעולה זאת תסגור את פעילות החלונות שלך.\"\n\n    IDS_COPYDISK            \"העתקת תוכן של דיסק/תקליטון\"                     /* 32 */\n    IDS_INSERTDEST          \"הכנס דיסק יעד.\"                                                                                                 /* 128 */\n    IDS_INSERTSRC           \"הכנס דיסק מקור.\"                                                                                                      /* 128 */\n    IDS_INSERTSRCDEST       \"הכנס דיסקי מקור ויעד.\"                                                                                     /* 128 */\n    IDS_FORMATTINGDEST      \"מאתחל דיסק יעד\"                                                                                             /* 128 */\n\n    IDS_COPYDISKERR         \"שגיאת העתקת דיסק\"               /* 32 */\n    IDS_COPYDISKERRMSG      \"לא ניתן לעתיק דיסק.\"                                                                                                     /* 128 */\n    IDS_COPYSRCDESTINCOMPAT \"דיסקי מקור ויעד לא תואמים.\"                                                                          /* 128 */\n\n    IDS_PERCENTCOMP         \"%d%% הושלם\"                /* 32 */\n    IDS_CREATEROOT          \"יוצר תיקיית בסיס...\"       /* 32 */\n    IDS_COPYSYSFILES        \"מעתיק קבצי מערכת...\"          /* 32 */\n    IDS_FORMATERR           \"שגיאת אתחול דיסק\"             /* 32 */\n    IDS_FORMATQUICKFAILURE  \"מנהל הקבצים לא יכול לבצע אתחול מהיר.\\n\\nלהמשיך עם אתחול רגיל?\"\n//    IDS_FORMATERRMSG        \"לא ניתן לאתחל דיסק.\"\n//    IDS_FORMATCURERR      \"לא ניתן לאתחל את הכונן הנוכחי.\"\n    IDS_FORMATCOMPLETE      \"אתחול הושלם\"               /* 32 */\n    IDS_FORMATANOTHER       \"שטח דיסק כולל:%ld בתים\\n%ld בתים זמינים בדיסק\\n\\nהאם ברצונך לאתחל דיסק נוסף?\"                           /* 128 */\n\n//    IDS_SYSDISK             \"יצירת דיסק מערכת\"\n//    IDS_SYSDISKRUSURE       \"Are you sure you want to copy system files onto the disk in drive %c?\"\n//    IDS_SYSDISKERR          \"שגיאת דיסק מערכת\"\n//    IDS_SYSDISKNOFILES      \"The MS-DOS startup drive does not contain system files or is not available.\"\n//    IDS_SYSDISKSAMEDRIVE    \"Cannot copy system files to the MS-DOS startup drive.\"\n//    IDS_SYSDISKADDERR       \"Cannot add system files to this disk.\\n\\nMake sure a formatted disk is present in the drive and that the drive door is closed.\"\n\n    IDS_NETERR              \"שגיאת רשת\"                 /* 32 */\n    IDS_NETDISCONWINERR     \"כונן זה מכיל את קבצי המערכת של Windows ולא ניתן לנתק אותו.\"                                                 /* 128 */\n    IDS_NETDISCONOPEN       \"מנהל הקבצים לא יכול לנתק את כונן הרשת.\\n\\nיש קבצים פתוחים על הכונן.\"\n\n    IDS_ATTRIBERR           \"מנהל הקבצים אינו יכול לשנות ערכים.\"\n    IDS_MAKEDIRERR          \"מנהל הקבצים אינו יכול ליצור תיקיה.\"\n\n    IDS_LABELDISKERR        \"מנהל הקבצים לא יכל ליצור תווית לדיסק.\\n\\nנא לוודא שהדיסק אינו מוגן מכתיבה, לא כונן רשת ושהתווית תקינה.\\\n                             תווית אינה יכול להכיל את התווים הבאים:\\n[רווח] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n\n    IDS_SEARCHNOMATCHES     \"לא נמצאו קבצים מתאימים.\"\n    IDS_SEARCHREFRESH       \"התוכן של הכונן השתנה. האם לנסות את החיפוש מחדש?\"\n    IDS_LABELACCESSDENIED   \"המשתמש הנוכחי חייב להיות מחובר לעמדה זו בתור מנהל מערכת על מנת לבצע פעולה זו על הכוננים הקשיחים.\"\n\n    IDS_DRIVETEMP           \"כונן %c:%c\"\n\n    IDS_EXECERRTITLE,       \"לא ניתן להריץ תכנית\"\n    IDS_PRINTERRTITLE,      \"לא ניתן להדפיס קובץ\"\n\n    IDS_UNKNOWNMSG,         \"שגיאה לא צפויה: %d.\"\n    IDS_NOMEMORYMSG,        \"אין מספיק זיכרון בשביל להפעיל את התכנית.\\n\\nסגור תכנית אחת או יותר, ונסה שוב.\"                   /* 128 */\n    IDS_FILENOTFOUNDMSG,    \"מנהל הקבצים לא יכול למצוא את הקובץ (או את אחד מרכיביו).\\n\\nנא לוודא שהנתיב ושם הקובץ נכונים ושכל הספריות הנדרשות זמינות.\"\n    IDS_BADPATHMSG,         \"הנתיב המצוין אינו תקין.\"                                                                                           /* 128 */\n//    IDS_MANYOPENFILESMSG,   \"Too many files are currently in use.\\n\\nQuit one or more applications or increase the value of the FILES command in CONFIG.SYS, and then try again.\"                                    /* 128 */\n    IDS_NOASSOCMSG,         \"אין תכנית שמשוייכת עם סוג הקובץ הזה.\\n\\nבחר \"\"שיוך\"\" מתפריט קובץ כדי ליצור שיוך.\"       /* 128 */\n    IDS_ASSOCINCOMPLETE,    \"מנהל הקבצים אינו יכול לפתוח או להדפיס את הקובץ.\\n\\nהפעל את התכנית שיצרה את הקובץ ופתח או הדפס אותו משם.\"\n//    IDS_MULTIPLEDSMSG,      \"Cannot start more than one copy of the specified program.\"                                                                /* 128 */\n//    IDS_OS2APPMSG           \"The specified application is not a Windows or MS-DOS program.\"                                                            /* 128 */\n//    IDS_NEWWINDOWSMSG       \"This application requires a newer version of Microsoft Windows.\"                                                          /* 128 */\n//    IDS_PMODEONLYMSG        \"This application requires Windows.\"                                                             /* 128 */\n    IDS_DDEFAIL             \"שגיאה התרחשה בשליחת הפקודה לתכנית.\"                                                                /* 128 */\n//    IDS_COMPRESSEDEXE       \"This program or one of its components is compressed.\\n\\nUse the MS-DOS expand utility to copy the file from the setup disks.\"\n    IDS_INVALIDDLL          \"אחד מקבצי הספריות שנדרשות להפעלת תכנית זו לא תקין. יש להתקין את התכנית מחדש.\"\n    IDS_SHAREERROR          \"הקובץ בשימוש אצל תכנית אחרת.\"\n\n    IDS_CREATELONGDIR       \"יכול להיות שמנהל הקבצים לא יוכל לגשת לקבצים שנוצרו בתיקיה '%s.'\\n\\nהאם להמשיך?\"\n    IDS_CREATELONGDIRTITLE  \"יצירת תיקיה\"\n\n    IDS_MOUSECONFIRM,       \"אישור פעולת עכבר\"       /* 32 */\n    IDS_COPYMOUSECONFIRM,   \"האם אתה בטוח להעתיק את הקבצים או התיקיות הנבחרים ל%s?\"\n    IDS_MOVEMOUSECONFIRM,   \"האם אתה בטוח להעביר את הקבצים או התיקיות הנבחרים ל%s?\"\n    IDS_LINKMOUSECONFIRM,   \"האם אתה בטוח שברצונך לקשר את הקבצים או הספריות שנבחרו אל %s?\"\n    IDS_EXECMOUSECONFIRM,   \"הם אתה בטוח להפעיל %s באמצעות %s בתור הקובץ ההתחלתי?\"                                                   /* 128 */\n\n    IDS_WINFILE,            \"מנהל הקבצים\"                  /* 32 */\n    IDS_TREETITLE,          \"עץ תיקיות\"                /* 32 */\n    IDS_SEARCHTITLE,        \"תוצאות חיפוש: \"              /* 32 */\n\n    IDS_READING             \"קורא תיקיה, נא להמתין...\"\n    IDS_TOOMANYTITLE,       \"יותר מידי קבצים\"                /* 32 */\n    IDS_OOMTITLE,           \"מנהל הקבצים - נגמר זיכרון\"  /* 32 */\n    IDS_OOMREADINGDIRMSG,   \"לא היה ניתן לקרוא את התיקיה בשלמותה.  רק רישום חלקי יוצג.\"                                              /* 128 */\n\n//    IDS_PRINTFNF            \"לא ניתן למצוא את הקובץ להדפסה. נא לוודא שהנתיב ושם קובץ נכונים.\"\n    IDS_PRINTMEMORY         \"אין מספיק זיכרון כדי להדפיס.\\n\\nסגור מתכנית אחת או יותר, ונסה שוב.\"                                      /* 128 */\n    IDS_PRINTDISK           \"אין מספיק שטח דיסק כדי להדפיס.\\n\\nמחק קובץ אחד או יותר כדי להגדיל שטח דיסק פנוי ונסה שוב.\"             /* 128 */\n    IDS_PRINTERROR          \"התרחשה שגיאה בזמן ההדפסה.\\n\\nנא לוודא שהמדפסת מוגדרת כפי שצריך ושבחרת אותה.\"                            /* 128 */\n    IDS_PRINTONLYONE        \"מנהל הקבצים אינו יכול להדפיס קבצים מרובים.\\n\\nבחר קובץ אחד בלבד ונסה שוב.\"                             /* 128 */\n\n    IDS_CURDIRIS,           \"תיקיה נוכחית: %s\"                                                                                       /* 128 */\n    IDS_CURDIRSARE,         \"Other: \"\n    IDS_COPY,               \"העתקה\"                                                                                                  /* 32 */\n    IDS_RENAME,             \"שינוי שם\"                                                                                               /* 32 */\n    IDS_FORMAT,             \"אתחול דיסק/תקליטון\"                                                                                     /* 32 */\n    IDS_FORMATSELDISK,      \"בחר את הדיסק לאתחול.\"                                                                                   /* 128 */\n    IDS_SYMLINK,            \"קישור סימלי\"\n    IDS_HARDLINK,           \"קישור קשה\"\n\n    IDS_KK_COPYFROMSTR,     \"&מקור:\"\n    IDS_KK_COPYTOSTR,       \"&יעד:\"\n    IDS_KK_RENAMEFROMSTR,   \"&מקור:\"\n    IDS_KK_RENAMETOSTR,     \"&יעד:\"\n    IDS_KK_HARDLINKFROMSTR, \"&מקור:\"\n    IDS_KK_HARDLINKTOSTR,   \"&יעד:\"\n    IDS_KK_SYMLINKFROMSTR,  \"&מקור:\"\n    IDS_KK_SYMLINKTOSTR,    \"&יעד:\"\n\n//    IDS_MAKESYSDISK,      \"יצירת דיסק מערכת\"\n\n    IDS_CREATINGMSG,        \"יוצר:\"                     /* 32 */\n    IDS_REMOVINGDIRMSG,     \"מסיר:\"                     /* 32 */\n    IDS_REMOVINGMSG,        \"מסיר...\"                   /* 32 */\n    IDS_COPYINGMSG,         \"מעתיק:\"                      /* 32 */\n    IDS_OPENINGMSG,         \"פותח...\"                    /* 32 */\n    IDS_CLOSINGMSG,         \"סוגר...\"                    /* 32 */\n    IDS_RENAMINGMSG,        \"משנה שם...\"                   /* 32 */\n    IDS_MOVINGMSG,          \"מעביר...\"                     /* 32 */\n    IDS_DELETINGMSG,        \"מוחק...\"                   /* 32 */\n    IDS_PRINTINGMSG,        \"מדפיס: %s\"                  /* 32 */\n\n//    IDS_NOSUCHDRIVE,        \"כונן %c אינו קיים\"                                                        /* 128 */\n    IDS_DRIVENOTREADY,      \"אין דיסק בכונן %c.\\n\\nהכנס דיסק, ונסה שוב.\"\n    IDS_UNFORMATTED,        \"הדיסק בכונן %c אינו מאותחל.\\n\\nהאם ברצונך לאתחל אותו עכשיו?\"\n\n    IDS_STATUSMSG,          \"סך הכל %d קבצים (%s)\"             /* 128 */\n    IDS_STATUSMSG2,         \"%d קבצים נבחרו (%s)\"          /* 128 */\n    IDS_DRIVEFREE,          \"%c: %s פנוי,  %s סך הכל\"            /* 128 */\n    IDS_TREEABORT,          \"עץ התיקיות לא מוצג במלואו\"     /* 128 */\n    IDS_DIRSREAD,           \"תיקיות נקראו: %d \"                   /* 32 */\n    IDS_SEARCHMSG,          \"%d קבצים נמצאו\"\n    IDS_BYTES,              \"%ld בתים\"\n    IDS_SBYTES,             \"%s בתים\"\n\n    IDS_SELECTEDFILES,      \"הקבצים הנבחרים\"            /* 32 */\n\n    /* These strings are used for generating error messages\n     * from the Copy, Move, and Delete code. */\n\n    IDS_COPYERROR + FUNC_COPY   \"שגיאה בהעתקת קובץ\"\n    IDS_COPYERROR + FUNC_MOVE   \"שגיאה בהעברת קובץ\"\n    IDS_COPYERROR + FUNC_DELETE \"שגיאה במחיקת קובץ\"\n    IDS_COPYERROR + FUNC_RENAME \"שגיאה בשינוי שם קובץ\"\n    IDS_COPYERROR + FUNC_SETDRIVE \"שגיאה בבחירת כונן\"\n    IDS_COPYERROR + FUNC_EXPAND   \"שגיאה בקריאת תיקיה\"\n    IDS_COPYERROR + FUNC_LABEL    \"שגיאה בכתיבת תווית לכונן\"\n    IDS_COPYERROR + FUNC_LINK        \"שגיאה ביצירת קישור סמלי\"\n    IDS_COPYERROR + FUNC_HARD        \"שגיאה ביצירת קישור קשיח\"\n    IDS_COPYERROR + FUNC_JUNC        \"שגיאה ביצירת צומת\"\n\n    /* The first %s is replaced by a file name. The second %s is replaced\n     * by one of the \"reasons\" below. */\n\n    IDS_VERBS + FUNC_COPY       \"מנהל הקבצים אינו יכול להעתיק %s: %s\"\n    IDS_VERBS + FUNC_MOVE       \"מנהל הקבצים אינו יכול להעביר %s: %s\"\n    IDS_VERBS + FUNC_DELETE     \"מנהל הקבצים אינו יכול למחוק %s: %s\"\n    IDS_VERBS + FUNC_RENAME     \"מנהל הקבצים אינו יכול לשנות שם %s: %s\"\n    IDS_VERBS + FUNC_LINK       \"מנהל הקבצים לא יכול ליצור קישור סמלי %s: %s\"\n    IDS_VERBS + FUNC_HARD       \"מנהל הקבצים לא יכול ליצור קישור קשיח %s: %s\"\n    IDS_VERBS + FUNC_JUNC       \"מנהל הקבצים לא יכול ליצור צומת %s: %s\"\n    IDS_ACTIONS + 1             \"מנהל הקבצים אינו יכול ליצור תיקיה %s: %s\"\n    IDS_ACTIONS + 2             \"מנהל הקבצים אינו יכול להסיר תיקיה %s: %s\"\n    IDS_REPLACING               \"מנהל הקבצים אינו יכול ליצור או להחליף %s: %s\"\n    // IDS_CREATING             \"מנהל הקבצים אינו יכול ליצור %s: %s\"\n\n// include reason strings\n\n#include \"suggest_he-IL.db\"\n\n    IDS_DESTFULL                \"דיסק היעד מלא.  בבקשה הכנס דיסק נוסף כדי להמשיך.\"\n    IDS_WRITEPROTECTFILE        \"הקובץ הינו קובץ מערכת, מוחבא, או לקריאה בלבד.\"\n\n    IDS_COPYINGTITLE            \"מעתיק...\"\n\n    IDS_QUICKFORMATTINGTITLE    \"אתחול מהיר...\"\n\n    IDS_BUSYFORMATQUITVERIFY    \"מנהל הקבצים מאתחל כרגע דיסק. יציאה ממנהל הקבצים תגרום לביטול הפעולה.\"\n    IDS_BUSYCOPYQUITVERIFY      \"מנהל הקבצים מעתיק כרגע דיסק. יציאה ממנהל הקבצים תגרום לביטול הפעולה.\"\n    IDS_PERCENTCOMPLETE         \"אחוז השלמה\"\n\n    IDS_12MB                    \"1%s2 מ\"\"ב\"\n    IDS_360KB                   \"360K\"\n    IDS_144MB                   \"1%s44 מ\"\"ב\"\n    IDS_720KB                   \"720K\"\n    IDS_288MB                   \"2%s88 מ\"\"ב\"\n    IDS_2080MB                  \"20%s8 מ\"\"ב\"\n\n#if defined(JAPAN) && defined(i386)\n/* ADD KBNES. NEC MEDIATYPE START */\nJAPANBEGIN\n    IDS_125MB                   \"1%s25 מ\"\"ב\"\n    IDS_256KB                   \"256K\"\n    IDS_128MB                   \"128 מ\"\"ב\"\nJAPANEND\n/* ADD KBNES. NEC MEDIATYPE END */\n\n//\n// FMR jul.21.1994 JY\n// We added 640KB/1.23MB media types.\n//\nJAPANBEGIN\n    IDS_640KB                   \"640K\"\n    IDS_123MB                   \"1%s23 מ\"\"ב\"\nJAPANEND\n#endif\n\n    IDS_DEVICECAP               \"קיבולת כונן\"\n    IDS_QSUPMEDIA               \"מנהל הקבצים לא יכול להשיג מידע לגבי הדיסק.\\n\\nנא לוודא שיש דיסק בתוך הכונן.\"\n    IDS_REMOVEMED               \"סוג דיסק לא ידוע\"\n\n    IDS_CANTFORMATTITLE         \"סוג דיסק לא ידוע\"\n    IDS_CANTFORMAT              \"סוג הדיסק בכונן %s לא יכול להיות מאותחל באמצעות מנהל הקבצים. השתמש במנהל הדיסק כדי לאתחל דיסק זה.\"\n\n    IDS_FFERR_INCFS             \"מערכת קבצים לא מתאימה.\"\n    IDS_FFERR_ACCESSDENIED      \"גישה נדחתה.\"\n    IDS_FFERR_DISKWP            \"הדיסק מוגן מפני כתיבה.\"\n    IDS_FFERR_CANTLOCK          \"מנהל הקבצים לא יכול לנעול כונן.\"\n    IDS_FFERR_CANTQUICKF        \"מנהל הקבצים לא יכול לבצע אתחול מהיר בדיסק.\\n\\nנא לוודא שרמת הדחיסות של הדיסק מתאימה.\"\n    IDS_FFERR_SRCIOERR          \"שגיאת IO בדיסק המקור.\"\n    IDS_FFERR_DSTIOERR          \"שגיאת IO בדיסק היעד.\"\n    IDS_FFERR_SRCDSTIOERR       \"שגיאת IO בדיסק המקור ובדיסק היעד.\"\n    IDS_FFERR_GENIOERR          \"שגיאת IO התרחשה.\"\n//    IDS_FFERR_MEDIASENSE      \"This disk is capable of being formatted at a capacity of %s. Continue formatting at this capacity?\"\n    IDS_FFERR                   \"מנהל הקבצים אינו יכול לאתחל דיסק.\\n\\nנא לוודא שהדיסק בכונן ולא מוגן מפני כתיבה, ניזוק או בדרגת הדחיסות הנכונה.\"\n    IDS_FFERR_BADLABEL          \"מנהל הקבצים אינו יכול ליצור תווית לדיסק.\\n\\nהתווית המצוינת אינה תקינה.  נא לוודא שהתווית אינה מכילה את התווים הבאים\\n\\\n                                [רווח] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n\n\n    IDS_FORMATCONFIRM           \"אתחול הדיסק ימחוק את כל המידע מהדיסק. האם אתה בטוח לאתחל את הדיסק בכונן %c?\"\n    IDS_FORMATCONFIRMTITLE      \"אישור אתחול דיסק\"\n\n    IDS_DISKCOPYCONFIRM         \"הפעולה תגרום למחיקת כל המידע בדיסק היעד. האם להמשיך?\"\n    IDS_DISKCOPYCONFIRMTITLE    \"אישור העתקת דיסק\"\n    IDS_ANDCLOSE                \"&סגור\"        // goes on Selection dialog\n    IDS_CLOSE                   \"סגור\"         // braindead \"&Change\"\n    IDS_PATHNOTTHERE            \"תיקיה %s אינה קיימת.\\n\\nהאם ברצונך ליצור אותה?\"\n    IDS_PROGRAMS                \"תכניות#*.exe;*.pif;*.com;*.bat#כל הקבצים (*.*)#*.*#\"\n\n    IDS_MENUANDITEM             \"%s - %s\"\n    IDS_DRIVELABEL              \"כונן:\"\n    IDS_STATUSMSGSINGLE         \"%s, \"\n\n    IDS_CONNECTHELP             \"חיבור כונן רשת\"\n    IDS_DISCONHELP              \"ניתוק כונן רשת\"\n    IDS_CONNECTIONHELP          \"חיבורי רשת\"\n    IDS_SHAREASHELP             \"שיתוף תיקיה\"\n    IDS_STOPSHAREHELP           \"הפסקת שיתוף תיקיה\"\n    IDS_VDETAILSHELP            \"הראה את כל פרטי הקבצים\"\n    IDS_VNAMEHELP               \"הראה שמות בלבד\"\n    IDS_BYNAMEHELP              \"מיון לפי שם\"\n    IDS_BYTYPEHELP              \"מיון לפי סוג\"\n    IDS_BYSIZEHELP              \"מיון לפי גודל\"\n    IDS_BYDATEHELP              \"מיון לפי תאריך\"\n    IDS_NEWWINHELP              \"חלון חדש\"\n    IDS_COPYHELP                \"העתקת קבצים\"\n    IDS_MOVEHELP                \"העברת קבצים\"\n    IDS_DELHELP                 \"מחיקת קבצים\"\n\n    IDS_DIRNAMELABEL            \"&שם תיקיה:\"\n    IDS_DRIVENOTAVAILABLE       \"כונן הרשת אינו זמין.\"\n\n    IDS_SHAREDAS                \"משותף כ- %s\"\n    IDS_NOTSHARED               \"לא משותף\"\n\n    IDS_DRIVE_COMPRESSED        \" - דחוס\"\n\n    IDS_DRAG_COPYING            \"מעתיק קבצים ל%s\"\n    IDS_DRAG_MOVING             \"מעביר קבצים ל%s\"\n    IDS_DRAG_LINKING            \"קישור קבצים ל- %s\"\n    IDS_DRAG_EXECUTING          \"מפעיל קבצים עם %s\"\n\n    IDS_ORDERB                  \"%s בתים\"\n    IDS_ORDERKB                 \"%s ק\"\"ב\"\n    IDS_ORDERMB                 \"%s מ\"\"ב\"\n    IDS_ORDERGB                 \"%s ג\"\"ב\"\n    IDS_ORDERTB                 \"%s ט\"\"ב\"\n\n    IDS_VN_COMMENTS             \"תגובות\"\n    IDS_VN_COMPANYNAME          \"חברה\"\n    IDS_VN_FILEDESCRIPTION      \"תיאור קובץ\"\n    IDS_VN_INTERNALNAME         \"שם פנימי\"\n    IDS_VN_LEGALTRADEMARKS      \"סימנים מסחריים\"\n    IDS_VN_ORIGINALFILENAME     \"שם קובץ מקורי\"\n    IDS_VN_PRIVATEBUILD         \"תיאור בנייה פרטי\"\n    IDS_VN_PRODUCTNAME          \"שם מוצר\"\n    IDS_VN_PRODUCTVERSION       \"גרסת מוצר\"\n    IDS_VN_SPECIALBUILD         \"תיאור בנייה מיוחד\"\n\n    IDS_VN_LANGUAGE             \"שפה\"\n    IDS_VN_LANGUAGES            \"שפות\"\n\n    IDS_ASSOCIATE               \"עיון\"\n    IDS_RUN                     \"הפעלה\"\n    IDS_WINHELPERR              \"לא ניתן להציג את מידע העזרה.\"\n    IDS_NOEXEASSOC              \"קבצים עם סיומת %s הינם תכניות ולא ניתנים לשיוך עם תכנית אחרת.\"\n    IDS_ASSOCNOTEXE             \"%s לא תכנית ולא ניתן לשייך איתו סיומת קובץ.\"\n    IDS_ASSOCNONE               \"(ללא)\"\n    IDS_NOFILES                 \"לא נמצאו קבצים.\"\n    IDS_NOACCESSDIR             \"אין לך הרשאת גישה לתיקיה זו.\"\n    IDS_NOACCESSFILE            \"אין לך הרשאת גישה לקובץ זה.\"\n\n    IDS_DRIVEBUSY_COPY          \"כונן %c: הכונן עסוק ולא ניתן לגשת אליו.\\nמנהל הקבצים מבצע העתקת דיסק.\"\n    IDS_DRIVEBUSY_FORMAT        \"כונן %c: הכונן עסוק ולא ניתן לגשת אליו.\\nמנהל הקבצים מבצע אתחול בדיסק זה.\"\n\n    IDS_COPYMOVENOTCOMPLETED    \"הפעולה עוד לא הסתיימה\"\n    IDS_DIRREMAINS              \"לא ניתן היה להשלים את הפעולה על כל הקבצים והתיקיות.\"\n\n    IDS_TOOMANYWINDOWS          \"יותר מידי חלונות תיקיה פתוחים.\\n\\nסגור חלון אחד או יותר ונסה שוב.\"\n    IDS_FMIFSLOADERR            \"לא היה ניתן לטעון את הספריה הדרושה לפעולה.\"\n\n    IDS_NOSUCHDIRTITLE          \"לא ניתן לקרוא תיקיה\"\n    IDS_NOSUCHDIR               \"תיקיה אינה קיימת.\"\n\n    IDS_BADNETNAMETITLE         \"לא ניתן להתחבר לכונן רשת\"\n    IDS_BADNETNAME              \"לא ניתן למצוא את שם הרשת.\"\n\n    IDS_ALLFILES                \"\"\"כן לכולם\"\" ישפיע על כל הקבצים, כולל קבצי מערכת, קבצים מוחבאים וקבצים לקריאה בלבד.\"\n\n    IDS_ASSOC_OPEN              \"פתיחה\"\n    IDS_ASSOC_PRINT             \"הדפסה\"\n\n    IDS_ADDEXTTITLE             \"הוספת הרחבה\"\n    IDS_ADDEXTTEXT              \"ההרחבה '%s' כרגע משוייכת עם '%s.' להמשיך ולשכתב את השיוך?\"\n\n    IDS_EXTTITLE                \"עורך שיוכי קבצים\"\n\n    IDS_EXTADDERROR             \"לא ניתן לשייך הרחבה.  \"\n    IDS_EXTDELERROR             \"לא ניתן למחוק הרחבה.  \"\n    IDS_FILETYPEADDERROR        \"לא ניתן להוסיף סוג קובץ.  \"\n    IDS_FILETYPEDELERROR        \"לא ניתן למחוק סוג קובץ.  \"\n    IDS_FILETYPEREADERROR       \"לא ניתן לקרוא סוג קובץ.  \"\n\n    IDS_FILETYPENULLDESCERROR   \"תיאור סוג הקובץ אינו יכול להיות ריק. בבקשה הקלד סוג קובץ חדש.\"\n    IDS_FILETYPEDUPDESCERROR    \"לא היה ניתן ליצור מזהה יחודי אשר מבוסס על סוג הקובץ שלך. בבקשה הקלד סוג קובץ חדש.\"\n\n    IDS_FILETYPEDELCONFIRMTITLE \"מחיקת סוג קובץ\"\n    IDS_FILETYPEDELCONFIRMTEXT  \"פעולה זו תמחוק את סוג הקובץ ואת כל ההרחבות המשויכות.  אם אתה בטוח למחוק את '%s'?\"\n#ifdef ASSOC\n    IDS_FILETYPEDELCONFIRMUSERTEXT \"אתה כרגע מוחק סוג קובץ מותאם אישית. זה יגרום לסוג לחזור לסוג הקובץ הנפוץ, וכל ההרחבות שלו ישארו בשלמותן.האם ברצונך להחזיר לאחור את '%s'?\"\n    IDS_FILETYPEUSERIZETEXT     \"אתה כרגע מתאים אישית סוג קובץ נפוץ.  מנהל הקבצים ישמור את השינויים שלך בתור סוג קובץ מותאם.  להמשיך?\"\n#endif\n    IDS_FILETYPECOMMANDNULLTEXT \"סוג הקובץ צריך להכיל פקודה לפחות לאחת מהפעולות שלו. בבקשה הקלד תכנית בשדה \"\"פקודה\"\".\"\n\n    IDS_NEWFILETYPETITLE        \"סוג קובץ חדש\"\n    IDS_COPYINGDISKTITLE        \"מעתיק דיסק\"\n    IDS_SEARCHING               \"מחפש...\"\n\nJAPANBEGIN\n    IDS_WRNNOSHIFTJIS           \"このフォントを使用すると漢字の表示が\\nできなくなります。\"\nJAPANEND\n\n    IDS_INITUPDATEFAIL          \"לא היה ניתן לאתחל תמיכה בעדכון ברקע. מנהל הקבצים ייסגר עכשיו.  \"\n    IDS_INITUPDATEFAILTITLE     \"אתחול מנהל הקבצים\"\n\n    IDS_COMPRESSDIR             \"האם ברצונך גם לדחוס את כל הקבצים ותיקיות המשנה ב%s?\"\n    IDS_UNCOMPRESSDIR           \"האם ברצונך גם לבטל את הדחיסה בכל הקבצים ותיקיות המשנה ב%s?\"\n    IDS_COMPRESS_ATTRIB_ERR     \"מנהל הקבצים לא יכול לשנות את ערכי הדחיסה עבור %s\"\n    IDS_NTLDRCOMPRESSERR        \"הקובץ %s לא ידחס.  דחיסת קובץ זה עלול לגרום למערכת לא לעלות.\"\n    IDS_MULTICOMPRESSERR        \"מנהל הקבצים כרגע בתהליך דחיסת/ביטול דחיסת קבצים.\\nנא להמתין עד סוף הפעולה לפני לנסות דחיסה/ביטול דחיסה של קבצים נוספים\"\n\n    IDS_EDITFILTER              \"תכניות (*.exe)\\0*.exe\\0\"\n\nEND\n#undef SUGGEST\n\n/* Help strings for the popup menus.\n */\nSTRINGTABLE\nBEGIN\n    MH_POPUP+IDM_FILE,          \"פקודות לעבודה עם קבצים\"\n    MH_POPUP+IDM_DISK,          \"פקודות לעבודה עם דיסקים\"\n    MH_POPUP+IDM_TREE,          \"פקודות לעבודה בעץ התיקיות\"\n    MH_POPUP+IDM_VIEW,          \"פקודות להגדרת כיצד מידע מוצג\"\n    MH_POPUP+IDM_OPTIONS,       \"פקודות להגדרת אפשרויות\"\n    MH_POPUP+IDM_SECURITY,      \"פקודות לתפעול אבטחת קבצים ותיקיות\"\n    MH_POPUP+IDM_WINDOW,        \"פקודות לסידור חלונות\"\n    MH_POPUP+IDM_HELP,          \"פקודות להצגת מידע העזרה של מנהל הקבצים\"\nEND\n\n\n// Help strings for the \"standard\" toolbar items.\n\nSTRINGTABLE\nBEGIN\n    MH_MYITEMS+IDM_OPEN,        \"פתיחת פריט נבחר\"\n    MH_MYITEMS+IDM_EDIT,        \"עריכת פריט נבחר עם פנקס הרשימות\"\n    MH_MYITEMS+IDM_MOVE,        \"העברת פריט נבחר\"\n    MH_MYITEMS+IDM_COPY,        \"העתקת קבצים ותיקיות\"\n    MH_MYITEMS+IDM_COPYTOCLIPBOARD, \"מעתיק קובץ אחד או יותר ללוח העתקה\"\n    MH_MYITEMS+IDM_CUTTOCLIPBOARD, \"גוזר קובץ אחד או יותר ללוח העתקה\"\n    MH_MYITEMS+IDM_PASTE,       \"מדביק קובץ מלוח ההעתקה לתיקיה הנוכחית\"\n    MH_MYITEMS+IDM_COMPRESS,    \"דחיסת קובץ או תיקיה\"\n    MH_MYITEMS+IDM_UNCOMPRESS,  \"ביטול דחיסת קובץ או תיקיה\"\n    MH_MYITEMS+IDM_DELETE,      \"מחיקת קבצים ותיקיות\"\n    MH_MYITEMS+IDM_RENAME,      \"שינוי שם קובץ או תיקיה\"\n    MH_MYITEMS+IDM_ATTRIBS,     \"הגדרה והצגה של תכונות קובץ\"\n    MH_MYITEMS+IDM_RUN, \"הפעלה או פתיחה של תכנית או מסמך\"\n    MH_MYITEMS+IDM_PRINT,       \"הדפסת מסמך\"\n    MH_MYITEMS+IDM_ASSOCIATE,   \"שיוך קובץ לתכנית\"\n    MH_MYITEMS+IDM_MAKEDIR,     \"יצירת תיקיה\"\n    MH_MYITEMS+IDM_SEARCH,      \"חיפוש קבצים ותיקיות\"\n    MH_MYITEMS+IDM_SELECT,      \"בחירת קבצים ותיקיות\"\n    MH_MYITEMS+IDM_EXIT,        \"יציאה ממנהל הקבצים\"\n\n    MH_MYITEMS+IDM_DISKCOPY,    \"העתקת תוכן של תקליטון\"\n    MH_MYITEMS+IDM_LABEL,       \"מתן תווית לדיסק או שינויה\"\n    MH_MYITEMS+IDM_FORMAT,      \"אתחול תקליטון\"\n//    MH_MYITEMS+IDM_SYSDISK,     \"העתקת קבצי MS-DOS לתקליטון\"\n    MH_MYITEMS+IDM_CONNECT,     \"התחברות לכונן רשת\"\n    MH_MYITEMS+IDM_DISCONNECT,  \"התנתקות מכונן רשת\"\n//    MH_MYITEMS+IDM_CONNECTIONS,       \"חיבורי רשת...\"\n//    MH_MYITEMS+IDM_SHARES,    \"הצגת תיקיות משותפות...\"\n    MH_MYITEMS+IDM_SHAREAS,     \"שיתוף תיקיה\"\n    MH_MYITEMS+IDM_STOPSHARE,   \"הפסקת שיתוף תיקיה\"\n\n    MH_MYITEMS+IDM_DRIVESMORE,  \"בחירת כונן אחר\"\n\n    MH_MYITEMS+IDM_EXPONE,      \"הצגה רמה נוספת של התיקיה\"\n    MH_MYITEMS+IDM_EXPSUB,      \"הצגת כל הרמות של התיקיה\"\n    MH_MYITEMS+IDM_EXPALL,      \"הצגת של הרמות של כל התיקיות\"\n    MH_MYITEMS+IDM_COLLAPSE,    \"כיווץ כל הספריות של התיקיה הנבחרת\"\n    MH_MYITEMS+IDM_ADDPLUSES,   \"ציון תיקיות בעלות תיקיות משנה\"\n\n    MH_MYITEMS+IDM_BOTH,        \"הצגת עץ התיקיות ותוכן התיקיה הנוכחית\"\n    MH_MYITEMS+IDM_TREEONLY,    \"הצגת עץ התיקיות\"\n    MH_MYITEMS+IDM_DIRONLY,     \"הצגת תוכן התיקיה הנוכחית\"\n    MH_MYITEMS+IDM_SPLIT,       \"פיצול חלון התיקיות או הזזת פס הפיצול\"\n    MH_MYITEMS+IDM_VNAME,       \"הצגת שמות קובץ בלבד\"\n    MH_MYITEMS+IDM_VDETAILS,    \"הצגת פרטי קובץ מלאיםs\"\n    MH_MYITEMS+IDM_VOTHER,      \"הצגת פרטי קובץ חלקיים\"\n    MH_MYITEMS+IDM_BYNAME,      \"מיון קבצים לפי שם\"\n    MH_MYITEMS+IDM_BYTYPE,      \"מיון קבצים לפי סוג\"\n    MH_MYITEMS+IDM_BYSIZE,      \"מיון קבצים לפי גודל\"\n    MH_MYITEMS+IDM_BYDATE,      \"מיון קבצים לפי תאריך\"\n    MH_MYITEMS+IDM_BYFDATE,     \"מיון קבצים לפי תאריך העברה\"\n    MH_MYITEMS+IDM_VINCLUDE,    \"הצגת קבצים מסוג מסויים\"\n\n    MH_MYITEMS+IDM_CONFIRM,     \"בקרת הודעות אישור\"\n    MH_MYITEMS+IDM_FONT,        \"שינוי הגופן בו משתמש מנהל הקבצים\"\n\n    MH_MYITEMS+IDM_TOOLBARCUST, \"התאמה אישית של סרגל הכלים\"\n    MH_MYITEMS+IDM_TOOLBAR,     \"הצגה או הסתרה של סרגל הכלים\"\n    MH_MYITEMS+IDM_DRIVEBAR,    \"הצגה או הסתרה של שורת הכוננים\"\n    MH_MYITEMS+IDM_STATUSBAR,   \"הצגה או הסתרה של שורת המצב\"\n    MH_MYITEMS+IDM_NEWWINONCONNECT,     \"פתיחת חלון חדש בעת חיבור\"\n\n    MH_MYITEMS+IDM_MINONRUN,    \"הקטנת מנהל הקבצים לסמל בעת ההפעלה\"\n    MH_MYITEMS + IDM_INDEXONLAUNCH, \"יוצר מפתח מעברי תיקיות מתי שמנהל הקבצים מופעל\"\n    MH_MYITEMS+IDM_SAVESETTINGS,        \"שמירת הגדרות ביציאה ממנהל הקבצים\"\n\n    MH_MYITEMS+IDM_NEWWINDOW,   \"פתיחת חלון חדש\"\n    MH_MYITEMS+IDM_CASCADE,     \"סידור חלונות באופן מדורג\"\n    MH_MYITEMS+IDM_TILEHORIZONTALLY,    \"פריסת חלונות באופן אופקי\"\n    MH_MYITEMS+IDM_TILE,        \"פריסת חלונות באופן אנכי\"\n    MH_MYITEMS+IDM_ARRANGE,     \"סידור סמלים\"\n    MH_MYITEMS+IDM_REFRESH,     \"עדכון תוכן של חלון\"\n\n    MH_MYITEMS+IDM_PERMISSIONS  \"תצוגה וקביעת מידע הרשאות עבור הפריטים הנבחרים\"\n    MH_MYITEMS+IDM_AUDITING     \"תצוגה וקביעת מידע ביקורת עבור הפריטים הנבחרים\"\n    MH_MYITEMS+IDM_OWNER        \"תצוגה וקביעת בעלות עבור הפריטים הנבחרים\"\n\n    MH_MYITEMS+IDM_HELPINDEX,   \"הצגת תוכן העזרה של מנהל הקבצים\"\n    MH_MYITEMS+IDM_HELPKEYS,    \"חיפוש נושא בעזרה עבור מנהל הקבצים\"\n    MH_MYITEMS+IDM_HELPHELP,    \"הצגת מידע אודות השימוש בעזרה\"\n    MH_MYITEMS+IDM_ABOUT,       \"הצגת מידע אודות מנהל הקבצים\"\nEND\n\n\n// Strings for menu items that may be added at init time.\n\nSTRINGTABLE\nBEGIN\n    IDS_CONNECT,                \"חיבור כונן &רשת...\\tCtrl+N\"\n    IDS_DISCONNECT,             \"&ניתוק כונן רשת...\\tCtrl+D\"\n    IDS_CONNECTIONS,            \"&חיבורי רשת...\"\n    IDS_SHAREDDIR               \"תיקיות &משותפות...\"\n    IDS_SHAREAS,                \"&שיתוף בתור...\"\n    IDS_STOPSHARE,              \"ה&פסקת שיתוף...\"\n    IDS_SHARES,                 \"הצגת תיקיות מ&שותפות...\"\n    IDS_NEWWINONCONNECT,        \"&פתיחת חלון חדש בעת חיבור\"\nEND\n\n#include \"winfile_he-IL.dlg\"\n\n"
  },
  {
    "path": "src/lang/res_ja-JP.rc",
    "content": "/********************************************************************\r\n\r\n   res_ja-JP.rc\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\nLANGUAGE LANG_JAPANESE, SUBLANG_JAPANESE_JAPAN\r\n\r\nFRAMEMENU MENU\r\nBEGIN\r\n    POPUP       \"ファイル(&F)\"\r\n    BEGIN\r\n    MENUITEM    \"開く(&O)\\tEnter\",     IDM_OPEN\r\n    MENUITEM    \"編集\\tF12\",        IDM_EDIT\r\n    MENUITEM    \"移動(&M)...\\tF7\",     IDM_MOVE\r\n    MENUITEM    \"コピー(&C)...\\tF8\",     IDM_COPY\r\n    MENUITEM    \"シンボリックリンク(&Y)...\\tF11\", IDM_SYMLINK\r\n    MENUITEM    \"ハードリンク(&K)...\\tShift+F11\", IDM_HARDLINK\r\n    MENUITEM    \"クリップボードにコピー(&B)...\\tCtrl+C\", IDM_COPYTOCLIPBOARD\r\n    MENUITEM    \"クリップボードに切り取り\\tCtrl+X\", IDM_CUTTOCLIPBOARD\r\n    MENUITEM    \"貼り付け(&P)\\tCtrl+V\",     IDM_PASTE\r\n    MENUITEM    \"削除(&D)...\\tDel\",  IDM_DELETE\r\n    MENUITEM    \"名前の変更(&N)...\",   IDM_RENAME\r\n    MENUITEM    \"プロパティ(&T)...\\tAlt+Enter\",IDM_ATTRIBS\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"圧縮(&S)...\",     IDM_COMPRESS\r\n    MENUITEM    \"解凍(&U)...\",   IDM_UNCOMPRESS\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"実行(&R)...\",          IDM_RUN\r\n    MENUITEM    \"印刷(&P)...\",        IDM_PRINT\r\n    MENUITEM    \"関連付け(&A)...\",    IDM_ASSOCIATE\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"ディレクトリを作成(&E)...\\tCtrl+Shift+N\", IDM_MAKEDIR\r\n    MENUITEM    \"検索(&C)...\\tCtrl+F\",       IDM_SEARCH\r\n    MENUITEM    \"ファイルを選択(&F)...\", IDM_SELECT\r\n    POPUP       \"を起動(&.)\"\r\n    BEGIN\r\n    MENUITEM    \"&Bash を起動...\\tCtrl+B\", IDM_STARTBASHSHELL\r\n    MENUITEM    \"コマンド プロンプトを起動(&C)...\\tCtrl+K\", IDM_STARTCMDSHELL\r\n    MENUITEM    \"&PowerShell を起動...\\tCtrl+P\", IDM_STARTPOWERSHELL\r\n    MENUITEM    \"&Explorer を起動...\\tCtrl+E\", IDM_STARTEXPLORER\r\n    END\r\n    MENUITEM    \"別のディレクトリへ移動(&G)...\\tCtrl+G\", IDM_GOTODIR\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"終了(&X)\",            IDM_EXIT\r\n    END\r\n    POPUP       \"ディスク(&D)\"\r\n    BEGIN\r\n    MENUITEM    \"ディスクのコピー(&C)...\",    IDM_DISKCOPY\r\n    MENUITEM    \"ディスクのボリューム ラベル(&L)...\",   IDM_LABEL\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"ドライブのフォーマット(&F)...\",  IDM_FORMAT\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"ドライブを選択(&S)...\", IDM_DRIVESMORE\r\n    END\r\n    POPUP       \"ツリー(&T)\"\r\n    BEGIN\r\n    MENUITEM    \"1つ展開(&X)\\t+\", IDM_EXPONE\r\n    MENUITEM    \"サブディレクトリを展開(&B)\\t*\",    IDM_EXPSUB\r\n    MENUITEM    \"全て展開(&A)\\tCtrl+*\",  IDM_EXPALL\r\n    MENUITEM    \"サブディレクトリを折り畳む(&C)\\t-\",  IDM_COLLAPSE\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"展開可能なサブディレクトリを表示(&I)\",    IDM_ADDPLUSES\r\n    END\r\n    POPUP       \"表示(&V)\"\r\n    BEGIN\r\n    MENUITEM    \"ツリーとディレクトリ(&R)\",  IDM_BOTH\r\n    MENUITEM    \"ツリーのみ(&E)\",           IDM_TREEONLY\r\n    MENUITEM    \"ディレクトリのみ(&O)\",      IDM_DIRONLY\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"分割(&L)\",               IDM_SPLIT\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"名称(&N)\",                IDM_VNAME\r\n    MENUITEM    \"全てのファイルの詳細(&A)\",    IDM_VDETAILS,   CHECKED\r\n    MENUITEM    \"一部のファイルの詳細(&P)...\",  IDM_VOTHER\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM \"名前で並び替え(&S)\",   IDM_BYNAME\r\n    MENUITEM \"種別で並び替え(&B)\",   IDM_BYTYPE\r\n    MENUITEM \"サイズで並び替え(&Z)\",   IDM_BYSIZE\r\n    MENUITEM \"日付で昇順に並び替え(&D)\",   IDM_BYDATE\r\n    MENUITEM \"日付で降順に並び替え(&F)\",   IDM_BYFDATE\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"ファイル タイプで絞り込み(&T)...\",     IDM_VINCLUDE\r\n    END\r\n    POPUP       \"オプション(&O)\"\r\n    BEGIN\r\n    MENUITEM    \"確認(&C)...\",     IDM_CONFIRM\r\n    MENUITEM    \"フォント(&F)...\",             IDM_FONT\r\n    MENUITEM    \"ツール バーのカスタマイズ(&B)...\", IDM_TOOLBARCUST\r\n    MENUITEM    \"追加の設定(&P)...\", IDM_PREF\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"ツール バー(&T)\",                  IDM_TOOLBAR\r\n    MENUITEM    \"ドライブ バー(&D)\",                IDM_DRIVEBAR\r\n    MENUITEM    \"ステータス バー(&S)\",              IDM_STATUSBAR\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"プログラムの起動時に最小化(&M)\",     IDM_MINONRUN\r\n    MENUITEM    \"起動時に移動先インデックスを作成(&G)\", IDM_INDEXONLAUNCH\r\n    MENUITEM    \"終了時に設定を保存(&E)\",   IDM_SAVESETTINGS\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"今すぐ設定を保存(&N)\",       IDM_SAVENOW\r\n    END\r\n    POPUP       \"セキュリティ(&S)\"\r\n    BEGIN\r\n    MENUITEM    \"権限(&P)...\",  IDM_PERMISSIONS\r\n    MENUITEM    \"監査(&A)...\",     IDM_AUDITING\r\n    MENUITEM    \"所有者(&O)...\",        IDM_OWNER\r\n    END\r\n    POPUP       \"ウィンドウ(&W)\"\r\n    BEGIN\r\n    MENUITEM    \"新しいウィンドウ(&N)\\tCtrl+Shift Enter\",          IDM_NEWWINDOW\r\n    MENUITEM    \"重ねて表示(&C)\\tShift+F5\",   IDM_CASCADE\r\n    MENUITEM    \"上下に並べて表示(&H)\",   IDM_TILEHORIZONTALLY\r\n    MENUITEM    \"左右に並べて表示(&T)\\tShift+F4\",      IDM_TILE\r\n    MENUITEM    \"アイコンの整列(&A)\",       IDM_ARRANGE\r\n    MENUITEM    \"更新(&R)\\tF5\",         IDM_REFRESH\r\n    END\r\n    POPUP       \"ヘルプ(&H)\"\r\n    BEGIN\r\n    MENUITEM    \"目次(&C)\",                IDM_HELPINDEX\r\n    MENUITEM    \"ヘルプの検索(&S)...\",   IDM_HELPKEYS\r\n    MENUITEM    \"ヘルプの使い方(&H)\",         IDM_HELPHELP\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"ファイル マネージャーについて(&A)...\",   IDM_ABOUT\r\n    END\r\n\r\nEND\r\n\r\nCTXMENU MENU\r\nBEGIN\r\n    POPUP \"Dummy Popup\"\r\n    BEGIN\r\n    MENUITEM    \"新しいウィンドウ(&N)\\tCtrl+Shift Enter\",     IDM_NEWWINDOW\r\n    MENUITEM    \"開く(&O)\\tEnter\",     IDM_OPEN\r\n    MENUITEM    \"編集\\tF12\",        IDM_EDIT\r\n    MENUITEM    \"移動(&M)...\\tF7\",     IDM_MOVE\r\n    MENUITEM    \"コピー(&C)...\\tF8\",     IDM_COPY\r\n    MENUITEM    \"シンボリックリンク(&Y)...\\tF11\",       IDM_SYMLINK\r\n    MENUITEM    \"ハードリンク(&K)...\\tShift+F11\", IDM_HARDLINK\r\n    MENUITEM    \"クリップボードにコピー(&B)\\tCtrl+C\", IDM_COPYTOCLIPBOARD\r\n    MENUITEM    \"クリップボードに切り取り\\tCtrl+X\", IDM_CUTTOCLIPBOARD\r\n    MENUITEM    \"貼り付け(&P)\\tCtrl+V\", IDM_PASTE\r\n    MENUITEM    \"削除(&D)...\\tDel\",  IDM_DELETE\r\n    MENUITEM    \"名前の変更(&N)...\\tF2\",   IDM_RENAME\r\n    MENUITEM    \"プロパティ(&T)...\\tAlt+Enter\",IDM_ATTRIBS\r\n    MENUITEM    \"実行(&R)...\",          IDM_RUN\r\n    MENUITEM    \"Bash を起動...\", IDM_STARTBASHSHELL\r\n    MENUITEM    \"コマンド プロンプトを起動(&L)...\", IDM_STARTCMDSHELL\r\n    MENUITEM    \"PowerShell を起動(&W)...\", IDM_STARTPOWERSHELL\r\n    MENUITEM    \"Explorer を起動(&X)...\", IDM_STARTEXPLORER\r\n    MENUITEM    \"別のディレクトリへ移動(&G)...\", IDM_GOTODIR\r\n    END\r\nEND\r\n\r\n\r\n#define SUGGEST(id,err,flags,str) id+IDS_SUGGESTBEGIN str\r\n/*              0....5....1....56...2....5....3.2..5....4....5....5....6....5....7....5....8....5....9....5....0....5....1....5....2....5..8 */\r\nSTRINGTABLE\r\nBEGIN\r\n//    IDS_ENDSESSION          \"Exit Windows\"                  /* 32 */\r\n//    IDS_ENDSESSIONMSG       \"This will end your Windows session.\"                                                                                      /* 128 */\r\n\r\n    IDS_COPYDISK            \"ディスクのコピー\"                     /* 32 */\r\n    IDS_INSERTDEST          \"コピー先ディスクの挿入\"                                                                                                 /* 128 */\r\n    IDS_INSERTSRC           \"コピー元ディスクの挿入\"                                                                                                      /* 128 */\r\n    IDS_INSERTSRCDEST       \"コピー元とコピー先のディスク\"                                                                                     /* 128 */\r\n    IDS_FORMATTINGDEST      \"コピー先ディスクのフォーマット\"                                                                                             /* 128 */\r\n\r\n    IDS_COPYDISKERR         \"ディスクのコピーエラー\"               /* 32 */\r\n    IDS_COPYDISKERRMSG      \"ディスクをコピーできません。\"                                                                                                     /* 128 */\r\n    IDS_COPYSRCDESTINCOMPAT \"コピー元とコピー先のディスクが対応していません。\"                                                                          /* 128 */\r\n\r\n    IDS_PERCENTCOMP         \"%d%% 完了\"                /* 32 */\r\n    IDS_CREATEROOT          \"ルート ディレクトリを作成...\"       /* 32 */\r\n    IDS_COPYSYSFILES        \"システム ファイルをコピー...\"          /* 32 */\r\n    IDS_FORMATERR           \"ディスクのフォーマット エラー\"             /* 32 */\r\n    IDS_FORMATQUICKFAILURE  \"ファイル マネージャーはクイック フォーマットを実行できません。\\n\\n通常フォーマットで続行しますか?\"\r\n//    IDS_FORMATERRMSG        \"Cannot format disk.\"                                                                                                      /* 128 */\r\n//    IDS_FORMATCURERR      \"You cannot format the current drive.\"                                                                                     /* 128 */\r\n    IDS_FORMATCOMPLETE      \"フォーマット済み\"               /* 32 */\r\n    IDS_FORMATANOTHER       \"合計ディスク容量 %ld バイト\\nディスク上で %ld バイトが利用可能\\n\\n別のディスクをフォーマットしますか?\"                           /* 128 */\r\n\r\n//    IDS_SYSDISK             \"Make System Disk\"\r\n//    IDS_SYSDISKRUSURE       \"Are you sure you want to copy system files onto the disk in drive %c?\"\r\n//    IDS_SYSDISKERR          \"System Disk Error\"\r\n//    IDS_SYSDISKNOFILES      \"The MS-DOS startup drive does not contain system files or is not available.\"\r\n//    IDS_SYSDISKSAMEDRIVE    \"Cannot copy system files to the MS-DOS startup drive.\"\r\n//    IDS_SYSDISKADDERR       \"Cannot add system files to this disk.\\n\\nMake sure a formatted disk is present in the drive and that the drive door is closed.\"\r\n\r\n    IDS_NETERR              \"ネットワーク エラー\"                 /* 32 */\r\n    IDS_NETDISCONWINERR     \"このドライブにはWindowsシステム ファイルが含まれている為、切断することはできません。\"                                                 /* 128 */\r\n    IDS_NETDISCONOPEN       \"ファイル マネージャーはネットワーク ドライブを切断できません。\\n\\nこのドライブ上のファイルが開かれています。\"\r\n\r\n    IDS_ATTRIBERR           \"ファイル マネージャーは属性を変更できません。\"\r\n    IDS_MAKEDIRERR          \"ファイル マネージャーはディレクトリを作成できません。\"\r\n\r\n    IDS_LABELDISKERR        \"ファイル マネージャーはフロッピー ディスクにボリューム ラベルを付けられません。\\n\\nフロッピー ディスクが書き込み禁止になっていない事、ネットワーク ドライブではない事を確認して、正しい名前を入力して下さい。\\n名前には次の文字を含めることはできません:\\n[空白] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\r\n\r\n    IDS_SEARCHNOMATCHES     \"一致するファイルが見つかりませんでした。\"\r\n    IDS_SEARCHREFRESH       \"このドライブの内容が変更されました。検索を再度実行しますか?\"\r\n    IDS_LABELACCESSDENIED   \"この操作をハード ディスク上で実行するには、このワークステーションに管理者としてログインする必要があります。\"\r\n\r\n    IDS_DRIVETEMP           \"ドライブ %c:%c\"\r\n\r\n    IDS_EXECERRTITLE,       \"プログラムを実行できません\"\r\n    IDS_PRINTERRTITLE,      \"ファイルを印刷できません\"\r\n\r\n    IDS_UNKNOWNMSG,         \"不明のエラー: %d\"\r\n    IDS_NOMEMORYMSG,        \"指定されたアプリケーションを起動するのに十分なメモリがありません。\\n\\n1つまたは複数のアプリケーションを終了してもう一度試して下さい。\"                   /* 128 */\r\n    IDS_FILENOTFOUNDMSG,    \"ファイル マネージャーはファイル(またはそのコンポーネント)を検出できません。\\n\\nパスとファイル名が正しい事、および必要なライブラリが全て利用可能である事を確認して下さい。\"\r\n    IDS_BADPATHMSG,         \"無効なパスが指定されました。\"                                                                                           /* 128 */\r\n//    IDS_MANYOPENFILESMSG,   \"Too many files are currently in use.\\n\\nQuit one or more applications or increase the value of the FILES command in CONFIG.SYS, and then try again.\"                                    /* 128 */\r\n    IDS_NOASSOCMSG,         \"このファイルに関連付けられているアプリケーションが見つかりません。\\n\\n関連付けを作成するには 'ファイル' メニューから関連付けを選択して下さい。\"       /* 128 */\r\n    IDS_ASSOCINCOMPLETE,    \"ファイル マネージャーはファイルを開く、または印刷する事が出来ません。\\n\\nこのファイルを作成したアプリケーションを起動して、ファイルを開く、または印刷して下さい。\"\r\n//    IDS_MULTIPLEDSMSG,      \"Cannot start more than one copy of the specified program.\"                                                                /* 128 */\r\n//    IDS_OS2APPMSG           \"The specified application is not a Windows or MS-DOS program.\"                                                            /* 128 */\r\n//    IDS_NEWWINDOWSMSG       \"This application requires a newer version of Microsoft Windows.\"                                                          /* 128 */\r\n//    IDS_PMODEONLYMSG        \"This application requires Windows.\"                                                             /* 128 */\r\n    IDS_DDEFAIL             \"アプリケーションへのコマンド送信中にエラーが発生しました。\"                                                                /* 128 */\r\n//    IDS_COMPRESSEDEXE       \"This program or one of its components is compressed.\\n\\nUse the MS-DOS expand utility to copy the file from the setup disks.\"\r\n    IDS_INVALIDDLL          \"このアプリケーションを実行する為に必要なライブラリ ファイルの1つが破壊されています。このアプリケーションを再インストールして下さい。\"\r\n    IDS_SHAREERROR          \"このファイルは他のアプリケーションで使用されています。\"\r\n\r\n    IDS_CREATELONGDIR       \"ファイル マネージャーはディレクトリ '%s' に作成されたファイルにアクセスできません。\\n\\n続行しますか?\"\r\n    IDS_CREATELONGDIRTITLE  \"ディレクトリを作成\"\r\n\r\n    IDS_MOUSECONFIRM,       \"マウス操作の確認\"       /* 32 */\r\n    IDS_COPYMOUSECONFIRM,   \"選択しているファイルまたはディレクトリを %s にコピーしますか?\"\r\n    IDS_MOVEMOUSECONFIRM,   \"選択しているファイルまたはディレクトリを %s に移動しますか?\"\r\n    IDS_LINKMOUSECONFIRM,   \"選択したファイルまたはディレクトリを %s にリンクしてもよろしいですか？\"\r\n    IDS_EXECMOUSECONFIRM,   \"%s を起動して最初のファイルとして %s を使用しますか?\"                                                          /* 128 */\r\n\r\n    IDS_WINFILE,            \"ファイル マネージャー\"                  /* 32 */\r\n    IDS_TREETITLE,          \"ディレクトリ ツリー\"                /* 32 */\r\n    IDS_SEARCHTITLE,        \"検索結果:\"              /* 32 */\r\n\r\n    IDS_READING             \"ディレクトリを読み込んでいます。しばらくお待ち下さい...\"\r\n    IDS_TOOMANYTITLE,       \"ファイルが多すぎます\"                /* 32 */\r\n    IDS_OOMTITLE,           \"ファイル マネージャー - メモリ不足\"  /* 32 */\r\n    IDS_OOMREADINGDIRMSG,   \"ディレクトリ全体を読み取る事ができません。一部のみ一覧に表示されます。\"                                              /* 128 */\r\n\r\n//    IDS_PRINTFNF            \"The file to be printed cannot be found. Make sure the correct path and filename are specified.\"                                                                                  /* 128 */\r\n    IDS_PRINTMEMORY         \"印刷に必要なメモリがありません。\\n\\n1つまたは複数のアプリケーションを終了してもう一度試して下さい。\"                                             /* 128 */\r\n    IDS_PRINTDISK           \"印刷に必要なディスク容量がありません。\\n\\nディスク容量を増やす為にに1つまたは複数のファイルを削除しもう一度試して下さい。\"                        /* 128 */\r\n    IDS_PRINTERROR          \"印刷中にエラーが発生しました。\\n\\nプリンタが正しく設定/選択されているか確認して下さい。\"             /* 128 */\r\n    IDS_PRINTONLYONE        \"ファイル マネージャーは同時に複数のファイルを印刷する事はできません。\\n\\nファイルを1つだけ選択しもう一度試して下さい。\"                                               /* 128 */\r\n\r\n    IDS_CURDIRIS,           \"現在のディレクトリ: %s\"                                                                                                    /* 128 */\r\n    IDS_CURDIRSARE,         \"Other: \"\r\n    IDS_COPY,               \"コピー\"                          /* 32 */\r\n    IDS_RENAME,             \"名前を変更\"                        /* 32 */\r\n    IDS_FORMAT,             \"ディスクのフォーマット\"                   /* 32 */\r\n    IDS_FORMATSELDISK,      \"フォーマットするディスクを選択。\"                                                                                               /* 128 */\r\n    IDS_SYMLINK,            \"シンボリックリンク\"                       /* 32 */\r\n    IDS_HARDLINK,           \"ハードリンク\"                      /* 32 */\r\n\r\n    IDS_KK_COPYFROMSTR,     \"コピー元(&F):\"\r\n    IDS_KK_COPYTOSTR,       \"コピー先(&T):\"\r\n    IDS_KK_RENAMEFROMSTR,   \"元の名前(&F):\"\r\n    IDS_KK_RENAMETOSTR,     \"新しい名前(&T):\"\r\n    IDS_KK_HARDLINKFROMSTR, \"ハードリンク元(&F):\"\r\n    IDS_KK_HARDLINKTOSTR,   \"ハードリンク先(&T):\"\r\n    IDS_KK_SYMLINKFROMSTR,  \"シンボリックリンク元(&F):\"\r\n    IDS_KK_SYMLINKTOSTR,    \"シンボリックリンク先(&T):\"\r\n\r\n//    IDS_MAKESYSDISK,      \"Make System Disk\"              /* 32 */\r\n\r\n    IDS_CREATINGMSG,        \"作成中:\"                     /* 32 */\r\n    IDS_REMOVINGDIRMSG,     \"削除中:\"                     /* 32 */\r\n    IDS_REMOVINGMSG,        \"削除中...\"                   /* 32 */\r\n    IDS_COPYINGMSG,         \"コピー中:\"                      /* 32 */\r\n    IDS_OPENINGMSG,         \"開いています...\"                    /* 32 */\r\n    IDS_CLOSINGMSG,         \"閉じています...\"                    /* 32 */\r\n    IDS_RENAMINGMSG,        \"名前を変更中...\"                   /* 32 */\r\n    IDS_MOVINGMSG,          \"移動中...\"                     /* 32 */\r\n    IDS_DELETINGMSG,        \"削除中...\"                   /* 32 */\r\n    IDS_PRINTINGMSG,        \"印刷中: %s\"                  /* 32 */\r\n\r\n//    IDS_NOSUCHDRIVE,        \"Drive %c does not exist.\"                                                                                            /* 128 */\r\n    IDS_DRIVENOTREADY,      \"ドライブ %c にディスクがありません。ディスクをドライブに挿入しもう一度試して下さい。\"\r\n    IDS_UNFORMATTED,        \"ドライブ %c のディスクがフォーマットされていません。\\n\\n今すぐフォーマットしますか?\"\r\n\r\n    IDS_STATUSMSG,          \"合計 %d 個のファイル (%s)\"             /* 128 */\r\n    IDS_STATUSMSG2,         \"%d 個のファイルを選択 (%s)\"          /* 128 */\r\n    IDS_DRIVEFREE,          \"%c: %s 使用可能(合計 %s)\"            /* 128 */\r\n    IDS_TREEABORT,          \"ディレクトリ ツリーの表示が不完全\"     /* 128 */\r\n    IDS_DIRSREAD,           \"ディレクトリの読み込み: %d\"                   /* 32 */\r\n    IDS_SEARCHMSG,          \"%d 個のファイルが見つかりました\"\r\n    IDS_BYTES,              \"%ld バイト\"\r\n    IDS_SBYTES,             \"%s バイト\"\r\n\r\n    IDS_SELECTEDFILES,      \"選択されたファイル\"            /* 32 */\r\n\r\n    /* These strings are used for generating error messages\r\n     * from the Copy, Move, and Delete code. */\r\n\r\n    IDS_COPYERROR + FUNC_COPY   \"ファイルのコピー中のエラー\"\r\n    IDS_COPYERROR + FUNC_MOVE   \"ファイルの移動中のエラー\"\r\n    IDS_COPYERROR + FUNC_DELETE \"ファイルの削除中のエラー\"\r\n    IDS_COPYERROR + FUNC_RENAME \"ファイルの名前の変更中のエラー\"\r\n    IDS_COPYERROR + FUNC_SETDRIVE \"ドライブの選択中のエラー\"\r\n    IDS_COPYERROR + FUNC_EXPAND   \"ディレクトリの読み込み中のエラー\"\r\n    IDS_COPYERROR + FUNC_LABEL    \"ディスクのボリューム ラベル設定中のエラー\"\r\n    IDS_COPYERROR + FUNC_LINK        \"シンボリックリンクの作成に失敗しました。\"\r\n    IDS_COPYERROR + FUNC_HARD        \"ハードリンクの作成に失敗しました。\"\r\n    IDS_COPYERROR + FUNC_JUNC        \"ジャンクションの作成に失敗しました。\"\r\n\r\n    /* The first %s is replaced by a file name. The second %s is replaced\r\n     * by one of the \"reasons\" below. */\r\n\r\n    IDS_VERBS + FUNC_COPY       \"ファイル マネージャーは %s をコピーできません: %s\"\r\n    IDS_VERBS + FUNC_MOVE       \"ファイル マネージャーは %s を移動できません: %s\"\r\n    IDS_VERBS + FUNC_DELETE     \"ファイル マネージャーは %s を削除できません: %s\"\r\n    IDS_VERBS + FUNC_RENAME     \"ファイル マネージャーは %s の名前を変更できません: %s\"\r\n    IDS_VERBS + FUNC_LINK       \"ファイル マネージャーはシンボリックリンク %s を作成できません: %s\"\r\n    IDS_VERBS + FUNC_HARD       \"ファイル マネージャーはハードリンク %s を作成できません: %s\"\r\n    IDS_VERBS + FUNC_JUNC       \"ファイル マネージャーはジャンクション %s を作成できません: %s\"\r\n    IDS_ACTIONS + 1             \"ファイル マネージャーはディレクトリ %s を作成できません: %s\"\r\n    IDS_ACTIONS + 2             \"ファイル マネージャーはディレクトリ %s を削除できません: %s\"\r\n    IDS_REPLACING               \"ファイル マネージャーは %s を作成または置き換える事ができません: %s\"\r\n    // IDS_CREATING             \"File Manager cannot create %s: %s\"\r\n\r\n// include reason strings\r\n\r\n#include \"suggest_ja-JP.db\"\r\n\r\n    IDS_DESTFULL                \"コピー先のフロッピー ディスクがいっぱいです。続行するには別のフロッピー ディスクを挿入して下さい\"\r\n    IDS_WRITEPROTECTFILE        \"これは、システム ファイル、隠しファイル、または読み取り専用ファイルです。\"\r\n\r\n    IDS_COPYINGTITLE            \"コピー中...\"\r\n\r\n    IDS_QUICKFORMATTINGTITLE    \"クイック フォーマットを実行中...\"\r\n\r\n    IDS_BUSYFORMATQUITVERIFY    \"現在ファイル マネージャーはフロッピー ディスクをフォーマットしています。ファイル マネージャーを終了すると、この操作が中断されます。\"\r\n    IDS_BUSYCOPYQUITVERIFY      \"現在ファイル マネージャーはフロッピー ディスクをコピーしています。ファイル マネージャーを終了すると、この操作が中断されます。\"\r\n    IDS_PERCENTCOMPLETE         \"完了の割合\"\r\n\r\n    IDS_12MB                    \"1%s2 MB\"\r\n    IDS_360KB                   \"360K\"\r\n    IDS_144MB                   \"1%s44 MB\"\r\n    IDS_720KB                   \"720K\"\r\n    IDS_288MB                   \"2%s88 MB\"\r\n    IDS_2080MB                  \"20%s8 MB\"\r\n\r\n#if defined(JAPAN) && defined(i386)\r\n/* ADD KBNES. NEC MEDIATYPE START */\r\nJAPANBEGIN\r\n    IDS_125MB                   \"1%s25 MB\"\r\n    IDS_256KB                   \"256K\"\r\n    IDS_128MB                   \"128 MB\"\r\nJAPANEND\r\n/* ADD KBNES. NEC MEDIATYPE END */\r\n\r\n//\r\n// FMR jul.21.1994 JY\r\n// We added 640KB/1.23MB media types.\r\n//\r\nJAPANBEGIN\r\n    IDS_640KB                   \"640K\"\r\n    IDS_123MB                   \"1%s23 MB\"\r\nJAPANEND\r\n#endif\r\n\r\n    IDS_DEVICECAP               \"ドライブの容量\"\r\n    IDS_QSUPMEDIA               \"ファイル マネージャーはフロッピー ディスク情報を取得できません。\\n\\nフロッピー ディスクがドライブに挿入されていることを確認して下さい。\"\r\n    IDS_REMOVEMED               \"不明なディスクタイプ\"\r\n\r\n    IDS_CANTFORMATTITLE         \"不明なディスクタイプ\"\r\n    IDS_CANTFORMAT              \"ドライブ %s のディスクタイプをファイル マネージャーでフォーマットできませんでした。 デバイス マネージャーを使用してこのディスクをフォーマットして下さい。\"\r\n\r\n    IDS_FFERR_INCFS             \"互換性のないファイル システムです。\"\r\n    IDS_FFERR_ACCESSDENIED      \"アクセスできません。\"\r\n    IDS_FFERR_DISKWP            \"ディスクの書き込みが保護されています。\"\r\n    IDS_FFERR_CANTLOCK          \"ファイル マネージャーがディスクボリュームをロックできませんでした。\"\r\n    IDS_FFERR_CANTQUICKF        \"ファイル マネージャーは、フロッピー ディスクをクイック フォーマットできません。\\n\\nフロッピー ディスクの密度が正しいことを確認して下さい。\"\r\n    IDS_FFERR_SRCIOERR          \"コピー元フロッピー ディスクの IO エラー。\"\r\n    IDS_FFERR_DSTIOERR          \"コピー先フロッピー ディスクの IO エラー。\"\r\n    IDS_FFERR_SRCDSTIOERR       \"コピー元とコピー先のフロッピー ディスク双方の IO エラー。\"\r\n    IDS_FFERR_GENIOERR          \"IO エラーが発生しました。\"\r\n//    IDS_FFERR_MEDIASENSE      \"This disk is capable of being formatted at a capacity of %s. Continue formatting at this capacity?\"\r\n    IDS_FFERR                   \"ファイル マネージャーはフロッピー ディスクをフォーマットできませんでした。\\n\\nフロッピー ディスクがドライブに挿入されているか、書き込み保護されていないか、破損していないか、密度が正しいかを確認して下さい。\"\r\n    IDS_FFERR_BADLABEL          \"ファイル マネージャーはフロッピー ディスクにボリューム ラベルを付けられません。\\n\\n指定されたディスクボリューム ラベルが無効です。ラベルに次の文字が含まれていないことを確認して下さい。\\n[空白] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\r\n\r\n\r\n    IDS_FORMATCONFIRM           \"フォーマットするとフロッピー ディスクのデータが全て消去されます。ドライブ %c のフロッピー ディスクをフォーマットしてもよろしいですか?\"\r\n    IDS_FORMATCONFIRMTITLE      \"フォーマットのディスクの確認\"\r\n\r\n    IDS_DISKCOPYCONFIRM         \"この操作によりディスク上のデータが全て消去されます。 続行しますか?\"\r\n    IDS_DISKCOPYCONFIRMTITLE    \"ディスクのコピーの確認\"\r\n    IDS_ANDCLOSE                \"閉じる(&C)\"        // goes on Selection dialog\r\n    IDS_CLOSE                   \"閉じる\"         // braindead \"&Change\"\r\n    IDS_PATHNOTTHERE            \"ディレクトリ %s が存在しません。\\n\\n作成しますか?\"\r\n    IDS_PROGRAMS                \"プログラム#*.exe;*.pif;*.com;*.bat#全てのファイル (*.*)#*.*#\"\r\n\r\n    IDS_MENUANDITEM             \"%s - %s\"\r\n    IDS_DRIVELABEL              \"ドライブ:\"\r\n    IDS_STATUSMSGSINGLE         \"%s, \"\r\n\r\n    IDS_CONNECTHELP             \"ネットワーク ドライブに接続\"\r\n    IDS_DISCONHELP              \"ネットワーク ドライブを切断\"\r\n    IDS_CONNECTIONHELP          \"ネットワーク接続\"\r\n    IDS_SHAREASHELP             \"ディレクトリの共有\"\r\n    IDS_STOPSHAREHELP           \"ディレクトリ共有の停止\"\r\n    IDS_VDETAILSHELP            \"全てのファイル詳細を表示\"\r\n    IDS_VNAMEHELP               \"名前のみ表示\"\r\n    IDS_BYNAMEHELP              \"名前で並び替え\"\r\n    IDS_BYTYPEHELP              \"種別で並び替え\"\r\n    IDS_BYSIZEHELP              \"サイズで並び替え\"\r\n    IDS_BYDATEHELP              \"日付で並び替え\"\r\n    IDS_NEWWINHELP              \"新しいウィンドウ\"\r\n    IDS_COPYHELP                \"ファイルのコピー\"\r\n    IDS_MOVEHELP                \"ファイルの移動\"\r\n    IDS_DELHELP                 \"ファイルの削除\"\r\n\r\n    IDS_DIRNAMELABEL            \"ディレクトリ名(&D):\"\r\n    IDS_DRIVENOTAVAILABLE       \"ネットワーク ドライブはありません。\"\r\n\r\n    IDS_SHAREDAS                \"%s として共有済み\"\r\n    IDS_NOTSHARED               \"共有なし\"\r\n\r\n    IDS_DRIVE_COMPRESSED        \" - 圧縮済み\"\r\n\r\n    IDS_DRAG_COPYING            \"%s へファイルをコピー中\"\r\n    IDS_DRAG_MOVING             \"%s へファイルを移動中\"\r\n    IDS_DRAG_LINKING            \"%s へファイルをリンク中\"\r\n    IDS_DRAG_EXECUTING          \"%s でファイルを実行中\"\r\n\r\n    IDS_ORDERB                  \"%s バイト\"\r\n    IDS_ORDERKB                 \"%s KB\"\r\n    IDS_ORDERMB                 \"%s MB\"\r\n    IDS_ORDERGB                 \"%s GB\"\r\n    IDS_ORDERTB                 \"%s TB\"\r\n\r\n    IDS_VN_COMMENTS             \"コメント\"\r\n    IDS_VN_COMPANYNAME          \"会社名\"\r\n    IDS_VN_FILEDESCRIPTION      \"ファイルの詳細\"\r\n    IDS_VN_INTERNALNAME         \"内部名\"\r\n    IDS_VN_LEGALTRADEMARKS      \"法的商標\"\r\n    IDS_VN_ORIGINALFILENAME     \"元のファイル名\"\r\n    IDS_VN_PRIVATEBUILD         \"内部ビルド詳細\"\r\n    IDS_VN_PRODUCTNAME          \"製品名\"\r\n    IDS_VN_PRODUCTVERSION       \"製品バージョン\"\r\n    IDS_VN_SPECIALBUILD         \"特別なビルド詳細\"\r\n\r\n    IDS_VN_LANGUAGE             \"言語\"\r\n    IDS_VN_LANGUAGES            \"言語\"\r\n\r\n    IDS_ASSOCIATE               \"ブラウズ\"\r\n    IDS_RUN                     \"実行\"\r\n    IDS_WINHELPERR              \"ヘルプ情報を表示する事ができません。\"\r\n    IDS_NOEXEASSOC              \"拡張子 %s のファイルはプログラムです。別のアプリケーションを関連付けることはできません。\"\r\n    IDS_ASSOCNOTEXE             \"%s はプログラムではないため、ファイル拡張子に関連付けることはできません。\"\r\n    IDS_ASSOCNONE               \"(無し)\"\r\n    IDS_NOFILES                 \"ファイルが見つかりません。\"\r\n    IDS_NOACCESSDIR             \"このディレクトリにアクセスする権限がありません。\"\r\n    IDS_NOACCESSFILE            \"このファイルにアクセスする権限がありません。\"\r\n\r\n    IDS_DRIVEBUSY_COPY          \"%c: ドライブは使用中の為アクセスできません。\\nファイル マネージャーがディスクをコピーしています。\"\r\n    IDS_DRIVEBUSY_FORMAT        \"%c: ドライブは使用中の為アクセスできません。\\nファイル マネージャーがディスクをフォーマットしています。\"\r\n\r\n    IDS_COPYMOVENOTCOMPLETED    \"全ての操作が完了していません\"\r\n    IDS_DIRREMAINS              \"ファイルとディレクトリの全ての操作を完了できません。\"\r\n\r\n    IDS_TOOMANYWINDOWS          \"多くのディレクトリ ウィンドウが開かれています。\\n\\n1つまたは複数のウィンドウを閉じてもう一度試して下さい。\"\r\n    IDS_FMIFSLOADERR            \"この操作に必要なライブラリをロードする事ができません。\"\r\n\r\n    IDS_NOSUCHDIRTITLE          \"ディレクトリを読み取れません\"\r\n    IDS_NOSUCHDIR               \"ディレクトリが存在しません。\"\r\n\r\n    IDS_BADNETNAMETITLE         \"ネットワーク ドライブを接続できません\"\r\n    IDS_BADNETNAME              \"ネットワーク名が見つかりませんでした。\"\r\n\r\n    IDS_ALLFILES                \"'全てはい' はシステム ファイル、隠しファイル、読み取り専用ファイルを含む全てのファイルに作用します。\"\r\n\r\n    IDS_ASSOC_OPEN              \"開く\"\r\n    IDS_ASSOC_PRINT             \"印刷\"\r\n\r\n    IDS_ADDEXTTITLE             \"拡張子を追加\"\r\n    IDS_ADDEXTTEXT              \"拡張子 '%s' は現在 '%s' に関連付けられています。この関連付けを上書きしますか?\"\r\n\r\n    IDS_EXTTITLE                \"ファイル関連付けエディター\"\r\n\r\n    IDS_EXTADDERROR             \"拡張子に関連付ける事ができません。\"\r\n    IDS_EXTDELERROR             \"拡張子を削除できません。\"\r\n    IDS_FILETYPEADDERROR        \"ファイル タイプを追加できません。\"\r\n    IDS_FILETYPEDELERROR        \"ファイル タイプを削除できません。\"\r\n    IDS_FILETYPEREADERROR       \"ファイル タイプを読み取る事ができません。\"\r\n\r\n    IDS_FILETYPENULLDESCERROR   \"ファイル タイプの説明を空にすることはできません。新しいファイル タイプを入力して下さい。\"\r\n    IDS_FILETYPEDUPDESCERROR    \"ファイル タイプに基づいた一意の識別を生成できません。新しいファイル タイプを入力して下さい。\"\r\n\r\n    IDS_FILETYPEDELCONFIRMTITLE \"ファイル タイプの削除\"\r\n    IDS_FILETYPEDELCONFIRMTEXT  \"ファイル タイプと関連付けられた拡張子の全てが削除されます。'%s' を削除しますか?\"\r\n#ifdef ASSOC\r\n    IDS_FILETYPEDELCONFIRMUSERTEXT \"You are deleting a Personal File Type.  It will revert to the Common File Type, and all of its extensions will remain intact.  Are you sure you want to revert '%s'?\"\r\n    IDS_FILETYPEUSERIZETEXT     \"You are customizing a Common File Type.  File Manager save your changes in a Personalized File Type.  Continue?\"\r\n#endif\r\n    IDS_FILETYPECOMMANDNULLTEXT \"ファイル タイプには、コマンドが少なくとも1つ関連付けられていなければなりません。コマンドフィールドにアプリケーションを入力して下さい。\"\r\n\r\n    IDS_NEWFILETYPETITLE        \"新しいファイル タイプ\"\r\n    IDS_COPYINGDISKTITLE        \"ディスクのコピー中\"\r\n    IDS_SEARCHING               \"検索中...\"\r\n\r\nJAPANBEGIN\r\n    IDS_WRNNOSHIFTJIS           \"このフォントを使用すると漢字の表示が\\nできなくなります。\"\r\nJAPANEND\r\n\r\n    IDS_INITUPDATEFAIL          \"バックグラウンドでの更新を行う機能を初期化できませんでした。ファイル マネージャーを終了します。\"\r\n    IDS_INITUPDATEFAILTITLE     \"ファイル マネージャーの情報\"\r\n\r\n    IDS_COMPRESSDIR             \"%s 内の全てのファイルとサブディレクトリを圧縮しますか?\"\r\n    IDS_UNCOMPRESSDIR           \"%s 内の全てのファイルとサブディレクトリを解凍しますか?\"\r\n    IDS_COMPRESS_ATTRIB_ERR     \"ファイル マネージャーは %s の圧縮属性を変更できません。\"\r\n    IDS_NTLDRCOMPRESSERR        \"ファイル %s は圧縮されません。このファイルを圧縮するとシステムが起動しなくなるかもしれません。\"\r\n    IDS_MULTICOMPRESSERR        \"ファイル マネージャーは現在、ファイルを圧縮または解凍しています。\\n他のファイルを圧縮するには、全てのファイルを圧縮また解凍が完了するまでお待ち下さい。\"\r\n\r\n    IDS_EDITFILTER              \"プログラム (*.exe)\\0*.exe\\0\"\r\n\r\nEND\r\n#undef SUGGEST\r\n\r\n/* Help strings for the popup menus.\r\n */\r\nSTRINGTABLE\r\nBEGIN\r\n    MH_POPUP+IDM_FILE,          \"ファイルの操作に関するコマンド\"\r\n    MH_POPUP+IDM_DISK,          \"ディスクの操作に関するコマンド\"\r\n    MH_POPUP+IDM_TREE,          \"ツリー ウィンドウの動作に関するコマンド\"\r\n    MH_POPUP+IDM_VIEW,          \"情報の表示方法を決定するコマンド\"\r\n    MH_POPUP+IDM_OPTIONS,       \"オプションを設定するコマンド\"\r\n    MH_POPUP+IDM_SECURITY,      \"ファイルとディレクトリのセキュリティを操作するコマンド\"\r\n    MH_POPUP+IDM_WINDOW,        \"ウィンドウを配置するコマンド\"\r\n    MH_POPUP+IDM_HELP,          \"ファイル マネージャーのヘルプを表示するコマンド\"\r\nEND\r\n\r\n\r\n// Help strings for the \"standard\" toolbar items.\r\n\r\nSTRINGTABLE\r\nBEGIN\r\n    MH_MYITEMS+IDM_OPEN,        \"選択アイテムを開く\"\r\n    MH_MYITEMS+IDM_EDIT,        \"選択アイテムをメモ帳で編集する\"\r\n    MH_MYITEMS+IDM_MOVE,        \"選択アイテムを移動する\"\r\n    MH_MYITEMS+IDM_COPY,        \"ファイルまたはディレクトリをコピーする\"\r\n    MH_MYITEMS+IDM_COPYTOCLIPBOARD, \"1つまたは複数のファイルをクリップボードにコピーする\"\r\n    MH_MYITEMS+IDM_CUTTOCLIPBOARD, \"1つまたは複数のファイルをクリップボードに切り取る\"\r\n    MH_MYITEMS+IDM_PASTE,       \"現在のディレクトリにクリップボードから貼り付ける\"\r\n    MH_MYITEMS+IDM_COMPRESS,    \"ファイルまたはディレクトリを圧縮する\"\r\n    MH_MYITEMS+IDM_UNCOMPRESS,  \"ファイルまたはディレクトリを解凍する\"\r\n    MH_MYITEMS+IDM_DELETE,      \"ファイルまたはディレクトリを削除する\"\r\n    MH_MYITEMS+IDM_RENAME,      \"ファイルまたはディレクトリの名前を変更する\"\r\n    MH_MYITEMS+IDM_ATTRIBS,     \"ファイルの拡張子を設定する、またはプロパティを表示する\"\r\n    MH_MYITEMS+IDM_RUN, \"アプリケーションを実行する、またはドキュメントを開く\"\r\n    MH_MYITEMS+IDM_PRINT,       \"ドキュメントを印刷する\"\r\n    MH_MYITEMS+IDM_ASSOCIATE,   \"ファイルの拡張子に関連付けを行う\"\r\n    MH_MYITEMS+IDM_MAKEDIR,     \"ディレクトリを作成する\"\r\n    MH_MYITEMS+IDM_SEARCH,      \"ファイルまたはディレクトリを検索する\"\r\n    MH_MYITEMS+IDM_SELECT,      \"ファイルまたはディレクトリを選択する\"\r\n    MH_MYITEMS+IDM_EXIT,        \"ファイル マネージャーを終了する\"\r\n\r\n    MH_MYITEMS+IDM_DISKCOPY,    \"ディスクをコピーする\"\r\n    MH_MYITEMS+IDM_LABEL,       \"ディスクのボリューム ラベルを変更する\"\r\n    MH_MYITEMS+IDM_FORMAT,      \"ドライブのフォーマット\"\r\n//    MH_MYITEMS+IDM_SYSDISK,     \"Copies MS-DOS files to a floppy disk\"\r\n    MH_MYITEMS+IDM_CONNECT,     \"ネットワーク ドライブの接続する\"\r\n    MH_MYITEMS+IDM_DISCONNECT,  \"ネットワーク ドライブの切断する\"\r\n//    MH_MYITEMS+IDM_CONNECTIONS,       \"Network Connections...\"\r\n//    MH_MYITEMS+IDM_SHARES,    \"View Shared Directories...\"\r\n    MH_MYITEMS+IDM_SHAREAS,     \"ディレクトリを共有する\"\r\n    MH_MYITEMS+IDM_STOPSHARE,   \"ディレクトリの共有を停止する\"\r\n\r\n    MH_MYITEMS+IDM_DRIVESMORE,  \"別のドライブを選択する\"\r\n\r\n    MH_MYITEMS+IDM_EXPONE,      \"1つ展開する\"\r\n    MH_MYITEMS+IDM_EXPSUB,      \"サブディレクトリを展開する\"\r\n    MH_MYITEMS+IDM_EXPALL,      \"全て展開する\"\r\n    MH_MYITEMS+IDM_COLLAPSE,    \"サブディレクトリを折り畳む\"\r\n    MH_MYITEMS+IDM_ADDPLUSES,   \"展開可能なサブディレクトリを表示する\"\r\n\r\n    MH_MYITEMS+IDM_BOTH,        \"ディレクトリのツリーと現在のディレクトリの内容を表示する\"\r\n    MH_MYITEMS+IDM_TREEONLY,    \"ディレクトリのツリーを表示する\"\r\n    MH_MYITEMS+IDM_DIRONLY,     \"現在のディレクトリの内容を表示する\"\r\n    MH_MYITEMS+IDM_SPLIT,       \"ディレクトリ ウィンドウを分割または分割バーを移動する\"\r\n    MH_MYITEMS+IDM_VNAME,       \"名前だけ表示する\"\r\n    MH_MYITEMS+IDM_VDETAILS,    \"全てのファイルの詳細を表示する\"\r\n    MH_MYITEMS+IDM_VOTHER,      \"一部のファイルの詳細を表示する\"\r\n    MH_MYITEMS+IDM_BYNAME,      \"名前で並び替え\"\r\n    MH_MYITEMS+IDM_BYTYPE,      \"種別で並び替え\"\r\n    MH_MYITEMS+IDM_BYSIZE,      \"サイズで並び替え\"\r\n    MH_MYITEMS+IDM_BYDATE,      \"日付で昇順に並び替え\"\r\n    MH_MYITEMS+IDM_BYFDATE,     \"日付で降順に並び替え\"\r\n    MH_MYITEMS+IDM_VINCLUDE,    \"ファイルの種類で絞り込む\"\r\n\r\n    MH_MYITEMS+IDM_CONFIRM,     \"確認メッセージを制御する\"\r\n    MH_MYITEMS+IDM_FONT,        \"ファイル マネージャーのフォントを変更する\"\r\n\r\n    MH_MYITEMS+IDM_TOOLBARCUST, \"ツール バーをカスタマイズする\"\r\n    MH_MYITEMS+IDM_TOOLBAR,     \"ツール バーの表示/非表示する\"\r\n    MH_MYITEMS+IDM_DRIVEBAR,    \"ドライブバーの表示/非表示する\"\r\n    MH_MYITEMS+IDM_STATUSBAR,   \"ステータスバーの表示/非表示する\"\r\n    MH_MYITEMS+IDM_NEWWINONCONNECT,     \"接続時に新しいウィンドウを開く\"\r\n\r\n    MH_MYITEMS+IDM_MINONRUN,    \"プログラムの起動時に最小化する\"\r\n    MH_MYITEMS + IDM_INDEXONLAUNCH, \"ファイル マネージャーの起動時に移動先インデックスを作成\"\r\n    MH_MYITEMS+IDM_SAVESETTINGS,        \"ファイル マネージャーの終了時に設定を保存する\"\r\n\r\n    MH_MYITEMS+IDM_NEWWINDOW,   \"新しいウィンドウを開く\"\r\n    MH_MYITEMS+IDM_CASCADE,     \"ウィンドウを重ねて表示する\"\r\n    MH_MYITEMS+IDM_TILEHORIZONTALLY,    \"ウィンドウを上下に並べて表示する\"\r\n    MH_MYITEMS+IDM_TILE,        \"ウィンドウを左右に並べて表示する\"\r\n    MH_MYITEMS+IDM_ARRANGE,     \"アイコンを整列する\"\r\n    MH_MYITEMS+IDM_REFRESH,     \"ウィンドウの内容を更新する\"\r\n\r\n    MH_MYITEMS+IDM_PERMISSIONS  \"選択アイテムの権限情報を表示する\"\r\n    MH_MYITEMS+IDM_AUDITING     \"選択アイテムの監査情報を表示する\"\r\n    MH_MYITEMS+IDM_OWNER        \"選択アイテムの所有者情報を表示する\"\r\n\r\n    MH_MYITEMS+IDM_HELPINDEX,   \"ファイル マネージャーのヘルプのコンテンツを表示する\"\r\n    MH_MYITEMS+IDM_HELPKEYS,    \"ファイル マネージャーのヘルプのトピックを表示する\"\r\n    MH_MYITEMS+IDM_HELPHELP,    \"ヘルプの使い方について表示する\"\r\n    MH_MYITEMS+IDM_ABOUT,       \"ファイル マネージャーについて表示する\"\r\nEND\r\n\r\n\r\n// Strings for menu items that may be added at init time.\r\n\r\nSTRINGTABLE\r\nBEGIN\r\n    IDS_CONNECT,                \"ネットワーク ドライブの接続(&N)...\"\r\n    IDS_DISCONNECT,             \"ネットワーク ドライブの切断(&C)...\"\r\n    IDS_CONNECTIONS,            \"ネットワーク接続(&N)...\"\r\n    IDS_SHAREDDIR               \"ディレクトリを共有(&H)...\"\r\n    IDS_SHAREAS,                \"共有(&A)...\"\r\n    IDS_STOPSHARE,              \"共有を停止(&T)...\"\r\n    IDS_SHARES,                 \"共有ディレクトリの表示(&H)...\"\r\n    IDS_NEWWINONCONNECT,        \"接続時に新しいウィンドウを開く(&O)\"\r\nEND\r\n\r\n#include \"winfile_ja-JP.dlg\"\r\n"
  },
  {
    "path": "src/lang/res_ko-KR.rc",
    "content": "/********************************************************************\r\n\r\n   res_ko-KR.rc\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\nLANGUAGE LANG_KOREAN, SUBLANG_KOREAN\r\n\r\nFRAMEMENU MENU\r\nBEGIN\r\n    POPUP       \"파일(&F)\"\r\n    BEGIN\r\n    MENUITEM    \"열기(&O)\\tEnter\",     IDM_OPEN\r\n    MENUITEM    \"편집\\tF12\",        IDM_EDIT\r\n    MENUITEM    \"이동(&M)...\\tF7\",     IDM_MOVE\r\n    MENUITEM    \"복사(&C)...\\tF8\",     IDM_COPY\r\n    MENUITEM    \"심볼릭 링크(&Y)...\\tF11\", IDM_SYMLINK\r\n    MENUITEM    \"하드 링크(&K)...\\tShift+F11\", IDM_HARDLINK\r\n    MENUITEM    \"클립보드로 복사(&B)\\tCtrl+C\", IDM_COPYTOCLIPBOARD\r\n    MENUITEM    \"클립보드로 잘라내기\\tCtrl+X\", IDM_CUTTOCLIPBOARD\r\n    MENUITEM    \"붙여넣기(&P)\\tCtrl+V\",   IDM_PASTE\r\n    MENUITEM    \"삭제(&D)...\\tDel\",  IDM_DELETE\r\n    MENUITEM    \"이름 바꾸기(&N)...\\tF2\",   IDM_RENAME\r\n    MENUITEM    \"속성(&T)...\\tAlt+Enter\",IDM_ATTRIBS\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"압축(&S)...\",     IDM_COMPRESS\r\n    MENUITEM    \"압축 풀기(&U)...\",   IDM_UNCOMPRESS\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"실행(&R)...\",          IDM_RUN\r\n    MENUITEM    \"인쇄(&I)...\",        IDM_PRINT\r\n    MENUITEM    \"프로그램 연결(&A)...\",    IDM_ASSOCIATE\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"디렉터리 만들기(&E)...\\tCtrl+Shift+N\", IDM_MAKEDIR\r\n    MENUITEM    \"찾기(&H)...\\tCtrl+F\",       IDM_SEARCH\r\n    MENUITEM    \"파일 선택(&F)...\", IDM_SELECT\r\n    POPUP       \"시작 (&.)\"\r\n    BEGIN\r\n    MENUITEM    \"Bash 셸(&B)...\\tCtrl+B\", IDM_STARTBASHSHELL\r\n    MENUITEM    \"명령 프롬프트(&C)...\\tCtrl+K\", IDM_STARTCMDSHELL\r\n    MENUITEM    \"PowerShell(&P)...\\tCtrl+P\", IDM_STARTPOWERSHELL\r\n    MENUITEM    \"파일 탐색기(&E)...\\tCtrl+E\", IDM_STARTEXPLORER\r\n    END\r\n    MENUITEM    \"디렉터리 이동(&G)...\\tCtrl+G\", IDM_GOTODIR\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"닫기(&X)\",            IDM_EXIT\r\n    END\r\n    POPUP       \"디스크(&D)\"\r\n    BEGIN\r\n    MENUITEM    \"디스크 복사(&C)...\",    IDM_DISKCOPY\r\n    MENUITEM    \"디스크 레이블(&L)...\",   IDM_LABEL\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"드라이브 포맷(&F)...\",  IDM_FORMAT\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"드라이브 선택(&S)...\", IDM_DRIVESMORE\r\n    END\r\n    POPUP       \"트리(&T)\"\r\n    BEGIN\r\n    MENUITEM    \"한 수준 확장(&X)\\t+\", IDM_EXPONE\r\n    MENUITEM    \"확장(&B)\\t*\",    IDM_EXPSUB\r\n    MENUITEM    \"모두 확장(&A)\\tCtrl+*\",  IDM_EXPALL\r\n    MENUITEM    \"축소(&C)\\t-\",  IDM_COLLAPSE\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"확장 가능 표시(&I)\",    IDM_ADDPLUSES\r\n    END\r\n    POPUP       \"보기(&V)\"\r\n    BEGIN\r\n    MENUITEM    \"트리 및 디렉터리(&R)\",  IDM_BOTH\r\n    MENUITEM    \"트리만(&E)\",           IDM_TREEONLY\r\n    MENUITEM    \"디렉터리만(&O)\",      IDM_DIRONLY\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"나누기(&L)\",               IDM_SPLIT\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"이름만(&N)\",                IDM_VNAME\r\n    MENUITEM    \"자세히(&A)\",    IDM_VDETAILS,   CHECKED\r\n    MENUITEM    \"일부만 자세히(&P)...\",  IDM_VOTHER\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM \"이름 오름차순(&S)\",   IDM_BYNAME\r\n    MENUITEM \"확장명 오름차순(&B)\",   IDM_BYTYPE\r\n    MENUITEM \"크기 내림차순(&Z)\",   IDM_BYSIZE\r\n    MENUITEM \"날짜 내림차순(&D)\",   IDM_BYDATE\r\n    MENUITEM \"날짜 오름차순(&F)\",   IDM_BYFDATE\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"파일 형식별(&T)...\",     IDM_VINCLUDE\r\n    END\r\n    POPUP       \"옵션(&O)\"\r\n    BEGIN\r\n    MENUITEM    \"확인(&C)...\",     IDM_CONFIRM\r\n    MENUITEM    \"글꼴(&F)...\",             IDM_FONT\r\n    MENUITEM    \"도구 모음 사용자 지정(&B)...\", IDM_TOOLBARCUST\r\n    MENUITEM    \"추가 설정(&P)...\", IDM_PREF\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"도구 모음(&T)\",                 IDM_TOOLBAR\r\n    MENUITEM    \"드라이브 모음(&D)\",                IDM_DRIVEBAR\r\n    MENUITEM    \"상태 표시줄(&S)\",              IDM_STATUSBAR\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"파일 실행 시 최소화(&M)\",     IDM_MINONRUN\r\n    MENUITEM    \"실행 시 디렉터리 이동 색인 만들기(&G)\", IDM_INDEXONLAUNCH\r\n    MENUITEM    \"종료 시 설정 저장(&E)\",   IDM_SAVESETTINGS\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"설정 저장(&N)\",       IDM_SAVENOW\r\n    END\r\n    POPUP       \"보안(&S)\"\r\n    BEGIN\r\n    MENUITEM    \"권한(&P)...\",  IDM_PERMISSIONS\r\n    MENUITEM    \"감사(&A)...\",     IDM_AUDITING\r\n    MENUITEM    \"소유자(&O)...\",        IDM_OWNER\r\n    END\r\n    POPUP       \"창(&W)\"\r\n    BEGIN\r\n    MENUITEM    \"새 창(&N)\\tCtrl+Shift Enter\",          IDM_NEWWINDOW\r\n    MENUITEM    \"계단식 배열(&C)\\tShift+F5\",   IDM_CASCADE\r\n    MENUITEM    \"가로로 배열(&H)\",   IDM_TILEHORIZONTALLY\r\n    MENUITEM    \"세로로 배열(&T)\\tShift+F4\",      IDM_TILE\r\n    MENUITEM    \"아이콘 정렬(&A)\",       IDM_ARRANGE\r\n    MENUITEM    \"새로고침(&R)\\tF5\",         IDM_REFRESH\r\n    END\r\n    POPUP       \"도움말(&H)\"\r\n    BEGIN\r\n    MENUITEM    \"목차(&C)\",                IDM_HELPINDEX\r\n    MENUITEM    \"찾기(&S)...\",   IDM_HELPKEYS\r\n    MENUITEM    \"도움말 사용법(&H)\",         IDM_HELPHELP\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"파일 관리자 정보(&A)...\",   IDM_ABOUT\r\n    END\r\n\r\nEND\r\n\r\nCTXMENU MENU\r\nBEGIN\r\n    POPUP \"Dummy Popup\"\r\n    BEGIN\r\n    MENUITEM    \"새 창(&N)\\tCtrl+Shift Enter\",     IDM_NEWWINDOW\r\n    MENUITEM    \"열기(&O)\\tEnter\",     IDM_OPEN\r\n    MENUITEM    \"편집\\tF12\",        IDM_EDIT\r\n    MENUITEM    \"이동(&M)...\\tF7\",     IDM_MOVE\r\n    MENUITEM    \"복사(&C)...\\tF8\",     IDM_COPY\r\n    MENUITEM    \"심볼릭 링크(&Y)...\\tF11\", IDM_SYMLINK\r\n    MENUITEM    \"하드 링크(&K)...\\tShift+F11\", IDM_HARDLINK\r\n    MENUITEM    \"클립보드로 복사(&B)\\tCtrl+C\", IDM_COPYTOCLIPBOARD\r\n    MENUITEM    \"클립보드로 잘라내기\\tCtrl+X\", IDM_CUTTOCLIPBOARD\r\n    MENUITEM    \"붙여넣기(&P)\\tCtrl+V\", IDM_PASTE\r\n    MENUITEM    \"삭제(&D)...\\tDel\",  IDM_DELETE\r\n    MENUITEM    \"이름 바꾸기(&N)...\\tF2\",   IDM_RENAME\r\n    MENUITEM    \"속성(&T)...\\tAlt+Enter\",IDM_ATTRIBS\r\n    MENUITEM    \"실행(&R)...\",          IDM_RUN\r\n    MENUITEM    \"Bash 셸 시작...\", IDM_STARTBASHSHELL\r\n    MENUITEM    \"명령 프롬프트 시작(&L)...\", IDM_STARTCMDSHELL\r\n    MENUITEM    \"PowerShell 시작(&W)...\", IDM_STARTPOWERSHELL\r\n    MENUITEM    \"파일 탐색기 시작(&X)...\", IDM_STARTEXPLORER\r\n    MENUITEM    \"디렉터리 이동(&G)...\", IDM_GOTODIR\r\n    END\r\nEND\r\n\r\n\r\n#define SUGGEST(id,err,flags,str) id+IDS_SUGGESTBEGIN str\r\n/*              0....5....1....56...2....5....3.2..5....4....5....5....6....5....7....5....8....5....9....5....0....5....1....5....2....5..8 */\r\nSTRINGTABLE\r\nBEGIN\r\n//    IDS_ENDSESSION          \"Exit Windows\"                  /* 32 */\r\n//    IDS_ENDSESSIONMSG       \"This will end your Windows session.\"                                                                                      /* 128 */\r\n\r\n    IDS_COPYDISK            \"디스크 복사\"                     /* 32 */\r\n    IDS_INSERTDEST          \"대상 디스크를 넣으십시오.\"                                                                                                 /* 128 */\r\n    IDS_INSERTSRC           \"원본 디스크를 넣으십시오.\"                                                                                                      /* 128 */\r\n    IDS_INSERTSRCDEST       \"원본 및 대상 디스크를 넣으십시오.\"                                                                                     /* 128 */\r\n    IDS_FORMATTINGDEST      \"대상 디스크 포맷 중\"                                                                                             /* 128 */\r\n\r\n    IDS_COPYDISKERR         \"디스크 복사 오류\"               /* 32 */\r\n    IDS_COPYDISKERRMSG      \"디스크를 복사할 수 없습니다.\"                                                                                                     /* 128 */\r\n    IDS_COPYSRCDESTINCOMPAT \"원본과 대상 디스크가 호환되지 않습니다.\"                                                                          /* 128 */\r\n\r\n    IDS_PERCENTCOMP         \"%d%% 완료\"                /* 32 */\r\n    IDS_CREATEROOT          \"루트 디렉터리 만드는 중...\"       /* 32 */\r\n    IDS_COPYSYSFILES        \"시스템 파일 복사 중...\"          /* 32 */\r\n    IDS_FORMATERR           \"디스크 포맷 오류\"             /* 32 */\r\n    IDS_FORMATQUICKFAILURE  \"빠른 포맷을 수행할 수 없습니다.\\n\\n보통 포맷으로 계속하시겠습니까?\"\r\n//    IDS_FORMATERRMSG        \"Cannot format disk.\"                                                                                                      /* 128 */\r\n//    IDS_FORMATCURERR      \"You cannot format the current drive.\"                                                                                     /* 128 */\r\n    IDS_FORMATCOMPLETE      \"포맷 완료\"               /* 32 */\r\n    IDS_FORMATANOTHER       \"총 디스크 공간 : %ld바이트\\n사용할 수 있는 디스크 공간 : %ld바이트\\n\\n다른 디스크를 포맷하시겠습니까?\"                           /* 128 */\r\n\r\n//    IDS_SYSDISK             \"Make System Disk\"\r\n//    IDS_SYSDISKRUSURE       \"Are you sure you want to copy system files onto the disk in drive %c?\"\r\n//    IDS_SYSDISKERR          \"System Disk Error\"\r\n//    IDS_SYSDISKNOFILES      \"The MS-DOS startup drive does not contain system files or is not available.\"\r\n//    IDS_SYSDISKSAMEDRIVE    \"Cannot copy system files to the MS-DOS startup drive.\"\r\n//    IDS_SYSDISKADDERR       \"Cannot add system files to this disk.\\n\\nMake sure a formatted disk is present in the drive and that the drive door is closed.\"\r\n\r\n    IDS_NETERR              \"네트워크 오류\"                 /* 32 */\r\n    IDS_NETDISCONWINERR     \"이 드라이브에 Windows 시스템 파일이 있어서 연결을 끊을 수 없습니다.\"                                                 /* 128 */\r\n    IDS_NETDISCONOPEN       \"네트워크 드라이브의 연결을 끊을 수 없습니다.\\n\\n이 드라이브에 열린 파일이 있습니다.\"\r\n\r\n    IDS_ATTRIBERR           \"특성을 바꿀 수 없습니다.  \"\r\n    IDS_MAKEDIRERR          \"디렉터리를 만들 수 없습니다.  \"\r\n\r\n    IDS_LABELDISKERR        \"디스크에 레이블을 지정할 수 없습니다.\\n\\n디스크가 쓰기 금지되어 있지 않은지, 네트워크 드라이브가 아닌지, 이름이 유효한지 확인하십시오. 이름은 다음 문자들을 포함할 수 없습니다:\\n[공백] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\r\n\r\n    IDS_SEARCHNOMATCHES     \"일치하는 파일이 없습니다.\"\r\n    IDS_SEARCHREFRESH       \"이 드라이브의 내용이 바뀌었습니다. [찾기 결과] 창을 새로 고치시겠습니까?\"\r\n    IDS_LABELACCESSDENIED   \"하드 디스크에 이 작업을 수행하려면 워크스테이션에 관리자로 로그온해야 합니다.\"\r\n\r\n    IDS_DRIVETEMP           \"드라이브 %c:%c\"\r\n\r\n    IDS_EXECERRTITLE,       \"프로그램을 실행할 수 없습니다.\"\r\n    IDS_PRINTERRTITLE,      \"파일을 인쇄할 수 없습니다.\"\r\n\r\n    IDS_UNKNOWNMSG,         \"예기치 않은 오류: %d.\"\r\n    IDS_NOMEMORYMSG,        \"메모리가 부족하여 지정한 응용 프로그램을 수행할 수 없습니다.\\n\\n하나 이상의 응용 프로그램을 마친 다음 다시 해보십시오.\"                   /* 128 */\r\n    IDS_FILENOTFOUNDMSG,    \"파일(혹은 구성 요소)를 찾을 수 없습니다.\\n\\n경로와 파일 이름이 올바른지, 필요한 모든 라이브러리를 사용할 수 있는지 확인하십시오.\"\r\n    IDS_BADPATHMSG,         \"지정한 경로가 올바르지 않습니다.\"                                                                                           /* 128 */\r\n//    IDS_MANYOPENFILESMSG,   \"Too many files are currently in use.\\n\\nQuit one or more applications or increase the value of the FILES command in CONFIG.SYS, and then try again.\"                                    /* 128 */\r\n    IDS_NOASSOCMSG,         \"이 파일과 연결된 응용 프로그램이 없습니다.\\n\\n프로그램 연결을 만들려면 [파일] 메뉴에서 [프로그램 연결]을 선택하십시오.\"       /* 128 */\r\n    IDS_ASSOCINCOMPLETE,    \"파일을 열거나 인쇄할 수 없습니다.\\n\\n이 파일을 만드는데 사용된 응용 프로그램을 시작한 다음 그 응용 프로그램에서 파일을 열거나 인쇄하십시오.\"\r\n//    IDS_MULTIPLEDSMSG,      \"Cannot start more than one copy of the specified program.\"                                                                /* 128 */\r\n//    IDS_OS2APPMSG           \"The specified application is not a Windows or MS-DOS program.\"                                                            /* 128 */\r\n//    IDS_NEWWINDOWSMSG       \"This application requires a newer version of Microsoft Windows.\"                                                          /* 128 */\r\n//    IDS_PMODEONLYMSG        \"This application requires Windows.\"                                                             /* 128 */\r\n    IDS_DDEFAIL             \"응용 프로그램으로 명령을 보낼 때 오류가 발생했습니다.\"                                                                /* 128 */\r\n//    IDS_COMPRESSEDEXE       \"This program or one of its components is compressed.\\n\\nUse the MS-DOS expand utility to copy the file from the setup disks.\"\r\n    IDS_INVALIDDLL          \"이 응용 프로그램을 실행하는데 필요한 라이브러리 파일 중 하나가 손상되었습니다. 이 프로그램을 다시 설치하십시오.\"\r\n    IDS_SHAREERROR          \"이 파일을 다른 응용 프로그램에서 사용중입니다.\"\r\n\r\n    IDS_CREATELONGDIR       \"'%s' 디렉터리에 만들어진 파일을 액세스할 수 없습니다.\\n\\n계속하시겠습니까?\"\r\n    IDS_CREATELONGDIRTITLE  \"디렉터리 만들기\"\r\n\r\n    IDS_MOUSECONFIRM,       \"마우스 동작 확인\"       /* 32 */\r\n    IDS_COPYMOUSECONFIRM,   \"선택한 파일이나 디렉터리를 %s(으)로 복사하시겠습니까?\"\r\n    IDS_MOVEMOUSECONFIRM,   \"선택한 파일이나 디렉터리를 %s(으)로 이동하시겠습니까?\"\r\n    IDS_LINKMOUSECONFIRM,   \"선택한 파일이나 디렉터리를 %s(으)로 연결하시겠습니까?\"\r\n    IDS_EXECMOUSECONFIRM,   \"%s을(를) 시작하는데 %s을(를) 초기 파일로 이용하시겠습니까?\"                                                          /* 128 */\r\n\r\n    IDS_WINFILE,            \"파일 관리자\"                  /* 32 */\r\n    IDS_TREETITLE,          \"디렉터리 트리\"                /* 32 */\r\n    IDS_SEARCHTITLE,        \"찾기 결과: \"              /* 32 */\r\n\r\n    IDS_READING             \"디렉터리를 읽고 있습니다. 기다리십시오...\"\r\n    IDS_TOOMANYTITLE,       \"파일이 너무 많습니다.\"                /* 32 */\r\n    IDS_OOMTITLE,           \"파일 관리자 - 메모리 부족\"  /* 32 */\r\n    IDS_OOMREADINGDIRMSG,   \"전체 디렉터리를 읽을 수 없습니다. 목록의 일부만 표시됩니다.\"                                              /* 128 */\r\n\r\n//    IDS_PRINTFNF            \"The file to be printed cannot be found. Make sure the correct path and filename are specified.\"                                                                                  /* 128 */\r\n    IDS_PRINTMEMORY         \"인쇄를 위한 메모리가 부족합니다.\\n\\n하나 이상의 응용 프로그램을 마친 다음 다시 해보십시오.\"                                             /* 128 */\r\n    IDS_PRINTDISK           \"인쇄를 위한 디스크 공간이 부족합니다.\\n\\n하나 이상의 파일을 지워 디스크 공간을 늘린 후 다시 해보십시오.\"                        /* 128 */\r\n    IDS_PRINTERROR          \"인쇄 중 오류가 일어났습니다.\\n\\n프린터가 올바르게 설정되고 선택되었는지 확인하십시오.\"             /* 128 */\r\n    IDS_PRINTONLYONE        \"여러 파일을 인쇄할 수 없습니다.\\n\\n파일을 하나만 선택한 다음 다시 하십시오.\"                                               /* 128 */\r\n\r\n    IDS_CURDIRIS,           \"현재 디렉터리: %s\"                                                                                                    /* 128 */\r\n    IDS_CURDIRSARE,         \"기타 현재 디렉터리: \"\r\n    IDS_COPY,               \"복사\"                          /* 32 */\r\n    IDS_RENAME,             \"이름 바꾸기\"                        /* 32 */\r\n    IDS_FORMAT,             \"디스크 포맷\"                   /* 32 */\r\n    IDS_FORMATSELDISK,      \"포맷할 디스크를 선택하십시오.\"                                                                                               /* 128 */\r\n    IDS_SYMLINK,            \"심볼릭 링크\"                       /* 32 */\r\n    IDS_HARDLINK,           \"하드 링크\"                      /* 32 */\r\n\r\n    IDS_KK_COPYFROMSTR,     \"원래 위치(&F):\"\r\n    IDS_KK_COPYTOSTR,       \"복사할 위치(&T):\"\r\n    IDS_KK_RENAMEFROMSTR,   \"이전 이름(&F):\"\r\n    IDS_KK_RENAMETOSTR,     \"새 이름(&T):\"\r\n    IDS_KK_HARDLINKFROMSTR, \"원본(&F):\"\r\n    IDS_KK_HARDLINKTOSTR,   \"대상(&T):\"\r\n    IDS_KK_SYMLINKFROMSTR,  \"원본(&F):\"\r\n    IDS_KK_SYMLINKTOSTR,    \"대상(&T):\"\r\n\r\n//    IDS_MAKESYSDISK,      \"Make System Disk\"              /* 32 */\r\n\r\n    IDS_CREATINGMSG,        \"만드는 중:\"                     /* 32 */\r\n    IDS_REMOVINGDIRMSG,     \"제거하는 중:\"                     /* 32 */\r\n    IDS_REMOVINGMSG,        \"제거하는 중...\"                   /* 32 */\r\n    IDS_COPYINGMSG,         \"복사하는 중:\"                      /* 32 */\r\n    IDS_OPENINGMSG,         \"여는 중...\"                    /* 32 */\r\n    IDS_CLOSINGMSG,         \"닫는 중...\"                    /* 32 */\r\n    IDS_RENAMINGMSG,        \"이름 바꾸는 중...\"                   /* 32 */\r\n    IDS_MOVINGMSG,          \"이동하는 중...\"                     /* 32 */\r\n    IDS_DELETINGMSG,        \"삭제하는 중...\"                   /* 32 */\r\n    IDS_PRINTINGMSG,        \"인쇄 중: %s\"                  /* 32 */\r\n\r\n//    IDS_NOSUCHDRIVE,        \"Drive %c does not exist.\"                                                                                            /* 128 */\r\n    IDS_DRIVENOTREADY,      \"드라이브 %c에 디스크가 없습니다.\\n\\n디스크를 넣은 다음 다시 해보십시오.\"\r\n    IDS_UNFORMATTED,        \"드라이브 %c에 있는 디스크가 포맷되지 않았습니다.\\n\\n지금 포맷하시겠습니까?\"\r\n\r\n    IDS_STATUSMSG,          \"총 파일 수 %d (%s)\"             /* 128 */\r\n    IDS_STATUSMSG2,         \"선택한 파일 수: %d (%s)\"          /* 128 */\r\n    IDS_DRIVEFREE,          \"%c: %s 사용가능, 총 %s\"            /* 128 */\r\n    IDS_TREEABORT,          \"디렉터리 트리의 일부만 표시되었습니다.\"     /* 128 */\r\n    IDS_DIRSREAD,           \"읽은 디렉터리 수 : %d\"                   /* 32 */\r\n    IDS_SEARCHMSG,          \"찾은 파일 : %d\"\r\n    IDS_BYTES,              \"%ld바이트\"\r\n    IDS_SBYTES,             \"%s바이트\"\r\n\r\n    IDS_SELECTEDFILES,      \"선택한 파일\"            /* 32 */\r\n\r\n    /* These strings are used for generating error messages\r\n     * from the Copy, Move, and Delete code. */\r\n\r\n    IDS_COPYERROR + FUNC_COPY     \"파일 복사 오류\"\r\n    IDS_COPYERROR + FUNC_MOVE     \"파일 이동 오류\"\r\n    IDS_COPYERROR + FUNC_DELETE   \"파일 삭제 오류\"\r\n    IDS_COPYERROR + FUNC_RENAME   \"파일 이름 바꾸기 오류\"\r\n    IDS_COPYERROR + FUNC_SETDRIVE \"드라이브 선택 오류\"\r\n    IDS_COPYERROR + FUNC_EXPAND   \"디렉터리 읽기 오류\"\r\n    IDS_COPYERROR + FUNC_LABEL    \"디스크 레이블 지정 오류\"\r\n    IDS_COPYERROR + FUNC_LINK     \"심볼릭 링크 생성 오류\"\r\n    IDS_COPYERROR + FUNC_HARD     \"하드 링크 생성 오류\"\r\n    IDS_COPYERROR + FUNC_JUNC     \"디렉터리 교차점 생성 오류\"\r\n\r\n    /* The first %s is replaced by a file name. The second %s is replaced\r\n     * by one of the \"reasons\" below. */\r\n\r\n    IDS_VERBS + FUNC_COPY       \"%s(을)를 복사할 수 없습니다: %s\"\r\n    IDS_VERBS + FUNC_MOVE       \"%s(을)를 이동할 수 없습니다: %s\"\r\n    IDS_VERBS + FUNC_DELETE     \"%s(을)를 삭제할 수 없습니다: %s\"\r\n    IDS_VERBS + FUNC_RENAME     \"%s의 이름을 바꿀 수 없습니다: %s\"\r\n    IDS_VERBS + FUNC_LINK       \"심볼릭 링크 %s(을)를 생성할 수 없습니다: %s\"\r\n    IDS_VERBS + FUNC_HARD       \"하드 링크 %s(을)를 생성할 수 없습니다: %s\"\r\n    IDS_VERBS + FUNC_JUNC       \"디렉터리 교차점 %s(을)를 생성할 수 없습니다: %s\"\r\n    IDS_ACTIONS + 1             \"디렉터리 %s(을)를 생성할 수 없습니다: %s\"\r\n    IDS_ACTIONS + 2             \"디렉터리 %s(을)를 제거할 수 없습니다: %s\"\r\n    IDS_REPLACING               \"%s을(를) 생성하거나 바꿀 수 없습니다. %s\"\r\n    // IDS_CREATING             \"File Manager cannot create %s: %s\"\r\n\r\n// include reason strings\r\n\r\n#include \"suggest_ko-KR.db\"\r\n\r\n    IDS_DESTFULL                \"대상 디스크가 가득 찼습니다. 계속하려면 다른 디스크를 넣으십시오.\"\r\n    IDS_WRITEPROTECTFILE        \"시스템, 숨김, 또는 읽기 전용 파일입니다.\"\r\n\r\n    IDS_COPYINGTITLE            \"복사 중...\"\r\n\r\n    IDS_QUICKFORMATTINGTITLE    \"빠른 포맷 중...\"\r\n\r\n    IDS_BUSYFORMATQUITVERIFY    \"지금 디스크를 포맷하고 있습니다. [파일 관리자]를 마치면 이 동작은 취소됩니다.\"\r\n    IDS_BUSYCOPYQUITVERIFY      \"지금 디스크 복사를 하고 있습니다. [파일 관리자]를 마치면 이 동작은 취소됩니다.\"\r\n    IDS_PERCENTCOMPLETE         \"진행률\"\r\n\r\n    IDS_12MB                    \"1%s2MB\"\r\n    IDS_360KB                   \"360K\"\r\n    IDS_144MB                   \"1%s44MB\"\r\n    IDS_720KB                   \"720K\"\r\n    IDS_288MB                   \"2%s88MB\"\r\n    IDS_2080MB                  \"20%s8MB\"\r\n\r\n#if defined(JAPAN) && defined(i386)\r\n/* ADD KBNES. NEC MEDIATYPE START */\r\nJAPANBEGIN\r\n    IDS_125MB                   \"1%s25 MB\"\r\n    IDS_256KB                   \"256K\"\r\n    IDS_128MB                   \"128 MB\"\r\nJAPANEND\r\n/* ADD KBNES. NEC MEDIATYPE END */\r\n\r\n//\r\n// FMR jul.21.1994 JY\r\n// We added 640KB/1.23MB media types.\r\n//\r\nJAPANBEGIN\r\n    IDS_640KB                   \"640K\"\r\n    IDS_123MB                   \"1%s23 MB\"\r\nJAPANEND\r\n#endif\r\n\r\n    IDS_DEVICECAP               \"드라이브 용량\"\r\n    IDS_QSUPMEDIA               \"디스크 정보를 얻을 수 없습니다.\\n\\n드라이브에 디스크가 있는지 확인하십시오.\"\r\n    IDS_REMOVEMED               \"알 수 없는 디스크 종류\"\r\n\r\n    IDS_CANTFORMATTITLE         \"알 수 없는 디스크 종류\"\r\n    IDS_CANTFORMAT              \"%s 드라이브의 디스크 종류는 [파일 관리자]로 포맷할 수 없습니다. [디스크 관리자]를 사용하여 포맷하십시오.\"\r\n\r\n    IDS_FFERR_INCFS             \"호환되지 않는 파일 시스템입니다.\"\r\n    IDS_FFERR_ACCESSDENIED      \"액세스할 수 없습니다.\"\r\n    IDS_FFERR_DISKWP            \"디스크가 쓰기 금지되어있습니다.\"\r\n    IDS_FFERR_CANTLOCK          \"볼륨을 잠글 수 없습니다.\"\r\n    IDS_FFERR_CANTQUICKF        \"디스크를 빠른 포맷할 수 없습니다.\\n\\n디스크 밀도가 올바른지 확인하십시오.\"\r\n    IDS_FFERR_SRCIOERR          \"원본 디스크의 IO 오류입니다.\"\r\n    IDS_FFERR_DSTIOERR          \"대상 디스크의 IO 오류입니다.\"\r\n    IDS_FFERR_SRCDSTIOERR       \"원본 및 대상 디스크의 IO 오류입니다.\"\r\n    IDS_FFERR_GENIOERR          \"IO 오류가 발생했습니다.\"\r\n//    IDS_FFERR_MEDIASENSE      \"This disk is capable of being formatted at a capacity of %s. Continue formatting at this capacity?\"\r\n    IDS_FFERR                   \"디스크를 포맷할 수 없습니다.\\n\\n디스크가 드라이브에 들어있는지, 쓰기 금지되지 않았는지, 손상되지 않았는지 또는 밀도가 올바른지 확인하십시오.\"\r\n    IDS_FFERR_BADLABEL          \"디스크에 레이블을 지정할 수 없습니다.\\n\\n지정된 이름표가 올바르지 않습니다. 이름표에 다음 문자가 포함되지 않았는지 확인하십시오:\\n[공백] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\r\n\r\n\r\n    IDS_FORMATCONFIRM           \"포맷은 디스크에 있는 모든 데이터를 지웁니다. %c 드라이브에 있는 디스크를 포맷하시겠습니까?\"\r\n    IDS_FORMATCONFIRMTITLE      \"디스크 포맷 확인\"\r\n\r\n    IDS_DISKCOPYCONFIRM         \"이 작업을 하면 대상 디스크의 모든 데이터가 지워집니다. 계속하시겠습니까?\"\r\n    IDS_DISKCOPYCONFIRMTITLE    \"디스크 복사 확인\"\r\n    IDS_ANDCLOSE                \"닫기(&C)\"        // goes on Selection dialog\r\n    IDS_CLOSE                   \"닫기\"         // braindead \"&Change\"\r\n    IDS_PATHNOTTHERE            \"%s 디렉터리가 없습니다.\\n\\n새로 만드시겠습니까?\"\r\n    IDS_PROGRAMS                \"프로그램#*.exe;*.pif;*.com;*.bat#모든 파일 (*.*)#*.*#\"\r\n\r\n    IDS_MENUANDITEM             \"%s - %s\"\r\n    IDS_DRIVELABEL              \"드라이브:\"\r\n    IDS_STATUSMSGSINGLE         \"%s, \"\r\n\r\n    IDS_CONNECTHELP             \"네트워크 드라이브 연결\"\r\n    IDS_DISCONHELP              \"네트워크 드라이브 연결 끊기\"\r\n    IDS_CONNECTIONHELP          \"네트워크 연결\"\r\n    IDS_SHAREASHELP             \"디렉터리 공유\"\r\n    IDS_STOPSHAREHELP           \"디렉터리 공유 중단\"\r\n    IDS_VDETAILSHELP            \"자세히 보기\"\r\n    IDS_VNAMEHELP               \"이름만 보기\"\r\n    IDS_BYNAMEHELP              \"이름순 정렬\"\r\n    IDS_BYTYPEHELP              \"유형별 정렬\"\r\n    IDS_BYSIZEHELP              \"크기순 정렬\"\r\n    IDS_BYDATEHELP              \"날짜순 정렬\"\r\n    IDS_NEWWINHELP              \"새 창\"\r\n    IDS_COPYHELP                \"파일 복사\"\r\n    IDS_MOVEHELP                \"파일 이동\"\r\n    IDS_DELHELP                 \"파일 삭제\"\r\n\r\n    IDS_DIRNAMELABEL            \"디렉터리 이름(&D):\"\r\n    IDS_DRIVENOTAVAILABLE       \"네트워크 드라이브를 사용할 수 없습니다.\"\r\n\r\n    IDS_SHAREDAS                \"%s(으)로 공유\"\r\n    IDS_NOTSHARED               \"공유되지 않음\"\r\n\r\n    IDS_DRIVE_COMPRESSED        \" - 압축\"\r\n\r\n    IDS_DRAG_COPYING            \"%s(으)로 파일 복사 중\"\r\n    IDS_DRAG_MOVING             \"%s(으)로 파일 이동 중\"\r\n    IDS_DRAG_LINKING            \"%s(으)로 파일 연결 중\"\r\n    IDS_DRAG_EXECUTING          \"%s(으)로 파일 실행 중\"\r\n\r\n    IDS_ORDERB                  \"%s바이트\"\r\n    IDS_ORDERKB                 \"%sKB\"\r\n    IDS_ORDERMB                 \"%sMB\"\r\n    IDS_ORDERGB                 \"%sGB\"\r\n    IDS_ORDERTB                 \"%sTB\"\r\n\r\n    IDS_VN_COMMENTS             \"설명\"\r\n    IDS_VN_COMPANYNAME          \"회사 이름\"\r\n    IDS_VN_FILEDESCRIPTION      \"파일 설명\"\r\n    IDS_VN_INTERNALNAME         \"내부 이름\"\r\n    IDS_VN_LEGALTRADEMARKS      \"등록 상표\"\r\n    IDS_VN_ORIGINALFILENAME     \"원본 파일 이름\"\r\n    IDS_VN_PRIVATEBUILD         \"개인 빌드 설명\"\r\n    IDS_VN_PRODUCTNAME          \"제품 이름\"\r\n    IDS_VN_PRODUCTVERSION       \"제품 버전\"\r\n    IDS_VN_SPECIALBUILD         \"특수 빌드 설명\"\r\n\r\n    IDS_VN_LANGUAGE             \"언어\"\r\n    IDS_VN_LANGUAGES            \"언어\"\r\n\r\n    IDS_ASSOCIATE               \"찾아보기\"\r\n    IDS_RUN                     \"실행\"\r\n    IDS_WINHELPERR              \"도움말 정보를 표시할 수 없습니다.\"\r\n    IDS_NOEXEASSOC              \"파일 확장명이 %s인 파일은 프로그램이므로 다른 응용 프로그램과 연결할 수 없습니다.\"\r\n    IDS_ASSOCNOTEXE             \"%s은(는) 프로그램이 아니므로 파일 확장명과 연결할 수 없습니다.\"\r\n    IDS_ASSOCNONE               \"(없음)\"\r\n    IDS_NOFILES                 \"파일을 찾을 수 없습니다.\"\r\n    IDS_NOACCESSDIR             \"이 디렉터리에 접근할 권한이 없습니다.\"\r\n    IDS_NOACCESSFILE            \"이 파일에 접근할 권한이 없습니다.\"\r\n\r\n    IDS_DRIVEBUSY_COPY          \"%c: 드라이브가 사용중이므로 액세스할 수 없습니다.\\n[파일 관리자]가 디스크를 복사하고 있습니다.\"\r\n    IDS_DRIVEBUSY_FORMAT        \"%c: 드라이브가 사용중이므로 액세스할 수 없습니다.\\n[디스크 관리자]가 디스크를 포맷하고 있습니다.\"\r\n\r\n    IDS_COPYMOVENOTCOMPLETED    \"작업이 완전히 끝나지 않았습니다.\"\r\n    IDS_DIRREMAINS              \"모든 파일과 디렉터리에서 작업을 완료하지 못했습니다.\"\r\n\r\n    IDS_TOOMANYWINDOWS          \"너무 많은 디렉터리 창이 열려 있습니다.\\n\\n하나 이상의 창을 닫고 다시 하십시오.\"\r\n    IDS_FMIFSLOADERR            \"이 작업에 필요한 라이브러리를 로드할 수 없습니다.\"\r\n\r\n    IDS_NOSUCHDIRTITLE          \"디렉터리를 읽을 수 없습니다.\"\r\n    IDS_NOSUCHDIR               \"디렉터리가 없습니다.\"\r\n\r\n    IDS_BADNETNAMETITLE         \"네트워크 드라이브를 연결할 수 없습니다.\"\r\n    IDS_BADNETNAME              \"네트워크 이름을 찾을 수 없습니다.\"\r\n\r\n    IDS_ALLFILES                \"[예, 모두]는 시스템, 숨김, 읽기 전용을 포함한 모든 파일에 영향을 줍니다.\"\r\n\r\n    IDS_ASSOC_OPEN              \"열기\"\r\n    IDS_ASSOC_PRINT             \"인쇄\"\r\n\r\n    IDS_ADDEXTTITLE             \"확장명 추가\"\r\n    IDS_ADDEXTTEXT              \"확장명 '%s'은(는) 현재 '%s' 와(과) 연결되어 있습니다. 프로그램 연결을 덮어쓰시겠습니까?\"\r\n\r\n    IDS_EXTTITLE                \"파일 연결 편집기\"\r\n\r\n    IDS_EXTADDERROR             \"확장명을 연결할 수 없습니다.\"\r\n    IDS_EXTDELERROR             \"확장명을 삭제할 수 없습니다.\"\r\n    IDS_FILETYPEADDERROR        \"파일 형식을 추가할 수 없습니다.\"\r\n    IDS_FILETYPEDELERROR        \"파일 형식을 삭제할 수 없습니다.\"\r\n    IDS_FILETYPEREADERROR       \"파일 형식을 읽을 수 없습니다.\"\r\n\r\n    IDS_FILETYPENULLDESCERROR   \"[파일 형식] 설명을 비워 둘 수 없습니다. 새 파일 형식을 입력하십시오.\"\r\n    IDS_FILETYPEDUPDESCERROR    \"입력한 파일 형식으로 고유한 식별자를 만들 수 없습니다. 새 파일 형식을 입력하십시오.\"\r\n\r\n    IDS_FILETYPEDELCONFIRMTITLE \"파일 형식 삭제\"\r\n    IDS_FILETYPEDELCONFIRMTEXT  \"파일 형식 및 연결된 모든 확장명을 삭제합니다. '%s'을(를) 삭제하시겠습니까?\"\r\n#ifdef ASSOC\r\n    IDS_FILETYPEDELCONFIRMUSERTEXT \"You are deleting a Personal File Type.  It will revert to the Common File Type, and all of its extensions will remain intact.  Are you sure you want to revert '%s'?\"\r\n    IDS_FILETYPEUSERIZETEXT     \"You are customizing a Common File Type.  File Manager save your changes in a Personalized File Type.  Continue?\"\r\n#endif\r\n    IDS_FILETYPECOMMANDNULLTEXT \"[파일 형식]은 명령에 적어도 하나의 동작을 가지고 있어야 합니다. 명령 필드에 응용 프로그램을 입력하십시오.\"\r\n\r\n    IDS_NEWFILETYPETITLE        \"새 파일 형식\"\r\n    IDS_COPYINGDISKTITLE        \"디스크 복사 중\"\r\n    IDS_SEARCHING               \"찾는 중...\"\r\n\r\nJAPANBEGIN\r\n    IDS_WRNNOSHIFTJIS           \"このフォントを使用すると漢字の表示が\\nできなくなります。\"\r\nJAPANEND\r\n\r\n    IDS_INITUPDATEFAIL          \"백그라운드 업데이트 지원을 초기화할 수 없습니다. [파일 관리자]를 마칩니다.\"\r\n    IDS_INITUPDATEFAILTITLE     \"파일 관리자 초기화\"\r\n\r\n    IDS_COMPRESSDIR             \"%s에 있는 모든 파일과 하위 디렉터리도 압축하시겠습니까?\"\r\n    IDS_UNCOMPRESSDIR           \"%s에 있는 모든 파일과 하위 디렉터리의 압축을 푸시겠습니까?\"\r\n    IDS_COMPRESS_ATTRIB_ERR     \"%s의 압축 특성을 바꿀 수 없습니다.\"\r\n    IDS_NTLDRCOMPRESSERR        \"%s 파일은 압축할 수 없습니다. 이 파일을 압축하면 시스템이 부팅되지 않을 수도 있습니다.\"\r\n    IDS_MULTICOMPRESSERR        \"지금 파일 압축/압축 풀기를 하고 있습니다.\\n다른 파일을 압축/압축 풀기하려면 지금 작업이 끝날 때까지 기다려야 합니다.\"\r\n\r\n    IDS_EDITFILTER              \"프로그램 (*.exe)\\0*.exe\\0\"\r\n\r\nEND\r\n#undef SUGGEST\r\n\r\n/* Help strings for the popup menus.\r\n */\r\nSTRINGTABLE\r\nBEGIN\r\n    MH_POPUP+IDM_FILE,          \"파일로 작업하는 명령\"\r\n    MH_POPUP+IDM_DISK,          \"디스크로 작업하는 명령\"\r\n    MH_POPUP+IDM_TREE,          \"트리 창에서 작업하는 명령\"\r\n    MH_POPUP+IDM_VIEW,          \"정보 표시 방법을 결정하는 명령\"\r\n    MH_POPUP+IDM_OPTIONS,       \"옵션 설정을 위한 명령\"\r\n    MH_POPUP+IDM_SECURITY,      \"파일 및 디렉터리 보안 조작 명령\"\r\n    MH_POPUP+IDM_WINDOW,        \"창 정렬을 위한 명령\"\r\n    MH_POPUP+IDM_HELP,          \"파일 관리자 도움말을 표시하기 위한 명령\"\r\nEND\r\n\r\n\r\n// Help strings for the \"standard\" toolbar items.\r\n\r\nSTRINGTABLE\r\nBEGIN\r\n    MH_MYITEMS+IDM_OPEN,        \"선택한 항목 열기\"\r\n    MH_MYITEMS+IDM_EDIT,        \"메모장을 사용하여 선택한 항목 편집\"\r\n    MH_MYITEMS+IDM_MOVE,        \"선택한 항목 이동\"\r\n    MH_MYITEMS+IDM_COPY,        \"파일 및 디렉터리 복사\"\r\n    MH_MYITEMS+IDM_COPYTOCLIPBOARD, \"파일을 클립보드로 복사\"\r\n    MH_MYITEMS+IDM_CUTTOCLIPBOARD, \"파일을 클립보드로 잘라내기\"\r\n    MH_MYITEMS+IDM_PASTE,       \"클립보드에서 현재 디렉터리로 붙여넣기\"\r\n    MH_MYITEMS+IDM_COMPRESS,    \"파일 또는 디렉터리 압축\"\r\n    MH_MYITEMS+IDM_UNCOMPRESS,  \"파일 또는 디렉터리 압축 풀기\"\r\n    MH_MYITEMS+IDM_DELETE,      \"파일 및 디렉터리 삭제\"\r\n    MH_MYITEMS+IDM_RENAME,      \"파일 또는 디렉터리 이름 바꾸기\"\r\n    MH_MYITEMS+IDM_ATTRIBS,     \"파일 특성을 설정하고 [속성] 창 표시\"\r\n    MH_MYITEMS+IDM_RUN,         \"응용 프로그램이나 문서를 시작하거나 열기\"\r\n    MH_MYITEMS+IDM_PRINT,       \"문서를 인쇄\"\r\n    MH_MYITEMS+IDM_ASSOCIATE,   \"파일을 응용 프로그램과 연결\"\r\n    MH_MYITEMS+IDM_MAKEDIR,     \"디렉터리 생성\"\r\n    MH_MYITEMS+IDM_SEARCH,      \"파일 및 디렉터리 찾기\"\r\n    MH_MYITEMS+IDM_SELECT,      \"파일 및 디렉터리 선택\"\r\n    MH_MYITEMS+IDM_EXIT,        \"파일 관리자 닫기\"\r\n\r\n    MH_MYITEMS+IDM_DISKCOPY,    \"플로피 디스크의 내용을 복사\"\r\n    MH_MYITEMS+IDM_LABEL,       \"디스크 볼륨 레이블을 지정하거나 바꾸기\"\r\n    MH_MYITEMS+IDM_FORMAT,      \"드라이브를 포맷\"\r\n//    MH_MYITEMS+IDM_SYSDISK,     \"Copies MS-DOS files to a floppy disk\"\r\n    MH_MYITEMS+IDM_CONNECT,     \"네트워크 드라이브 연결\"\r\n    MH_MYITEMS+IDM_DISCONNECT,  \"네트워크 드라이브 연결 끊기\"\r\n//    MH_MYITEMS+IDM_CONNECTIONS,       \"Network Connections...\"\r\n//    MH_MYITEMS+IDM_SHARES,    \"View Shared Directories...\"\r\n    MH_MYITEMS+IDM_SHAREAS,     \"디렉터리 공유\"\r\n    MH_MYITEMS+IDM_STOPSHARE,   \"디렉터리 공유 중단\"\r\n\r\n    MH_MYITEMS+IDM_DRIVESMORE,  \"다른 드라이브를 선택\"\r\n\r\n    MH_MYITEMS+IDM_EXPONE,      \"다른 수준의 디렉터리를 표시\"\r\n    MH_MYITEMS+IDM_EXPSUB,      \"특정 디렉터리의 하위 디렉터리를 표시\"\r\n    MH_MYITEMS+IDM_EXPALL,      \"모든 디렉터리의 하위 디렉터리를 표시\"\r\n    MH_MYITEMS+IDM_COLLAPSE,    \"선택한 디렉터리의 하위 디렉터리를 축소\"\r\n    MH_MYITEMS+IDM_ADDPLUSES,   \"하위 디렉터리를 갖는 디렉터리 가리키기\"\r\n\r\n    MH_MYITEMS+IDM_BOTH,        \"디렉터리 트리 및 현재 디렉터리의 내용을 표시\"\r\n    MH_MYITEMS+IDM_TREEONLY,    \"디렉터리 트리를 표시\"\r\n    MH_MYITEMS+IDM_DIRONLY,     \"현재 디렉터리의 내용을 표시\"\r\n    MH_MYITEMS+IDM_SPLIT,       \"디렉터리 창을 분할하거나 분할선을 옮기기\"\r\n    MH_MYITEMS+IDM_VNAME,       \"파일 이름만 보기\"\r\n    MH_MYITEMS+IDM_VDETAILS,    \"모든 파일 정보를 자세히 보기\"\r\n    MH_MYITEMS+IDM_VOTHER,      \"일부 파일 정보만 보기\"\r\n    MH_MYITEMS+IDM_BYNAME,      \"이름 오름차순 정렬\"\r\n    MH_MYITEMS+IDM_BYTYPE,      \"형식 오름차순 정렬\"\r\n    MH_MYITEMS+IDM_BYSIZE,      \"크기 내림차순 정렬\"\r\n    MH_MYITEMS+IDM_BYDATE,      \"날짜 내림차순 정렬\"\r\n    MH_MYITEMS+IDM_BYFDATE,     \"날짜 오름차순 정렬\"\r\n    MH_MYITEMS+IDM_VINCLUDE,    \"지정한 종류의 파일만 보여 주기\"\r\n\r\n    MH_MYITEMS+IDM_CONFIRM,     \"확인 메시지를 제어\"\r\n    MH_MYITEMS+IDM_FONT,        \"파일 관리자 글꼴을 설정\"\r\n\r\n    MH_MYITEMS+IDM_TOOLBARCUST, \"Customizes the toolbar\"\r\n    MH_MYITEMS+IDM_TOOLBAR,     \"도구 모음을 표시하거나 숨김\"\r\n    MH_MYITEMS+IDM_DRIVEBAR,    \"드라이브 모음을 표시하거나 숨김\"\r\n    MH_MYITEMS+IDM_STATUSBAR,   \"상태 표시줄을 표시하거나 숨김\"\r\n    MH_MYITEMS+IDM_NEWWINONCONNECT,     \"연결할 때 새 창 열기\"\r\n\r\n    MH_MYITEMS+IDM_MINONRUN,    \"프로그램 또는 파일 실행 시 파일 관리자 최소화\"\r\n    MH_MYITEMS+IDM_INDEXONLAUNCH, \"파일 관리자 실행 시 디렉터리 이동에 대한 색인 만들기\"\r\n    MH_MYITEMS+IDM_SAVESETTINGS,        \"파일 관리자를 종료할 때 설정 내용을 저장\"\r\n\r\n    MH_MYITEMS+IDM_NEWWINDOW,   \"새 창 열기\"\r\n    MH_MYITEMS+IDM_CASCADE,     \"창을 계단식으로 배열하기\"\r\n    MH_MYITEMS+IDM_TILEHORIZONTALLY,    \"바둑판식 창 가로로 배열\"\r\n    MH_MYITEMS+IDM_TILE,        \"바둑판식 창 세로로 배열\"\r\n    MH_MYITEMS+IDM_ARRANGE,     \"아이콘을 정렬\"\r\n    MH_MYITEMS+IDM_REFRESH,     \"창 내용을 새로 고침\"\r\n\r\n    MH_MYITEMS+IDM_PERMISSIONS  \"선택한 항목의 권한 정보를 보거나 설정\"\r\n    MH_MYITEMS+IDM_AUDITING     \"선택한 항목의 감사 정보를 보거나 설정\"\r\n    MH_MYITEMS+IDM_OWNER        \"선택한 항목의 소유자를 보거나 설정\"\r\n\r\n    MH_MYITEMS+IDM_HELPINDEX,   \"파일 관리자의 도움말 목차를 표시\"\r\n    MH_MYITEMS+IDM_HELPKEYS,    \"파일 관리자의 도움말 항목을 찾기\"\r\n    MH_MYITEMS+IDM_HELPHELP,    \"도움말 사용법에 관한 정보를 표시\"\r\n    MH_MYITEMS+IDM_ABOUT,       \"파일 관리자 정보를 표시\"\r\nEND\r\n\r\n\r\n// Strings for menu items that may be added at init time.\r\n\r\nSTRINGTABLE\r\nBEGIN\r\n    IDS_CONNECT,                \"네트워크 드라이브 연결(&N)...\"\r\n    IDS_DISCONNECT,             \"네트워크 드라이브 연결 끊기(&D)...\"\r\n    IDS_CONNECTIONS,            \"네트워크 연결(&N)...\"\r\n    IDS_SHAREDDIR               \"디렉터리 공유(&H)...\"\r\n    IDS_SHAREAS,                \"공유(&A)...\"\r\n    IDS_STOPSHARE,              \"공유 중지(&T)...\"\r\n    IDS_SHARES,                 \"공유 디렉터리 보기(&H)...\"\r\n    IDS_NEWWINONCONNECT,        \"연결할 때 새 창 열기(&O)\"\r\nEND\r\n\r\n#include \"winfile_ko-KR.dlg\"\r\n\r\n"
  },
  {
    "path": "src/lang/res_pl-PL.rc",
    "content": "/********************************************************************\n\n   res_en-US.rc\n\n   Copyright (c) Microsoft Corporation. All rights reserved.\n   Licensed under the MIT License.\n\n********************************************************************/\n\nLANGUAGE LANG_POLISH, SUBLANG_POLISH_POLAND\n\nFRAMEMENU MENU\nBEGIN\n    POPUP       \"&Plik\"\n    BEGIN\n    MENUITEM    \"&Otwórz\\tEnter\",                 IDM_OPEN\n    MENUITEM    \"Edytuj\\tF12\",                    IDM_EDIT\n    MENUITEM    \"&Przenieś...\\tF7\",               IDM_MOVE\n    MENUITEM    \"Kop&iuj...\\tF8\",                 IDM_COPY\n    MENUITEM    \"Dowiązanie s&ymboliczne...\\tF11\",IDM_SYMLINK\n    MENUITEM    \"Twardy li&nk...\\tShift+F11\",     IDM_HARDLINK\n    MENUITEM    \"Kopiuj do S&chowka\\tCtrl+C\",     IDM_COPYTOCLIPBOARD\n    MENUITEM    \"Wytnij do Schowka\\tCtrl+X\",      IDM_CUTTOCLIPBOARD\n    MENUITEM    \"&Wklej\\tCtrl+V\",                 IDM_PASTE\n    MENUITEM    \"&Usuń...\\tDel\",                  IDM_DELETE\n    MENUITEM    \"Zmień &nazwę...\\tF2\",            IDM_RENAME\n    MENUITEM    \"&Właściwości...\\tAlt+Enter\",     IDM_ATTRIBS\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Kompr&esuj...\",                  IDM_COMPRESS\n    MENUITEM    \"&Dekompresuj...\",                IDM_UNCOMPRESS\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Urucho&m...\",                    IDM_RUN\n    MENUITEM    \"D&rukuj...\",                     IDM_PRINT\n    MENUITEM    \"&Skojarz...\",                    IDM_ASSOCIATE\n    MENUITEM    SEPARATOR\n    MENUITEM    \"U&twórz katalog...\\tCtrl+Shift+N\", IDM_MAKEDIR\n    MENUITEM    \"Szuk&aj...\\tCtrl+F\",             IDM_SEARCH\n    MENUITEM    \"&Zaznacz pliki...\",              IDM_SELECT\n    POPUP       \"Uruchom (&.)\"\n    BEGIN\n    MENUITEM    \"Uruchom powłokę &Bash...\\tCtrl+B\", IDM_STARTBASHSHELL\n    MENUITEM    \"Uruchom Wiersz pole&cenia...\\tCtrl+K\", IDM_STARTCMDSHELL\n    MENUITEM    \"Uruchom &PowerShell...\\tCtrl+P\", IDM_STARTPOWERSHELL\n    MENUITEM    \"Uruchom &Explorer...\\tCtrl+E\",   IDM_STARTEXPLORER\n    END\n    MENUITEM    \"Skocz do kata&logu...\\tCtrl+G\",  IDM_GOTODIR\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Za&kończ\",                       IDM_EXIT\n    END\n    POPUP       \"&Dysk\"\n    BEGIN\n    MENUITEM    \"&Kopiuj dysk...\",     IDM_DISKCOPY\n    MENUITEM    \"&Etykieta dysku...\",  IDM_LABEL\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&Formatuj dysk...\",   IDM_FORMAT\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&Wybierz dysk...\",    IDM_DRIVESMORE\n    END\n    POPUP       \"D&rzewo\"\n    BEGIN\n    MENUITEM    \"&Rozwiń jeden poziom\\t+\",    IDM_EXPONE\n    MENUITEM    \"R&ozwiń gałąź\\t*\",           IDM_EXPSUB\n    MENUITEM    \"Roz&wiń wszystkie\\tCtrl+*\",  IDM_EXPALL\n    MENUITEM    \"&Zwiń gałąź\\t-\",             IDM_COLLAPSE\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Wsk&aż rozwijalne gałęzie\",  IDM_ADDPLUSES\n    END\n    POPUP       \"&Widok\"\n    BEGIN\n    MENUITEM    \"Drzewo i &katalog\",                     IDM_BOTH\n    MENUITEM    \"Tylk&o drzewo\",                         IDM_TREEONLY\n    MENUITEM    \"Tylko k&atalog\",                        IDM_DIRONLY\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Po&dziel\",                              IDM_SPLIT\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Na&zwa\",                                IDM_VNAME\n    MENUITEM    \"P&ełne informacje o pliku\",             IDM_VDETAILS,   CHECKED\n    MENUITEM    \"&Częściowe informacje...\",              IDM_VOTHER\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Sortuj według &nazw\",                   IDM_BYNAME\n    MENUITEM    \"Sor&tuj według typów\",                  IDM_BYTYPE\n    MENUITEM    \"So&rtuj według rozmiarów\",              IDM_BYSIZE\n    MENUITEM    \"&Sortuj według dat\",                    IDM_BYDATE\n    MENUITEM    \"Sortuj według dat (od najstarszyc&h)\",  IDM_BYFDATE\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&Według typów plików...\",               IDM_VINCLUDE\n    END\n    POPUP       \"&Opcje\"\n    BEGIN\n    MENUITEM    \"&Potwierdzanie...\",                          IDM_CONFIRM\n    MENUITEM    \"&Czcionka...\",                               IDM_FONT\n    MENUITEM    \"Dostosuj pasek nar&zędzi...\",                IDM_TOOLBARCUST\n    MENUITEM    \"&Dodatkowe preferencje...\",                  IDM_PREF\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Pasek &narzędzi\",                            IDM_TOOLBAR\n    MENUITEM    \"Pasek &dysków\",                              IDM_DRIVEBAR\n    MENUITEM    \"Pa&sek stanu\",                               IDM_STATUSBAR\n    MENUITEM    SEPARATOR\n    MENUITEM    \"&Minimalizuj podczas pracy\",                 IDM_MINONRUN\n    MENUITEM    \"Twórz indeks katalogów przy &uruchomieniu\",  IDM_INDEXONLAUNCH\n    MENUITEM    \"Z&apisz ustawienia przy zakończeniu\",        IDM_SAVESETTINGS\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Zapisz &ustawienia w tej chwili\",            IDM_SAVENOW\n    END\n    POPUP       \"&Zabezpieczenia\"\n    BEGIN\n    MENUITEM    \"&Uprawnienia...\",  IDM_PERMISSIONS\n    MENUITEM    \"Inspe&kcja...\",    IDM_AUDITING\n    MENUITEM    \"&Właściciel...\",   IDM_OWNER\n    END\n    POPUP       \"O&kno\"\n    BEGIN\n    MENUITEM    \"&Nowe okno\\tCtrl+Shift Enter\",     IDM_NEWWINDOW\n    MENUITEM    \"&Kaskada\\tShift+F5\",               IDM_CASCADE\n    MENUITEM    \"&Sąsiadująco w poziomie\",          IDM_TILEHORIZONTALLY\n    MENUITEM    \"Sąsia&dująco w pionie\\tShift+F4\",  IDM_TILE\n    MENUITEM    \"&Rozmieść zminimalizowane\",        IDM_ARRANGE\n    MENUITEM    \"&Odśwież\\tF5\",                     IDM_REFRESH\n    END\n    POPUP       \"Pomo&c\"\n    BEGIN\n    MENUITEM    \"&Spis treści\",                      IDM_HELPINDEX\n    MENUITEM    \"&Pomoc na temat...\",                IDM_HELPKEYS\n    MENUITEM    \"&Korzystanie z Pomocy\",             IDM_HELPHELP\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Me&nedżer plików - informacje...\",  IDM_ABOUT\n    END\n\nEND\n\nCTXMENU MENU\nBEGIN\n    POPUP \"Menu prawego przycisku\"\n    BEGIN\n    MENUITEM    \"&Nowe okno\\tCtrl+Shift Enter\",   IDM_NEWWINDOW\n    MENUITEM    \"&Otwórz\\tEnter\",                 IDM_OPEN\n    MENUITEM    \"Edytuj\\tF12\",                    IDM_EDIT\n    MENUITEM    \"&Przenieś...\\tF7\",               IDM_MOVE\n    MENUITEM    \"Kop&iuj...\\tF8\",                 IDM_COPY\n    MENUITEM    \"Dowiązanie s&ymboliczne...\\tF11\",IDM_SYMLINK\n    MENUITEM    \"Twardy li&nk...\\tShift+F11\",     IDM_HARDLINK\n    MENUITEM    \"Kopiuj do S&chowka\\tCtrl+C\",     IDM_COPYTOCLIPBOARD\n    MENUITEM    \"Wytnij do Schowka\\tCtrl+X\",      IDM_CUTTOCLIPBOARD\n    MENUITEM    \"&Wklej\\tCtrl+V\",                 IDM_PASTE\n    MENUITEM    \"&Usuń...\\tDel\",                  IDM_DELETE\n    MENUITEM    \"Zmień &nazwę...\\tF2\",            IDM_RENAME\n    MENUITEM    \"Właściwości...\\tAlt+Enter\",      IDM_ATTRIBS\n    MENUITEM    \"Urucho&m...\",                    IDM_RUN\n    MENUITEM    \"Uruchom powłokę Bash...\",        IDM_STARTBASHSHELL\n    MENUITEM    \"U&ruchom Wiersz polecenia...\",   IDM_STARTCMDSHELL\n    MENUITEM    \"Uruchom Po&werShell...\",         IDM_STARTPOWERSHELL\n    MENUITEM    \"Uruchom E&xplorer...\",           IDM_STARTEXPLORER\n    MENUITEM    \"Skocz do kata&logu...\\tCtrl+G\",  IDM_GOTODIR\n    END\nEND\n\n\n#define SUGGEST(id,err,flags,str) id+IDS_SUGGESTBEGIN str\n/*              0....5....1....56...2....5....3.2..5....4....5....5....6....5....7....5....8....5....9....5....0....5....1....5....2....5..8 */\nSTRINGTABLE\nBEGIN\n//    IDS_ENDSESSION          \"Zamknij system\"                  /* 32 */\n//    IDS_ENDSESSIONMSG       \"Kończy sesję systemu Windows.\"                                                                                      /* 128 */\n\n    IDS_COPYDISK            \"Kopiuj dysk\"                    /* 32 */\n    IDS_INSERTDEST          \"Włóż dysk docelowy.\"                                                                                                 /* 128 */\n    IDS_INSERTSRC           \"Włóż dysk źródłowy.\"                                                                                                      /* 128 */\n    IDS_INSERTSRCDEST       \"Włóż dysk źródłowy i docelowy.\"                                                                                     /* 128 */\n    IDS_FORMATTINGDEST      \"Formatowanie dysku docelowego\"                                                                                             /* 128 */\n\n    IDS_COPYDISKERR         \"Błąd przy kopiowaniu dysków\"               /* 32 */\n    IDS_COPYDISKERRMSG      \"Skopiowanie dysku nie jest możliwe.\"                                                                                                     /* 128 */\n    IDS_COPYSRCDESTINCOMPAT \"Miejsce źródłowe i docelowe nie są zgodne.\"                                                                          /* 128 */\n\n    IDS_PERCENTCOMP         \"Wykonano %d%%\"                /* 32 */\n    IDS_CREATEROOT          \"Tworzenie katalogu głównego...\"       /* 32 */\n    IDS_COPYSYSFILES        \"Kopiowanie plików systemowych...\"          /* 32 */\n    IDS_FORMATERR           \"Błąd formatowania dysku\"             /* 32 */\n    IDS_FORMATQUICKFAILURE  \"Menedżer plików nie może dokonać szybkiego formatowania. \\n\\nCzy kontynuować normalne formatowanie?\"\n//    IDS_FORMATERRMSG        \"Nie udało się sformatować dysku.\"                                                                                                      /* 128 */\n//    IDS_FORMATCURERR        \"Nie możesz sformatować bieżącego dysku.\"                                                                                     /* 128 */\n    IDS_FORMATCOMPLETE      \"Formatowanie zakończone\"               /* 32 */\n    IDS_FORMATANOTHER       \"%ld bajtów całkowitego miejsca na dysku\\n%ld bajtów wolnych na dysku\\n\\nCzy chcesz sformatować następny dysk?\"                           /* 128 */\n\n//    IDS_SYSDISK             \"Utwórz dysk systemowy\"\n//    IDS_SYSDISKRUSURE       \"Czy na pewno chcesz skopiować pliki systemowe na dysk %c?\"\n//    IDS_SYSDISKERR          \"Błąd dysku systemowego\"\n//    IDS_SYSDISKNOFILES      \"Dysk startowy MS-DOS nie zawiera plików systemowych lub jest niedostępny.\"\n//    IDS_SYSDISKSAMEDRIVE    \"Skopiowanie plików systemowych na dysk startowych MS-DOS nie jest możliwe.\"\n//    IDS_SYSDISKADDERR       \"Skopiowanie plików systemowych na dysk nie jest możliwe.\\n\\nUpewnij się, że w napędzie umieszczony jest sformatowany dysk oraz że blokada dysku jest zamknięta.\"\n\n    IDS_NETERR              \"Błąd sieciowy\"                 /* 32 */\n    IDS_NETDISCONWINERR     \"Ten dysk zawiera pliki systemowe Windows i nie można go odłączyć.\"                                                 /* 128 */\n    IDS_NETDISCONOPEN       \"Menedżer plików nie może odłączyć dysku sieciowego.\\n\\nNa tym dysku są otwarte pliki.\"\n\n    IDS_ATTRIBERR           \"Menedżer plików nie może zmienić atrybutów. \"\n    IDS_MAKEDIRERR          \"Menedżer plików nie może utworzyć katalogu. \"\n\n    IDS_LABELDISKERR        \"Menedżer plików nie może przypisać dyskowi etykiety.\\n\\nSprawdź, czy dysk nie jest chroniony przed zapisem, nie jest dyskiem sieciowym i czy etykieta jest prawidłowa.\\\n                             Etykiety nie mogą zawierać znaków: \\n[spacja] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n\n    IDS_SEARCHNOMATCHES     \"Nie znaleziono pasujących plików.\"\n    IDS_SEARCHREFRESH       \"Zawartość tego dysku została zmieniona. Czy chcesz zaktualizować okno Wyniki szukania?\"\n    IDS_LABELACCESSDENIED   \"Aby wykonać tę operację na dyskach twardych, trzeba być zalogowanym do systemu jako Administrator.\"\n\n    IDS_DRIVETEMP           \"Dysk %c:%c\"\n\n    IDS_EXECERRTITLE,       \"Uruchomienie programu nie jest możliwe\"\n    IDS_PRINTERRTITLE,      \"Wydrukowanie pliku nie jest możliwe\"\n\n    IDS_UNKNOWNMSG,         \"Nieoczekiwany błąd: %d.\"\n    IDS_NOMEMORYMSG,        \"Za mało pamięci do uruchomienia podanej aplikacji.\\n\\nZakończ działanie jednej lub więcej aplikacji i spróbuj ponownie.\"                   /* 128 */\n    IDS_FILENOTFOUNDMSG,    \"Menedżer plików nie może odnaleźć pliku (lub jednego z jego składników).\\n\\nSprawdź, czy podana ścieżka i nazwa pliku są poprawne oraz czy są dostępne wszystkie wymagane biblioteki.\"\n    IDS_BADPATHMSG,         \"Podana ścieżka jest nieprawidłowa.\"                                                                                           /* 128 */\n//    IDS_MANYOPENFILESMSG,   \"Za dużo plików jest obecnie w użytku.\\n\\nnZakończ działanie jednej lub więcej aplikacji lub zwiększ wartość w poleceniu FILES w pliku CONFIG.SYS i spróbuj ponownie.\"                                    /* 128 */\n    IDS_NOASSOCMSG,         \"Z tym plikiem nie skojarzono aplikacji.\\n\\nWybierz polecenie Skojarz z menu Plik, aby utworzyć skojarzenie.\"       /* 128 */\n    IDS_ASSOCINCOMPLETE,    \"Menedżer plików nie może otworzyć lub wydrukować pliku.\\n\\nUruchom aplikację użytą do utworzenia pliku i otwórz go lub wydrukuj z niej.\"\n//    IDS_MULTIPLEDSMSG,      \"Uruchomienie kilku kopii wybranego programu nie jest możliwe.\"                                                                /* 128 */\n//    IDS_OS2APPMSG           \"Wybrana aplikacja nie jest programem dla systemu Windows ani MS-DOS.\"                                                            /* 128 */\n//    IDS_NEWWINDOWSMSG       \"Ta aplikacja wymaga nowszej wersji systemu Microsoft Windows.\"                                                          /* 128 */\n//    IDS_PMODEONLYMSG        \"Ta aplikacja wymaga systemu Windows.\"                                                             /* 128 */\n    IDS_DDEFAIL             \"Podczas wysyłania tego polecenia do aplikacji wystąpił błąd.\"                                                                /* 128 */\n//    IDS_COMPRESSEDEXE       \"Ten program lub jego element składowy jest skmpresowany.\\n\\nUżyj narzędzia expand systemu MS-DOS, aby skopiować plik z dysku instalacyjnego.\"\n    IDS_INVALIDDLL          \"Jeden z plików biblioteki potrzebnych do uruchomienia tej aplikacji jest uszkodzony. Zainstaluj ponownie tę aplikację.\"\n    IDS_SHAREERROR          \"Ten plik jest używany przez inną aplikację.\"\n\n    IDS_CREATELONGDIR       \"Menedżer plików może nie mieć dostępu do plików utworzonych w katalogu '%s'.\\n\\nCzy chcesz kontynuować?\"\n    IDS_CREATELONGDIRTITLE  \"Utwórz katalog\"\n\n    IDS_MOUSECONFIRM,       \"Potwierdź operację myszy\"       /* 32 */\n    IDS_COPYMOUSECONFIRM,   \"Czy na pewno chcesz skopiować zaznaczone pliki lub katalogi do %s?\"\n    IDS_MOVEMOUSECONFIRM,   \"Czy na pewno chcesz przenieść zaznaczone pliki lub katalogi do %s?\"\n    IDS_LINKMOUSECONFIRM,   \"Czy na pewno chcesz połączyć wybrane pliki lub katalogi z %s?\"\n    IDS_EXECMOUSECONFIRM,   \"Czy na pewno chcesz uruchomić %s używając %s jako pliku początkowego?\"                                                          /* 128 */\n\n    IDS_WINFILE,            \"Menedżer plików\"                  /* 32 */\n    IDS_TREETITLE,          \"Drzewo katalogu\"                /* 32 */\n    IDS_SEARCHTITLE,        \"Rezultat szukania: \"              /* 32 */\n\n    IDS_READING             \"Odczytywanie katalogu, proszę czekać...\"\n    IDS_TOOMANYTITLE,       \"Za dużo plików\"                /* 32 */\n    IDS_OOMTITLE,           \"Menedżer plików - brak wolnej pamięci\"  /* 32 */\n    IDS_OOMREADINGDIRMSG,   \"Odczytanie całego katalogu nie jest możliwe. Wyświetlona zostanie tylko jego część.\"                                              /* 128 */\n\n//    IDS_PRINTFNF            \"Nie znaleziono pliku do wydrukowania. Upewnij się, że podano poprawną ścieżkę i nazwę pliku.\"                                                                                  /* 128 */\n    IDS_PRINTMEMORY         \"Za mało pamięci do drukowania.\\n\\nZakończ działanie jednej lub więcej aplikacji i spróbuj ponownie.\"                                             /* 128 */\n    IDS_PRINTDISK           \"Za mało miejsca na dysku do drukowania.\\n\\nUsuń jeden lub więcej plików, aby zwiększyć miejsce na dysku i spróbuj ponownie.\"                        /* 128 */\n    IDS_PRINTERROR          \"Podczas drukowania wystąpił błąd.\\n\\nSprawdź, czy drukarka jest poprawnie skonfigurowana i wybrana.\"             /* 128 */\n    IDS_PRINTONLYONE        \"Menedżer plików nie może drukować wielu plików.\\n\\nWybierz tylko jeden plik i spróbuj ponownie.\"                                               /* 128 */\n\n    IDS_CURDIRIS,           \"Bieżący katalog: %s\"                                                                                                    /* 128 */\n    IDS_CURDIRSARE,         \"Other: \"\n    IDS_COPY,               \"Kopiuj\"                          /* 32 */\n    IDS_RENAME,             \"Zmień nazwę\"                     /* 32 */\n    IDS_FORMAT,             \"Formatuj dysk\"                   /* 32 */\n    IDS_FORMATSELDISK,      \"Wybierz dysk do formatowania.\"                                                                                               /* 128 */\n    IDS_SYMLINK,            \"Dowiązanie symboliczne\"                       /* 32 */\n    IDS_HARDLINK,           \"Twardy link\"                      /* 32 */\n\n    IDS_KK_COPYFROMSTR,     \"&Z:\"\n    IDS_KK_COPYTOSTR,       \"&Do/Na:\"\n    IDS_KK_RENAMEFROMSTR,   \"&Z:\"\n    IDS_KK_RENAMETOSTR,     \"&Do/Na:\"\n    IDS_KK_HARDLINKFROMSTR, \"&Z:\"\n    IDS_KK_HARDLINKTOSTR,   \"&Do/Na:\"\n    IDS_KK_SYMLINKFROMSTR,  \"&Z:\"\n    IDS_KK_SYMLINKTOSTR,    \"&Do/Na:\"\n\n//    IDS_MAKESYSDISK,        \"Utwórz dysk systemowy\"              /* 32 */\n\n    IDS_CREATINGMSG,        \"Tworzenie:\"                    /* 32 */\n    IDS_REMOVINGDIRMSG,     \"Usuwanie:\"                     /* 32 */\n    IDS_REMOVINGMSG,        \"Usuwanie...\"                   /* 32 */\n    IDS_COPYINGMSG,         \"Kopiowanie:\"                   /* 32 */\n    IDS_OPENINGMSG,         \"Otwieranie...\"                 /* 32 */\n    IDS_CLOSINGMSG,         \"Zamykanie...\"                  /* 32 */\n    IDS_RENAMINGMSG,        \"Zmiana nazwy...\"               /* 32 */\n    IDS_MOVINGMSG,          \"Przenoszenie...\"               /* 32 */\n    IDS_DELETINGMSG,        \"Usuwanie...\"                   /* 32 */\n    IDS_PRINTINGMSG,        \"Drukowanie: %s\"                /* 32 */\n\n//    IDS_NOSUCHDRIVE,        \"Dysk %c nie istnieje.\"                                                                                            /* 128 */\n    IDS_DRIVENOTREADY,      \"W stacji dysków %c nie ma dysku.\\n\\nWłóż dysk i spróbuj ponownie.\"\n    IDS_UNFORMATTED,        \"Dysk w stacji dysków %c nie jest sformatowany.\\n\\nCzy chcesz go sformatować teraz?\"\n\n    IDS_STATUSMSG,          \"Razem plików: %d (%s)\"             /* 128 */\n    IDS_STATUSMSG2,         \"Wybrano: %d plik(ów) (%s)\"          /* 128 */\n    IDS_DRIVEFREE,          \"Wolne: %c:%s: razem: %s\"            /* 128 */\n    IDS_TREEABORT,          \"Wyświetlono niepełne drzewo katalogów\"     /* 128 */\n    IDS_DIRSREAD,           \"Katalogi przeczytane: %d \"                   /* 32 */\n    IDS_SEARCHMSG,          \"Znaleziono: %d plik(ów)\"\n    IDS_BYTES,              \"%ld bajtów\"\n    IDS_SBYTES,             \"%s bajtów\"\n\n    IDS_SELECTEDFILES,      \"zaznaczone pliki\"            /* 32 */\n\n    /* These strings are used for generating error messages\n     * from the Copy, Move, and Delete code. */\n\n    IDS_COPYERROR + FUNC_COPY     \"Błąd przy kopiowaniu pliku\"\n    IDS_COPYERROR + FUNC_MOVE     \"Błąd przy przenoszeniu pliku\"\n    IDS_COPYERROR + FUNC_DELETE   \"Błąd przy usuwaniu pliku\"\n    IDS_COPYERROR + FUNC_RENAME   \"Błąd przy zmianie nazwy pliku\"\n    IDS_COPYERROR + FUNC_SETDRIVE \"Błąd przy wyborze dysku\"\n    IDS_COPYERROR + FUNC_EXPAND   \"Błąd przy odczycie katalogu\"\n    IDS_COPYERROR + FUNC_LABEL    \"Błąd przy nadawaniu etykiety dysku\"\n    IDS_COPYERROR + FUNC_LINK        \"Błąd przy tworzeniu dowiązania symbolicznego\"\n    IDS_COPYERROR + FUNC_HARD        \"Błąd przy tworzeniu dowiązania twardego\"\n    IDS_COPYERROR + FUNC_JUNC        \"Błąd przy tworzeniu powiązania\"\n\n    /* The first %s is replaced by a file name. The second %s is replaced\n     * by one of the \"reasons\" below. */\n\n    IDS_VERBS + FUNC_COPY       \"Menedżer plików nie może skopiować %s: %s\"\n    IDS_VERBS + FUNC_MOVE       \"Menedżer plików nie może przenieść %s: %s\"\n    IDS_VERBS + FUNC_DELETE     \"Menedżer plików nie może usunąć %s: %s\"\n    IDS_VERBS + FUNC_RENAME     \"Menedżer plików nie może zmienić nazwy %s: %s\"\n    IDS_VERBS + FUNC_LINK       \"Menedżer plików nie może utworzyć dowiązania symbolicznego %s: %s\"\n    IDS_VERBS + FUNC_HARD       \"Menedżer plików nie może utworzyć twardego łącza %s: %s\"\n    IDS_VERBS + FUNC_JUNC       \"Menedżer plików nie może utworzyć połączenia %s: %s\"\n    IDS_ACTIONS + 1             \"Menedżer plików nie może utworzyć katalogu %s: %s\"\n    IDS_ACTIONS + 2             \"Menedżer plików nie może usunąć katalogu %s: %s\"\n    IDS_REPLACING               \"Menedżer plików nie może utworzyć lub zamienić %s: %s\"\n    // IDS_CREATING             \"Menedżer plików nie może utworzyć %s: %s\"\n\n// include reason strings\n\n#include \"suggest_pl-PL.db\"\n\n    IDS_DESTFULL                \"Dysk docelowy jest zapełniony. Aby kontynuować, proszę włożyć inny dysk.\"\n    IDS_WRITEPROTECTFILE        \"To jest plik systemowy, ukryty lub tylko do odczytu.\"\n\n    IDS_COPYINGTITLE            \"Kopiowanie...\"\n\n    IDS_QUICKFORMATTINGTITLE    \"Szybkie formatowanie...\"\n\n    IDS_BUSYFORMATQUITVERIFY    \"Menedżer plików obecnie formatuje dysk. Zakończenie działania Menedżera plików spowoduje przerwanie tej operacji.\"\n    IDS_BUSYCOPYQUITVERIFY      \"Menedżer plików obecnie kopiuje dysk. Zakończenie działania Menedżera plików spowoduje przerwanie tej operacji.\"\n    IDS_PERCENTCOMPLETE         \"Procent ukończono\"\n\n    IDS_12MB                    \"1%s2 MB\"\n    IDS_360KB                   \"360K\"\n    IDS_144MB                   \"1%s44 MB\"\n    IDS_720KB                   \"720K\"\n    IDS_288MB                   \"2%s88 MB\"\n    IDS_2080MB                  \"20%s8 MB\"\n\n#if defined(JAPAN) && defined(i386)\n/* ADD KBNES. NEC MEDIATYPE START */\nJAPANBEGIN\n    IDS_125MB                   \"1%s25 MB\"\n    IDS_256KB                   \"256K\"\n    IDS_128MB                   \"128 MB\"\nJAPANEND\n/* ADD KBNES. NEC MEDIATYPE END */\n\n//\n// FMR jul.21.1994 JY\n// We added 640KB/1.23MB media types.\n//\nJAPANBEGIN\n    IDS_640KB                   \"640K\"\n    IDS_123MB                   \"1%s23 MB\"\nJAPANEND\n#endif\n\n    IDS_DEVICECAP               \"Pojemność dysku\"\n    IDS_QSUPMEDIA               \"Menedżer plików nie może uzyskać informacji o dysku.\\n\\nSprawdź, czy dysk jest w stacji.\"\n    IDS_REMOVEMED               \"Nieznany typ dysku\"\n\n    IDS_CANTFORMATTITLE         \"Nieznany typ dysku\"\n    IDS_CANTFORMAT              \"Dysk w stacji %s nie może zostać sformatowany za pomocą Menedżera plików. Użyj Administratora dysków do sformatowania tego pliku.\"\n\n    IDS_FFERR_INCFS             \"Niezgodny system plików.\"\n    IDS_FFERR_ACCESSDENIED      \"Brak dostępu.\"\n    IDS_FFERR_DISKWP            \"Ten dysk jest chroniony przed zapisem.\"\n    IDS_FFERR_CANTLOCK          \"Menedżer plików nie może zablokować woluminu.\"\n    IDS_FFERR_CANTQUICKF        \"Menedżer plików nie może dokonać szybkiego formatowania dysku.\\n\\nSprawdź, czy dysk ma właściwą gęstość zapisu.\"\n    IDS_FFERR_SRCIOERR          \"Błąd We-Wy na dysku źródłowym.\"\n    IDS_FFERR_DSTIOERR          \"Błąd We-Wy na dysku docelowym.\"\n    IDS_FFERR_SRCDSTIOERR       \"Błąd We-Wy na dysku źródłowym i docelowym.\"\n    IDS_FFERR_GENIOERR          \"Wystąpił błąd We-Wy.\"\n//    IDS_FFERR_MEDIASENSE        \"Ten dysk można sformatować do pojemności %s. Kontynuować formatowanie do tej pojemności?\"\n    IDS_FFERR                   \"Menedżer plików nie może sformatować dysku.\\n\\nSprawdź, czy dysk jest umieszczony w stacji i nie jest chroniony przed zapisem, uszkodzony lub czy nie ma odpowiedniej gęstości zapisu.\"\n    IDS_FFERR_BADLABEL          \"Menedżer plików nie może przypisać dyskowi etykiety.\\n\\nSprawdź, czy etykieta nie zawiera następujących znaków:\\n\\\n                                 [spacja] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n\n\n    IDS_FORMATCONFIRM           \"Formatowanie skasuje z dysku WSZYSTKIE dane. Czy na pewno chcesz sformatować dysk w stacji %c?\"\n    IDS_FORMATCONFIRMTITLE      \"Potwierdź formatowanie dysku\"\n\n    IDS_DISKCOPYCONFIRM         \"Ta operacja spowoduje wykasowanie WSZYSTKICH danych z dysku docelowego. Czy kontynuować?\"\n    IDS_DISKCOPYCONFIRMTITLE    \"Potwierdź kopiowanie dysku\"\n    IDS_ANDCLOSE                \"&Zamknij\"\n    IDS_CLOSE                   \"Zamknij\"\n    IDS_PATHNOTTHERE            \"Katalog %s nie istnieje.\\n\\nCzy chcesz go utworzyć?\"\n    IDS_PROGRAMS                \"Programy#*.exe;*.pif;*.com;*.bat#Wszystkie pliki (*.*)#*.*#\"\n\n    IDS_MENUANDITEM             \"%s - %s\"\n    IDS_DRIVELABEL              \"Dysk:\"\n    IDS_STATUSMSGSINGLE         \"%s, \"\n\n    IDS_CONNECTHELP             \"Podłącz dysk sieciowy\"\n    IDS_DISCONHELP              \"Odłącz dysk sieciowy\"\n    IDS_CONNECTIONHELP          \"Połączenia sieciowe\"\n    IDS_SHAREASHELP             \"Udostępnij katalog\"\n    IDS_STOPSHAREHELP           \"Zakończ udostępnianie katalogu\"\n    IDS_VDETAILSHELP            \"Wyświetl wszystkie szczegóły pliku\"\n    IDS_VNAMEHELP               \"Wyświetl tylko nazwę\"\n    IDS_BYNAMEHELP              \"Sortuj według nazw\"\n    IDS_BYTYPEHELP              \"Sortuj według typów\"\n    IDS_BYSIZEHELP              \"Sortuj według rozmiarów\"\n    IDS_BYDATEHELP              \"Sortuj według dat\"\n    IDS_NEWWINHELP              \"Nowe okno\"\n    IDS_COPYHELP                \"Kopiuj pliki\"\n    IDS_MOVEHELP                \"Przenieś pliki\"\n    IDS_DELHELP                 \"Usuń pliki\"\n\n    IDS_DIRNAMELABEL            \"&Nazwa katalogu:\"\n    IDS_DRIVENOTAVAILABLE       \"Dysk sieciowy nie jest dostępny.\"\n\n    IDS_SHAREDAS                \"Udostępniony jako %s\"\n    IDS_NOTSHARED               \"Nie udostępniona\"\n\n    IDS_DRIVE_COMPRESSED        \" - SKOMPRESOWANE\"\n\n    IDS_DRAG_COPYING            \"Kopiowanie plików do %s\"\n    IDS_DRAG_MOVING             \"Przenoszenie plików do %s\"\n    IDS_DRAG_LINKING            \"Łączenie plików z %s\"\n    IDS_DRAG_EXECUTING          \"Uruchamianie plików z %s\"\n\n    IDS_ORDERB                  \"Bajtów: %s\"\n    IDS_ORDERKB                 \"%skB\"\n    IDS_ORDERMB                 \"%sMB\"\n    IDS_ORDERGB                 \"%sGB\"\n    IDS_ORDERTB                 \"%sTB\"\n\n    IDS_VN_COMMENTS             \"Komentarze\"\n    IDS_VN_COMPANYNAME          \"Nazwa firmy\"\n    IDS_VN_FILEDESCRIPTION      \"Opis pliku\"\n    IDS_VN_INTERNALNAME         \"Nazwa wewnętrzna\"\n    IDS_VN_LEGALTRADEMARKS      \"Prawne znaki towarowe\"\n    IDS_VN_ORIGINALFILENAME     \"Pierwotna nazwa pliku\"\n    IDS_VN_PRIVATEBUILD         \"Prywatny opis realizacji\"\n    IDS_VN_PRODUCTNAME          \"Nazwa produktu\"\n    IDS_VN_PRODUCTVERSION       \"Wersja produktu\"\n    IDS_VN_SPECIALBUILD         \"Specjalny opis realizacji\"\n\n    IDS_VN_LANGUAGE             \"Język\"\n    IDS_VN_LANGUAGES            \"Języki\"\n\n    IDS_ASSOCIATE               \"Przeglądaj\"\n    IDS_RUN                     \"Uruchom\"\n    IDS_WINHELPERR              \"Wyświetlenie informacji Pomocy jest niemożliwe.\"\n    IDS_NOEXEASSOC              \"Pliki z rozszerzeniem %s są programami i nie można ich kojarzyć z inną aplikacją.\"\n    IDS_ASSOCNOTEXE             \"%s nie jest programem i nie można go skojarzyć z rozszerzeniem pliku.\"\n    IDS_ASSOCNONE               \"(brak)\"\n    IDS_NOFILES                 \"Nie znaleziono plików.\"\n    IDS_NOACCESSDIR             \"Nie masz uprawnień dostępu do tego katalogu.\"\n    IDS_NOACCESSFILE            \"Nie masz uprawnień dostępu do tego pliku.\"\n\n    IDS_DRIVEBUSY_COPY          \"Dysk %c: jest zajęty i nie ma do niego dostępu.\\nMenedżer plików dokonuje kopii dysku.\"\n    IDS_DRIVEBUSY_FORMAT        \"Dysk %c: jest zajęty i nie ma do niego dostępu.\\nMenedżer plików formatuje ten dysk.\"\n\n    IDS_COPYMOVENOTCOMPLETED    \"Operacja nie została w pełni zakończona\"\n    IDS_DIRREMAINS              \"Zakończenie operacji na wszystkich plikach i katalogach nie było możliwe.\"\n\n    IDS_TOOMANYWINDOWS          \"Jest otwartych za dużo okien katalogów.\\n\\nZamknij jedno lub więcej okien i spróbuj ponownie.\"\n    IDS_FMIFSLOADERR            \"Załadowanie biblioteki potrzebnej do wykonania tej operacji nie jest możliwe.\"\n\n    IDS_NOSUCHDIRTITLE          \"Odczytanie katalogu nie jest możliwe\"\n    IDS_NOSUCHDIR               \"Katalog nie istnieje.\"\n\n    IDS_BADNETNAMETITLE         \"Podłączenie dysku sieciowego jest niemożliwe\"\n    IDS_BADNETNAME              \"Odnalezienie nazwy sieci jest niemożliwe.\"\n\n    IDS_ALLFILES                \"\"\"Tak na wszystkie\"\" wpływa na wszystkie pliki, włączając systemowe, ukryte i tylko do odczytu.\"\n\n    IDS_ASSOC_OPEN              \"Otwórz\"\n    IDS_ASSOC_PRINT             \"Drukuj\"\n\n    IDS_ADDEXTTITLE             \"Dodaj rozszerzenie\"\n    IDS_ADDEXTTEXT              \"Rozszerzenie '%s' jest aktualnie skojarzone z '%s'. Czy kontynuować i zastąpić to skojarzenie?\"\n\n    IDS_EXTTITLE                \"Edytor skojarzeń plików\"\n\n    IDS_EXTADDERROR             \"Skojarzenie rozszerzenia nie jest możliwe. \"\n    IDS_EXTDELERROR             \"Usunięcie rozszerzenia nie było możliwe. \"\n    IDS_FILETYPEADDERROR        \"Dodanie typu pliku nie jest możliwe. \"\n    IDS_FILETYPEDELERROR        \"Usunięcie typu pliku nie było możliwe. \"\n    IDS_FILETYPEREADERROR       \"Odczytanie typu pliku nie jest możliwe. \"\n\n    IDS_FILETYPENULLDESCERROR   \"Pozycja Typ pliku nie może być pusta. Proszę wpisać nowy Typ pliku.\"\n    IDS_FILETYPEDUPDESCERROR    \"Nie jest możliwe wygenerowanie unikatowego identyfikatora opartego o Typ pliku. Wpisz nowy Typ pliku.\"\n\n    IDS_FILETYPEDELCONFIRMTITLE \"Usuń typ pliku\"\n    IDS_FILETYPEDELCONFIRMTEXT  \"Operacja spowoduje usunięcie typu pliku i wszystkich skojarzonych rozszerzeń. Czy na pewno chcesz usunąć '%s'?\"\n#ifdef ASSOC\n    IDS_FILETYPEDELCONFIRMUSERTEXT \"Usuwasz osobisty typ pliku. Przywróci to wspólny typ pliku, którego wszystkie rozszerzenia pozostaną nienaruszone.  Czy na pewno chcesz przywrócisz '%s'?\"\n    IDS_FILETYPEUSERIZETEXT        \"Modyfikujesz wspólny typ pliku. Menedżer plików zapisze zmiany w osobistym typie pliku. Kontynuować?\"\n#endif\n    IDS_FILETYPECOMMANDNULLTEXT \"Pozycja Typ pliku musi zawierać polecenie dla przynajmniej jednej akcji. Proszę wpisać aplikację w polu poleceń.\"\n\n    IDS_NEWFILETYPETITLE        \"Nowy typ pliku\"\n    IDS_COPYINGDISKTITLE        \"Kopiowanie dysku\"\n    IDS_SEARCHING               \"Wyszukiwanie...\"\n\nJAPANBEGIN\n    IDS_WRNNOSHIFTJIS           \"このフォントを使用すると漢字の表示が\\nできなくなります。\"\nJAPANEND\n\n    IDS_INITUPDATEFAIL          \"Zainicjowanie obsługi aktualizacji w tle nie było możliwe. Menedżer programów zakończy działanie. \"\n    IDS_INITUPDATEFAILTITLE     \"Inicjowanie Menedżera plików\"\n\n    IDS_COMPRESSDIR             \"Czy chcesz także dokonać kompresji wszystkich plików i podkatalogów katalogu %s?\"\n    IDS_UNCOMPRESSDIR           \"Czy chcesz dokonać dekompresji wszystkich plików i podkatalogów równiez w katalogu %s?\"\n    IDS_COMPRESS_ATTRIB_ERR     \"Menedżer plików nie może zmienić atrybutów kompresji dla %s.\"\n    IDS_NTLDRCOMPRESSERR        \"Plik %s nie zostanie skompresowany. Kompresja tego pliku może spowodować, że rozruch systemu nie będzie możliwy.\"\n    IDS_MULTICOMPRESSERR        \"Menedżer plików dokonuje obecnie kompresji/dekompresji plików.\\nMusisz poczekać na zakończenie procesu przed próbą kompresji/dekompresji dalszych plików.\"\n\n    IDS_EDITFILTER              \"Programy (*.exe)\\0*.exe\\0\"\n\nEND\n#undef SUGGEST\n\n/* Help strings for the popup menus.\n */\nSTRINGTABLE\nBEGIN\n    MH_POPUP+IDM_FILE,          \"Polecenia do pracy z plikami\"\n    MH_POPUP+IDM_DISK,          \"Polecenia do pracy z dyskami\"\n    MH_POPUP+IDM_TREE,          \"Polecenia do pracy w oknie drzewa\"\n    MH_POPUP+IDM_VIEW,          \"Polecenia do określania sposobu wyświetlania informacji\"\n    MH_POPUP+IDM_OPTIONS,       \"Polecenia do ustawiania opcji\"\n    MH_POPUP+IDM_SECURITY,      \"Polecenia do manipulowania zabezpieczeniami plików i katalogów\"\n    MH_POPUP+IDM_WINDOW,        \"Polecenia rozmieszczania okien\"\n    MH_POPUP+IDM_HELP,          \"Polecenia wyświetlania Pomocy Menedżera plików\"\nEND\n\n\n// Help strings for the \"standard\" toolbar items.\n\nSTRINGTABLE\nBEGIN\n    MH_MYITEMS+IDM_OPEN,             \"Otwiera zaznaczony element\"\n    MH_MYITEMS+IDM_EDIT,             \"Otwiera zaznaczony element w celu edycji\"\n    MH_MYITEMS+IDM_MOVE,             \"Przenosi wskazany element\"\n    MH_MYITEMS+IDM_COPY,             \"Kopiuje pliki i katalogi\"\n    MH_MYITEMS+IDM_COPYTOCLIPBOARD,  \"Kopiuje jeden lub więcej plików do schowka\"\n    MH_MYITEMS+IDM_CUTTOCLIPBOARD,   \"Wycina jeden lub więcej plików do schowka\"\n    MH_MYITEMS+IDM_PASTE,            \"Wkleja pliki ze schowka do bieżącego katalogu\"\n    MH_MYITEMS+IDM_COMPRESS,         \"Kompresuje plik lub katalog\"\n    MH_MYITEMS+IDM_UNCOMPRESS,       \"Dekompresuje plik lub katalog\"\n    MH_MYITEMS+IDM_DELETE,           \"Usuwa pliki i katalogi\"\n    MH_MYITEMS+IDM_RENAME,           \"Zmienia nazwę pliku lub katalogu\"\n    MH_MYITEMS+IDM_ATTRIBS,          \"Ustawia atrybuty pliku i wyświetla jego właściwości\"\n    MH_MYITEMS+IDM_RUN,              \"Rozpoczyna lub otwiera aplikację lub dokument\"\n    MH_MYITEMS+IDM_PRINT,            \"Drukuje dokument\"\n    MH_MYITEMS+IDM_ASSOCIATE,        \"Kojarzy plik z aplikacją\"\n    MH_MYITEMS+IDM_MAKEDIR,          \"Tworzy katalog\"\n    MH_MYITEMS+IDM_SEARCH,           \"Szuka plików i katalogów\"\n    MH_MYITEMS+IDM_SELECT,           \"Zaznacza pliki i katalogi\"\n    MH_MYITEMS+IDM_EXIT,             \"Kończy pracę Menedżera plików\"\n\n    MH_MYITEMS+IDM_DISKCOPY,         \"Kopiuje zawartość dyskietki\"\n    MH_MYITEMS+IDM_LABEL,            \"Przypisuje lub zmienia etykietę dysku\"\n    MH_MYITEMS+IDM_FORMAT,           \"Formatuje dyskietkę\"\n//    MH_MYITEMS+IDM_SYSDISK,          \"Kopiuje na dyskietkę pliki systemu MS-DOS\"\n    MH_MYITEMS+IDM_CONNECT,          \"Podłącza dysk sieciowy\"\n    MH_MYITEMS+IDM_DISCONNECT,       \"Odłącza dysk sieciowy\"\n//    MH_MYITEMS+IDM_CONNECTIONS,      \"Połączenia sieciowe...\"\n//    MH_MYITEMS+IDM_SHARES,           \"Zobacz udostępnione katalogi...\"\n    MH_MYITEMS+IDM_SHAREAS,          \"Udostępnia katalog\"\n    MH_MYITEMS+IDM_STOPSHARE,        \"Kończy udostępnianie katalogu\"\n\n    MH_MYITEMS+IDM_DRIVESMORE,       \"Wybiera inny dysk\"\n\n    MH_MYITEMS+IDM_EXPONE,           \"Wyświetla inny poziom katalogu\"\n    MH_MYITEMS+IDM_EXPSUB,           \"Wyświetla wszystkie poziomy katalogu\"\n    MH_MYITEMS+IDM_EXPALL,           \"Wyświetla wszystkie poziomy wszystkich katalogów\"\n    MH_MYITEMS+IDM_COLLAPSE,         \"Zwija wszystkie katalogi wskazanego katalogu\"\n    MH_MYITEMS+IDM_ADDPLUSES,        \"Wskazuje katalogi z podkatalogami\"\n\n    MH_MYITEMS+IDM_BOTH,             \"Wyświetla drzewo katalogów i zawartość bieżącego katalogu\"\n    MH_MYITEMS+IDM_TREEONLY,         \"Wyświetla drzewo katalogów\"\n    MH_MYITEMS+IDM_DIRONLY,          \"Wyświetla zawartość bieżącego katalogu\"\n    MH_MYITEMS+IDM_SPLIT,            \"Dzieli okno katalogu lub przenosi pasek podziału\"\n    MH_MYITEMS+IDM_VNAME,            \"Pokazuje tylko nazwy plików\"\n    MH_MYITEMS+IDM_VDETAILS,         \"Pokazuje wszystkie informacje o plikach\"\n    MH_MYITEMS+IDM_VOTHER,           \"Pokazuje część informacji o plikach\"\n    MH_MYITEMS+IDM_BYNAME,           \"Sortuje pliki według nazw\"\n    MH_MYITEMS+IDM_BYTYPE,           \"Sortuje pliki według typów\"\n    MH_MYITEMS+IDM_BYSIZE,           \"Sortuje pliki według rozmiarów\"\n    MH_MYITEMS+IDM_BYDATE,           \"Sortuje pliki według dat\"\n    MH_MYITEMS+IDM_BYFDATE,          \"Sortuje pliki według dat, zaczynając od najstarszych\"\n    MH_MYITEMS+IDM_VINCLUDE,         \"Pokazuje pliki określonego typu\"\n\n    MH_MYITEMS+IDM_CONFIRM,          \"Steruje komunikatami potwierdzenia\"\n    MH_MYITEMS+IDM_FONT,             \"Zmienia czcionkę Menedżera plików\"\n\n    MH_MYITEMS+IDM_TOOLBARCUST,      \"Dostosowuje pasek narzędzi\"\n    MH_MYITEMS+IDM_TOOLBAR,          \"Wyświetla lub ukrywa pasek narzędzi\"\n    MH_MYITEMS+IDM_DRIVEBAR,         \"Wyświetla lub ukrywa pasek dysków\"\n    MH_MYITEMS+IDM_STATUSBAR,        \"Wyświetla lub ukrywa pasek stanu\"\n    MH_MYITEMS+IDM_NEWWINONCONNECT,  \"Otwiera nowe okno przy podłączaniu\"\n\n    MH_MYITEMS+IDM_MINONRUN,         \"Minimalizuje Menedżera plików przy uruchomieniu\"\n    MH_MYITEMS+IDM_INDEXONLAUNCH,    \"Tworzy indeks dla polecenia Skocz do katalogu, gdy Menedżer plików zostanie uruchomiony\"\n    MH_MYITEMS+IDM_SAVESETTINGS,     \"Zapisuje ustawienia po zakończeniu pracy z Menedżerem plików\"\n\n    MH_MYITEMS+IDM_NEWWINDOW,        \"Otwiera nowe okno\"\n    MH_MYITEMS+IDM_CASCADE,          \"Rozmieszcza okna kaskadowo\"\n    MH_MYITEMS+IDM_TILEHORIZONTALLY, \"Rozmieszcza okna sąsiadująco pionowo\"\n    MH_MYITEMS+IDM_TILE,             \"Rozmieszcza okna sąsiadująco poziomo\"\n    MH_MYITEMS+IDM_ARRANGE,          \"Rozmieszcza zminimalizowane okna\"\n    MH_MYITEMS+IDM_REFRESH,          \"Aktualizuje zawartość okna\"\n\n    MH_MYITEMS+IDM_PERMISSIONS,      \"Wyświetla lub ustawia informacje o uprawnieniach wybranych elementów\"\n    MH_MYITEMS+IDM_AUDITING,         \"Wyświetla lub ustawia informacje o inspekcji wybranych elementów\"\n    MH_MYITEMS+IDM_OWNER,            \"Wyświetla lub ustawia informacje o własności wybranych elementów\"\n\n    MH_MYITEMS+IDM_HELPINDEX,        \"Wyświetla spis treści Pomocy Menedżera plików\"\n    MH_MYITEMS+IDM_HELPKEYS,         \"Wyszukuje zagadnienia w Pomocy Menedżera plików\"\n    MH_MYITEMS+IDM_HELPHELP,         \"Wyświetla informacje o korzystaniu z Pomocy\"\n    MH_MYITEMS+IDM_ABOUT,            \"Wyświetla informacje o Menedżerze plików\"\nEND\n\n\n// Strings for menu items that may be added at init time.\n\nSTRINGTABLE\nBEGIN\n    IDS_CONNECT,                \"&Podłącz dysk sieciowy...\"\n    IDS_DISCONNECT,             \"O&dłącz dysk sieciowy...\"\n    IDS_CONNECTIONS,            \"&Połączenia sieciowe...\"\n    IDS_SHAREDDIR               \"&Udostępnione katalogi...\"\n    IDS_SHAREAS,                \"Udos&tępnij jako...\"\n    IDS_STOPSHARE,              \"&Zakończ udostępnianie...\"\n    IDS_SHARES,                 \"Po&każ udostępnione katalogi...\"\n    IDS_NEWWINONCONNECT,        \"&Otwórz nowe okno przy podłączeniu\"\nEND\n\n#include \"winfile_pl-PL.dlg\"\n\n"
  },
  {
    "path": "src/lang/res_pt-PT.rc",
    "content": "/********************************************************************\r\n\r\n   res_pt-PT.rc\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\nLANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE\r\n\r\nFRAMEMENU MENU\r\nBEGIN\r\n    POPUP       \"&Ficheiro\"\r\n    BEGIN\r\n    MENUITEM    \"&Abrir\\tEnter\",     IDM_OPEN\r\n    MENUITEM    \"Editar\\tF12\",        IDM_EDIT\r\n    MENUITEM    \"Mo&ver...\\tF7\",     IDM_MOVE\r\n    MENUITEM    \"&Copiar...\\tF8\",     IDM_COPY\r\n    MENUITEM    \"S&ymlink...\\tF11\", IDM_SYMLINK\r\n    MENUITEM    \"Hardlin&k...\\tShift+F11\", IDM_HARDLINK\r\n    MENUITEM    \"Copiar para a Clip&board\\tCtrl+C\", IDM_COPYTOCLIPBOARD\r\n    MENUITEM    \"Cortar para a Clipboard\\tCtrl+X\", IDM_CUTTOCLIPBOARD\r\n    MENUITEM    \"&Colar\\tCtrl+V\",   IDM_PASTE\r\n    MENUITEM    \"Eli&minar...\\tDel\",  IDM_DELETE\r\n    MENUITEM    \"M&udar o nome...\\tF2\",   IDM_RENAME\r\n    MENUITEM    \"Propri&edades...\\tAlt+Enter\",IDM_ATTRIBS\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"Comp&rimir...\",     IDM_COMPRESS\r\n    MENUITEM    \"&Descomprimir...\",   IDM_UNCOMPRESS\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"E&xecutar...\",          IDM_RUN\r\n    MENUITEM    \"&Imprimir...\",        IDM_PRINT\r\n    MENUITEM    \"Ass&ociar...\",    IDM_ASSOCIATE\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"Criar &Directório...\\tCtrl+Shift+N\", IDM_MAKEDIR\r\n    MENUITEM    \"&Procurar...\\tCtrl+F\",       IDM_SEARCH\r\n    MENUITEM    \"Seleccionar &Ficheiros...\", IDM_SELECT\r\n    POPUP       \"Iniciar (&.)\"\r\n    BEGIN\r\n    MENUITEM    \"&Bash Shell...\\tCtrl+B\", IDM_STARTBASHSHELL\r\n    MENUITEM    \"&Cmd Shell...\\tCtrl+K\", IDM_STARTCMDSHELL\r\n    MENUITEM    \"&PowerShell...\\tCtrl+P\", IDM_STARTPOWERSHELL\r\n    MENUITEM    \"&Explorer...\\tCtrl+E\", IDM_STARTEXPLORER\r\n    END\r\n    MENUITEM    \"&Ir para Directório...\\tCtrl+G\", IDM_GOTODIR\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"&Sair\",            IDM_EXIT\r\n    END\r\n    POPUP       \"&Disco\"\r\n    BEGIN\r\n    MENUITEM    \"&Copiar Disco...\",    IDM_DISKCOPY\r\n    MENUITEM    \"&Identificar Disco...\",   IDM_LABEL\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"&Formatar Disco...\",  IDM_FORMAT\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"&Seleccionar Unidade...\", IDM_DRIVESMORE\r\n    END\r\n    POPUP       \"Ár&vore\"\r\n    BEGIN\r\n    MENUITEM    \"&Expandir um Nível\\t+\", IDM_EXPONE\r\n    MENUITEM    \"Expandir &Ramo\\t*\",    IDM_EXPSUB\r\n    MENUITEM    \"Expandir &Tudo\\tCtrl+*\",  IDM_EXPALL\r\n    MENUITEM    \"&Fechar Ramo\\t-\",  IDM_COLLAPSE\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"&Indicar Ramos Expansíveis\",    IDM_ADDPLUSES\r\n    END\r\n    POPUP       \"V&er\"\r\n    BEGIN\r\n    MENUITEM    \"Á&rvore e Directório\",  IDM_BOTH\r\n    MENUITEM    \"&Apenas Árvore\",           IDM_TREEONLY\r\n    MENUITEM    \"Apenas &Directório\",      IDM_DIRONLY\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"D&ividir\",               IDM_SPLIT\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"&Nome\",                IDM_VNAME\r\n    MENUITEM    \"&Todos os Detalhes dos Ficheiros\",    IDM_VDETAILS,   CHECKED\r\n    MENUITEM    \"Deta&lhes Parciais...\",  IDM_VOTHER\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM \"Ordenar por No&me\",   IDM_BYNAME\r\n    MENUITEM \"Ord&enar por Tipo\",   IDM_BYTYPE\r\n    MENUITEM \"Ordenar por Taman&ho\",   IDM_BYSIZE\r\n    MENUITEM \"&Ordenar por Data\",   IDM_BYDATE\r\n    MENUITEM \"Ordenar por Data De&scendente\",   IDM_BYFDATE\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"&Por Tipo de Ficheiro...\",     IDM_VINCLUDE\r\n    END\r\n    POPUP       \"&Opções\"\r\n    BEGIN\r\n    MENUITEM    \"&Confirmação...\",     IDM_CONFIRM\r\n    MENUITEM    \"&Tipo de Letra...\",             IDM_FONT\r\n    MENUITEM    \"&Personalizar a Barra de Ferramentas...\", IDM_TOOLBARCUST\r\n    MENUITEM    \"Preferências &Adicionais\", IDM_PREF\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"&Barra de Ferramentas\",                 IDM_TOOLBAR\r\n    MENUITEM    \"Barra de &Unidades\",                IDM_DRIVEBAR\r\n    MENUITEM    \"Barra de &Estado\",              IDM_STATUSBAR\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"Executar &Minimizado\",     IDM_MINONRUN\r\n    MENUITEM    \"Criar &Index 'Ir para' ao Ligar\", IDM_INDEXONLAUNCH\r\n    MENUITEM    \"&Guardar Definições ao Sair\",   IDM_SAVESETTINGS\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"Guardar &Definições Agora\",       IDM_SAVENOW\r\n    END\r\n    POPUP       \"&Segurança\"\r\n    BEGIN\r\n    MENUITEM    \"&Permissões...\",  IDM_PERMISSIONS\r\n    MENUITEM    \"&Auditoria...\",     IDM_AUDITING\r\n    MENUITEM    \"&Proprietário...\",        IDM_OWNER\r\n    END\r\n    POPUP       \"&Janela\"\r\n    BEGIN\r\n    MENUITEM    \"&Nova Janela\\tCtrl+Shift Enter\",          IDM_NEWWINDOW\r\n    MENUITEM    \"Em &Cascata\\tShift+F5\",   IDM_CASCADE\r\n    MENUITEM    \"Em Mosaico na &Horizontal\",   IDM_TILEHORIZONTALLY\r\n    MENUITEM    \"Em Mosaico na &Vertical\\tShift+F4\",      IDM_TILE\r\n    MENUITEM    \"D&ispor Ícones\",       IDM_ARRANGE\r\n    MENUITEM    \"&Actualizar\\tF5\",         IDM_REFRESH\r\n    END\r\n    POPUP       \"&Ajuda\"\r\n    BEGIN\r\n    MENUITEM    \"&Conteúdos\",                IDM_HELPINDEX\r\n    MENUITEM    \"&Procurar por Ajuda em...\",   IDM_HELPKEYS\r\n    MENUITEM    \"&Como Usar a Ajuda\",         IDM_HELPHELP\r\n    MENUITEM    SEPARATOR\r\n    MENUITEM    \"&Acerca do Gestor de Ficheiros...\",   IDM_ABOUT\r\n    END\r\n\r\nEND\r\n\r\nCTXMENU MENU\r\nBEGIN\r\n    POPUP \"Dummy Popup\"\r\n    BEGIN\r\n    MENUITEM    \"&Nova Janela\\tCtrl+Shift Enter\",     IDM_NEWWINDOW\r\n    MENUITEM    \"&Abrir\\tEnter\",     IDM_OPEN\r\n    MENUITEM    \"Editar\\tF12\",        IDM_EDIT\r\n    MENUITEM    \"Mo&ver...\\tF7\",     IDM_MOVE\r\n    MENUITEM    \"&Copiar...\\tF8\",     IDM_COPY\r\n    MENUITEM    \"S&ymlink...\\tF11\", IDM_SYMLINK\r\n    MENUITEM    \"Hardlin&k...\\tShift+F11\", IDM_HARDLINK\r\n    MENUITEM    \"Copiar para a Clip&board\\tCtrl+C\", IDM_COPYTOCLIPBOARD\r\n    MENUITEM    \"Cortar para a Clipboard\\tCtrl+X\", IDM_CUTTOCLIPBOARD\r\n    MENUITEM    \"Co&lar\\tCtrl+V\", IDM_PASTE\r\n    MENUITEM    \"Eli&minar...\\tDel\",  IDM_DELETE\r\n    MENUITEM    \"M&udar o Nome...\\tF2\",   IDM_RENAME\r\n    MENUITEM    \"Propri&edades...\\tAlt+Enter\",IDM_ATTRIBS\r\n    MENUITEM    \"E&xecutar...\",          IDM_RUN\r\n    MENUITEM    \"Iniciar a Bash Shell...\", IDM_STARTBASHSHELL\r\n    MENUITEM    \"Iniciar a Cmd She&ll...\", IDM_STARTCMDSHELL\r\n    MENUITEM    \"Iniciar a Po&werShell...\", IDM_STARTPOWERSHELL\r\n    MENUITEM    \"Iniciar o &Explorer...\", IDM_STARTEXPLORER\r\n    MENUITEM    \"&Ir para Directório...\", IDM_GOTODIR\r\n    END\r\nEND\r\n\r\n\r\n#define SUGGEST(id,err,flags,str) id+IDS_SUGGESTBEGIN str\r\n/*              0....5....1....56...2....5....3.2..5....4....5....5....6....5....7....5....8....5....9....5....0....5....1....5....2....5..8 */\r\nSTRINGTABLE\r\nBEGIN\r\n//    IDS_ENDSESSION          \"Exit Windows\"                  /* 32 */\r\n//    IDS_ENDSESSIONMSG       \"This will end your Windows session.\"                                                                                      /* 128 */\r\n\r\n    IDS_COPYDISK            \"Copiar disco\"                     /* 32 */\r\n    IDS_INSERTDEST          \"Inserir disco de destino.\"                                                                                                 /* 128 */\r\n    IDS_INSERTSRC           \"Inserir disco de origem.\"                                                                                                      /* 128 */\r\n    IDS_INSERTSRCDEST       \"Inserir discos de origem e destino.\"                                                                                     /* 128 */\r\n    IDS_FORMATTINGDEST      \"A Formatar Disco de Destino\"                                                                                             /* 128 */\r\n\r\n    IDS_COPYDISKERR         \"Erro ao Copiar o Disco\"               /* 32 */\r\n    IDS_COPYDISKERRMSG      \"Não é possível copiar o disco.\"                                                                                                     /* 128 */\r\n    IDS_COPYSRCDESTINCOMPAT \"Discos de origem e destino são incompatíveis.\"                                                                          /* 128 */\r\n\r\n    IDS_PERCENTCOMP         \"%d%% concluído\"                /* 32 */\r\n    IDS_CREATEROOT          \"A criar directório raiz...\"       /* 32 */\r\n    IDS_COPYSYSFILES        \"A copiar ficheiros do sistema...\"          /* 32 */\r\n    IDS_FORMATERR           \"Erro ao Formatar Disco\"             /* 32 */\r\n    IDS_FORMATQUICKFAILURE  \"O Gestor de Ficheiros não pode realizar uma formatação rápida.\\n\\nContinuar com formatação normal?\"\r\n//    IDS_FORMATERRMSG        \"Não foi possível formatar disco.\"                                                                                                      /* 128 */\r\n//    IDS_FORMATCURERR      \"Não pode formatar a unidade actual.\"                                                                                     /* 128 */\r\n    IDS_FORMATCOMPLETE      \"Formatação Concluída\"               /* 32 */\r\n    IDS_FORMATANOTHER       \"%ld bytes espaço total do disco\\n%ld bytes disponíveis no disco\\n\\nDeseja formatar outro disco?\"                           /* 128 */\r\n\r\n//    IDS_SYSDISK             \"Criar Disco de Sistema\"\r\n//    IDS_SYSDISKRUSURE       \"Tem a certeza que deseja copiar ficheiros de sistema para o disco na unidade %c?\"\r\n//    IDS_SYSDISKERR          \"Erro no Disco de Sistema\"\r\n//    IDS_SYSDISKNOFILES      \"A unidade de arranque MS-DOS não contém ficheiros de sistema ou não está disponível.\"\r\n//    IDS_SYSDISKSAMEDRIVE    \"Não foi possível copiar ficheiros de sistema para a unidade de arranque MS-DOS.\"\r\n//    IDS_SYSDISKADDERR       \"Não foi possível adicionar ficheiros de sistema a este disco.\\n\\nCertifique-se de que um disco formatado está presente na unidade e que a porta está fechada.\"\r\n\r\n    IDS_NETERR              \"Erro de Rede\"                 /* 32 */\r\n    IDS_NETDISCONWINERR     \"Este disco contém ficheiros do sistema Windows e não pode ser desligado.\"                                                 /* 128 */\r\n    IDS_NETDISCONOPEN       \"O Gestor de Ficheiros não consegue desligar a unidade de rede.\\n\\nHá ficheiros abertos nesta unidade.\"\r\n\r\n    IDS_ATTRIBERR           \"O 'Gestor de Ficheiros' não consegue mudar os atributos.  \"\r\n    IDS_MAKEDIRERR          \"O 'Gestor de Ficheiros' não consegue criar o directório.  \"\r\n\r\n    IDS_LABELDISKERR        \"O 'Gestor de Ficheiros' não pode identificar o disco.\\n\\nCertifique-se de que o disco não está protegido contra escrita nem é uma unidade de rede e que o nome é válido.\\\r\n                             Os nomes não podem ter os caracteres:\\n[espaço] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\r\n\r\n    IDS_SEARCHNOMATCHES     \"Não foram encontrados ficheiros correspondentes.\"\r\n    IDS_SEARCHREFRESH       \"O conteúdo desta unidade mudou. Deseja realizar a Procura de novo?\"\r\n    IDS_LABELACCESSDENIED   \"Deverá estar autenticado como um administrador nesta workstation oara realizar esta operação em discos rígidos.\"\r\n\r\n    IDS_DRIVETEMP           \"Unidade %c:%c\"\r\n\r\n    IDS_EXECERRTITLE,       \"Não é Possível Executar o Programa\"\r\n    IDS_PRINTERRTITLE,      \"Não é Possível Imprimir o Ficheiro\"\r\n\r\n    IDS_UNKNOWNMSG,         \"Erro não esperado: %d.\"\r\n    IDS_NOMEMORYMSG,        \"Sem memória para iniciar a aplicação especificada.\\n\\nFeche uma ou mais aplicações e tente de novo.\"                   /* 128 */\r\n    IDS_FILENOTFOUNDMSG,    \"O 'Gestor de Ficheiros' não consegue localizar o ficheiro especificado (ou um dos seus componentes).\\n\\nCertifique-se de que o caminho e nome do ficheiro estão correctos e que todas as bibliotecas necessárias estão disponíveis.\"\r\n    IDS_BADPATHMSG,         \"O caminho especificado é inválido.\"                                                                                           /* 128 */\r\n//    IDS_MANYOPENFILESMSG,   \"Demasiados ficheiros estão a ser usados atualmente.\\n\\nFeche uma ou mais aplicações ou aumente o valor do comando FILES no CONFIG.SYS, e tente de novo.\"                                    /* 128 */\r\n    IDS_NOASSOCMSG,         \"Não existe nenhuma aplicação associada a este ficheiro.\\n\\nSeleccione 'Associar' no menu 'Ficheiro' para criar uma associação.\"       /* 128 */\r\n    IDS_ASSOCINCOMPLETE,    \" O 'Gestor de Ficheiros' não consegue abrir ou imprimir o ficheiro.\\n\\nInicie a aplicação usada para criar o ficheiro e abra ou imprima o ficheiro a partir daí.\"\r\n//    IDS_MULTIPLEDSMSG,      \"Não foi possível iniciar mais do que uma cópia do programa especificado.\"                                                                /* 128 */\r\n//    IDS_OS2APPMSG           \"A aplicação especificada não é um programa Windows ou MS-DOS.\"                                                            /* 128 */\r\n//    IDS_NEWWINDOWSMSG       \"Esta aplicação requer uma versão mais nova do Microsoft Windows.\"                                                          /* 128 */\r\n//    IDS_PMODEONLYMSG        \"Esta aplicação requer o Windows.\"                                                             /* 128 */\r\n    IDS_DDEFAIL             \"Ocorreu um erro ao mandar o comando para a aplicação.\"                                                                /* 128 */\r\n//    IDS_COMPRESSEDEXE       \"Este programa ou dos seus componentes está comprimido.\\n\\nUse a utilidade MS-DOS expand para copiar o ficheiro dos discos de configuração.\"\r\n    IDS_INVALIDDLL          \"Um ou mais ficheiros de bibliotecas necessárias para executar esta aplicação está danificado. Por favor reinstale esta aplicação.\"\r\n    IDS_SHAREERROR          \"Este ficheiro está a ser usado por outra aplicação.\"\r\n\r\n    IDS_CREATELONGDIR       \"O 'Gestor de Ficheiros' poderá não conseguir aceder a ficheiros criados no directório '%s.'\\n\\nTem a certeza que deseja continuar?\"\r\n    IDS_CREATELONGDIRTITLE  \"Criar Directório\"\r\n\r\n    IDS_MOUSECONFIRM,       \"Confirmar Operação do Rato\"       /* 32 */\r\n    IDS_COPYMOUSECONFIRM,   \"Tem a certeza que deseja copiar os ficheiros ou directórios seleccionados para %s?\"\r\n    IDS_MOVEMOUSECONFIRM,   \"Tem a certeza que deseja mover os ficheiros ou directórios seleccionados para %s?\"\r\n    IDS_LINKMOUSECONFIRM,   \"Tem a certeza que deseja fazer 'link' dos ficheiros ou directórios seleccionados para %s?\"\r\n    IDS_EXECMOUSECONFIRM,   \"Tem a certeza que deseja iniciar %s usando %s como o ficheiro inicial?\"                                                          /* 128 */\r\n\r\n    IDS_WINFILE,            \"Gestor de Ficheiros\"                  /* 32 */\r\n    IDS_TREETITLE,          \"Árvore do Directório\"                /* 32 */\r\n    IDS_SEARCHTITLE,        \"Resultados da Procura: \"              /* 32 */\r\n\r\n    IDS_READING             \"A ler directório, por favor aguarde...\"\r\n    IDS_TOOMANYTITLE,       \"Demasiados Ficheiros\"                /* 32 */\r\n    IDS_OOMTITLE,           \"Gestor de Ficheiros - Sem Memória\"  /* 32 */\r\n    IDS_OOMREADINGDIRMSG,   \"Não foi possível ler o directório completo.  Apenas uma listagem parcial vai ser mostrada.\"                                              /* 128 */\r\n\r\n//    IDS_PRINTFNF            \"O ficheiro a ser imprimido não foi encontrado. Certifique-se de que o caminho e nome de ficheiro correctos foram especificados.\"                                                                                  /* 128 */\r\n    IDS_PRINTMEMORY         \"Sem memória para imprimir.\\n\\nFeche uma ou mais aplicações e tente de novo.\"                                             /* 128 */\r\n    IDS_PRINTDISK           \"Sem espaço no disco para imprimir.\\n\\nElimine um ou mais ficheiros para aumentar o espaço no disco e tente de novo.\"                        /* 128 */\r\n    IDS_PRINTERROR          \"Ocorreu um erro durante a impressão.\\n\\nCertifique-se que a impressora está corretamente configurada e seleccionada.\"             /* 128 */\r\n    IDS_PRINTONLYONE        \"O 'Gestor de Ficheiros' não consegue imprimir múltiplos ficheiros.\\n\\nSeleccione apenas um ficheiro e tente de novo.\"                                               /* 128 */\r\n\r\n    IDS_CURDIRIS,           \"Directório Actual: %s\"                                                                                                    /* 128 */\r\n    IDS_CURDIRSARE,         \"Outros directórios actuais: \"\r\n    IDS_COPY,               \"Copiar\"                          /* 32 */\r\n    IDS_RENAME,             \"Renomear\"                        /* 32 */\r\n    IDS_FORMAT,             \"Formatar Disco\"                   /* 32 */\r\n    IDS_FORMATSELDISK,      \"Seleccionar o disco para formatar.\"                                                                                               /* 128 */\r\n    IDS_SYMLINK,            \"Symlink\"                       /* 32 */\r\n    IDS_HARDLINK,           \"Hardlink\"                      /* 32 */\r\n\r\n    IDS_KK_COPYFROMSTR,     \"&De:\"\r\n    IDS_KK_COPYTOSTR,       \"&Para:\"\r\n    IDS_KK_RENAMEFROMSTR,   \"&De:\"\r\n    IDS_KK_RENAMETOSTR,     \"&Para:\"\r\n    IDS_KK_HARDLINKFROMSTR, \"&De:\"\r\n    IDS_KK_HARDLINKTOSTR,   \"&Para:\"\r\n    IDS_KK_SYMLINKFROMSTR,  \"&De:\"\r\n    IDS_KK_SYMLINKTOSTR,    \"&Para:\"\r\n\r\n//    IDS_MAKESYSDISK,      \"Criar Disco de Sistema\"              /* 32 */\r\n\r\n    IDS_CREATINGMSG,        \"A criar:\"                     /* 32 */\r\n    IDS_REMOVINGDIRMSG,     \"A remover:\"                     /* 32 */\r\n    IDS_REMOVINGMSG,        \"A remover...\"                   /* 32 */\r\n    IDS_COPYINGMSG,         \"A copiar:\"                      /* 32 */\r\n    IDS_OPENINGMSG,         \"A abrir...\"                    /* 32 */\r\n    IDS_CLOSINGMSG,         \"A fechar...\"                    /* 32 */\r\n    IDS_RENAMINGMSG,        \"A renomear...\"                   /* 32 */\r\n    IDS_MOVINGMSG,          \"A mover...\"                     /* 32 */\r\n    IDS_DELETINGMSG,        \"A eliminar...\"                   /* 32 */\r\n    IDS_PRINTINGMSG,        \"A imprimir: %s\"                  /* 32 */\r\n\r\n//    IDS_NOSUCHDRIVE,        \"A unidade %c não existe.\"                                                                                            /* 128 */\r\n    IDS_DRIVENOTREADY,      \"Não existe nenhum disco na unidade %c.\\n\\nInsira um disco e tente de novo.\"\r\n    IDS_UNFORMATTED,        \"O disco na unidade %c não está formatado.\\n\\nDeseja formatá-lo agora?\"\r\n\r\n    IDS_STATUSMSG,          \"Total de %d ficheiro(s) (%s)\"             /* 128 */\r\n    IDS_STATUSMSG2,         \"%d ficheiro(s) seleccionados (%s)\"          /* 128 */\r\n    IDS_DRIVEFREE,          \"%c: %s livres, total de %s\"            /* 128 */\r\n    IDS_TREEABORT,          \"Árvore incompleta de directório mostrada\"     /* 128 */\r\n    IDS_DIRSREAD,           \"Directórios lidos: %d \"                   /* 32 */\r\n    IDS_SEARCHMSG,          \"%d ficheiro(s) encontrado(s)\"\r\n    IDS_BYTES,              \"%ld bytes\"\r\n    IDS_SBYTES,             \"%s bytes\"\r\n\r\n    IDS_SELECTEDFILES,      \"os ficheiros seleccionados\"            /* 32 */\r\n\r\n    /* These strings are used for generating error messages\r\n     * from the Copy, Move, and Delete code. */\r\n\r\n    IDS_COPYERROR + FUNC_COPY     \"Erro ao Copiar Ficheiro\"\r\n    IDS_COPYERROR + FUNC_MOVE     \"Erro ao Mover Ficheiro\"\r\n    IDS_COPYERROR + FUNC_DELETE   \"Erro ao Eliminar Ficheiro\"\r\n    IDS_COPYERROR + FUNC_RENAME   \"Erro ao Renomear Ficheiro\"\r\n    IDS_COPYERROR + FUNC_SETDRIVE \"Erro ao Seleccionar Unidade\"\r\n    IDS_COPYERROR + FUNC_EXPAND   \"Erro ao Ler Directório\"\r\n    IDS_COPYERROR + FUNC_LABEL    \"Erro ao Identificar Disco\"\r\n    IDS_COPYERROR + FUNC_LINK     \"Erro ao Criar Symbolic Link\"\r\n    IDS_COPYERROR + FUNC_HARD     \"Erro ao Criar Hardlink\"\r\n    IDS_COPYERROR + FUNC_JUNC     \"Erro ao Criar Junção\"\r\n\r\n    /* The first %s is replaced by a file name. The second %s is replaced\r\n     * by one of the \"reasons\" below. */\r\n\r\n    IDS_VERBS + FUNC_COPY       \"O 'Gestor de Ficheiros' não consegue copiar %s: %s\"\r\n    IDS_VERBS + FUNC_MOVE       \"O 'Gestor de Ficheiros' não consegue mover %s: %s\"\r\n    IDS_VERBS + FUNC_DELETE     \"O 'Gestor de Ficheiros' não consegue eliminar %s: %s\"\r\n    IDS_VERBS + FUNC_RENAME     \"O 'Gestor de Ficheiros' não consegue renomear %s: %s\"\r\n    IDS_VERBS + FUNC_LINK       \"O 'Gestor de Ficheiros' não consegue criar o symbolic link %s: %s\"\r\n    IDS_VERBS + FUNC_HARD       \"O 'Gestor de Ficheiros' não consegue criar o hardlink %s: %s\"\r\n    IDS_VERBS + FUNC_JUNC       \"O 'Gestor de Ficheiros' não consegue criar a junção %s: %s\"\r\n    IDS_ACTIONS + 1             \"O 'Gestor de Ficheiros' não consegue criar o directório %s: %s\"\r\n    IDS_ACTIONS + 2             \"O 'Gestor de Ficheiros' não consegue remover o directório %s: %s\"\r\n    IDS_REPLACING               \"O 'Gestor de Ficheiros' não consegue criar ou substituir %s: %s\"\r\n    // IDS_CREATING             \"O 'Gestor de Ficheiros' não consegue criar %s: %s\"\r\n\r\n// include reason strings\r\n\r\n#include \"suggest_pt-PT.db\"\r\n\r\n    IDS_DESTFULL                \"O disco de destino está cheio. Por favor insira outro disco para continuar.\"\r\n    IDS_WRITEPROTECTFILE        \"Trata-se de um ficheiro de sistema, oculto ou só de leitura.\"\r\n\r\n    IDS_COPYINGTITLE            \"A Copiar...\"\r\n\r\n    IDS_QUICKFORMATTINGTITLE    \"Formatação Rápida...\"\r\n\r\n    IDS_BUSYFORMATQUITVERIFY    \"O 'Gestor de Ficheiros' está a formatar um disco.  Sair do 'Gestor de Ficheiros' vai abortar esta operação.\"\r\n    IDS_BUSYCOPYQUITVERIFY      \"O 'Gestor de Ficheiros' está a copiar um disco.  Sair do 'Gestor de Ficheiros' vai abortar esta operação.\"\r\n    IDS_PERCENTCOMPLETE         \"Percentagem Concluído\"\r\n\r\n    IDS_12MB                    \"1%s2 MB\"\r\n    IDS_360KB                   \"360K\"\r\n    IDS_144MB                   \"1%s44 MB\"\r\n    IDS_720KB                   \"720K\"\r\n    IDS_288MB                   \"2%s88 MB\"\r\n    IDS_2080MB                  \"20%s8 MB\"\r\n\r\n#if defined(JAPAN) && defined(i386)\r\n/* ADD KBNES. NEC MEDIATYPE START */\r\nJAPANBEGIN\r\n    IDS_125MB                   \"1%s25 MB\"\r\n    IDS_256KB                   \"256K\"\r\n    IDS_128MB                   \"128 MB\"\r\nJAPANEND\r\n/* ADD KBNES. NEC MEDIATYPE END */\r\n\r\n//\r\n// FMR jul.21.1994 JY\r\n// We added 640KB/1.23MB media types.\r\n//\r\nJAPANBEGIN\r\n    IDS_640KB                   \"640K\"\r\n    IDS_123MB                   \"1%s23 MB\"\r\nJAPANEND\r\n#endif\r\n\r\n    IDS_DEVICECAP               \"Capacidade da Unidade\"\r\n    IDS_QSUPMEDIA               \"O 'Gestor de Ficheiros' não consegue obter informação sobre o disco.\\n\\nCertifique-se que o disco está na unidade.\"\r\n    IDS_REMOVEMED               \"Tipo de Disco Desconhecido\"\r\n\r\n    IDS_CANTFORMATTITLE         \"Tipo de Disco Desconhecido\"\r\n    IDS_CANTFORMAT              \"O tipo de disco na unidade %s não pode ser formatado com o 'Gestor de Ficheiros'.  Por favor use a Gestão de Discos para formatar este disco.\"\r\n\r\n    IDS_FFERR_INCFS             \"Sistema de ficheiros incompatível.\"\r\n    IDS_FFERR_ACCESSDENIED      \"Acesso negado.\"\r\n    IDS_FFERR_DISKWP            \"O disco está protegido contra escrita.\"\r\n    IDS_FFERR_CANTLOCK          \"O 'Gestor de Ficheiros' não consegue abrir o volume.\"\r\n    IDS_FFERR_CANTQUICKF        \"O 'Gestor de Ficheiros' não consegue realizar uma formatação rápida do disco.\\n\\nCertifique-se que o disco tem a densidade correcta.\"\r\n    IDS_FFERR_SRCIOERR          \"Erro IO no disco de origem.\"\r\n    IDS_FFERR_DSTIOERR          \"Erro IO no disco de destino.\"\r\n    IDS_FFERR_SRCDSTIOERR       \"Erro IO em ambos os discos de origem e destino.\"\r\n    IDS_FFERR_GENIOERR          \"Ocorreu um erro IO.\"\r\n//    IDS_FFERR_MEDIASENSE      \"Este disco pode ser formatado na capacidade de %s. Continuar a formatar o disco a esta capacidade?\"\r\n    IDS_FFERR                   \"O 'Gestor de Ficheiros' não pode formatar o disco.\\n\\nCertifique-se de que o disco está inserido na unidade e que não está protegido contra escrita, danificado ou tem a densidade errada.\"\r\n    IDS_FFERR_BADLABEL          \"O 'Gestor de Ficheiros' não pode identificar o disco.\\n\\nO identificador espeçificado é inválido.  Certifique-se que o identificador não contém nenhum dos seguintes caracteres\\n\\\r\n                                [espaço] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\r\n\r\n\r\n    IDS_FORMATCONFIRM           \"A formatação vai eliminar TODOS os dados do seu disco. Tem a certeza que deseja formatar o disco na unidade %c?\"\r\n    IDS_FORMATCONFIRMTITLE      \"Confirmar Formatação do Disco\"\r\n\r\n    IDS_DISKCOPYCONFIRM         \"Esta operação vai eliminar TODOS os dados do disco de destino. Tem a certeza que deseja continuar?\"\r\n    IDS_DISKCOPYCONFIRMTITLE    \"Confirmar Copia do Disco\"\r\n    IDS_ANDCLOSE                \"&Fechar\"        // goes on Selection dialog\r\n    IDS_CLOSE                   \"Fechar\"         // braindead \"&Change\"\r\n    IDS_PATHNOTTHERE            \"Directório %s não existe.\\n\\nDeseja criá-lo?\"\r\n    IDS_PROGRAMS                \"Programas#*.exe;*.pif;*.com;*.bat#All Files (*.*)#*.*#\"\r\n\r\n    IDS_MENUANDITEM             \"%s - %s\"\r\n    IDS_DRIVELABEL              \"Disco:\"\r\n    IDS_STATUSMSGSINGLE         \"%s, \"\r\n\r\n    IDS_CONNECTHELP             \"Ligar unidade de rede\"\r\n    IDS_DISCONHELP              \"Desligar unidade de rede\"\r\n    IDS_CONNECTIONHELP          \"Ligações de rede\"\r\n    IDS_SHAREASHELP             \"Partilhar directório\"\r\n    IDS_STOPSHAREHELP           \"Parar partilha do directório\"\r\n    IDS_VDETAILSHELP            \"Ver todos os detalhes dos ficheiros\"\r\n    IDS_VNAMEHELP               \"Ver nome apenas\"\r\n    IDS_BYNAMEHELP              \"Ordenar por nome\"\r\n    IDS_BYTYPEHELP              \"Ordenar por tipo\"\r\n    IDS_BYSIZEHELP              \"Ordenar por tamanho\"\r\n    IDS_BYDATEHELP              \"Ordenar por data\"\r\n    IDS_NEWWINHELP              \"Nova janela\"\r\n    IDS_COPYHELP                \"Copiar ficheiros\"\r\n    IDS_MOVEHELP                \"Mover ficheiros\"\r\n    IDS_DELHELP                 \"Eliminar ficheiros\"\r\n\r\n    IDS_DIRNAMELABEL            \"Nome do &Directório:\"\r\n    IDS_DRIVENOTAVAILABLE       \"A unidade de rede não está disponível.\"\r\n\r\n    IDS_SHAREDAS                \"Partilhado como %s\"\r\n    IDS_NOTSHARED               \"Não partilhado\"\r\n\r\n    IDS_DRIVE_COMPRESSED        \" - COMPRIMIDO\"\r\n\r\n    IDS_DRAG_COPYING            \"A copiar ficheiros para %s\"\r\n    IDS_DRAG_MOVING             \"A mover ficheiros para %s\"\r\n    IDS_DRAG_LINKING            \"A fazer linking de ficheiros para %s\"\r\n    IDS_DRAG_EXECUTING          \"A executar ficheiros com %s\"\r\n\r\n    IDS_ORDERB                  \"%s bytes\"\r\n    IDS_ORDERKB                 \"%sKB\"\r\n    IDS_ORDERMB                 \"%sMB\"\r\n    IDS_ORDERGB                 \"%sGB\"\r\n    IDS_ORDERTB                 \"%sTB\"\r\n\r\n    IDS_VN_COMMENTS             \"Comentários\"\r\n    IDS_VN_COMPANYNAME          \"Nome da Empresa\"\r\n    IDS_VN_FILEDESCRIPTION      \"Descrição do Ficheiro\"\r\n    IDS_VN_INTERNALNAME         \"Nome Interno\"\r\n    IDS_VN_LEGALTRADEMARKS      \"Trademarks Legais\"\r\n    IDS_VN_ORIGINALFILENAME     \"Nome de Ficheiro Original\"\r\n    IDS_VN_PRIVATEBUILD         \"Descrição Privada de Compilação\"\r\n    IDS_VN_PRODUCTNAME          \"Nome do Produto\"\r\n    IDS_VN_PRODUCTVERSION       \"Versão do Produto\"\r\n    IDS_VN_SPECIALBUILD         \"Descrição de Compilação Especial\"\r\n\r\n    IDS_VN_LANGUAGE             \"Linguagem\"\r\n    IDS_VN_LANGUAGES            \"Linguagens\"\r\n\r\n    IDS_ASSOCIATE               \"Procurar\"\r\n    IDS_RUN                     \"Executar\"\r\n    IDS_WINHELPERR              \"Não foi possível mostrar informação da Ajuda.\"\r\n    IDS_NOEXEASSOC              \"Ficheiros com a extensão %s são programas e não podem ser associados com outra aplicação.\"\r\n    IDS_ASSOCNOTEXE             \"%s não é um programa e não pode ser associado com uma extensão de ficheiros.\"\r\n    IDS_ASSOCNONE               \"(Nenhum)\"\r\n    IDS_NOFILES                 \"Nenhum ficheiro encontrado.\"\r\n    IDS_NOACCESSDIR             \"Não tem permissão para aceder a este directório.\"\r\n    IDS_NOACCESSFILE            \"Não tem permissão para aceder a este ficheiro.\"\r\n\r\n    IDS_DRIVEBUSY_COPY          \"Unidade %c: está ocupada e não pode ser acedida.\\nO 'Gestor de Ficheiros' está a realizar uma cópia do disco.\"\r\n    IDS_DRIVEBUSY_FORMAT        \"Unidade %c: está ocupada e não pode ser acedida.\\nO 'Gestor de Ficheiros' está a formatar este disco.\"\r\n\r\n    IDS_COPYMOVENOTCOMPLETED    \"A operação não foi totalmente concluída\"\r\n    IDS_DIRREMAINS              \"Não foi possível finalizar a operação em todos os ficheiros e directórios.\"\r\n\r\n    IDS_TOOMANYWINDOWS          \"Existem demasiadas janelas de directório abertas.\\n\\nFeche uma ou mais janelas e tente de novo.\"\r\n    IDS_FMIFSLOADERR            \"Não foi possível carregar uma biblioteca necessária para esta operação.\"\r\n\r\n    IDS_NOSUCHDIRTITLE          \"Não foi possível ler o directório\"\r\n    IDS_NOSUCHDIR               \"O directório não existe.\"\r\n\r\n    IDS_BADNETNAMETITLE         \"Não foi possível ligar a unidade de rede\"\r\n    IDS_BADNETNAME              \"O nome de rede não foi encontrado.\"\r\n\r\n    IDS_ALLFILES                \"'Sim para todos' afecta todos os ficheiros, incluindo de sistema, ocultos e só de leitura.\"\r\n\r\n    IDS_ASSOC_OPEN              \"Abrir\"\r\n    IDS_ASSOC_PRINT             \"Imprimir\"\r\n\r\n    IDS_ADDEXTTITLE             \"Adicionar Extensão\"\r\n    IDS_ADDEXTTEXT              \"A extensão '%s' está atualmente associada a '%s.'  Continuar e substituir esta associação and overwrite this association?\"\r\n\r\n    IDS_EXTTITLE                \"Editor de Associação de Ficheiros\"\r\n\r\n    IDS_EXTADDERROR             \"Não foi possível associar extensão.  \"\r\n    IDS_EXTDELERROR             \"Não foi possível eliminar extensão.  \"\r\n    IDS_FILETYPEADDERROR        \"Não foi possível adicionar Tipo de Ficheiro.  \"\r\n    IDS_FILETYPEDELERROR        \"Não foi possível eliminar Tipo de Ficheiro.  \"\r\n    IDS_FILETYPEREADERROR       \"Não foi possível ler Tipo de Ficheiro.  \"\r\n\r\n    IDS_FILETYPENULLDESCERROR   \"A descrição do Tipo de Ficheiro não pode estar vazia.  Por favor insira um novo Tipo de Ficheiro.\"\r\n    IDS_FILETYPEDUPDESCERROR    \"Não foi possível gerar um identificador único baseado no seu Tipo de Ficheiro.  Por favor insira um novo Tipo de Ficheiro.\"\r\n\r\n    IDS_FILETYPEDELCONFIRMTITLE \"Eliminar Tipo de Ficheiro\"\r\n    IDS_FILETYPEDELCONFIRMTEXT  \"Isto vai eliminar o Tipo de Ficheiro e todas as suas extensões associadas.  Tem a certeza que deseja eliminar '%s'?\"\r\n#ifdef ASSOC\r\n    IDS_FILETYPEDELCONFIRMUSERTEXT \"Está a eliminar um Tipo de Ficheiro Pessoal.  Isto irá reverter para o Tipo de Ficheiro Comum e todas as suas extensões continuarão intactas.  Tem a certeza que deseja reverter '%s'?\"\r\n    IDS_FILETYPEUSERIZETEXT     \"Está a personalizar um Tipo de Ficheiro Comum.  O 'Gestor de Ficheiros' irá guardar as suas definições num Tipo de Ficheiro Personalizado.  Continuar?\"\r\n#endif\r\n    IDS_FILETYPECOMMANDNULLTEXT \"O Tipo de Ficheiro deverá ter um comando para pelo menos uma das Acções.  Por favor insira uma aplicação na linha de comandos.\"\r\n\r\n    IDS_NEWFILETYPETITLE        \"Novo Tipo de Ficheiro\"\r\n    IDS_COPYINGDISKTITLE        \"A Copiar Disco\"\r\n    IDS_SEARCHING               \"A Procurar...\"\r\n\r\nJAPANBEGIN\r\n    IDS_WRNNOSHIFTJIS           \"このフォントを使用すると漢字の表示が\\nできなくなります。\"\r\nJAPANEND\r\n\r\n    IDS_INITUPDATEFAIL          \"Não foi possível iniciar o suporte de actualização de fundo.  O 'Gestor de Ficheiros' vai fechar.  \"\r\n    IDS_INITUPDATEFAILTITLE     \"Inicialização do 'Gestor de Ficheiros'\"\r\n\r\n    IDS_COMPRESSDIR             \"Deseja Comprimir todos os ficheiros e subdirectórios em %s também?\"\r\n    IDS_UNCOMPRESSDIR           \"Deseja Descomprimir todos os ficheiros e subdirectórios em %s também?\"\r\n    IDS_COMPRESS_ATTRIB_ERR     \"O 'Gestor de Ficheiros' não consegue mudar os atributos de compressão para %s.\"\r\n    IDS_NTLDRCOMPRESSERR        \"O ficheiro %s não vai ser comprimido.  Comprimir este ficheiro poderá impedir o seu sistema de arrancar.\"\r\n    IDS_MULTICOMPRESSERR        \"O 'Gestor de Ficheiros' está atualmente no processo de comprimir/descomprimir ficheiros.\\nTerá de esperar até que isto esteja concluído antes de tentar comprimir/descomprimir ficheiros adicionais.\"\r\n\r\n    IDS_EDITFILTER              \"Programas (*.exe)\\0*.exe\\0\"\r\n\r\nEND\r\n#undef SUGGEST\r\n\r\n/* Help strings for the popup menus.\r\n */\r\nSTRINGTABLE\r\nBEGIN\r\n    MH_POPUP+IDM_FILE,          \"Comandos para trabalhar com ficheiros\"\r\n    MH_POPUP+IDM_DISK,          \"Comandos para trabalhar com discos\"\r\n    MH_POPUP+IDM_TREE,          \"Comandos para trabalhar na janela da árvore\"\r\n    MH_POPUP+IDM_VIEW,          \"Comandos para determinar como as informações são mostradas\"\r\n    MH_POPUP+IDM_OPTIONS,       \"Comandos para definir opções\"\r\n    MH_POPUP+IDM_SECURITY,      \"Comandos para manipular a segurança de ficheiros e directórios\"\r\n    MH_POPUP+IDM_WINDOW,        \"Comandos para dispor janelas\"\r\n    MH_POPUP+IDM_HELP,          \"Comandos para mostrar a ajuda do 'Gestor de Ficheiros'\"\r\nEND\r\n\r\n\r\n// Help strings for the \"standard\" toolbar items.\r\n\r\nSTRINGTABLE\r\nBEGIN\r\n    MH_MYITEMS+IDM_OPEN,        \"Abre o item seleccionado\"\r\n    MH_MYITEMS+IDM_EDIT,        \"Editar o item seleccionado usando o notepad.exe\"\r\n    MH_MYITEMS+IDM_MOVE,        \"Move o item seleccionado\"\r\n    MH_MYITEMS+IDM_COPY,        \"Copia ficheiros e directórios\"\r\n    MH_MYITEMS+IDM_COPYTOCLIPBOARD, \"Copia um ou mais ficheiros para a clipboard\"\r\n    MH_MYITEMS+IDM_CUTTOCLIPBOARD, \"Corta um ou mais ficheiros para a clipboard\"\r\n    MH_MYITEMS+IDM_PASTE,       \"Cola ficheiro da clipboard para o directório atual\"\r\n    MH_MYITEMS+IDM_COMPRESS,    \"Comprime um ficheiro ou directório\"\r\n    MH_MYITEMS+IDM_UNCOMPRESS,  \"Descomprime um ficheiro ou directório\"\r\n    MH_MYITEMS+IDM_DELETE,      \"Elimina ficheiros ou directórios\"\r\n    MH_MYITEMS+IDM_RENAME,      \"Muda o nome a um ficheiro ou directório\"\r\n    MH_MYITEMS+IDM_ATTRIBS,     \"Define os atributos de ficheiro e mostra as propriedades\"\r\n    MH_MYITEMS+IDM_RUN,         \"Inicia ou abre uma aplicação ou um documento\"\r\n    MH_MYITEMS+IDM_PRINT,       \"Imprime um documento\"\r\n    MH_MYITEMS+IDM_ASSOCIATE,   \"Associa um ficheiro a uma aplicação\"\r\n    MH_MYITEMS+IDM_MAKEDIR,     \"Cria um directório\"\r\n    MH_MYITEMS+IDM_SEARCH,      \"Procura ficheiros e directórios\"\r\n    MH_MYITEMS+IDM_SELECT,      \"Selecciona ficheiros e directórios\"\r\n    MH_MYITEMS+IDM_EXIT,        \"Sai do 'Gestor de Ficheiros'\"\r\n\r\n    MH_MYITEMS+IDM_DISKCOPY,    \"Copia o conteúdo de uma disquete\"\r\n    MH_MYITEMS+IDM_LABEL,       \"Atribui ou altera o nome de volume de um disco\"\r\n    MH_MYITEMS+IDM_FORMAT,      \"Formata um disco\"\r\n//    MH_MYITEMS+IDM_SYSDISK,     \"Copia ficheiros MS-DOS para uma disquete\"\r\n    MH_MYITEMS+IDM_CONNECT,     \"Liga a uma unidade de rede\"\r\n    MH_MYITEMS+IDM_DISCONNECT,  \"Desliga de uma unidade de rede\"\r\n//    MH_MYITEMS+IDM_CONNECTIONS,       \"Conexões de Rede...\"\r\n//    MH_MYITEMS+IDM_SHARES,    \"Ver Directórios Partilhados...\"\r\n    MH_MYITEMS+IDM_SHAREAS,     \"Partilha um directório\"\r\n    MH_MYITEMS+IDM_STOPSHARE,   \"Pára a partilha de um directório\"\r\n\r\n    MH_MYITEMS+IDM_DRIVESMORE,  \"Selecciona outra unidade\"\r\n\r\n    MH_MYITEMS+IDM_EXPONE,      \"Mostra outro nível de um directório\"\r\n    MH_MYITEMS+IDM_EXPSUB,      \"Mostra todos os níveis de um directório\"\r\n    MH_MYITEMS+IDM_EXPALL,      \"Mostra todos os níveis de todos os directórios\"\r\n    MH_MYITEMS+IDM_COLLAPSE,    \"Fecha todos os directórios de um directório seleccionado\"\r\n    MH_MYITEMS+IDM_ADDPLUSES,   \"Indica os directórios que possuem subdirectórios\"\r\n\r\n    MH_MYITEMS+IDM_BOTH,        \"Mostra a árvore de directórios e o conteúdo do directório actual\"\r\n    MH_MYITEMS+IDM_TREEONLY,    \"Mostra a árvore de directórios\"\r\n    MH_MYITEMS+IDM_DIRONLY,     \"Mostra o conteúdo do directório atual\"\r\n    MH_MYITEMS+IDM_SPLIT,       \"Divide uma janela de directório ou move a barra de divisão\"\r\n    MH_MYITEMS+IDM_VNAME,       \"Mostra apenas os nomes dos ficheiros\"\r\n    MH_MYITEMS+IDM_VDETAILS,    \"Mostra todos os detalhes dos ficheiros\"\r\n    MH_MYITEMS+IDM_VOTHER,      \"Mostra os detalhes parciais dos ficheiros\"\r\n    MH_MYITEMS+IDM_BYNAME,      \"Ordena os ficheiros pelo nome\"\r\n    MH_MYITEMS+IDM_BYTYPE,      \"Ordena os ficheiros pelo tipo\"\r\n    MH_MYITEMS+IDM_BYSIZE,      \"Ordena os ficheiros pelo tamanho\"\r\n    MH_MYITEMS+IDM_BYDATE,      \"Ordena os ficheiros pela data\"\r\n    MH_MYITEMS+IDM_BYFDATE,     \"Ordena os ficheiros pela data descendente\"\r\n    MH_MYITEMS+IDM_VINCLUDE,    \"Mostra os ficheiros de um tipo especificado\"\r\n\r\n    MH_MYITEMS+IDM_CONFIRM,     \"Controla as mensagens de confirmação\"\r\n    MH_MYITEMS+IDM_FONT,        \"Altera o tipo de letra do 'Gestor de Ficheiros'\"\r\n\r\n    MH_MYITEMS+IDM_TOOLBARCUST, \"Personaliza a barra de ferramentas\"\r\n    MH_MYITEMS+IDM_TOOLBAR,     \"Mostra ou oculta a barra de ferramentas\"\r\n    MH_MYITEMS+IDM_DRIVEBAR,    \"Mostra ou oculta a barra de unidades\"\r\n    MH_MYITEMS+IDM_STATUSBAR,   \"Mostra ou oculta a barra de estado\"\r\n    MH_MYITEMS+IDM_NEWWINONCONNECT,     \"Abre uma nova janela quando ligar\"\r\n\r\n    MH_MYITEMS+IDM_MINONRUN,    \"Reduz o 'Gestor de Ficheiros' a um ícone no arranque\"\r\n    MH_MYITEMS + IDM_INDEXONLAUNCH, \"Cria um index para 'Ir para Directório' quandoo 'Gestor de Ficheiros' inicia\"\r\n    MH_MYITEMS+IDM_SAVESETTINGS,        \"Guarda as definições na saída do 'Gestor de Ficheiros'\"\r\n\r\n    MH_MYITEMS+IDM_NEWWINDOW,   \"Abre uma nova janela\"\r\n    MH_MYITEMS+IDM_CASCADE,     \"Dispõe as janelas\"\r\n    MH_MYITEMS+IDM_TILEHORIZONTALLY,    \"Dispõe as janelas horizontalmente\"\r\n    MH_MYITEMS+IDM_TILE,        \"Dispõe as janelas verticalmente\"\r\n    MH_MYITEMS+IDM_ARRANGE,     \"Dispõe os ícones\"\r\n    MH_MYITEMS+IDM_REFRESH,     \"Actualiza o conteúdo de uma janela\"\r\n\r\n    MH_MYITEMS+IDM_PERMISSIONS  \"Mostra ou define informação de permissões no(s) item(s) seleccionados\"\r\n    MH_MYITEMS+IDM_AUDITING     \"Mostra ou define informação de auditoria no(s) item(s) seleccionados\"\r\n    MH_MYITEMS+IDM_OWNER        \"Mostrar ou tomar controlo dos item(s) seleccionados\"\r\n\r\n    MH_MYITEMS+IDM_HELPINDEX,   \"Mostra o índice para a ajuda do 'Gestor de Ficheiros'\"\r\n    MH_MYITEMS+IDM_HELPKEYS,    \"Procura por um tópico na ajuda do 'Gestor de Ficheiros'\"\r\n    MH_MYITEMS+IDM_HELPHELP,    \"Mostra informação sobre como usar a Ajuda\"\r\n    MH_MYITEMS+IDM_ABOUT,       \"Mostra informação sobre o 'Gestor de Ficheiros'\"\r\nEND\r\n\r\n\r\n// Strings for menu items that may be added at init time.\r\n\r\nSTRINGTABLE\r\nBEGIN\r\n    IDS_CONNECT,                \"&Ligar Unidade de Rede...\"\r\n    IDS_DISCONNECT,             \"Desligar &Unidade de Rede...\"\r\n    IDS_CONNECTIONS,            \"Ligações de &Rede...\"\r\n    IDS_SHAREDDIR               \"Directórios &Partilhados...\"\r\n    IDS_SHAREAS,                \"Partilhar &Como...\"\r\n    IDS_STOPSHARE,              \"P&arar Partilha...\"\r\n    IDS_SHARES,                 \"Ver Directórios &Partilhados...\"\r\n    IDS_NEWWINONCONNECT,        \"&Abrir N&ova Janela ao Ligar\"\r\nEND\r\n\r\n#include \"winfile_pt-PT.dlg\"\r\n\r\n"
  },
  {
    "path": "src/lang/res_tr-TR.rc",
    "content": "/********************************************************************\n\n    res_tr-TR.rc\n\n    Copyright (c) Microsoft Corporation. All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\nLANGUAGE LANG_TURKISH, SUBLANG_TURKISH_TURKEY\n\nFRAMEMENU MENU\nBEGIN\n    POPUP       \"&Dosya\"\n    BEGIN\n        MENUITEM    \"&Aç\\tEnter\",                   IDM_OPEN\n        MENUITEM    \"&Düzenle\\tF12\",                IDM_EDIT\n        MENUITEM    \"&Taşı...\\tF7\",                 IDM_MOVE\n        MENUITEM    \"K&opyala...\\tF8\",              IDM_COPY\n        MENUITEM    \"S&embolik bağlantı...\\tF11\",   IDM_SYMLINK\n        MENUITEM    \"Sabi&t bağlantı...\\tShift+F11\",IDM_HARDLINK\n        MENUITEM    \"&Pano'ya Kopyala\\tCtrl+C\",     IDM_COPYTOCLIPBOARD\n        MENUITEM    \"Pano'ya Kes\\tCtrl+X\",          IDM_CUTTOCLIPBOARD\n        MENUITEM    \"Yapıştı&r\\tCtrl+V\",            IDM_PASTE\n        MENUITEM    \"&Sil...\\tDel\",                 IDM_DELETE\n        MENUITEM    \"Ad Değ&iştir...\\tF2\",          IDM_RENAME\n        MENUITEM    \"Ö&zellikler...\\tAlt+Enter\",    IDM_ATTRIBS\n        MENUITEM    SEPARATOR\n        MENUITEM    \"Sı&kıştır...\",                 IDM_COMPRESS\n        MENUITEM    \"Sıkıştır&mayı Aç...\",          IDM_UNCOMPRESS\n        MENUITEM    SEPARATOR\n        MENUITEM    \"Ça&lıştır...\",                 IDM_RUN\n        MENUITEM    \"&Yazdır...\",                   IDM_PRINT\n        MENUITEM    \"İli&şkilendir...\",             IDM_ASSOCIATE\n        MENUITEM    SEPARATOR\n        MENUITEM    \"Dizi&n Oluştur...\\tCtrl+Shift+N\", IDM_MAKEDIR\n        MENUITEM    \"A&ra...\\tCtrl+F\",              IDM_SEARCH\n        MENUITEM    \"Dosyaları Se&ç...\",            IDM_SELECT\n        POPUP       \"Başlat (&.)\"\n        BEGIN\n            MENUITEM    \"&Bash Kabuğu Başlat...\\tCtrl+B\", IDM_STARTBASHSHELL\n            MENUITEM    \"&Cmd Kabuğu Başlat...\\tCtrl+K\", IDM_STARTCMDSHELL\n            MENUITEM    \"&Powershell'i Başlat...\\tCtrl+P\", IDM_STARTPOWERSHELL\n            MENUITEM    \"&Explorer'i Başlat...\\tCtrl+E\", IDM_STARTEXPLORER\n        END\n        MENUITEM    \"Dizine &Git...\",               IDM_GOTODIR\n        MENUITEM    SEPARATOR\n        MENUITEM    \"Çı&kış\",                       IDM_EXIT\n    END\n    POPUP       \"Dis&k\"\n    BEGIN\n        MENUITEM    \"Disk &Kopyala...\",             IDM_DISKCOPY\n        MENUITEM    \"Disk &Etiketle...\",            IDM_LABEL\n        MENUITEM    SEPARATOR\n        MENUITEM    \"Sürücü &Biçimlendir...\",       IDM_FORMAT\n        MENUITEM    SEPARATOR\n        MENUITEM    \"&Sürücü Seç...\",               IDM_DRIVESMORE\n    END\n    POPUP       \"&Ağaç\"\n    BEGIN\n        MENUITEM    \"&Bir Alt Düzeyi Göster\\t+\",    IDM_EXPONE\n        MENUITEM    \"&Alt Düzeylerini Göster\\t*\",   IDM_EXPSUB\n        MENUITEM    \"&Tümünü Göster\\tCtrl+*\",       IDM_EXPALL\n        MENUITEM    \"Alt Düzeyleri Gi&zle\\t-\",      IDM_COLLAPSE\n        MENUITEM    SEPARATOR\n        MENUITEM    \"Alt Düzeyi Olanları Be&lirt\",  IDM_ADDPLUSES\n    END\n    POPUP       \"&Görünüm\"\n    BEGIN\n        MENUITEM    \"Ağaç &ve Dizin\",               IDM_BOTH\n        MENUITEM    \"&Yalnızca Ağaç\",               IDM_TREEONLY\n        MENUITEM    \"Yalnızca &Dizin\",              IDM_DIRONLY\n        MENUITEM    SEPARATOR\n        MENUITEM    \"Bö&l\",                         IDM_SPLIT\n        MENUITEM    SEPARATOR\n        MENUITEM    \"&Ad\",                          IDM_VNAME\n        MENUITEM    \"Tü&m Dosya Ayrıntıları\",       IDM_VDETAILS,   CHECKED\n        MENUITEM    \"&Kısımsal Dosya Ayrıntıları...\", IDM_VOTHER\n        MENUITEM    SEPARATOR\n        MENUITEM    \"Ada Göre &Sırala\",             IDM_BYNAME\n        MENUITEM    \"&Türe Göre Sırala\",            IDM_BYTYPE\n        MENUITEM    \"Boy&uta Göre Sırala\",          IDM_BYSIZE\n        MENUITEM    \"Ta&rihe Göre Sırala\",          IDM_BYDATE\n        MENUITEM    \"İlet&ilme Tarihine Göre Sırala\", IDM_BYFDATE\n        MENUITEM    SEPARATOR\n        MENUITEM    \"Dosya Türüne &Göre...\",        IDM_VINCLUDE\n    END\n    POPUP       \"&Seçenekler\"\n    BEGIN\n        MENUITEM    \"&Onay...\",                     IDM_CONFIRM\n        MENUITEM    \"&Yazıtipi...\",                 IDM_FONT\n        MENUITEM    \"A&raç Çubuğunu Özelleştir...\", IDM_TOOLBARCUST\n        MENUITEM    \"&Ek Tercihler...\",             IDM_PREF\n        MENUITEM    SEPARATOR\n        MENUITEM    \"&Araç Çubuğu\",                 IDM_TOOLBAR\n        MENUITEM    \"&Sürücü Çubuğu\",               IDM_DRIVEBAR\n        MENUITEM    \"&Durum Çubuğu\",                IDM_STATUSBAR\n        MENUITEM    SEPARATOR\n        MENUITEM    \"K&ullanımda Simge Durumuna Küçült\", IDM_MINONRUN\n        MENUITEM    \"&Başlangıçta Şuna Git İndeksi Oluştur\", IDM_INDEXONLAUNCH\n        MENUITEM    \"Çıkışta &Ayarları Kaydet\",     IDM_SAVESETTINGS\n        MENUITEM    SEPARATOR\n        MENUITEM    \"Ayarları Ş&imdi Kaydet\",           IDM_SAVENOW\n    END\n    POPUP       \"Gü&venlik\"\n    BEGIN\n        MENUITEM    \"İ&zinler...\",                  IDM_PERMISSIONS\n        MENUITEM    \"D&enetim...\",                  IDM_AUDITING\n        MENUITEM    \"&Sahip...\",                    IDM_OWNER\n    END\n    POPUP       \"&Pencere\"\n    BEGIN\n        MENUITEM    \"&Yeni Pencere\\tCtrl+Shift Enter\", IDM_NEWWINDOW\n        MENUITEM    \"&Basamakla\\tÜstKrkt+F5\",       IDM_CASCADE\n        MENUITEM    \"Yatay &Döşe\",                  IDM_TILEHORIZONTALLY\n        MENUITEM    \"Döş&e\\tÜstKrkt+F4\",            IDM_TILE\n        MENUITEM    \"&Simgeleri Yerleştir\",         IDM_ARRANGE\n        MENUITEM    \"Ye&nile\\tF5\",                  IDM_REFRESH\n    END\n    POPUP       \"&Yardım\"\n    BEGIN\n        MENUITEM    \"İç&erik\",                      IDM_HELPINDEX\n        MENUITEM    \"Y&ardımda Ara\",                IDM_HELPKEYS\n        MENUITEM    \"Ya&rdım Kılavuzu\",             IDM_HELPHELP\n        MENUITEM    SEPARATOR\n        MENUITEM    \"Dosya Yöneticisi &Hakkında...\", IDM_ABOUT\n    END\n\nEND\n\nCTXMENU MENU\nBEGIN\n    POPUP \"Dummy Popup\"\n    BEGIN\n    MENUITEM    \"&Yeni Pencere \\tCtrl+Shift Enter\", IDM_NEWWINDOW\n    MENUITEM    \"&Aç\\tEnter\",                       IDM_OPEN\n    MENUITEM    \"&Düzenle\\tF12\",                    IDM_EDIT\n    MENUITEM    \"&Taşı...\\tF7\",                     IDM_MOVE\n    MENUITEM    \"K&opyala...\\tF8\",                  IDM_COPY\n    MENUITEM    \"S&embolik bağlantı...\\tF11\",       IDM_SYMLINK\n    MENUITEM    \"Sabi&t bağlantı...\\tShift+F11\",    IDM_HARDLINK\n    MENUITEM    \"&Pano'ya Kopyala\\tCtrl+C\",         IDM_COPYTOCLIPBOARD\n    MENUITEM    \"Pa&no'ya Kes\\tCtrl+X\",             IDM_CUTTOCLIPBOARD\n    MENUITEM    \"Yapıştı&r\\tCtrl+V\",                IDM_PASTE\n    MENUITEM    \"&Sil...\\tDel\",                     IDM_DELETE\n    MENUITEM    \"Ad Değ&iştir...\\tF2\",              IDM_RENAME\n    MENUITEM    \"Ö&zellikler...\\tAlt+Enter\",        IDM_ATTRIBS\n    MENUITEM    \"Ça&lıştır...\",                     IDM_RUN\n    MENUITEM    \"Bash Kabuğu Başlat...\",            IDM_STARTBASHSHELL\n    MENUITEM    \"Cmd Kabuğu Başlat...\",             IDM_STARTCMDSHELL\n    MENUITEM    \"Po&werShell Başlat...\",            IDM_STARTPOWERSHELL\n    MENUITEM    \"E&xplorer Başlat...\",              IDM_STARTEXPLORER\n    MENUITEM    \"Dizine &Git...\",                   IDM_GOTODIR\n    END\nEND\n\n\n#define SUGGEST(id,err,flags,str) id+IDS_SUGGESTBEGIN str\n/*              0....5....1....56...2....5....3.2..5....4....5....5....6....5....7....5....8....5....9....5....0....5....1....5....2....5..8 */\nSTRINGTABLE\nBEGIN\n   // IDS_ENDSESSION           \"Windows'tan Çık\"\n   // IDS_ENDSESSIONMSG        \"Bu işlem, Windows oturumunu kapatacaktır.\"\n\n   IDS_COPYDISK             \"Disk Kopyala\"\n   IDS_INSERTDEST           \"Hedef diski yerleştirin.\"\n   IDS_INSERTSRC            \"Kaynak diski yerleştirin.\"\n   IDS_INSERTSRCDEST        \"Kaynak ve hedef diski yerleştirin.\"\n   IDS_FORMATTINGDEST       \"Hedef disk biçimlendiriliyor...\"\n\n   IDS_COPYDISKERR          \"Disk Kopyalama Hatası\"\n   IDS_COPYDISKERRMSG       \"Disk kopyalanamıyor.\"\n   IDS_COPYSRCDESTINCOMPAT  \"Kaynak sürücü ve hedef sürücü birbiriyle uyumsuz.\"\n\n   IDS_PERCENTCOMP          \"%%%d tamamlandı.\"\n   IDS_CREATEROOT           \"Kök dizin hazırlanıyor...\"\n   IDS_COPYSYSFILES         \"Sistem dosyaları kopyalanıyor...\"\n   IDS_FORMATERR            \"Disk Biçimleme Hatası\"\n   IDS_FORMATQUICKFAILURE   \"Dosya Yöneticisi hızlı biçimlendirme yapamıyor.\\n\\nNormal biçimlendirme yapılsın mı?\"\n   // IDS_FORMATERRMSG         \"Disk biçimlendirilemiyor.\"\n   // IDS_FORMATCURERR         \"Geçerli sürücüyü biçimlendiremezsiniz.\"\n   IDS_FORMATCOMPLETE          \"Biçimlendirme tamamlandı.\"\n   IDS_FORMATANOTHER           \"Diskteki toplam yer %ld bayt\\n\\nDiskteki boş yer %ld bayt\\n\\nBaşka bir disk biçimlendirmek istiyor musunuz?\"\n\n   // IDS_SYSDISK              \"Sistem Diski Hazırla\"\n   // IDS_SYSDISKREUSE         \"%c sürücüsündeki diskete sistem dosyalarını kopyalamak istediğinizden emin misiniz?\"\n   // IDS_SYSDISKERR           \"Sistem Diski Hatası\"\n   // IDS_SYSDISKNOFILES       \"MS-DOS başlangıç sürücüsü sistem dosyası içermiyor veya kullanılabilir değil.\"\n   // IDS_SYSDISKSAMEDRIVE     \"Sistem dosyaları MS-DOS başlangıç sürücüsüne kopyalanamıyor.\"\n   // IDS_SYSDISKADDERROR      \"Sistem dosyaları diske eklenemiyor.\\n\\nSürücüde biçimlendirilmiş bir disket bulunduğunu ve sürücü kapısını kapalı olduğunu denetleyin.\"\n\n   IDS_NETERR               \"Ağ Hatası\"\n   IDS_NETDISCONWINERR      \"Bu sürücü Windows sistem dosyalarını içermekte; bağlantı kesilemez.\"\n   IDS_NETDISCONOPEN        \"Dosya Yöneticisi, ağ sürücüsünün bağlantısını kesemiyor.\\n\\nBu sürücüde açık olan dosyalar var.\"\n\n   IDS_ATTRIBERR            \"Dosya Yöneticisi, öznitelikleri değiştiremiyor.  \"\n   IDS_MAKEDIRERR           \"Dosya Yöneticisi, yeni dizinler oluşturamıyor.  \"\n\n   IDS_LABELDISKERR         \"Disk etiketlendirilemiyor.\\n\\nDiskin yazmaya karşı korunmuş olmadığını, ağ sürücüsü olmadığını ve etiketin geçerli olduğunu denetleyin.\\\n                            Etiketler ilerideki işaretleri içeremez:\\n[Boşluk] * ? / \\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n   IDS_SEARCHNOMATCHES      \"Eşleşen hiçbir dosya bulunamadı.\"\n   IDS_SEARCHREFRESH        \"Bu sürücünün içeriği değişti. Arama Sonuçları penceresinin güncellenmesini istiyor musunuz?\"\n   IDS_LABELACCESSDENIED    \"Sabit diskler üzerinde bu işlemi uygulamak için bu bilgisayara bir yönetici olarak giriş yapmış olmanız gerekmektedir.\"\n\n   IDS_DRIVETEMP            \"Sürücü %c:%c\"\n\n   IDS_EXECERRTITLE         \"Program çalıştırılamıyor.\"\n   IDS_PRINTERRTITLE        \"Dosya yazdırılamıyor.\"\n\n   IDS_UNKNOWNMSG           \"Beklenmedik hata: %d.\"\n   IDS_NOMEMORYMSG          \"Belirtilen uygulamayı başlatmak için bellek yetersiz.\\n\\nBir veya birkaç uygulamayı kapatıp yeniden deneyin.\"\n   IDS_FILENOTFOUNDMSG      \"Dosya Yöneticisi, dosyayı (veya bileşenlerinden birini) bulamadı.\\n\\nYolun ve dosya adının doğruluğunu ve gerekli kitaplıkların tümünün var olduğunu denetleyin.\"\n   IDS_BADPATHMSG           \"Belirtilen yol geçersiz.\"\n   // IDS_MANYOPENFILESMSG     \"Çok fazla sayıda dosya kullanılıyor.\\n\\nBir veya birkaç uygulamayı kapatın veya CONFIG.SYS'deki FILES komutunun değerini yükseltip yeniden deneyin.\"\n   // IDS_MULTIPLEDSMSG        \"Belitilen programın birden fazla kopyası başlatılamaz.\"\n   // IDS_OS2APPMSG            \"Belirtilen uygulama bir Windows veya MS-DOS programı değil.\"\n   // IDS_NEWWGNDOWSMSG        \"Bu uygulama, Microsoft Windows'un daha yeni bir sürümünü gerektiriyor.\"\n   // IDS_PMODEONLYMSG         \"Bu uygulama, Windows gerektiriyor.\"\n   // IDS_COMPRESSEDEXE        \"Bu program veya öğelerinden biri sıkıştırılmış.\\n\\nDosyayı kurma disketlerinden kopyalamak için, MS-DOS expand hizmet programını kullanın.\"\n   IDS_NOASSOCMSG           \"Bu dosya, bir uygulama ile ilişkilendirilmemiş.\\n\\nBir ilişki oluşturmak için Dosya menüsünden İlişkilendir komutunu seçin.\"\n   IDS_ASSOCINCOMPLETE      \"Dosya Yöneticisi dosyayı açamıyor veya yazdıramıyor.\\n\\nBu dosyayı oluşturmada kullanılan uygulamayı başlatıp dosyayı o uygulamadan açın veya yazdırın.\"\n   IDS_DDEFAIL              \"Komut uygulamaya gönderilirken bir hata oluştu.\"\n   IDS_INVALIDDLL           \"Bu uygulamayı çalıştırmak için gerekli olan kitaplık dosyalarından biri hasar görmüş. Lütfen bu uygulamayı yeniden yükleyin.\"\n   IDS_SHAREERROR           \"Bu dosya, başka bir uygulama tarafından kullanımda.\"\n\n   IDS_CREATELONGDIR        \"Dosya Yöneticisi '%s' dizininde oluşturulan dosyalara ulaşamayabilir.\\n\\nSürdürmek istiyor musunuz?\"\n    IDS_CREATELONGDIRTITLE  \"Dizin Oluştur\"\n\n   IDS_MOUSECONFIRM,        \"Fare İşlemini Onayla\"\n   IDS_COPYMOUSECONFIRM,    \"Seçili dosyaları veya dizinleri %s dizinine kopyalamak istediğinizden emin misiniz?\"\n   IDS_LINKMOUSECONFIRM,    \"Seçilen dosyaları veya dizinleri %s 'ye bağlamak istediğinizden emin misiniz?\"\n   IDS_MOVEMOUSECONFIRM,    \"Seçili dosyaları veya dizinleri %s dizinine taşımak istediğinizden emin misiniz?\"\n   IDS_EXECMOUSECONFIRM,    \"%s dosyasının, %s başlatıldığında açılan ilk dosya olmasını istediğinizden emin misiniz?\"\n\n   IDS_WINFILE,             \"Dosya Yöneticisi\"\n   IDS_TREETITLE,           \"Dizin Ağacı\"\n   IDS_SEARCHTITLE,         \"Arama Sonuçları: \"\n\n   IDS_READING              \"Dizin okunuyor, lütfen bekleyin...\"\n   IDS_TOOMANYTITLE,        \"Çok Fazla Dosya\"\n   IDS_OOMTITLE,            \"Dosya Yöneticisi - Yetersiz Bellek\"\n   IDS_OOMREADINGDIRMSG,    \"Dizin okunamadı. Yalnızca bir kısmı görüntülenecek.\"\n\n   // IDS_PRINTFNF             \"Yazdırılacak dosya bulunamadı. Doğru yolun ve dosya adının belirtildiğinden emin olun.\"\n   IDS_PRINTMEMORY          \"Yazdırma işlemi için bellek yeterli değil.\\n\\nBir veya birkaç uygulamayı kapatıp yeniden deneyin.\"\n   IDS_PRINTDISK            \"Yazdırma işlemi için diskte yeterli yer yok.\\n\\nGerekli olmayan bazı dosyaları silip yeniden deneyin.\"\n   IDS_PRINTERROR           \"Yazdırma işlemi sırasında hata oluştu.\\n\\nYazıcı ayarlarının doğruluğunu ve yazıcının seçili olduğunu denetleyin.\"\n   IDS_PRINTONLYONE         \"Birden fazla dosya yazdırılamıyor.\\n\\nTek bir dosya seçip yeniden deneyin.\"\n\n   IDS_CURDIRIS,            \"Geçerli Dizin: %s\"\n   IDS_CURDIRSARE,          \"Other: \"\n   IDS_COPY,                \"Kopyala\"\n   IDS_RENAME,              \"Ad Değiştir\"\n   IDS_FORMAT,              \"Disk Biçimlendir\"\n   IDS_FORMATSELDISK,       \"Biçimlendirilecek diski seçin.\"\n   IDS_SYMLINK,             \"Sembolik bağlantı\"\n   IDS_HARDLINK,            \"Sabit bağlantı\"\n   IDS_CREATINGMSG,         \"Oluşturuluyor:\"\n   IDS_REMOVINGDIRMSG,      \"Kaldırılıyor:\"\n   IDS_REMOVINGMSG,         \"Kaldırılıyor...\"\n   IDS_COPYINGMSG,          \"Kopyalanıyor:\"\n   IDS_OPENINGMSG,          \"Açılıyor...\"\n   IDS_CLOSINGMSG,          \"Kapatılıyor...\"\n   IDS_RENAMINGMSG,         \"Ad değiştiriliyor...\"\n   IDS_MOVINGMSG,           \"Taşınıyor...\"\n   IDS_DELETINGMSG,         \"Siliniyor...\"\n   IDS_PRINTINGMSG,         \"Yazdırılıyor: %s\"\n   // IDS_NOSUCHDRIVE,         \"%c sürücüsü yok.\"\n   IDS_DRIVENOTREADY,       \"%c sürücüsünde disk yok.\\n\\nSürücüye bir disk yerleştirip yeniden deneyin.\"\n   IDS_UNFORMATTED,         \"%c sürücüsündeki disk biçimlendirilmemiş.\\n\\nŞimdi biçimlendirmek istiyor musunuz?\"\n   IDS_STATUSMSG,           \"Toplam %d dosya (%s bayt)\"\n   IDS_STATUSMSG2,          \"%d dosya seçili (%s bayt)\"\n   IDS_DRIVEFREE,           \"%c: %s boş, toplam %s\"\n   IDS_TREEABORT,           \"Görüntülenen dizin ağacı eksik.\"\n   IDS_DIRSREAD,            \"Okunan dizin sayısı: %d \"\n   IDS_SEARCHMSG,           \"%d dosya bulundu.\"\n   IDS_BYTES,               \"%ld bayt\"\n   IDS_SBYTES,              \"%s bayt\"\n   IDS_SELECTEDFILES,       \"seçili dosya\"\n\n   IDS_COPYERROR + FUNC_COPY        \"Dosya Kopyalamada Hata\"\n   IDS_COPYERROR + FUNC_MOVE        \"Dosya Taşımada Hata\"\n   IDS_COPYERROR + FUNC_DELETE      \"Dosya Silmede Hata\"\n   IDS_COPYERROR + FUNC_RENAME      \"Dosya Adı Değiştirmede Hata\"\n   IDS_COPYERROR + FUNC_SETDRIVE    \"Sürücü Seçmede Hata\"\n   IDS_COPYERROR + FUNC_EXPAND      \"Dizin Okumada Hata\"\n   IDS_COPYERROR + FUNC_LABEL       \"Disk Etiketlemede Hata\"\n   IDS_COPYERROR + FUNC_LINK        \"Sembolik Bağlantı Oluşturmada Hata\"\n   IDS_COPYERROR + FUNC_HARD        \"Sabit Bağlantı Oluşturmada Hata\"\n   IDS_COPYERROR + FUNC_JUNC        \"Birleşme Noktası Oluşturmada Hata\"\n   IDS_VERBS + FUNC_COPY    \"Dosya Yöneticisi %s öğesini kopyalayamıyor: %s\"\n   IDS_VERBS + FUNC_MOVE    \"Dosya Yöneticisi %s öğesini taşıyamıyor: %s\"\n   IDS_VERBS + FUNC_DELETE  \"Dosya Yöneticisi %s öğesini silemiyor: %s\"\n   IDS_VERBS + FUNC_RENAME  \"Dosya Yöneticisi %s öğesinin adını değiştiremiyor: %s\"\n   IDS_VERBS + FUNC_LINK    \"Dosya Yöneticisi %s sembolik bağlantısını oluşturamıyor: %s\"\n   IDS_VERBS + FUNC_HARD    \"Dosya Yöneticisi %s sabit bağlantısını oluşturamıyor: %s\"\n   IDS_VERBS + FUNC_JUNC    \"Dosya Yöneticisi %s birleşme noktasını oluşturamıyor: %s\"\n   IDS_ACTIONS + 1          \"Dosya Yöneticisi %s dizinini oluşturamıyor: %s\"\n   IDS_ACTIONS + 2          \"Dosya Yöneticisi %s dizinini kaldıramıyor: %s\"\n   IDS_REPLACING            \"Dosya Yöneticisi %s öğesini oluşturamıyor veya değiştiremiyor: %s\"\n   // IDS_CREATING              \"Dosya Yöneticisi %s öğesini oluşturamıyor: %s\"\n\n    IDS_KK_COPYFROMSTR,     \"Şu&radan:\"\n    IDS_KK_COPYTOSTR,       \"Ş&uraya:\"\n    IDS_KK_RENAMEFROMSTR,   \"Şu&radan:\"\n    IDS_KK_RENAMETOSTR,     \"Ş&uraya:\"\n    IDS_KK_HARDLINKFROMSTR, \"Şu&radan:\"\n    IDS_KK_HARDLINKTOSTR,   \"Ş&uraya:\"\n    IDS_KK_SYMLINKFROMSTR,  \"Şu&radan:\"\n    IDS_KK_SYMLINKTOSTR,    \"Ş&uraya:\"\n\n// include reason strings\n#include \"suggest_tr-TR.db\"\n\n    IDS_DESTFULL                \"Hedef sürücüde yer yok.\\n\\nSürücüye yeni bir disk yerleştirin.\"\n    IDS_WRITEPROTECTFILE        \"Bu; gizli, saltokunur veya bir sistem dosyası.\"\n    IDS_COPYINGTITLE            \"Kopyalanıyor...\"\n\n    IDS_QUICKFORMATTINGTITLE    \"Hızlı biçimlendiriliyor...\"\n    IDS_BUSYFORMATQUITVERIFY    \"Dosya Yöneticisi şu anda bir diski biçimlendiriyor. Dosya Yöneticisi'nden çıkmak bu işlemi iptal edecektir.\"\n    IDS_BUSYCOPYQUITVERIFY      \"Dosya Yöneticisi şu anda bir diski kopyalıyor. Dosya Yöneticisi'nden çıkmak bu işlemi iptal edecektir.\"\n    IDS_PERCENTCOMPLETE         \"Tamamlanan Yüzde\"\n    IDS_12MB                    \"1%s2 MB\"\n    IDS_360KB                   \"360K\"\n    IDS_144MB                   \"1%s44 MB\"\n    IDS_720KB                   \"720K\"\n    IDS_288MB                   \"2%s88 MB\"\n    IDS_2080MB                  \"20%s8 MB\"\n\n#if defined(JAPAN) && defined(i386)\n/* ADD KBNES. NEC MEDIATYPE START */\nJAPANBEGIN\n    IDS_125MB                   \"1%s25 MB\"\n    IDS_256KB                   \"256K\"\n    IDS_128MB                   \"128 MB\"\nJAPANEND\n/* ADD KBNES. NEC MEDIATYPE END */\n\n//\n// FMR jul.21.1994 JY\n// We added 640KB/1.23MB media types.\n//\nJAPANBEGIN\n    IDS_640KB                   \"640K\"\n    IDS_123MB                   \"1%s23 MB\"\nJAPANEND\n#endif\n\n    IDS_DEVICECAP               \"Sürücü Sığası\"\n    IDS_QSUPMEDIA               \"Dosya Yöneticisi disk bilgisini alamıyor.\\n\\nDiskin sürücüde olduğundan emin olun.\"\n    IDS_REMOVEMED               \"Bilinmeyen Disk Türü\"\n    IDS_CANTFORMATTITLE         \"Bilinmeyen Disk Türü\"\n    IDS_CANTFORMAT              \"%s sürücüsündeki disk türü Dosya Yöneticisi ile biçimlenemez. Bu diski biçimlendirmek için lütfen Disk Yöneticisi'ni kullanın.\"\n    IDS_FFERR_INCFS             \"Uyumsuz dosya sistemi.\"\n    IDS_FFERR_ACCESSDENIED      \"Erişim engellendi.\"\n    IDS_FFERR_DISKWP            \"Disk yazmaya karşı korumalı.\"\n    IDS_FFERR_CANTLOCK          \"Dosya Yöneticisi bölümü kilitleyemiyor.\"\n    IDS_FFERR_CANTQUICKF        \"Dosya Yöneticisi diski hızlı biçimlendiremiyor.\\n\\nDiskin doğru yoğunlukta olduğundan emin olun.\"\n    IDS_FFERR_SRCIOERR          \"Kaynak diskte girdi/çıktı hatası.\"\n    IDS_FFERR_DSTIOERR          \"Hedef diskte girdi/çıktı hatası.\"\n    IDS_FFERR_SRCDSTIOERR       \"Hem kaynak hem hedef diskte girdi/çıktı hatası.\"\n    IDS_FFERR_GENIOERR          \"Bir girdi/çıktı hatası oluştu.\"\n// IDS_FFERR_MEDIASENSE            \"Bu disk %s sığasında biçimlendirilebilir. Sürdürülsün mü?\"\n    IDS_FFERR                   \"Dosya Yöneticisi diski biçimlendiremiyor.\\n\\nDiskin sürücüde olduğundan ve yazma korumalı, hasarlı veya yanlış yoğunlukta olmadığından emin olun.\"\n    IDS_FFERR_BADLABEL          \"Dosya Yöneticisi diski etiketleyemiyor.\\n\\nBelirtilen etiket geçersiz. Etiketin aşağıdaki karakterlerden herhangi birini içermediğinden emin olun:\\n\\\n                                [space] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n    IDS_FORMATCONFIRM           \"Biçimlendirme, diskteki TÜM veriyi silecektir. %c sürücüsündeki diski biçimlendirmek istediğinizden emin misiniz?\"\n    IDS_FORMATCONFIRMTITLE      \"Disk Biçimlendirmeyi Onayla\"\n    IDS_DISKCOPYCONFIRM         \"Bu işlem, hedef diskteki TÜM veriyi silecektir. Sürdürmek istediğinizden emin misiniz?\"\n    IDS_DISKCOPYCONFIRMTITLE    \"Disk Kopyalamayı Onayla\"\n    IDS_ANDCLOSE                \"&Kapat\"        // goes on Selection dialog\n    IDS_CLOSE                   \"Kapat\"         // braindead \"&Change\"\n    IDS_PATHNOTTHERE            \"%s dizini yok.\\n\\nOluşturmak istiyor musunuz?\"\n    IDS_PROGRAMS                \"Programlar#*.exe;*.pif;*.com;*.bat#Tüm Dosyalar (*.*)#*.*#\"\n    IDS_MENUANDITEM             \"%s - %s\"\n    IDS_DRIVELABEL              \"Sürücü:\"\n    IDS_STATUSMSGSINGLE         \"%s, \"\n    IDS_CONNECTHELP             \"Ağ sürücüsü bağla\"\n    IDS_DISCONHELP              \"Ağ sürücüsü bağlantısı kes\"\n    IDS_CONNECTIONHELP          \"Ağ Bağlantıları\"\n    IDS_SHAREASHELP             \"Dizini paylaş\"\n    IDS_STOPSHAREHELP           \"Dizini paylaşmayı durdur\"\n    IDS_VDETAILSHELP            \"Tüm dosya ayrıntılarını gör\"\n    IDS_VNAMEHELP               \"Yalnızca adını gör\"\n    IDS_BYNAMEHELP              \"Ada göre sırala\"\n    IDS_BYTYPEHELP              \"Türe göre sırala\"\n    IDS_BYSIZEHELP              \"Boyuta göre sırala\"\n    IDS_BYDATEHELP              \"Tarihe göre sırala\"\n    IDS_NEWWINHELP              \"Yeni pencere\"\n    IDS_COPYHELP                \"Dosyaları kopyala\"\n    IDS_MOVEHELP                \"Dosyaları taşı\"\n    IDS_DELHELP                 \"Dosyaları sil\"\n    IDS_DIRNAMELABEL            \"&Dizin Adı:\"\n    IDS_DRIVENOTAVAILABLE       \"Ağ sürücüsü kullanılamıyor.\"\n    IDS_SHAREDAS                \"%s olarak paylaşıldı.\"\n    IDS_NOTSHARED               \"Paylaşılmıyor\"\n    IDS_DRIVE_COMPRESSED        \" - SIKIŞTIRILMIŞ\"\n    IDS_DRAG_COPYING            \"Dosyalar %s konumuna kopyalanıyor\"\n    IDS_DRAG_MOVING             \"Dosyalar %s konumuna taşınıyor\"\n    IDS_DRAG_LINKING            \"Dosyalar %s 'e bağlanıyor\"\n    IDS_DRAG_EXECUTING          \"Dosyalar %s ile çalıştırılıyor\"\n    IDS_ORDERB                  \"%s bayt\"\n    IDS_ORDERKB                 \"%sKB\"\n    IDS_ORDERMB                 \"%sMB\"\n    IDS_ORDERGB                 \"%sGB\"\n    IDS_ORDERTB                 \"%sTB\"\n    IDS_VN_COMMENTS             \"Yorumlar\"\n    IDS_VN_COMPANYNAME          \"Şirket Adı\"\n    IDS_VN_FILEDESCRIPTION      \"Dosya Açıklaması\"\n    IDS_VN_INTERNALNAME         \"İç Ad\"\n    IDS_VN_LEGALTRADEMARKS      \"Yasal Telif Hakları\"\n    IDS_VN_ORIGINALFILENAME     \"Özgün Dosya Adı\"\n    IDS_VN_PRIVATEBUILD         \"Gizli Yapı Açıklaması\"\n    IDS_VN_PRODUCTNAME          \"Ürün Adı\"\n    IDS_VN_PRODUCTVERSION       \"Ürün Sürümü\"\n    IDS_VN_SPECIALBUILD         \"Özel Yapı Açıklaması\"\n    IDS_VN_LANGUAGE             \"Dil\"\n    IDS_VN_LANGUAGES            \"Diller\"\n    IDS_ASSOCIATE               \"Göz At\"\n    IDS_RUN                     \"Çalıştır\"\n    IDS_WINHELPERR              \"Yardım bilgisi gösterilemiyor.\"\n    IDS_NOEXEASSOC              \"%s uzantılı dosyalar program dosyalarıdır ve başka bir uygulamayla ilişkilendirilemezler.\"\n    IDS_ASSOCNOTEXE             \"%s, bir program değil ve bir dosya uzantısıyla ilişkilendirilemez.\"\n    IDS_ASSOCNONE               \"(Hiçbiri)\"\n    IDS_NOFILES                 \"Hiçbir dosya bulunamadı.\"\n    IDS_NOACCESSDIR             \"Bu dizine erişim izniniz yok.\"\n    IDS_NOACCESSFILE            \"Bu dosyaya erişim izniniz yok.\"\n    IDS_DRIVEBUSY_COPY          \"%c: meşgul ve şu anda erişilemiyor.\\nDosya Yöneticisi bir disk kopyalama gerçekleştiriyor.\"\n    IDS_DRIVEBUSY_FORMAT        \"%c: meşgul ve şu anda erişilemiyor.\\nDosya Yöneticisi bu diski biçimlendiriyor.\"\n    IDS_COPYMOVENOTCOMPLETED    \"İşlem tam olarak bitirilmedi.\"\n    IDS_DIRREMAINS              \"İşlem, tüm dosyalar ve dizinler üzerinde tamamlanamadı.\"\n    IDS_TOOMANYWINDOWS          \"Çok fazla dizin penceresi açık.\\n\\nBir veya daha fazla pencereyi kapatıp yeniden deneyin.\"\n    IDS_FMIFSLOADERR            \"Bu işlem için gerekli bir kitaplık yüklenemiyor.\"\n    IDS_NOSUCHDIRTITLE          \"Dizin okunamıyor.\"\n    IDS_NOSUCHDIR               \"Dizin yok.\"\n    IDS_BADNETNAMETITLE         \"Ağ sürücüsü bağlanamıyor.\"\n    IDS_BADNETNAME              \"Ağ adı bulunamadı.\"\n    IDS_ALLFILES                \"'Tümüne Evet'; sistem, gizli, saltokunur da dahil olmak üzere tüm dosyaları etkiler.\"\n    IDS_ASSOC_OPEN              \"Aç\"\n    IDS_ASSOC_PRINT             \"Yazdır\"\n    IDS_ADDEXTTITLE             \"Uzantı Ekle\"\n    IDS_ADDEXTTEXT              \"'%s' uzantısı geçerli olarak '%s' ile ilişkilendirilmiş. Sürdürülüp bu ilişkilendirme geçersiz kılınsın mı?\"\n    IDS_EXTTITLE                \"Dosya İlişkilendirme Düzenleyicisi\"\n    IDS_EXTADDERROR             \"Uzantı ilişkilendirilemiyor.  \"\n    IDS_EXTDELERROR             \"Uzantı silinemiyor.  \"\n    IDS_FILETYPEADDERROR        \"Dosya Türü eklenemiyor.  \"\n    IDS_FILETYPEDELERROR        \"Dosya Türü silinemiyor.  \"\n    IDS_FILETYPEREADERROR       \"Dosya Türü okunamıyor.  \"\n    IDS_FILETYPENULLDESCERROR   \"Dosya Türü açıklaması boş olamaz. Lütfen yeni bir Dosya Türü girin.\"\n    IDS_FILETYPEDUPDESCERROR    \"Dosya Türünüz temel alınarak bir benzersiz tanımlayıcı oluşturulamıyor. Lütfen yeni bir Dosya Türü girin.\"\n    IDS_FILETYPEDELCONFIRMTITLE \"Dosya Türünü Sil\"\n    IDS_FILETYPEDELCONFIRMTEXT  \"Bu işlem, Dosya Türünü ve tüm ilişkili uzantıları silecektir. '%s' öğesini silmek istediğinizden emin misiniz?\"\n#ifdef ASSOC\n    IDS_FILETYPEDELCONFIRMUSERTEXT \"Bir Kişisel Dosya Türünü siliyorsunuz. Bu, Ortak Dosya Türüne döndürülecek ve tüm uzantıları olduğu gibi bırakılacaktır. '%s' öğesini eski haline döndürmek istediğinizden emin misiniz?\"\n    IDS_FILETYPEUSERIZETEXT     \"Bir Ortak Dosya Türünü özelleştiriyorsunuz. Dosya Yöneticisi, değişikliklerinizi bir Kişisel Dosya Türü olarak kaydedecektir. Sürdürülsün mü?\"\n#endif\n    IDS_FILETYPECOMMANDNULLTEXT \"Dosya Türünün  en azından eylemlerinden biri için bir komutu olmalıdır. Lütgen komut alanına bir uygulama adı girin.\"\n    IDS_NEWFILETYPETITLE        \"Yeni Dosya Türü\"\n    IDS_COPYINGDISKTITLE        \"Disk Kopyalanıyor\"\n    IDS_SEARCHING               \"Aranıyor...\"\n\nJAPANBEGIN\n    IDS_WRNNOSHIFTJIS           \"このフォントを使用すると漢字の表示が\\nできなくなります。\"\nJAPANEND\n\n    IDS_INITUPDATEFAIL          \"Arka plan güncelleme desteği başlatılamıyor. Dosya Yöneticisi şimdi çıkacak.\"\n    IDS_INITUPDATEFAILTITLE     \"Dosya Yöneticisi Başlatımı\"\n    IDS_COMPRESSDIR             \"%s içindeki tüm dosyaları ve alt dizinleri de sıkıştırmak istediğinizden emin misiniz?\"\n    IDS_UNCOMPRESSDIR           \"%s içindeki tüm dosyaların ve alt dizinlerin de sıkıştırmasını açmak istediğinizden emin misiniz?\"\n    IDS_COMPRESS_ATTRIB_ERR     \"Dosya Yöneticisi, %s için sıkıştırma özniteliklerini değiştiremiyor.\"\n    IDS_NTLDRCOMPRESSERR        \"%s dosyası sıkıştırılmayacak. Bu dosyayı sıkıştırmak sisteminizi önyüklenemez duruma getirebilir.\"\n    IDS_MULTICOMPRESSERR        \"Dosya Yöneticisi şu anda dosya sıkıştırma veya sıkıştırma açma ile ilgileniyor.\\nBaşka dosyaları sıkıştırmak veya sıkıştırmasını açmak için öncelikle bu işlemin bitmesini beklemelisiniz.\"\n    IDS_EDITFILTER              \"Programlar (*.exe)\\0*.exe\\0\"\nEND\n#undef SUGGEST\n\n/* Help strings for the popup menus.\n */\nSTRINGTABLE\nBEGIN\n    MH_POPUP+IDM_FILE,          \"Dosyalarla çalışmak için komutlar\"\n    MH_POPUP+IDM_DISK,          \"Disklerle çalışmak için komutlar\"\n    MH_POPUP+IDM_TREE,          \"Ağaç penceresinde çalışmak için komutlar\"\n    MH_POPUP+IDM_VIEW,          \"Bilginin nasıl görüntüleneceğini belirlemek için komutlar\"\n    MH_POPUP+IDM_OPTIONS,       \"Seçenekleri ayarlamak için komutlar\"\n    MH_POPUP+IDM_SECURITY,      \"Dosya ve dizin güvenliğini düzenlemek için komutlar\"\n    MH_POPUP+IDM_WINDOW,        \"Pencereleri ayarlamak için komutlar\"\n    MH_POPUP+IDM_HELP,          \"Dosya Yöneticisi yardımını görüntülemek için komutlar\"\nEND\n\n\n// Help strings for the \"standard\" toolbar items.\n\nSTRINGTABLE\nBEGIN\n    MH_MYITEMS+IDM_OPEN,        \"Seçili öğeyi açar\"\n    MH_MYITEMS+IDM_EDIT,        \"Seçili öğeyi notepad.exe kullanarak düzenler\"\n    MH_MYITEMS+IDM_MOVE,        \"Seçili öğeyi taşır\"\n    MH_MYITEMS+IDM_COPY,        \"Dosyaları ve dizinleri kopyalar\"\n    MH_MYITEMS+IDM_COPYTOCLIPBOARD, \"Bir veya birden çok dosyayı panoya kopyalar\"\n    MH_MYITEMS+IDM_CUTTOCLIPBOARD, \"Bir veya birden çok dosyayı panoya keser\"\n    MH_MYITEMS+IDM_PASTE,       \"Panodan dosyayı geçerli dizine yapıştırır\"\n    MH_MYITEMS+IDM_COMPRESS,    \"Bir dosyayı veya dizini sıkıştırır\"\n    MH_MYITEMS+IDM_UNCOMPRESS,  \"Bir dosyanın veya dizinin sıkıştırmasını açar\"\n    MH_MYITEMS+IDM_DELETE,      \"Dosyalar ve dizinler siler\"\n    MH_MYITEMS+IDM_RENAME,      \"Bir dosyanın veya dizinin adını değiştirir\"\n    MH_MYITEMS+IDM_ATTRIBS,     \"Dosya özniteliklerini ayarlar ve özelliklerini görüntüler\"\n    MH_MYITEMS+IDM_RUN,         \"Bir uygulamayı başlatır veya bir belgeyi açar\"\n    MH_MYITEMS+IDM_PRINT,       \"Bir belgeyi yazdırır\"\n    MH_MYITEMS+IDM_ASSOCIATE,   \"Bir dosyayı bir uygulama ile ilişkilendirir\"\n    MH_MYITEMS+IDM_MAKEDIR,     \"Bir dizin oluşturur\"\n    MH_MYITEMS+IDM_SEARCH,      \"Dosyalar ve dizinler arar\"\n    MH_MYITEMS+IDM_SELECT,      \"Dosyaları ve dizinler seçer\"\n    MH_MYITEMS+IDM_EXIT,        \"Dosya Yöneticisi'nden çıkar\"\n\n    MH_MYITEMS+IDM_DISKCOPY,    \"Bir diskin içeriğini kopyalar\"\n    MH_MYITEMS+IDM_LABEL,       \"Bir disk bölümüne etiket atar veya değiştirir\"\n    MH_MYITEMS+IDM_FORMAT,      \"Bir sürücüyü biçimlendirir\"\n//    MH_MYITEMS+IDM_SYSDISK,      \"MS-DOS dosyalarını bir diskete kopyalar\"\n    MH_MYITEMS+IDM_CONNECT,     \"Bir ağ sürücüsüne bağlanır\"\n    MH_MYITEMS+IDM_DISCONNECT,  \"Bir ağ sürücüsünün bağlantısını keser\"\n//    MH_MYITEMS+IDM_CONNECTIONS,  \"Ağ Bağlantıları...\"\n//    MH_MYITEMS+IDM_SHARES,    \"Paylaşılan Dizinleri Görüntüle...\"\n    MH_MYITEMS+IDM_SHAREAS,     \"Bir dizini paylaşır\"\n    MH_MYITEMS+IDM_STOPSHARE,   \"Bir dizinin paylaşımını durdurur\"\n\n    MH_MYITEMS+IDM_DRIVESMORE,  \"Başka bir sürücü seçer\"\n\n    MH_MYITEMS+IDM_EXPONE,      \"Bir dizinin başka bir düzeyini görüntüler\"\n    MH_MYITEMS+IDM_EXPSUB,      \"Bir dizinin tüm düzeylerini görüntüler\"\n    MH_MYITEMS+IDM_EXPALL,      \"Her bir dizinin tüm düzeylerini görüntüler\"\n    MH_MYITEMS+IDM_COLLAPSE,    \"Seçili bir dizinin tüm dizinlerini gizler\"\n    MH_MYITEMS+IDM_ADDPLUSES,   \"Alt dizinleri olan dizinleri belirtir\"\n    MH_MYITEMS+IDM_BOTH,        \"Geçerli dizinin dizin ağacını ve içeriğini görüntüler\"\n    MH_MYITEMS+IDM_TREEONLY,    \"Dizin ağacını görüntüler\"\n    MH_MYITEMS+IDM_DIRONLY,     \"Geçerli dizinin içeriğini görüntüler\"\n    MH_MYITEMS+IDM_SPLIT,       \"Bir dizin penceresini böler veya bölme çubuğunu taşır\"\n    MH_MYITEMS+IDM_VNAME,       \"Yalnızca dosya adlarını gösterir\"\n    MH_MYITEMS+IDM_VDETAILS,    \"Tüm dosya ayrıntılarını gösterir\"\n    MH_MYITEMS+IDM_VOTHER,      \"Kısımsal dosya ayrıntılarını gösterir\"\n    MH_MYITEMS+IDM_BYNAME,      \"Dosyaları ada göre sıralar\"\n    MH_MYITEMS+IDM_BYTYPE,      \"Dosyaları türe göre sıralar\"\n    MH_MYITEMS+IDM_BYSIZE,      \"Dosyaları boyuta göre sıralar\"\n    MH_MYITEMS+IDM_BYDATE,      \"Dosyaları tarihe göre sıralar\"\n    MH_MYITEMS+IDM_BYFDATE,     \"Dosyaları iletilme tarihine göre sıralar\"\n    MH_MYITEMS+IDM_VINCLUDE,    \"Belirli bir türe sahip dosyaları gösterir\"\n    MH_MYITEMS+IDM_CONFIRM,     \"Onay iletilerini denetler\"\n    MH_MYITEMS+IDM_FONT,        \"Dosya Yöneticisi yazıtipini değiştirir\"\n    MH_MYITEMS+IDM_TOOLBARCUST, \"Araç çubuğunu özelleştirir\"\n    MH_MYITEMS+IDM_TOOLBAR,     \"Araç çubuğunu görüntüler veya gizler\"\n    MH_MYITEMS+IDM_DRIVEBAR,    \"Sürücü çubuğunu görüntüler veya gizler\"\n    MH_MYITEMS+IDM_STATUSBAR,   \"Durum çubuğunu görüntüler veya gizler\"\n    MH_MYITEMS+IDM_NEWWINONCONNECT, \"Bağlandığınızda yeni bir pencere açar\"\n    MH_MYITEMS+IDM_MINONRUN,    \"Başlangıçta Dosya Yöneticisi'ni simge durumunda tutar\"\n    MH_MYITEMS + IDM_INDEXONLAUNCH, \"Dosya Yöneticisi çalıştırıldığında Şuna Git Dizini için bir indeks oluşturur\"\n    MH_MYITEMS+IDM_SAVESETTINGS, \"Dosya Yöneticisi'nden çıktığınızda ayarları kaydeded\"\n    MH_MYITEMS+IDM_NEWWINDOW,   \"Yeni bir pencere açar\"\n    MH_MYITEMS+IDM_CASCADE,     \"Pencereleri basamaklar\"\n    MH_MYITEMS+IDM_TILEHORIZONTALLY, \"Pencereleri yatay olarak döşer\"\n    MH_MYITEMS+IDM_TILE,        \"Pencereleri dikey olarak döşer\"\n    MH_MYITEMS+IDM_ARRANGE,     \"Simgeleri düzenler\"\n    MH_MYITEMS+IDM_REFRESH,     \"Bir pencerenin içeriğini günceller\"\n    MH_MYITEMS+IDM_PERMISSIONS  \"Seçili öğe(ler) için izinler bilgisini görüntüler veya ayarlar\"\n    MH_MYITEMS+IDM_AUDITING     \"Seçili öğe(ler) için denetim bilgisini görüntüler veya ayarlar\"\n    MH_MYITEMS+IDM_OWNER        \"Seçili öğe(ler) için sahiplik bilgisi görüntüler veya sahipliğini alır\"\n    MH_MYITEMS+IDM_HELPINDEX,   \"Dosya Yöneticisi Yardımı içeriğini görüntüler\"\n    MH_MYITEMS+IDM_HELPKEYS,    \"Dosya Yöneticsisi Yardımı içinde bir konu arar\"\n    MH_MYITEMS+IDM_HELPHELP,    \"Yardım kullanımı hakkında bilgi görüntüler\"\n    MH_MYITEMS+IDM_ABOUT,       \"Dosya Yöneticisi hakkında bilgi görüntüler\"\nEND\n\n\n// Strings for menu items that may be added at init time.\n\nSTRINGTABLE\nBEGIN\n    IDS_CONNECT,                \"&Ağ Sürücüsü Bağla...\"\n    IDS_DISCONNECT,             \"Ağ &Sürücüsü Bağlantısı Kes...\"\n    IDS_CONNECTIONS,            \"Ağ &Bağlantıları...\"\n    IDS_SHAREDDIR               \"&Paylaşılan Dizinler...\"\n    IDS_SHAREAS,                \"&Farklı Paylaş...\"\n    IDS_STOPSHARE,              \"Pa&ylaşımı Durdur...\"\n    IDS_SHARES,                 \"Pay&laşılan Dizinleri Görüntüle...\"\n    IDS_NEWWINONCONNECT,        \"Bağla&ntıda Yeni Pencere Aç\"\nEND\n\n#include \"winfile_tr-TR.dlg\"\n\n"
  },
  {
    "path": "src/lang/res_zh-CN.rc",
    "content": "/********************************************************************\n\n   res_zh-CN.rc\n\n   Copyright (c) Microsoft Corporation. All rights reserved.\n   Licensed under the MIT License.\n\n********************************************************************/\n\nLANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED\n\nFRAMEMENU MENU\nBEGIN\n    POPUP       \"文件(&F)\"\n    BEGIN\n    MENUITEM    \"打开(&O)\\tEnter\",     IDM_OPEN\n    MENUITEM    \"编辑\\tF12\",        IDM_EDIT\n    MENUITEM    \"移动(&M)...\\tF7\",     IDM_MOVE\n    MENUITEM    \"复制(&C)...\\tF8\",     IDM_COPY\n    MENUITEM    \"符号链接(&Y)...\\tF11\",    IDM_SYMLINK\n    MENUITEM    \"硬链接(&K)...\\tShift+F11\",IDM_HARDLINK\n    MENUITEM    \"复制到剪贴板(&B)...\\tCtrl+C\", IDM_COPYTOCLIPBOARD\n    MENUITEM    \"剪切到剪贴板\\tCtrl+X\", IDM_CUTTOCLIPBOARD\n    MENUITEM    \"粘贴(&P)\\tCtrl+V\",     IDM_PASTE\n    MENUITEM    \"删除(&D)...\\tDel\",  IDM_DELETE\n    MENUITEM    \"重命名(&N)...\",   IDM_RENAME\n    MENUITEM    \"属性(&T)...\\tAlt+Enter\",IDM_ATTRIBS\n    MENUITEM    SEPARATOR\n    MENUITEM    \"压缩(&S)...\",     IDM_COMPRESS\n    MENUITEM    \"解压缩(&U)...\",   IDM_UNCOMPRESS\n    MENUITEM    SEPARATOR\n    MENUITEM    \"运行(&R)...\",          IDM_RUN\n    MENUITEM    \"打印(&P)...\",        IDM_PRINT\n    MENUITEM    \"关联(&A)...\",    IDM_ASSOCIATE\n    MENUITEM    SEPARATOR\n    MENUITEM    \"创建目录(&E)...\\tCtrl+Shift+N\", IDM_MAKEDIR\n    MENUITEM    \"搜索(&H)...\\tCtrl+F\",       IDM_SEARCH\n    MENUITEM    \"选择文件(&F)...\", IDM_SELECT\n    POPUP       \"打开 (&.)\"\n    BEGIN\n    MENUITEM    \"打开 &Bash...\\tCtrl+B\", IDM_STARTBASHSHELL\n    MENUITEM    \"打开命令提示符(&C)...\\tCtrl+K\", IDM_STARTCMDSHELL\n    MENUITEM    \"打开 &PowerShell...\\tCtrl+P\", IDM_STARTPOWERSHELL\n    MENUITEM    \"打开 &Explorer...\\tCtrl+E\", IDM_STARTEXPLORER\n    END\n    MENUITEM    \"转到目录(&G)...\\tCtrl+G\", IDM_GOTODIR\n    MENUITEM    SEPARATOR\n    MENUITEM    \"退出(&X)\",            IDM_EXIT\n    END\n    POPUP       \"磁盘(&D)\"\n    BEGIN\n    MENUITEM    \"复制磁盘(&C)...\",    IDM_DISKCOPY\n    MENUITEM    \"设置磁盘卷标(&L)...\",   IDM_LABEL\n    MENUITEM    SEPARATOR\n    MENUITEM    \"格式化磁盘(&F)...\",  IDM_FORMAT\n    MENUITEM    SEPARATOR\n    MENUITEM    \"选择驱动器(&S)...\", IDM_DRIVESMORE\n    END\n    POPUP       \"目录树(&T)\"\n    BEGIN\n    MENUITEM    \"展开一层(&X)\\t+\", IDM_EXPONE\n    MENUITEM    \"展开分支(&B)\\t*\",    IDM_EXPSUB\n    MENUITEM    \"展开全部(&A)\\tCtrl+*\",  IDM_EXPALL\n    MENUITEM    \"折叠分支(&C)\\t-\",  IDM_COLLAPSE\n    MENUITEM    SEPARATOR\n    MENUITEM    \"标记可展开的分支(&I)\",    IDM_ADDPLUSES\n    END\n    POPUP       \"查看(&V)\"\n    BEGIN\n    MENUITEM    \"目录树与目录(&R)\",  IDM_BOTH\n    MENUITEM    \"目录树(&E)\",           IDM_TREEONLY\n    MENUITEM    \"目录(&O)\",      IDM_DIRONLY\n    MENUITEM    SEPARATOR\n    MENUITEM    \"拆分(&L)\",               IDM_SPLIT\n    MENUITEM    SEPARATOR\n    MENUITEM    \"名称(&N)\",                IDM_VNAME\n    MENUITEM    \"文件的全部详细信息(&A)\",    IDM_VDETAILS,   CHECKED\n    MENUITEM    \"部分详细信息(&P)...\",  IDM_VOTHER\n    MENUITEM    SEPARATOR\n    MENUITEM    \"按名称排序(&S)\",   IDM_BYNAME\n    MENUITEM    \"按类型排序(&B)\",   IDM_BYTYPE\n    MENUITEM    \"按大小排序(&Z)\",   IDM_BYSIZE\n    MENUITEM    \"按日期排序(&D)\",   IDM_BYDATE\n    MENUITEM    \"按先前日期排序(&F)\",   IDM_BYFDATE\n    MENUITEM    SEPARATOR\n    MENUITEM    \"按文件类型(&T)...\",     IDM_VINCLUDE\n    END\n    POPUP       \"选项(&O)\"\n    BEGIN\n    MENUITEM    \"确认(&C)...\",     IDM_CONFIRM\n    MENUITEM    \"字体(&F)...\",             IDM_FONT\n    MENUITEM    \"自定义工具栏(&B)...\", IDM_TOOLBARCUST\n    MENUITEM    \"首选项(&P)...\", IDM_PREF\n    MENUITEM    SEPARATOR\n    MENUITEM    \"工具栏(&T)\",                 IDM_TOOLBAR\n    MENUITEM    \"驱动器栏(&D)\",                IDM_DRIVEBAR\n    MENUITEM    \"状态栏(&S)\",              IDM_STATUSBAR\n    MENUITEM    SEPARATOR\n    MENUITEM    \"自动缩成图标(&M)\",     IDM_MINONRUN\n    MENUITEM    \"在启动时创建“转到目录“索引(&G)\", IDM_INDEXONLAUNCH\n    MENUITEM    \"退出时保存设置值(&E)\",   IDM_SAVESETTINGS\n    MENUITEM    SEPARATOR\n    MENUITEM    \"Save Settings &Now\",       IDM_SAVENOW\n    END\n    POPUP       \"安全(&S)\"\n    BEGIN\n    MENUITEM    \"权限(&P)...\",  IDM_PERMISSIONS\n    MENUITEM    \"审核(&A)...\",     IDM_AUDITING\n    MENUITEM    \"所有者(&O)...\",        IDM_OWNER\n    END\n    POPUP       \"窗口(&W)\"\n    BEGIN\n    MENUITEM    \"新建窗口(&N)\\tCtrl+Shift Enter\",          IDM_NEWWINDOW\n    MENUITEM    \"层叠(&C)\\tShift+F5\",   IDM_CASCADE\n    MENUITEM    \"水平平铺(&H)\",   IDM_TILEHORIZONTALLY\n    MENUITEM    \"垂直平铺(&T)\\tShift+F4\",      IDM_TILE\n    MENUITEM    \"排列图标(&A)\",       IDM_ARRANGE\n    MENUITEM    \"刷新(&R)\\tF5\",         IDM_REFRESH\n    END\n    POPUP       \"帮助(&H)\"\n    BEGIN\n    MENUITEM    \"目录(&C)\",                IDM_HELPINDEX\n    MENUITEM    \"查找帮助主题(&S)...\",   IDM_HELPKEYS\n    MENUITEM    \"帮助使用方法(&H)\",         IDM_HELPHELP\n    MENUITEM    SEPARATOR\n    MENUITEM    \"关于文件管理器(&A)...\",   IDM_ABOUT\n    END\n\nEND\n\nCTXMENU MENU\nBEGIN\n    POPUP \"Dummy Popup\"\n    BEGIN\n    MENUITEM    \"新建窗口(&N)\\tCtrl+Shift Enter\",     IDM_NEWWINDOW\n    MENUITEM    \"打开(&O)\\tEnter\",     IDM_OPEN\n    MENUITEM    \"编辑\\tF12\",        IDM_EDIT\n    MENUITEM    \"移动(&M)...\\tF7\",     IDM_MOVE\n    MENUITEM    \"复制(&C)...\\tF8\",     IDM_COPY\n    MENUITEM    \"符号链接(&Y)...\\tF11\",    IDM_SYMLINK\n    MENUITEM    \"硬链接(&K)...\\tShift+F11\",IDM_HARDLINK\n    MENUITEM    \"复制到剪贴板(&B)\\tCtrl+C\", IDM_COPYTOCLIPBOARD\n    MENUITEM    \"剪切到剪贴板\\tCtrl+X\", IDM_CUTTOCLIPBOARD\n    MENUITEM    \"粘贴(&P)\\tCtrl+V\", IDM_PASTE\n    MENUITEM    \"删除(&D)...\\tDel\",  IDM_DELETE\n    MENUITEM    \"重命名(&N)...\\tF2\",   IDM_RENAME\n    MENUITEM    \"属性(&T)...\\tAlt+Enter\",IDM_ATTRIBS\n    MENUITEM    \"运行(&R)...\",          IDM_RUN\n    MENUITEM    \"打开 Bash...\", IDM_STARTBASHSHELL\n    MENUITEM    \"打开命令提示符(&L)...\", IDM_STARTCMDSHELL\n    MENUITEM    \"打开 PowerShell(&W)...\", IDM_STARTPOWERSHELL\n    MENUITEM    \"打开 Explorer(&X)...\", IDM_STARTEXPLORER\n    MENUITEM    \"转到目录(&G)...\", IDM_GOTODIR\n    END\nEND\n\n\n#define SUGGEST(id,err,flags,str) id+IDS_SUGGESTBEGIN str\n/*              0....5....1....56...2....5....3.2..5....4....5....5....6....5....7....5....8....5....9....5....0....5....1....5....2....5..8 */\nSTRINGTABLE\nBEGIN\n//    IDS_ENDSESSION          \"Exit Windows\"                  /* 32 */\n//    IDS_ENDSESSIONMSG       \"This will end your Windows session.\"                                                                                      /* 128 */\n\n    IDS_COPYDISK            \"复制磁盘\"                     /* 32 */\n    IDS_INSERTDEST          \"插入目标盘。\"                                                                                                 /* 128 */\n    IDS_INSERTSRC           \"插入源磁盘。\"                                                                                                      /* 128 */\n    IDS_INSERTSRCDEST       \"插入源磁盘及目标盘。\"                                                                                     /* 128 */\n    IDS_FORMATTINGDEST      \"格式化目标软盘\"                                                                                             /* 128 */\n\n    IDS_COPYDISKERR         \"复制磁盘错误\"               /* 32 */\n    IDS_COPYDISKERRMSG      \"不能复制磁盘。\"                                                                                                     /* 128 */\n    IDS_COPYSRCDESTINCOMPAT \"源软盘与目标软盘不兼容。\"                                                                          /* 128 */\n\n    IDS_PERCENTCOMP         \"完成了%d%%\"                /* 32 */\n    IDS_CREATEROOT          \"正在创建根目录...\"       /* 32 */\n    IDS_COPYSYSFILES        \"正在复制系统文件...\"          /* 32 */\n    IDS_FORMATERR           \"格式化磁盘错误\"             /* 32 */\n    IDS_FORMATQUICKFAILURE  \"文件管理器不能进行快速格式化。\\n\\n执行正常格式化？\"\n//    IDS_FORMATERRMSG        \"Cannot format disk.\"                                                                                                      /* 128 */\n//    IDS_FORMATCURERR      \"You cannot format the current drive.\"                                                                                     /* 128 */\n    IDS_FORMATCOMPLETE      \"格式化完成\"               /* 32 */\n    IDS_FORMATANOTHER       \"全部磁盘空间 %ld 字节\\n磁盘上还有%ld 字节可用\\n\\n您想格式化另一个磁盘吗？\"                           /* 128 */\n\n//    IDS_SYSDISK             \"Make System Disk\"\n//    IDS_SYSDISKRUSURE       \"Are you sure you want to copy system files onto the disk in drive %c?\"\n//    IDS_SYSDISKERR          \"System Disk Error\"\n//    IDS_SYSDISKNOFILES      \"The MS-DOS startup drive does not contain system files or is not available.\"\n//    IDS_SYSDISKSAMEDRIVE    \"Cannot copy system files to the MS-DOS startup drive.\"\n//    IDS_SYSDISKADDERR       \"Cannot add system files to this disk.\\n\\nMake sure a formatted disk is present in the drive and that the drive door is closed.\"\n\n    IDS_NETERR              \"网络错误\"                 /* 32 */\n    IDS_NETDISCONWINERR     \"驱动器包含 Windows 系统文件，不能被断开。\"                                                 /* 128 */\n    IDS_NETDISCONOPEN       \"文件管理器无法切断网络驱动器的连接。\\n\\n在此驱动器上打开了数个文件。\"\n\n    IDS_ATTRIBERR           \"文件管理器无法更改属性。\"\n    IDS_MAKEDIRERR          \"文件管理器无法创建目录。\"\n\n    IDS_LABELDISKERR        \"文件管理器无法为软盘命名。\\n\\n请确认软盘未作写保护、并非网络驱动器，而且输入正确的名称。\\n名称不可包含下列字符: \\n[空格] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n\n    IDS_SEARCHNOMATCHES     \"未找到匹配的文件。\"\n    IDS_SEARCHREFRESH       \"这个驱动器的内容已有变化。您想更新“搜索结果“窗口吗？\"\n    IDS_LABELACCESSDENIED   \"您必须以管理员身份登录此工作站，以便在硬盘上运行此项操作。\"\n\n    IDS_DRIVETEMP           \"驱动器 %c:%c\"\n\n    IDS_EXECERRTITLE,       \"不能运行程序\"\n    IDS_PRINTERRTITLE,      \"不能打印文件\"\n\n    IDS_UNKNOWNMSG,         \"意外错误: %d。\"\n    IDS_NOMEMORYMSG,        \"没有足够的内存可启动指定的应用程序。\\n\\n请退出使用一或数个应用程序，然后再试。\"                   /* 128 */\n    IDS_FILENOTFOUNDMSG,    \"文件管理器无法找到文件（或其组件）。\\n\\n请确定路径和文件名都是正确的，且所有必要的库都是可用的。\"\n    IDS_BADPATHMSG,         \"指定的路径无效。\"                                                                                           /* 128 */\n//    IDS_MANYOPENFILESMSG,   \"Too many files are currently in use.\\n\\nQuit one or more applications or increase the value of the FILES command in CONFIG.SYS, and then try again.\"                                    /* 128 */\n    IDS_NOASSOCMSG,         \"没有应用程序与此文件关联。\\n\\n请从“文件“菜单中选择“关联“以创建关联。\"       /* 128 */\n    IDS_ASSOCINCOMPLETE,    \"文件管理器无法打开或打印文件。\\n\\n请启动用以创建此文件的应用程序，并打开或打印该文件。\"\n//    IDS_MULTIPLEDSMSG,      \"Cannot start more than one copy of the specified program.\"                                                                /* 128 */\n//    IDS_OS2APPMSG           \"The specified application is not a Windows or MS-DOS program.\"                                                            /* 128 */\n//    IDS_NEWWINDOWSMSG       \"This application requires a newer version of Microsoft Windows.\"                                                          /* 128 */\n//    IDS_PMODEONLYMSG        \"This application requires Windows.\"                                                             /* 128 */\n    IDS_DDEFAIL             \"在将命令发送到应用程序时发生错误。\"                                                                /* 128 */\n//    IDS_COMPRESSEDEXE       \"This program or one of its components is compressed.\\n\\nUse the MS-DOS expand utility to copy the file from the setup disks.\"\n    IDS_INVALIDDLL          \"运行该应用程序所需的库文件之一损坏。请重新安装该应用程序。\"\n    IDS_SHAREERROR          \"此文件正被其它应用程序使用。\"\n\n    IDS_CREATELONGDIR       \"文件管理器无法访问在“%s“目录中所创建的文件。\\n\\n是否继续？\"\n    IDS_CREATELONGDIRTITLE  \"创建目录\"\n\n    IDS_MOUSECONFIRM,       \"确认鼠标操作\"       /* 32 */\n    IDS_COPYMOUSECONFIRM,   \"确定把所选文件或目录复制到 %s ？\"\n    IDS_MOVEMOUSECONFIRM,   \"确定把所选文件或目录移动到 %s ？\"\n    IDS_LINKMOUSECONFIRM,   \"确定把所选文件或目录链接到 %s？\"\n    IDS_EXECMOUSECONFIRM,   \"确定要使用 %s 打开 %s ？\"                                                          /* 128 */\n\n    IDS_WINFILE,            \"文件管理器\"                  /* 32 */\n    IDS_TREETITLE,          \"目录树\"                /* 32 */\n    IDS_SEARCHTITLE,        \"搜索结果:\"              /* 32 */\n\n    IDS_READING             \"正在读取目录，请稍候...\"\n    IDS_TOOMANYTITLE,       \"文件过多\"                /* 32 */\n    IDS_OOMTITLE,           \"文件管理器 - 内存用尽\"  /* 32 */\n    IDS_OOMREADINGDIRMSG,   \"无法读取整个目录。仅显示部分列表。\"                                              /* 128 */\n\n//    IDS_PRINTFNF            \"The file to be printed cannot be found. Make sure the correct path and filename are specified.\"                                                                                  /* 128 */\n    IDS_PRINTMEMORY         \"没有足够的内存空间可供打印。\\n\\n请退出一些应用程序，然后重试。\"                                             /* 128 */\n    IDS_PRINTDISK           \"没有足够的磁盘空间可供打印。\\n\\n请删除一些文件以释放磁盘空间，然后重试。\"                        /* 128 */\n    IDS_PRINTERROR          \"打印时出现错误。\\n\\n请确认选择了正确的打印机，并检查打印机配置是否正确。\"             /* 128 */\n    IDS_PRINTONLYONE        \"文件管理器不能同时打印多份文件。\\n\\n只选择一份文件，然后重试。\"                                               /* 128 */\n\n    IDS_CURDIRIS,           \"当前目录: %s\"                                                                                                    /* 128 */\n    IDS_CURDIRSARE,         \"Other: \"\n    IDS_COPY,               \"复制\"                          /* 32 */\n    IDS_RENAME,             \"重命名\"                        /* 32 */\n    IDS_FORMAT,             \"格式化磁盘\"                   /* 32 */\n    IDS_FORMATSELDISK,      \"选择要格式化的磁盘。\"\n    IDS_SYMLINK,            \"符号链接\"                       /* 32 */\n    IDS_HARDLINK,           \"硬链接\"                      /* 32 */\n\n    IDS_KK_COPYFROMSTR,     \"从(&F):\"\n    IDS_KK_COPYTOSTR,       \"复制到(&T):\"\n    IDS_KK_RENAMEFROMSTR,   \"原名(&F):\"\n    IDS_KK_RENAMETOSTR,     \"重命名为(&T):\"\n    IDS_KK_HARDLINKFROMSTR, \"从(&F):\"\n    IDS_KK_HARDLINKTOSTR,   \"硬链接到(&T):\"\n    IDS_KK_SYMLINKFROMSTR,  \"从(&F):\"\n    IDS_KK_SYMLINKTOSTR,    \"符号链接到(&T):\"\n\n    IDS_CREATINGMSG,        \"创建:\"                     /* 32 */\n    IDS_REMOVINGDIRMSG,     \"正在删除:\"                     /* 32 */\n    IDS_REMOVINGMSG,        \"正在删除...\"                   /* 32 */\n    IDS_COPYINGMSG,         \"正在复制:\"                      /* 32 */\n    IDS_OPENINGMSG,         \"正在打开...\"                    /* 32 */\n    IDS_CLOSINGMSG,         \"正在关闭...\"                    /* 32 */\n    IDS_RENAMINGMSG,        \"正在重命名...\"                   /* 32 */\n    IDS_MOVINGMSG,          \"正在移动...\"                     /* 32 */\n    IDS_DELETINGMSG,        \"正在删除...\"                   /* 32 */\n    IDS_PRINTINGMSG,        \"正在打印: %s\"                  /* 32 */\n\n//    IDS_NOSUCHDRIVE,        \"Drive %c does not exist.\"                                                                                            /* 128 */\n    IDS_DRIVENOTREADY,      \"请将磁盘插入驱动器 %c:\"\n    IDS_UNFORMATTED,        \"驱动器 %c 中的磁盘未被格式化。\\n\\n想现在格式化吗？\"\n\n    IDS_STATUSMSG,          \"共 %d 个文件 (%s)\"             /* 128 */\n    IDS_STATUSMSG2,         \"选择了 %d 个文件 (%s)\"          /* 128 */\n    IDS_DRIVEFREE,          \"%c: %s 可用空间，%s 全部空间\"            /* 128 */\n    IDS_TREEABORT,          \"目录树未完整显示\"     /* 128 */\n    IDS_DIRSREAD,           \"目录读取: %d\"                   /* 32 */\n    IDS_SEARCHMSG,          \"找到 %d 个文件\"\n    IDS_BYTES,              \"%ld 字节\"\n    IDS_SBYTES,             \"%s 字节\"\n\n    IDS_SELECTEDFILES,      \"所选文件\"            /* 32 */\n\n    /* These strings are used for generating error messages\n     * from the Copy, Move, and Delete code. */\n\n    IDS_COPYERROR + FUNC_COPY   \"复制文件出错\"\n    IDS_COPYERROR + FUNC_MOVE   \"移动文件出错\"\n    IDS_COPYERROR + FUNC_DELETE \"删除文件出错\"\n    IDS_COPYERROR + FUNC_RENAME \"重命名文件出错\"\n    IDS_COPYERROR + FUNC_SETDRIVE \"选择驱动器出错\"\n    IDS_COPYERROR + FUNC_EXPAND   \"读取目录出错\"\n    IDS_COPYERROR + FUNC_LABEL    \"设置磁盘卷标出错\"\n    IDS_COPYERROR + FUNC_LINK        \"在创建符号连接时出现错误\"\n    IDS_COPYERROR + FUNC_HARD        \"在创建硬连接时出现错误\"\n    IDS_COPYERROR + FUNC_JUNC        \"在创建目录联接时出现错误\"\n\n    /* The first %s is replaced by a file name. The second %s is replaced\n     * by one of the \"reasons\" below. */\n\n    IDS_VERBS + FUNC_COPY       \"文件管理器无法复制 %s: %s\"\n    IDS_VERBS + FUNC_MOVE       \"文件管理器无法移动 %s: %s\"\n    IDS_VERBS + FUNC_DELETE     \"文件管理器无法删除 %s: %s\"\n    IDS_VERBS + FUNC_RENAME     \"文件管理器无法重命名 %s: %s\"\n    IDS_VERBS + FUNC_LINK       \"文件管理器无法创建符号链接 %s: %s\"\n    IDS_VERBS + FUNC_HARD       \"文件管理器无法创建硬链接 %s: %s\"\n    IDS_VERBS + FUNC_JUNC       \"文件管理器无法创建目录联接 %s: %s\"\n    IDS_ACTIONS + 1             \"文件管理器无法创建目录 %s: %s\"\n    IDS_ACTIONS + 2             \"文件管理器无法删除目录 %s: %s\"\n    IDS_REPLACING               \"文件管理器无法创建或替换 %s: %s\"\n    // IDS_CREATING             \"File Manager cannot create %s: %s\"\n\n// include reason strings\n\n#include \"suggest_zh-CN.db\"\n\n    IDS_DESTFULL                \"目标软盘已满。请插入另一软盘以继续。\"\n    IDS_WRITEPROTECTFILE        \"这是一个系统、隐藏或只读文件。\"\n\n    IDS_COPYINGTITLE            \"正在复制...\"\n\n    IDS_QUICKFORMATTINGTITLE    \"快速格式化...\"\n\n    IDS_BUSYFORMATQUITVERIFY    \"文件管理器正在格式化软盘。退出文件管理器将会中断该操作。\"\n    IDS_BUSYCOPYQUITVERIFY      \"文件管理器正在复制软盘。退出文件管理器将会中断该操作。\"\n    IDS_PERCENTCOMPLETE         \"完成百分比\"\n\n    IDS_12MB                    \"1%s2 MB\"\n    IDS_360KB                   \"360K\"\n    IDS_144MB                   \"1%s44 MB\"\n    IDS_720KB                   \"720K\"\n    IDS_288MB                   \"2%s88 MB\"\n    IDS_2080MB                  \"20%s8 MB\"\n\n#if defined(JAPAN) && defined(i386)\n/* ADD KBNES. NEC MEDIATYPE START */\nJAPANBEGIN\n    IDS_125MB                   \"1%s25 MB\"\n    IDS_256KB                   \"256K\"\n    IDS_128MB                   \"128 MB\"\nJAPANEND\n/* ADD KBNES. NEC MEDIATYPE END */\n\n//\n// FMR jul.21.1994 JY\n// We added 640KB/1.23MB media types.\n//\nJAPANBEGIN\n    IDS_640KB                   \"640K\"\n    IDS_123MB                   \"1%s23 MB\"\nJAPANEND\n#endif\n\n    IDS_DEVICECAP               \"驱动器容量\"\n    IDS_QSUPMEDIA               \"文件管理器无法取得软盘信息。\\n\\n请确定软盘位于驱动器中。\"\n    IDS_REMOVEMED               \"未知的磁盘类型\"\n\n    IDS_CANTFORMATTITLE         \"未知的磁盘类型\"\n    IDS_CANTFORMAT              \"文件管理器无法格式化驱动器 %s 中的磁盘类型。请使用磁盘管理器来格式化这个磁盘。\"\n\n    IDS_FFERR_INCFS             \"不兼容的文件系统。\"\n    IDS_FFERR_ACCESSDENIED      \"禁止访问。\"\n    IDS_FFERR_DISKWP            \"磁盘写保护。\"\n    IDS_FFERR_CANTLOCK          \"文件管理器无法锁定磁盘。\"\n    IDS_FFERR_CANTQUICKF        \"文件管理器无法快速格式化软盘。\\n\\n请确定软盘的密度是正确的。\"\n    IDS_FFERR_SRCIOERR          \"源软盘上的 IO 错误。\"\n    IDS_FFERR_DSTIOERR          \"目标软盘上的 IO 错误。\"\n    IDS_FFERR_SRCDSTIOERR       \"源软盘和目标软盘上的 IO 错误。\"\n    IDS_FFERR_GENIOERR          \"发生 IO 错误。\"\n//    IDS_FFERR_MEDIASENSE      \"This disk is capable of being formatted at a capacity of %s. Continue formatting at this capacity?\"\n    IDS_FFERR                   \"文件管理器无法格式化软盘。\\n\\n请确定软盘位于驱动器内，且未写保护、损坏或密度错误。\"\n    IDS_FFERR_BADLABEL          \"文件管理器无法为驱动器命名。\\n\\n指定的磁盘卷标无效。请确认卷标没有下列字符\\n\\n[空格] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n\n\n    IDS_FORMATCONFIRM           \"格式化会清除软盘中的所有数据。确定格式化 %c 驱动器内的软盘？\"\n    IDS_FORMATCONFIRMTITLE      \"确认格式化磁盘\"\n\n    IDS_DISKCOPYCONFIRM         \"此操作将清除目标盘上的所有数据。继续？\"\n    IDS_DISKCOPYCONFIRMTITLE    \"确定复制磁盘\"\n    IDS_ANDCLOSE                \"关闭(&C)\"        // goes on Selection dialog\n    IDS_CLOSE                   \"关闭\"         // braindead \"&Change\"\n    IDS_PATHNOTTHERE            \"%s 目录并不存在。\\n\\n是否创建该目录？\"\n    IDS_PROGRAMS                \"程序 (*.exe;*.pif;*.com;*.bat)#*.exe;*.pif;*.com;*.bat#所有文件 (*.*)#*.*#\"\n\n    IDS_MENUANDITEM             \"%s - %s\"\n    IDS_DRIVELABEL              \"驱动器:\"\n    IDS_STATUSMSGSINGLE         \"%s, \"\n\n    IDS_CONNECTHELP             \"连接到网络驱动器\"\n    IDS_DISCONHELP              \"断开网络驱动器\"\n    IDS_CONNECTIONHELP          \"网络连接\"\n    IDS_SHAREASHELP             \"共享目录\"\n    IDS_STOPSHAREHELP           \"停止共享目录\"\n    IDS_VDETAILSHELP            \"查看文件的所有详细信息\"\n    IDS_VNAMEHELP               \"仅查看名称\"\n    IDS_BYNAMEHELP              \"依名称排序\"\n    IDS_BYTYPEHELP              \"依类型排序\"\n    IDS_BYSIZEHELP              \"依大小排序\"\n    IDS_BYDATEHELP              \"依日期排序\"\n    IDS_NEWWINHELP              \"新建窗口\"\n    IDS_COPYHELP                \"复制文件\"\n    IDS_MOVEHELP                \"移动文件\"\n    IDS_DELHELP                 \"删除文件\"\n\n    IDS_DIRNAMELABEL            \"目录名(&D):\"\n    IDS_DRIVENOTAVAILABLE       \"无法使用网络驱动器。\"\n\n    IDS_SHAREDAS                \"共享为 %s\"\n    IDS_NOTSHARED               \"未共享\"\n\n    IDS_DRIVE_COMPRESSED        \" - 已压缩\"\n\n    IDS_DRAG_COPYING            \"将文件复制到 %s\"\n    IDS_DRAG_MOVING             \"将文件移动到 %s\"\n    IDS_DRAG_LINKING            \"将文件链接到 %s\"\n    IDS_DRAG_EXECUTING          \"用 %s 运行文件\"\n\n    IDS_ORDERB                  \"%s 字节\"\n    IDS_ORDERKB                 \"%s KB\"\n    IDS_ORDERMB                 \"%s MB\"\n    IDS_ORDERGB                 \"%s GB\"\n    IDS_ORDERTB                 \"%s TB\"\n\n    IDS_VN_COMMENTS             \"备注\"\n    IDS_VN_COMPANYNAME          \"公司名\"\n    IDS_VN_FILEDESCRIPTION      \"文件说明\"\n    IDS_VN_INTERNALNAME         \"内部名称\"\n    IDS_VN_LEGALTRADEMARKS      \"合法商标\"\n    IDS_VN_ORIGINALFILENAME     \"原始文件名\"\n    IDS_VN_PRIVATEBUILD         \"内部版本说明\"\n    IDS_VN_PRODUCTNAME          \"产品名称\"\n    IDS_VN_PRODUCTVERSION       \"产品版本\"\n    IDS_VN_SPECIALBUILD         \"特殊版本说明\"\n\n    IDS_VN_LANGUAGE             \"语言\"\n    IDS_VN_LANGUAGES            \"语言\"\n\n    IDS_ASSOCIATE               \"浏览\"\n    IDS_RUN                     \"运行\"\n    IDS_WINHELPERR              \"不能显示“帮助“信息。\"\n    IDS_NOEXEASSOC              \"有扩展名 %s 的文件是程序，不能与另一个应用程序相关联。\"\n    IDS_ASSOCNOTEXE             \"%s 不是一个程序，不能与一个文件扩展名相关联。\"\n    IDS_ASSOCNONE               \"(无)\"\n    IDS_NOFILES                 \"未找到文件。\"\n    IDS_NOACCESSDIR             \"您当前无权访问该目录。\"\n    IDS_NOACCESSFILE            \"您当前无权访问该文件。\"\n\n    IDS_DRIVEBUSY_COPY          \"%c: 驱动器在使用中，无法访问。\\n文件管理器正在复制磁盘。\"\n    IDS_DRIVEBUSY_FORMAT        \"%c: 驱动器在使用中，无法访问。\\n文件管理器正在格式化磁盘。\"\n\n    IDS_COPYMOVENOTCOMPLETED    \"操作未全部完成\"\n    IDS_DIRREMAINS              \"无法完成文件和目录上所有的操作。\"\n\n    IDS_TOOMANYWINDOWS          \"目录窗口过多。\\n\\n请关闭一或数个窗口，然后重试。\"\n    IDS_FMIFSLOADERR            \"无法为该操作加载所需的一个库。\"\n\n    IDS_NOSUCHDIRTITLE          \"无法读取目录\"\n    IDS_NOSUCHDIR               \"目录不存在。\"\n\n    IDS_BADNETNAMETITLE         \"无法连接网络驱动器\"\n    IDS_BADNETNAME              \"找不到该网络名称。\"\n\n    IDS_ALLFILES                \"“全部确定“会作用到所有文件，包括系统、隐藏和\\n只读文件。\"\n\n    IDS_ASSOC_OPEN              \"打开\"\n    IDS_ASSOC_PRINT             \"打印\"\n\n    IDS_ADDEXTTITLE             \"加入扩展名\"\n    IDS_ADDEXTTEXT              \"“%s“扩展名当前关联到“%s“。是否替换原有关联？\"\n\n    IDS_EXTTITLE                \"文件关联编辑器\"\n\n    IDS_EXTADDERROR             \"无法设置扩展名关联。\"\n    IDS_EXTDELERROR             \"无法删除扩展名。\"\n    IDS_FILETYPEADDERROR        \"无法添加文件类型。\"\n    IDS_FILETYPEDELERROR        \"无法删除文件类型。\"\n    IDS_FILETYPEREADERROR       \"无法读取文件类型。\"\n\n    IDS_FILETYPENULLDESCERROR   \"文件类型说明不能为空。请键入新的文件类型。\"\n    IDS_FILETYPEDUPDESCERROR    \"无法根据文件类型产生唯一的标识号。请键入新的文件类型。\"\n\n    IDS_FILETYPEDELCONFIRMTITLE \"删除文件类型\"\n    IDS_FILETYPEDELCONFIRMTEXT  \"如此将删除文件类型及所有相关的扩展名。是否确定要删除“%s“？\"\n#ifdef ASSOC\n    IDS_FILETYPEDELCONFIRMUSERTEXT \"You are deleting a Personal File Type.  It will revert to the Common File Type, and all of its extensions will remain intact.  Are you sure you want to revert '%s'?\"\n    IDS_FILETYPEUSERIZETEXT     \"You are customizing a Common File Type.  File Manager save your changes in a Personalized File Type.  Continue?\"\n#endif\n    IDS_FILETYPECOMMANDNULLTEXT \"文件类型操作必需有至少一个命令与其匹配。请在命令字段键入应用程序。\"\n\n    IDS_NEWFILETYPETITLE        \"新文件类型\"\n    IDS_COPYINGDISKTITLE        \"正在复制磁盘\"\n    IDS_SEARCHING               \"正在搜索...\"\n\nJAPANBEGIN\n    IDS_WRNNOSHIFTJIS           \"このフォントを使用すると漢字の表示が\\nできなくなります。\"\nJAPANEND\n\n    IDS_INITUPDATEFAIL          \"无法初始化后台更新支持。文件管理器将会退出。\"\n    IDS_INITUPDATEFAILTITLE     \"文件管理器初始化\"\n\n    IDS_COMPRESSDIR             \"要同时压缩 %s 中所有的文件及子目录?\"\n    IDS_UNCOMPRESSDIR           \"要同时解压缩 %s 中所有的文件及子目录?\"\n    IDS_COMPRESS_ATTRIB_ERR     \"文件管理器无法更改 %s 的压缩属性。\"\n    IDS_NTLDRCOMPRESSERR        \"%s 文件将不被压缩。如果压缩这个文件，系统可能无法启动。\"\n    IDS_MULTICOMPRESSERR        \"文件管理器当前正在压缩或解压缩文件。/n待操作完成后，才能压缩/解压缩其它文件。\"\n\n    IDS_EDITFILTER              \"程序 (*.exe)\\0*.exe\\0\"\n\nEND\n#undef SUGGEST\n\n/* Help strings for the popup menus.\n */\nSTRINGTABLE\nBEGIN\n    MH_POPUP+IDM_FILE,          \"控制文件的命令\"\n    MH_POPUP+IDM_DISK,          \"控制磁盘的命令\"\n    MH_POPUP+IDM_TREE,          \"控制目录窗口的命令\"\n    MH_POPUP+IDM_VIEW,          \"决定信息显示方式的命令\"\n    MH_POPUP+IDM_OPTIONS,       \"设置选项的命令\"\n    MH_POPUP+IDM_SECURITY,      \"控制文件和目录安全的命令\"\n    MH_POPUP+IDM_WINDOW,        \"安排窗口的命令\"\n    MH_POPUP+IDM_HELP,          \"显示“文件管理器帮助”的命令\"\nEND\n\n\n// Help strings for the \"standard\" toolbar items.\n\nSTRINGTABLE\nBEGIN\n    MH_MYITEMS+IDM_OPEN,        \"打开所选项目\"\n    MH_MYITEMS+IDM_EDIT,        \"使用记事本编辑所选项目\"\n    MH_MYITEMS+IDM_MOVE,        \"移动所选的项目\"\n    MH_MYITEMS+IDM_COPY,        \"复制文件及目录\"\n    MH_MYITEMS+IDM_COPYTOCLIPBOARD, \"复制文件到剪贴板\"\n    MH_MYITEMS+IDM_CUTTOCLIPBOARD, \"剪切一个或多个文件到剪贴板\"\n    MH_MYITEMS+IDM_PASTE,       \"粘贴剪切板中的文件到当前目录\"\n    MH_MYITEMS+IDM_COMPRESS,    \"压缩文件或目录\"\n    MH_MYITEMS+IDM_UNCOMPRESS,  \"解压缩文件或目录\"\n    MH_MYITEMS+IDM_DELETE,      \"删除文件及目录\"\n    MH_MYITEMS+IDM_RENAME,      \"重命名文件或目录\"\n    MH_MYITEMS+IDM_ATTRIBS,     \"设置文件属性及显示属性\"\n    MH_MYITEMS+IDM_RUN, \"启动或打开应用程序或文档\"\n    MH_MYITEMS+IDM_PRINT,       \"打印文档\"\n    MH_MYITEMS+IDM_ASSOCIATE,   \"将文件与应用程序产生关联\"\n    MH_MYITEMS+IDM_MAKEDIR,     \"创建目录\"\n    MH_MYITEMS+IDM_SEARCH,      \"搜索文件及目录\"\n    MH_MYITEMS+IDM_SELECT,      \"选择文件及目录\"\n    MH_MYITEMS+IDM_EXIT,        \"退出文件管理器\"\n\n    MH_MYITEMS+IDM_DISKCOPY,    \"复制软盘的内容\"\n    MH_MYITEMS+IDM_LABEL,       \"指定或改变磁盘的卷标\"\n    MH_MYITEMS+IDM_FORMAT,      \"格式化磁盘\"\n//    MH_MYITEMS+IDM_SYSDISK,     \"Copies MS-DOS files to a floppy disk\"\n    MH_MYITEMS+IDM_CONNECT,     \"连接到网络驱动器\"\n    MH_MYITEMS+IDM_DISCONNECT,  \"断开网络驱动器\"\n//    MH_MYITEMS+IDM_CONNECTIONS,       \"Network Connections...\"\n//    MH_MYITEMS+IDM_SHARES,    \"View Shared Directories...\"\n    MH_MYITEMS+IDM_SHAREAS,     \"共享一个目录\"\n    MH_MYITEMS+IDM_STOPSHARE,   \"停止共享一个目录\"\n\n    MH_MYITEMS+IDM_DRIVESMORE,  \"选择一个不同的驱动器\"\n\n    MH_MYITEMS+IDM_EXPONE,      \"显示目录的另一级\"\n    MH_MYITEMS+IDM_EXPSUB,      \"显示目录的所有子目录\"\n    MH_MYITEMS+IDM_EXPALL,      \"显示所有目录的全部子目录\"\n    MH_MYITEMS+IDM_COLLAPSE,    \"折叠所选目录的全部目录\"\n    MH_MYITEMS+IDM_ADDPLUSES,   \"指出有子目录的目录\"\n\n    MH_MYITEMS+IDM_BOTH,        \"显示目录树及当前目录的内容\"\n    MH_MYITEMS+IDM_TREEONLY,    \"显示目录树\"\n    MH_MYITEMS+IDM_DIRONLY,     \"显示当前目录的内容\"\n    MH_MYITEMS+IDM_SPLIT,       \"拆分一个目录窗口或移动拆分条\"\n    MH_MYITEMS+IDM_VNAME,       \"只显示文件名\"\n    MH_MYITEMS+IDM_VDETAILS,    \"显示全部文件细节\"\n    MH_MYITEMS+IDM_VOTHER,      \"显示部分文件细节\"\n    MH_MYITEMS+IDM_BYNAME,      \"按名称排列文件\"\n    MH_MYITEMS+IDM_BYTYPE,      \"按类型排列文件\"\n    MH_MYITEMS+IDM_BYSIZE,      \"按大小排列文件\"\n    MH_MYITEMS+IDM_BYDATE,      \"按日期排列文件\"\n    MH_MYITEMS+IDM_BYFDATE,     \"按先前日期排列文件\"\n    MH_MYITEMS+IDM_VINCLUDE,    \"显示指定类型的文件\"\n\n    MH_MYITEMS+IDM_CONFIRM,     \"控制确认信息\"\n    MH_MYITEMS+IDM_FONT,        \"更改文件管理器的字体\"\n\n    MH_MYITEMS+IDM_TOOLBARCUST, \"自定义工具栏\"\n    MH_MYITEMS+IDM_TOOLBAR,     \"显示或隐藏工具栏\"\n    MH_MYITEMS+IDM_DRIVEBAR,    \"显示或隐藏驱动器栏\"\n    MH_MYITEMS+IDM_STATUSBAR,   \"显示或隐藏状态栏\"\n    MH_MYITEMS+IDM_NEWWINONCONNECT,     \"连接时打开新建的窗口\"\n\n    MH_MYITEMS+IDM_MINONRUN,    \"启动时将文件管理器缩成一个图标\"\n    MH_MYITEMS + IDM_INDEXONLAUNCH, \"在文件管理器启动时为“转到目录“创建索引\"\n    MH_MYITEMS+IDM_SAVESETTINGS,        \"退出文件管理器时保存设置\"\n\n    MH_MYITEMS+IDM_NEWWINDOW,   \"打开新建窗口\"\n    MH_MYITEMS+IDM_CASCADE,     \"层叠显示窗口\"\n    MH_MYITEMS+IDM_TILEHORIZONTALLY,    \"水平平铺窗口\"\n    MH_MYITEMS+IDM_TILE,        \"垂直平铺窗口\"\n    MH_MYITEMS+IDM_ARRANGE,     \"排列图标\"\n    MH_MYITEMS+IDM_REFRESH,     \"更新窗口的内容\"\n\n    MH_MYITEMS+IDM_PERMISSIONS  \"查看或设置指定项目的授权信息\"\n    MH_MYITEMS+IDM_AUDITING     \"查看或设置指定项目的审核信息\"\n    MH_MYITEMS+IDM_OWNER        \"查看或取得指定项目的所有权\"\n\n    MH_MYITEMS+IDM_HELPINDEX,   \"显示文件管理器的“帮助”内容\"\n    MH_MYITEMS+IDM_HELPKEYS,    \"在“文件管理器帮助“里搜索一个主题\"\n    MH_MYITEMS+IDM_HELPHELP,    \"显示关于使用“帮助“的信息\"\n    MH_MYITEMS+IDM_ABOUT,       \"显示关于文件管理器的信息\"\nEND\n\n\n// Strings for menu items that may be added at init time.\n\nSTRINGTABLE\nBEGIN\n    IDS_CONNECT,                \"映射网络驱动器(&N)...\"\n    IDS_DISCONNECT,             \"断开网络驱动器(&D)...\"\n    IDS_CONNECTIONS,            \"网络连接(&N)...\"\n    IDS_SHAREDDIR               \"共享目录(&H)...\"\n    IDS_SHAREAS,                \"共享为(&A)...\"\n    IDS_STOPSHARE,              \"停止共享(&T)...\"\n    IDS_SHARES,                 \"查看共享目录(&H)...\"\n    IDS_NEWWINONCONNECT,        \"在连接时打开新窗口(&O)\"\nEND\n\n#include \"winfile_zh-CN.dlg\"\n\n"
  },
  {
    "path": "src/lang/winfile_de-DE.dlg",
    "content": "/********************************************************************\n\n   winfile.dlg\n\n   Copyright (c) Microsoft Corporation. All rights reserved.\n   Licensed under the MIT License.\n\n********************************************************************/\n\n#include \"dlgs.h\"\n#include \"resize.h\"\n\nCANCELDLG DIALOG 77, 27, 160, 65\nSTYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Datenträger formatieren\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\", IDD_TEXT1, 15, 36, 131, 8\n    CONTROL         \"\", IDD_GASGAUGE, \"Static\", SS_BLACKFRAME, 15, 10, 131, 22\n    PUSHBUTTON      \"Ausblenden\", IDD_HIDE, 38, 48, 40, 14\n    PUSHBUTTON      \"Abbrechen\", IDCANCEL, 83, 48, 40, 14\nEND\n\n\nSEARCHPROGDLG DIALOG 77, 109, 174, 75\nSTYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Datenträger durchsuchen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n\n    CONTROL \"Suche nach:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 60, 10\n    CONTROL \"\", IDD_NAME, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 50, 5, 120, 10\n    CONTROL \"Seit:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 15, 60, 10\n    CONTROL \"\", IDD_DATE, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 50, 15, 120, 10\n    CONTROL \"Beginne bei:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 25, 70, 10\n    CONTROL \"\", IDD_PATH, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 50, 25, 120, 10\n    CONTROL \"Verzeichnisse gelesen:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 35, 74, 10\n    CONTROL \"\", IDD_TIME, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 112, 35, 56, 10\n    CONTROL \"Übereinstimmungen gefunden:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 45, 102, 10\n    CONTROL \"\", IDD_FOUND, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 112, 45, 54, 10\n\n    PUSHBUTTON      \"Ausblenden\", IDD_HIDE, 45, 58, 45, 14\n    PUSHBUTTON      \"Abbrechen\", IDCANCEL, 91, 58, 40, 14\nEND\n\nFONTDLG DIALOG 13, 54, 265, 172\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Schriftarten\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Schrift:\", stc1, 6, 3, 40, 9\n    COMBOBOX        cmb1, 6, 13, 94, 54, CBS_SIMPLE | CBS_AUTOHSCROLL |\n                    CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED\n    LTEXT           \"Schrift&art:\", stc2, 108, 3, 44, 9\n    COMBOBOX        cmb2, 108, 13, 64, 54, CBS_SIMPLE | WS_VSCROLL |\n                    WS_TABSTOP\n    LTEXT           \"&Größe:\", stc3, 179, 3, 30, 9\n    COMBOBOX        cmb3, 179, 13, 32, 54, CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED | CBS_SORT\n\n    GROUPBOX        \"Effekte\", grp1, 6, 73, 84, 61, WS_GROUP\n    CONTROL         \"&Durchgestrichen\", chx1, \"Button\", BS_AUTOCHECKBOX | WS_TABSTOP, 10, 83, 75, 10\n    CONTROL         \"&Unterstrichen\", chx2, \"Button\", BS_AUTOCHECKBOX, 10, 95, 75, 10\n\n    CONTROL         \"Zeige Kleinbuchstaben für &FAT-Laufwerke an\", chx3, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 6, 147, 252, 10\n\n    CONTROL         \"Zeige K&leinbuchstaben für alle L&aufwerke an\", chx4, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 6, 159, 252, 10\n\n    LTEXT           \"&Farbe:\", stc4, 10, 107, 30, 9\n    COMBOBOX        cmb4, 10, 117, 75, 50, CBS_DROPDOWNLIST |\n                    CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS |\n                    WS_BORDER | WS_VSCROLL\n\n    DEFPUSHBUTTON   \"OK\", IDOK, 218, 6, 40, 14, WS_GROUP\n    PUSHBUTTON      \"Abbrechen\", IDCANCEL, 218, 23, 40, 14, WS_GROUP\n    PUSHBUTTON      \"&Anwenden\", psh3, 218, 40, 40, 14, WS_GROUP\n    PUSHBUTTON      \"&Hilfe\", pshHelp, 218, 57, 40, 14, WS_GROUP\n    GROUPBOX        \"Beispiel\", grp2, 6, 72, 252, 64, WS_GROUP\n    CTEXT           \"\", stc6, 6, 137, 8, 8,\n                    SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBbYyZz\", stc5, 10, 81, 243, 37, SS_NOPREFIX | NOT\n                    WS_VISIBLE\nEND\n\nDRIVEDLG DIALOGEX 11, 31, 201, 86\nCAPTION \"Datenträger auswählen\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_THICKFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 0 }\n    CONTROL \"&Datenträger:\", IDD_DRIVE1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 41, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    CONTROL \"\", IDD_DRIVE, \"listbox\", LBS_NOTIFY | LBS_SORT | LBS_STANDARD | LBS_USETABSTOPS | WS_BORDER | WS_VSCROLL | WS_CHILD | WS_TABSTOP, 5, 16, 140, 60\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"Abbrechen\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Hilfe\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 44, 40, 14\nEND\n\nRUNDLG DIALOGEX 15, 12, 211, 73\nCAPTION \"Ausführen\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 3, 6, 162, 10\n    DIALOGRESIZECONTROL { 0, 10, 100, 0 }\n    CONTROL \"&Kommandozeile:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_GROUP | WS_CHILD, 3, 18, 60, 10\n    DIALOGRESIZECONTROL { 0, 20, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 3, 29, 158, 12\n    DIALOGRESIZECONTROL { 0, 90, 0, 0 }\n    CONTROL \"&Minimiert ausführen\", IDD_LOAD, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 3, 45, 158, 12\n    DIALOGRESIZECONTROL { 0, 100, 0, 0 }\n    CONTROL \"Als &Administrator ausführen\", IDD_RUNAS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 3, 58, 159, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"Abbrechen\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 23, 40, 14\n//    CONTROL \"&Suche...\", IDD_BROWSE, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 40, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Hilfe\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 43, 40, 14\nEND\n\nSELECTDLG DIALOGEX 15, 12, 116, 83\nCAPTION \"Dateien auswählen\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    CONTROL \"&Datei(en):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 16, 60, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 5, 29, 60, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"&Auswählen\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"A&bwählen\", IDYES, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 20, 0, 0 }\n    CONTROL \"Abbrechen\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 40, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Hilfe\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 63, 40, 14\nEND\n\n\n\nCONFIRMREPLACE DIALOG 10, 20, 245, 95\nCAPTION \"Dateiersetzungen bestätigen\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Dateien ersetzen:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 12, 58, 11\n    CONTROL \"\", IDD_TO, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 89, 12, 151, 10\n    CONTROL \"\", IDD_DATE1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 75, 22, 170, 10\n    CONTROL \"With File:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 34, 44, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 75, 34, 165, 10\n    CONTROL \"\", IDD_DATE2, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 75, 44, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 54, 203, 10\n    CONTROL \"&Ja\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 73, 40, 14\n    CONTROL \"Ja für &alle\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 73, 40, 14\n    CONTROL \"&Nein\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 73, 40, 14\n    CONTROL \"Abbrechen\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 73, 40, 14\nEND\n\nCONFIRMDELETE DIALOG 10, 20, 245, 60\nCAPTION \"Dateilöschung bestätigen\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 20, 20\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Dateien löschen:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 58, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 86, 18, 154, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&Ja\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"&Alle löschen\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 77, 42, 44, 14\n    CONTROL \"&Nein\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 127, 42, 40, 14\n    CONTROL \"Abbrechen\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 173, 42, 40, 14\nEND\n\n\nCONFIRMNOACCESS DIALOG 10, 20, 261, 71\nCAPTION \"Bestätigen: Ignoriere Datei oder Verzeichnis und fahre fort\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 21, 20\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Zugriff verweigert, Ignorieren:\", IDD_TYPE, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 10, 104, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 128, 10, 127, 10\n    CONTROL \"Sie haben keine ausreichenden Berechtigungen oder die Datei\\nist in Verwendung.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 24, 24, 227, 17\n    CONTROL \"Klicken Sie auf 'Ja', um diese Datei zu ignorieren und fortzusetzen.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 40, 220, 10\n    CONTROL \"&Ja\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 52, 40, 14\n    CONTROL \"&Alle ignorieren\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 80, 52, 53, 14\n    CONTROL \"&Nein\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 52, 40, 14\n    CONTROL \"Abbrechen\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 187, 52, 40, 14\nEND\n\n\nCONFIRMNOACCESSDEST DIALOG 10, 20, 245, 60\nCAPTION \"Bestätigen: Ignoriere Datei oder Verzeichnis und fahre fort\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 20, 20\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Kein Zugriff auf Ziel, ignoriere:\", IDD_TYPE, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 13, 101, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 129, 13, 101, 10\n    CONTROL \"Klicken Sie auf 'Ja', um diese Datei zu ignorieren und fortzusetzen.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 23, 214, 10\n    CONTROL \"&Ja\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 25, 42, 40, 14\n    CONTROL \"&Alle bestätigen\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 72, 42, 52, 14\n    CONTROL \"&Nein\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 131, 42, 40, 14\n    CONTROL \"Abbrechen\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 178, 42, 40, 14\nEND\n\n\nCONFIRMRMDIR DIALOG 10, 20, 245, 60\nCAPTION \"Verzeichnis löschen bestätigen\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 20, 20\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Lösche Verzeichnis:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 65, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 98, 18, 145, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&Ja\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"&Alle löschen\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 77, 42, 43, 14\n    CONTROL \"&Nein\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 126, 42, 40, 14\n    CONTROL \"Abbrechen\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 172, 42, 40, 14\nEND\n\nCONFIRMMOVE DIALOG 10, 22, 245, 60\nCAPTION \"Datei verschieben bestätigen\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 20, 20\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Verschiebe Datei:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 60, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 85, 18, 155, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&Ja\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 24, 42, 40, 14\n    CONTROL \"&Alle verschieben\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 69, 42, 59, 14\n    CONTROL \"&Nein\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 134, 42, 40, 14\n    CONTROL \"Abbrechen\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 180, 42, 40, 14\nEND\n\nCONFIRMRENAME DIALOG 10, 22, 245, 60\nCAPTION \"Datei umbenennen bestätigen\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 21, 20\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Datei umbenennen:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 63, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 89, 18, 151, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&Ja\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 23, 42, 40, 14\n    CONTROL \"&Alle umbenennen\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 69, 42, 59, 14\n    CONTROL \"&Nein\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 134, 42, 40, 14\n    CONTROL \"Abbrechen\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 180, 42, 40, 14\nEND\n\n\nMYPRINTDLG DIALOGEX 20, 20, 240, 63\nCAPTION \"Drucken\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 6, 193, 10\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL \"&Drucken:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 10, 31, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_FROM, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 4, 23, 186, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\",IDD_STATUS, \"static\", WS_CHILD | SS_LEFTNOWORDWRAP | SS_NOPREFIX, 4, 39, 190, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"Abbrechen\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Hilfe\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 43, 40, 14\nEND\n\n\nSEARCHDLG DIALOGEX 20, 20, 283, 76\nCAPTION \"Suchen\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL \"&Suchen nach:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 6, 45, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 5, 180, 12\n    DIALOGRESIZECONTROL { 0, 33, 0, 0 }\n    CONTROL \"Sei&t:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 21, 45, 12\n    DIALOGRESIZECONTROL { 0, 33, 100, 0 }\n    CONTROL \"\", IDD_DATE, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 20, 180, 12\n    DIALOGRESIZECONTROL { 0, 67, 0, 0 }\n    CONTROL \"&Beginnen in:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 36, 45, 12\n    DIALOGRESIZECONTROL { 0, 67, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 35, 180, 12\n    DIALOGRESIZECONTROL { 0, 90, 0, 0 }\n    CONTROL \"All&e Unterverzeichnisse durchsuchen\", IDD_SEARCHALL, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 52, 49, 179, 12\n    DIALOGRESIZECONTROL { 0, 100, 0, 0 }\n    CONTROL \"&Unterverzeichnisse im Ergebnis\", IDD_INCLUDEDIRS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 52, 62, 179, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 25, 0, 0 }\n    CONTROL \"Abbrechen\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Hilfe\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 43, 40, 14\nEND\n\n\nMOVECOPYDLG DIALOGEX 47, 59, 381, 64\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nCAPTION \"Verschieben\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"Aktuelles Verzeichnis: N\", IDD_DIR, \"Static\", SS_SIMPLE | SS_NOPREFIX, 3, 6, 332, 10\n\n    DIALOGRESIZECONTROL { 0, 25, 0, 0 }\n    CONTROL         \"&Nach:\", IDD_KK_TEXTTO, \"Static\", SS_LEFTNOWORDWRAP, 3, 33, 20, 10\n\n    DIALOGRESIZECONTROL { 0, 25, 100, 0}\n    EDITTEXT        IDD_TO, 37, 32, 288, 12, ES_AUTOHSCROLL\n\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL         \"\", IDD_STATUS, \"Static\", SS_SIMPLE | SS_NOPREFIX, 3, 49, 40, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"\", IDD_NAME, \"Static\", SS_SIMPLE | SS_NOPREFIX,  45, 49, 290, 10\n\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"OK\", IDOK, 335, 6, 40, 14\n\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    PUSHBUTTON      \"Abbrechen\", IDCANCEL, 335, 23, 40, 14\n\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    PUSHBUTTON      \"&Hilfe\", IDD_HELP, 335, 40, 40, 14\n\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL         \"&Von:\", IDD_KK_TEXTFROM, \"Static\", SS_LEFTNOWORDWRAP, 3, 19, 20, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    EDITTEXT        IDD_FROM, 37, 18, 288, 12, ES_AUTOHSCROLL\n\n    DIALOGRESIZECONTROL { 0, 50, 0, 0 }\n    CONTROL         \"\", IDD_DIRS, \"Static\", SS_LEFTNOWORDWRAP, 3, 49, 330, 10\nEND\n\n\n\nDELETEDLG DIALOGEX 20, 20, 246, 64\nCAPTION \"Löschen\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"Aktuelles Verzeichnis: C\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 5, 193, 10\n    CONTROL \"&Löschen:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 20, 35, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_FROM, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 40, 19, 155, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_STATUS, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 3, 35, 35, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 40, 35, 155, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"Abbrechen\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Hilfe\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 40, 40, 14\nEND\n\nMULTIPLEATTRIBSDLG DIALOG 20, 20, 206, 88\nCAPTION \"Eigenschaften\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"%d Dateien ausgewählt\", IDD_TEXT1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 144, 10\n    CONTROL \"Gesamt %s bytes\", IDD_TEXT2, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 16, 144, 10\n    CONTROL \"Attribute\", -1, \"button\", BS_GROUPBOX | WS_CHILD, 5, 29, 130, 54\n    CONTROL \"&Nur Lesen\", IDD_READONLY, \"button\", WS_GROUP | WS_TABSTOP | BS_AUTOCHECKBOX | WS_CHILD, 10, 40, 52, 12\n    CONTROL \"V&ersteckt\", IDD_HIDDEN, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 72, 40, 52, 12\n    CONTROL \"&Archiv\", IDD_ARCHIVE, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 10, 52, 52, 12\n    CONTROL \"&System\", IDD_SYSTEM, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 72, 52, 52, 12\n    CONTROL \"&Komprimiert\", IDD_COMPRESSED, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 10, 64, 52, 12\n    CONTROL \"V&erschlüsselt\", IDD_ENCRYPTED, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_DISABLED, 72, 64, 52, 12\n    CONTROL \"OK\", 1, \"button\", WS_GROUP | BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 6, 50, 14\n    CONTROL \"Abbrechen\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 23, 50, 14\n    CONTROL \"&Hilfe\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 43, 50, 14\nEND\n\n\nATTRIBSDLG DIALOG 23, 13, 259, 229\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Eigenschaften für %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\", IDOK, 204, 6, 50, 14, WS_GROUP\n    PUSHBUTTON      \"Abbrechen\", IDCANCEL, 204, 23, 50, 14\n    PUSHBUTTON      \"&Hilfe\", IDD_HELP, 204, 40, 50, 14\n\n    CONTROL         \"&Dateiname:\", IDD_NAMELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 5, 55, 10\n    EDITTEXT        IDD_NAME, 72, 5, 132, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"&Pfad:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 16, 51, 10\n    EDITTEXT        IDD_DIR, 72, 16, 132, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"Letzte Änderung:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 27, 62, 10\n    CONTROL         \"\", IDD_DATE, \"Static\", SS_LEFTNOWORDWRAP, 72, 27, 132, 10\n    CONTROL         \"Version:\", IDD_VERLABEL, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 38, 45, 10\n    CONTROL         \"Nicht markiert\", IDD_VERSION, \"Static\", SS_LEFTNOWORDWRAP |\n                    SS_NOPREFIX, 74, 38, 124, 10\n    LTEXT           \"Cop&yright:\", -1, 5, 49, 45, 10\n    CONTROL         \"Nicht markiert\", IDD_COPYRIGHT, \"Edit\", ES_AUTOHSCROLL |\n                    ES_READONLY | WS_TABSTOP, 74, 38, 124, 10\n    CONTROL         \"Größe:\", IDD_SIZELABEL, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 49, 45, 10\n    CONTROL         \"\", IDD_SIZE, \"Static\", SS_LEFTNOWORDWRAP, 72, 49, 132, 10\n    CONTROL         \"Komprimierte Größe:\", IDD_CSIZELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 60, 65, 10\n    CONTROL         \"\", IDD_CSIZE, \"Static\", SS_LEFTNOWORDWRAP, 72, 60, 132, 10\n    CONTROL         \"Kompressionsrate:\", IDD_CRATIOLABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 82, 62, 10\n    CONTROL         \"\", IDD_CRATIO, \"Static\", SS_LEFTNOWORDWRAP, 72, 82, 132, 10\n    GROUPBOX        \"Attribute\", IDD_TEXT, 4, 96, 120, 54\n    CONTROL         \"&Nur lesen\", IDD_READONLY, \"Button\", BS_AUTOCHECKBOX |\n                    WS_GROUP | WS_TABSTOP, 9, 108, 52, 12\n    CONTROL         \"V&ersteckt\", IDD_HIDDEN, \"Button\", BS_AUTOCHECKBOX,\n                    71, 108, 49, 12\n    CONTROL         \"&Archiv\", IDD_ARCHIVE, \"Button\", BS_AUTOCHECKBOX,\n                    9, 120, 52, 12\n    CONTROL         \"&System\", IDD_SYSTEM, \"Button\", BS_AUTOCHECKBOX,\n                    71, 120, 49, 12\n    CONTROL         \"&Komprimiert\", IDD_COMPRESSED, \"Button\", BS_AUTOCHECKBOX,\n                    9, 132, 52, 12\n    GROUPBOX        \"&Versionsinformationen\", IDD_VERSION_FRAME, 4, 155, 250, 70\n    LISTBOX         IDD_VERSION_KEY, 9, 168, 91, 58, LBS_SORT |\n                    LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        IDD_VERSION_VALUE, 110, 168, 138, 58, ES_MULTILINE |\n                    ES_READONLY | WS_VSCROLL\nEND\n\n\nCOMPRESSPROGDLG DIALOG 123, 60, 207, 117\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Komprimierungsstatus\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Datei:\", -1, 6, 8, 25, 8\n    LTEXT           \"filename.xxx\", IDD_COMPRESS_FILE, 50, 8, 152, 8\n    LTEXT           \"Verzeichnis:\", -1, 6, 20, 39, 8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\", IDD_COMPRESS_DIR, 50, 20, 150, 8\n    LTEXT           \"Verzeichnisse komprimiert:\", -1, 6, 32, 102, 8\n    LTEXT           \"1,888,888,999\", IDD_COMPRESS_TDIRS, 93, 32, 60, 8\n    LTEXT           \"Dateien komprimiert:\", -1, 6, 44, 76, 8\n    LTEXT           \"1,888,888,999\", IDD_COMPRESS_TFILES, 93, 44, 58, 8\n    LTEXT           \"Gesamtgröße vor Komprimierung:\", -1, 6, 56, 115, 8\n    LTEXT           \"9,999,999,999,999\", IDD_COMPRESS_USIZE, 124, 69, 68, 8\n    LTEXT           \"Gesamtgröße nach Komprimierung:\", -1, 6, 80, 87, 8\n    LTEXT           \"9,999,999,999,999\", IDD_COMPRESS_CSIZE, 124, 69, 68, 8\n    LTEXT           \"Dateikomprimierungsrate:\", -1, 6, 80, 78, 8\n    LTEXT           \"100%\", IDD_COMPRESS_RATIO, 123, 80, 27, 8\n    PUSHBUTTON      \"Abbrechen\", IDCANCEL, 76, 97, 55, 14\nEND\n\nUNCOMPRESSPROGDLG DIALOG 114, 62, 197, 84\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Dekomprimierungsstatus\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Datei:\", -1, 6, 8, 39, 8\n    LTEXT           \"filename.xxx\", IDD_UNCOMPRESS_FILE, 51, 8, 143, 8\n    LTEXT           \"Verzeichnis:\", -1, 6, 20, 39, 8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\",  IDD_UNCOMPRESS_DIR, 51, 20, 144, 8\n    LTEXT           \"Verzeichnisse dekomprimiert:\", -1, 6, 32, 109, 8\n    LTEXT           \"1,999,999,999\", IDD_UNCOMPRESS_TDIRS, 104, 32, 87, 8\n    LTEXT           \"Dateien dekomprimiert:\", -1, 6, 44, 86, 8\n    LTEXT           \"1,999,999,999\", IDD_UNCOMPRESS_TFILES, 104, 44, 78, 8\n    PUSHBUTTON      \"Abbrechen\", IDCANCEL, 74, 64, 49, 14\nEND\n\nCOMPRESSERRDLG DIALOG 11, 28, 245, 65\nCAPTION \"Komprimierungsfehler\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    ICON 32515, -1, 8, 8, 20, 20\n    LTEXT \"\", IDD_TEXT1, 35, 8, 190, 20\n\n    DEFPUSHBUTTON \"&Ignorieren\",     IDIGNORE,      25, 47, 40, 14, WS_TABSTOP | WS_CHILD | WS_GROUP\n    PUSHBUTTON    \"A&lles ignorieren\", IDD_IGNOREALL, 68,  47, 56, 14, WS_TABSTOP | WS_CHILD\n    PUSHBUTTON    \"&Wiederholen\",      IDRETRY,       130, 47, 45, 14, WS_TABSTOP | WS_CHILD\n    PUSHBUTTON    \"&Abbrechen\",      IDABORT,       179, 47, 40, 14, WS_TABSTOP | WS_CHILD\nEND\n\n\n\nMAKEDIRDLG DIALOGEX 20, 20, 200, 63\nCAPTION \"Verzeichnis erstellen\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 6, 154, 10\n    CONTROL \"&Name:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 23, 20, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 30, 22, 121, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\",IDD_STATUS, \"static\", WS_CHILD | SS_NOPREFIX | SS_LEFTNOWORDWRAP, 3, 46, 150, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"Abbrechen\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Hilfe\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 43, 40, 14\nEND\n\n\nCHOOSEDRIVEDLG DIALOG 20, 20, 157, 64\nCAPTION \"Datenträger kopieren\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"&Quelle:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 8, 50, 10\n    CONTROL \"\", IDD_DRIVE1, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 55, 6, 40, 37\n    CONTROL \"&Ziel:\", IDD_FLAGS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 22, 50, 10\n    CONTROL \"\", IDD_DRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 55, 20, 40, 37\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 6, 40, 14\n    CONTROL \"Abbrechen\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 23, 40, 14\n    CONTROL \"&Hilfe\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 43, 40, 14\nEND\n\n\nDISKCOPYPROGRESSDLG DIALOG 30, 30, 130, 55\nCAPTION \"Kopiere Datenträger\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE | DS_SYSMODAL\nBEGIN\n    CONTROL \"Kopiere Datenträger \", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 5, 130, 10\n    CONTROL \"Laufwerk A:\", IDD_DRIVE, \"static\", SS_CENTER | WS_CHILD, 0, 15, 130, 10\n    CONTROL \"Lese Quell-Laufwerk\", IDD_PROGRESS, \"static\", SS_CENTER | WS_CHILD, 0, 26, 130, 10\n    CONTROL \"Abbrechen\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 44, 39, 44, 14\nEND\n\nDISKLABELDLG DIALOGEX 20, 20, 161, 63\nCAPTION \"Datenträger benennen\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    CONTROL \"&Name:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 15, 30, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 5, 26, 100, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"Abbrechen\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Hilfe\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 43, 40, 14\nEND\n\nFORMATDLG DIALOG 11, 28, 183, 82\nCAPTION \"Formatiere Datenträger\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 6, 40, 14\n    CONTROL \"Abbrechen\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 23, 40, 14\n    CONTROL \"&Hilfe\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 43, 40, 14\n    CONTROL \"&Datenträger:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 7, 49, 10\n    CONTROL \"\", IDD_DRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 4, 65, 40\n    CONTROL \"&Kapazität:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 20, 49, 10\n    CONTROL \"\", IDD_HIGHCAP, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 19, 65, 40\n    CONTROL \"Optionen\", 102, \"button\", BS_GROUPBOX | WS_GROUP | WS_CHILD, 5, 39, 115, 40\n    CONTROL \"&Name:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 11, 51, 39, 10\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 40, 49, 75, 12\n//    CONTROL \"&Erstelle Systemdatenträger\", IDD_MAKESYS, \"button\", BS_CHECKBOX | BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD | WS_DISABLED, 11, 62, 90, 12\n    CONTROL \"&Quick-Format\", IDD_VERIFY, \"button\", BS_CHECKBOX | BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 62, 90, 12\nEND\n\nFORMATSELECTDLG DIALOG 11, 28, 157, 45\nCAPTION \"Formatiere Datenträger\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 109, 6, 40, 14\n    CONTROL \"Abbrechen\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 109, 23, 40, 14\n    CONTROL \"&Datenträger zu formatieren:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 7, 94, 10\n    CONTROL \"\", IDD_SELECTDRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 5, 17, 65, 40\nEND\n\nFORMATPROGRESSDLG DIALOG 30, 30, 150, 50\nCAPTION \"Formatiere Datenträger\"\nFONT 8, \"MS Shell Dlg\"\n//STYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE | DS_SYSMODAL\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE\nBEGIN\n    CONTROL \"Formatiere Datenträger\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 5, 150, 10\n    CONTROL \"Datenträger initialisieren...\", IDD_PROGRESS, \"static\", SS_CENTER | WS_CHILD, 0, 17, 150, 10\n    CONTROL \"Abbrechen\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 53, 30, 44, 14\nEND\n\n#if 0\nSYSDISKPROGRESSDLG DIALOG 30, 30, 174, 57\nCAPTION \"Erstelle Systemdatenträger\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE\nBEGIN\n    CONTROL \"Kopiere Systemdateien\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 6, 174, 8\n    CONTROL \"Drücken Sie 'Abbrechen' um den Vorgang abzubrechen.\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 14, 174, 8\n    CONTROL \"Abbrechen\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 66, 39, 44, 14\nEND\n\nCONNECTDLG DIALOG 12, 28, 241, 135\nCAPTION \"Netzwerkverbindungen\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n  GROUPBOX \"Neue Verbindung\", -1, 5, 3, 170, 55, WS_CHILD\n\n  LTEXT \"&Netzwerkpfad:\", -1, 10, 16, 55, 10\n  EDITTEXT, IDD_PATH, 65, 14, 100, 12, ES_AUTOHSCROLL | WS_GROUP | WS_TABSTOP\n  LTEXT \"L&aufwerk:\", -1, 10, 30, 24, 10\n  COMBOBOX IDD_DRIVE, 65, 28, 40, 100, CBS_DROPDOWNLIST | WS_VSCROLL | WS_GROUP | WS_TABSTOP\n  LTEXT \"Pass&wort:\", -1, 10, 44, 36, 10\n  EDITTEXT, IDD_PASSWORD, 65, 42, 100, 12, ES_AUTOHSCROLL | ES_PASSWORD | WS_GROUP | WS_TABSTOP\n\n  LTEXT \"Aktuelle Laufwerks&verbindungen:\", -1, 5, 62, 120, 10\n  LISTBOX IDD_DRIVE1, 5, 73, 160, 60, LBS_SORT | LBS_NOTIFY | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_BORDER | WS_TABSTOP\n\n  DEFPUSHBUTTON \"Sch&ließen\",  IDCANCEL, 190, 6, 45, 14, WS_GROUP | WS_TABSTOP\n  PUSHBUTTON \"&Verbinden\", IDOK, 190, 27, 45, 14, WS_TABSTOP\n  PUSHBUTTON \"V&orherige...\", IDD_PREV, 190, 44, 45, 14, WS_TABSTOP\n  PUSHBUTTON \"&Suche...\", IDD_NETBROWSE, 190, 61, 45, 14, WS_GROUP | WS_TABSTOP\n  PUSHBUTTON \"&Trennen\", IDD_DISCONNECT, 190, 78, 45, 14, WS_GROUP|WS_TABSTOP\n  PUSHBUTTON \"&Hilfe\", IDD_HELP, 190, 95, 45, 14, WS_GROUP | WS_TABSTOP\nEND\n\nPREVIOUSDLG DIALOG 30, 30, 231, 98\nCAPTION \"Vorherige Netzwerkverbindungen\"\nFONT 8 \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Netzwerk&pfade:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 3, 69, 10\n    CONTROL \"\", IDD_PREV, \"listbox\", LBS_NOTIFY | LBS_SORT | LBS_STANDARD | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 3, 15, 172, 80\n    CONTROL \"&Auswählen\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 6, 44, 14\n    CONTROL \"Schließen\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 24, 44, 14\n    CONTROL \"&Löschen\", IDD_DELETE, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 41, 44, 14\n    CONTROL \"&Hilfe\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 58, 44, 14\nEND\n#endif\n\nOTHERDLG DIALOG 20, 20, 193, 82\nCAPTION \"Teildetails\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Details\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_CHILD, 4, 4, 136, 74\n    CONTROL \"&Größe\", IDD_SIZE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 15, 125, 12\n    CONTROL \"Datu&m der letzten Änderung\", IDD_DATE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 27, 125, 12\n    CONTROL \"Zeitpunk&t der letzten Änderung\", IDD_TIME, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 39, 127, 12\n    CONTROL \"&Dateiattribute\", IDD_FLAGS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 51, 124, 12\n    CONTROL \"MS-&DOS Dateinamen\", IDD_DOSNAMES, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 63, 124, 12\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 146, 6, 40, 14\n    CONTROL \"Abbrechen\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 146, 23, 40, 14\n    CONTROL \"&Hilfe\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 146, 60, 40, 14\nEND\n\n\nINCLUDEDLG DIALOG 20, 20, 157, 114\nCAPTION \"Nach Dateityp\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"&Name:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 8, 23, 10\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 34, 6, 65, 12\n    CONTROL \"Dateityp\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_CHILD, 5, 20, 94, 62\n    CONTROL \"&Verzeichnisse\", IDD_DIR, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 31, 60, 12\n    CONTROL \"&Programme\", IDD_PROGRAMS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 43, 60, 12\n    CONTROL \"Doku&mente\", IDD_DOCS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 55, 60, 12\n    CONTROL \"&Andere Dateien\", IDD_OTHER, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 67, 60, 12\n    CONTROL \"Zeige Versteckte/&Systemdateien\", IDD_SHOWHIDDEN, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 5, 85, 145, 12\n    CONTROL \"Zeige Symbolische l&inks\", IDD_SHOWJUNCTION, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 5, 97, 147, 12\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 6, 40, 14\n    CONTROL \"Abbrechen\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 23, 40, 14\n    CONTROL \"&Hilfe\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 43, 40, 14\nEND\n\n\nCONFIRMDLG DIALOG 20, 20, 283, 93\nCAPTION \"Bestätigen\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Bestätigung einholen vor\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_TABSTOP | WS_CHILD, 5, 3, 223, 86\n    CONTROL \"Löschen von &Dateien\", IDD_DELETE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 15, 214, 12\n    CONTROL \"Löschen von &Verzeichnissen\", IDD_SUBDEL, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 27, 214, 12\n    CONTROL \"Ü&berschreiben von Dateien\", IDD_REPLACE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 39, 214, 12\n    CONTROL \"Ausführen von &Mausaktionen\", IDD_MOUSE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 51, 214, 12\n    CONTROL \"Ausführen von Da&tenträgerbefehlen\", IDD_CONFIG, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 63, 214, 12\n    CONTROL \"Ändern von &System-, versteckten, schreibgeschützten Dateien\", IDD_READONLY, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 75, 218, 12\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 239, 6, 40, 14\n    CONTROL \"Abbrechen\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 239, 23, 40, 14\n    CONTROL \"&Hilfe\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 239, 44, 40, 14\nEND\n\nDMSTATUSDLG DIALOG 20, 20, 250, 46\nCAPTION \"Verschieben...\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"\", IDD_STATUS, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD , 5, 5, 49, 10\n    CONTROL \"\", IDD_NAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 55, 5, 192, 10\n    CONTROL \"Nach:\", IDD_TOSTATUS, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 5, 15, 25, 10\n    CONTROL \"\", IDD_TONAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 55, 15, 192, 10\n    CONTROL \"Abbrechen\", IDCANCEL, \"button\", WS_CHILD | BS_DEFPUSHBUTTON, 200, 28, 40, 14\nEND\n\nPRTDLG DIALOG 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Datei wird gedruckt...\", -1, \"static\", SS_CENTER | WS_GROUP | WS_CHILD, 4, 6, 120, 12\n    CONTROL \"\", IDD_TEXT, \"static\", SS_CENTER | SS_NOPREFIX | WS_GROUP | WS_CHILD, 4, 20, 120, 12\n    CONTROL \"Abbrechen\", 2, \"button\", BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP | WS_CHILD, 38, 40, 43, 14\nEND\n\n\nLFNTOFATDLG DIALOG 11, 28, 251, 76\nCAPTION \"Dateiname auswählen\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL \"Der Pfad entspricht nicht den Richtlinien für Dateinamen im FAT-Format. Geben Sie bitte einen neuen Namen ein.\", 99, \"static\", SS_LEFT | WS_CHILD, 5, 4, 190, 24\n    CONTROL \"&Neuer Dateiname:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 56, 61, 19\n    CONTROL \"\", IDD_TO, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 68, 55, 130, 12\n    CONTROL \"Ursprungspfad:\", -1, \"static\", SS_RIGHT | WS_CHILD, 15, 28, 50, 11\n    CONTROL \"\", IDD_FROM, \"edit\", ES_READONLY | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_CHILD, 68, 28, 130, 12\n    CONTROL \"Nach Verzeichnis:\", -1, \"static\", SS_RIGHT | WS_CHILD, 6, 42, 59, 11\n    CONTROL \"\", IDD_DIR, \"edit\", ES_READONLY | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_CHILD, 68, 42, 130, 12\n    CONTROL \"OK\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 4, 40, 14\n    CONTROL \"Abbrechen\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 20, 40, 14\n    CONTROL \"&Hilfe\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 36, 40, 14\nEND\n\n\nATTRIBSDLGDIR DIALOG 23, 13, 250, 119\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Eigenschaften für %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\", IDOK, 194, 6, 50, 14, WS_GROUP\n    PUSHBUTTON      \"Abbrechen\", IDCANCEL, 194, 23, 50, 14\n    PUSHBUTTON      \"&Hilfe\", IDD_HELP, 194, 43, 50, 14\n    CONTROL         \"&Dateiname:\", IDD_NAMELABEL, \"Static\", SS_LEFTNOWORDWRAP, 5, 5, 55, 10\n    EDITTEXT        IDD_NAME, 60, 5, 130, 10, ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Pfad:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP, 5, 16, 51, 10\n    EDITTEXT        IDD_DIR, 60, 16, 130, 10, ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Letzte Änderung:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP, 5, 27, 62, 10\n    CONTROL         \"\", IDD_DATE, \"Static\", SS_LEFTNOWORDWRAP, 60, 27, 130, 10\n    CONTROL         \"Größe:\", IDD_SIZELABEL, \"Static\", SS_LEFTNOWORDWRAP, 5, 38, 45, 10\n    CONTROL         \"\", IDD_SIZE, \"Static\", SS_LEFTNOWORDWRAP, 60, 38, 128, 10\n    GROUPBOX        \"Attribute\", IDD_TEXT, 4, 52, 120, 54\n    CONTROL         \"&Schreibschutz\", IDD_READONLY, \"Button\", BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP, 9, 64, 52, 12\n    CONTROL         \"V&ersteckt\", IDD_HIDDEN, \"Button\", BS_AUTOCHECKBOX, 71, 64, 49, 12\n    CONTROL         \"&Archiv\", IDD_ARCHIVE, \"Button\", BS_AUTOCHECKBOX, 9, 76, 52, 12\n    CONTROL         \"&System\", IDD_SYSTEM, \"Button\", BS_AUTOCHECKBOX, 71, 76, 49, 12\n    CONTROL         \"&Komprimiert\", IDD_COMPRESSED, \"button\", BS_AUTOCHECKBOX, 9, 88, 52, 12\nEND\n\n\n#ifdef ASSOC\nASSOCIATEDLG DIALOGEX 20, 20, 255, 129\n#else\nASSOCIATEDLG DIALOGEX 20, 20, 255, 118\n#endif\n\nCAPTION \"Zuordnen\"\nSTYLE WS_BORDER | WS_THICKFRAME | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE { 0, 0 }\n    LTEXT           \"Dateien mit &Erweiterung:\", -1, 6, 7, 81, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    COMBOBOX        IDD_EXT, 90, 5, 44, 55, CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Zuordnen zu Dateityp:\", -1, 6, 30, 108, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    EDITTEXT        IDD_COMMAND, 6, 42, 172, 12, ES_AUTOHSCROLL\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    LISTBOX         IDD_CLASSLIST, 10, 55, 167, 62, LBS_SORT | WS_VSCROLL | WS_TABSTOP\n#ifdef ASSOC\n#ifdef ASSOCHEAD\n                    | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS\n#endif\n#endif\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    PUSHBUTTON      \"&Durchsuchen...\", IDD_BROWSE, 130, 24, 47, 14\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"OK\", IDOK, 187, 6, 62, 14, WS_GROUP\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    PUSHBUTTON      \"Abbrechen\", IDCANCEL, 187, 23, 62, 14\n    DIALOGRESIZECONTROL { 100, 30, 0, 0 }\n    PUSHBUTTON      \"&Neuer Dateityp...\", IDD_NEW, 187, 42, 62, 14\n    DIALOGRESIZECONTROL { 100, 40, 0, 0 }\n    PUSHBUTTON      \"&Typ bearbeiten...\", IDD_CONFIG, 187, 59, 62, 14\n    DIALOGRESIZECONTROL { 100, 50, 0, 0 }\n    PUSHBUTTON      \"Typ &löschen\", IDD_DELETE, 187, 76, 62, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    PUSHBUTTON      \"&Hilfe\", IDD_HELP, 187, 95, 62, 14\n\n#ifdef ASSOC\n    AUTOCHECKBOX    \"Nur die &gebräuchlichsten Dateitypen und Erweiterungen\", IDD_SYSTEM,\n                    6, 117, 160, 10, WS_GROUP\n#endif\nEND\n\nASSOCIATEFILEDLG DIALOG 18, 14, 290, 224\nCAPTION \"Dateitypeditor\"\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Datei&typ:\", IDD_DESCTEXT, 5, 6, 33, 8\n    EDITTEXT        IDD_DESC, 42, 5, 95, 12, ES_AUTOHSCROLL\n    GROUPBOX        \"&Vorgang: \", -1, 5, 22, 235, 126, WS_GROUP\n    COMBOBOX        IDD_ACTION, 46, 22, 48, 33, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Befehl:\", IDD_COMMANDTEXT, 9, 42, 38, 8\n    EDITTEXT        IDD_COMMAND, 47, 39, 111, 12, ES_AUTOHSCROLL\n    PUSHBUTTON      \"Durch&suchen...\", IDD_BROWSE, 164, 38, 57, 14\n    AUTOCHECKBOX    \"Verwendet &DDE\", IDD_DDE, 10, 57, 63, 10, WS_GROUP\n    LTEXT           \"DDE-Na&chricht:\", IDD_DDEMESGTEXT, 22, 72, 50, 8\n    EDITTEXT        IDD_DDEMESG, 105, 70, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"DDE Anwendung &nicht gestartet:\", IDD_DDENOTRUNTEXT, 22, 84, 82, 19\n    LTEXT           \"(optional)\", IDD_DDEOPTIONALTEXT, 207, 90, 32, 8\n    EDITTEXT        IDD_DDENOTRUN, 105, 88, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"&Anwendung:\", IDD_DDEAPPTEXT, 22, 109, 39, 8\n    EDITTEXT        IDD_DDEAPP, 105, 107, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"The&ma:\", IDD_DDETOPICTEXT, 23, 127, 21, 8\n    EDITTEXT        IDD_DDETOPIC, 105, 125, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"Neue E&rweiterung:\", -1, 11, 179, 46, 19\n    EDITTEXT        IDD_EXT, 60, 183, 36, 12, ES_AUTOHSCROLL\n    PUSHBUTTON      \"Hin&zufügen ->\", IDD_ADD, 101, 174, 53, 14\n    PUSHBUTTON      \"<- &Entfernen\", IDD_DELETE, 101, 191, 53, 14\n    LTEXT           \"Er&weiterung:\", -1, 161, 162, 41, 8\n    LISTBOX         IDD_EXTLIST, 161, 172, 65, 40, LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Diesem Dateityp zugeordnete Erweiterungen:\", IDD_EXTTEXT, 5, 154, 235, 66\n    DEFPUSHBUTTON   \"OK\", IDOK, 244, 6, 40, 14\n    PUSHBUTTON      \"Abbrechen\", IDCANCEL, 244, 23, 40, 14\n    PUSHBUTTON      \"&Hilfe\", IDD_HELP, 244, 40, 40, 14\nEND\n\nGOTODIRDLG DIALOGEX 13, 54, 464, 125\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_CLIPCHILDREN | WS_MAXIMIZEBOX\nCAPTION \"Verzeichniswechsel\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE    { 0, 0 }\n    LTEXT           \"&Gehe zu Verzeichnis:\", -1, 6, 3, 100, 8\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"\", IDD_GOTODIR, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 6, 13, 406, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    LISTBOX         IDD_GOTOLIST, 6, 25, 406, 95, WS_VSCROLL | WS_TABSTOP\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"OK\", IDOK, 418, 13, 40, 14, WS_GROUP\n    DIALOGRESIZECONTROL { 100, 3, 0, 0 }\n    PUSHBUTTON      \"Abbrechen\", IDCANCEL, 418, 30, 40, 14, WS_GROUP\nEND\n\nPREFDLG DIALOG 20, 20, 229, 140\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Präferenzen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n   CONTROL \"Editorpfad:\", IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 17, 37, 14\n   CONTROL \"\", IDD_EDITOR, \"edit\", ES_AUTOHSCROLL | ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 54, 14, 140, 14\n   CONTROL \"...\", IDC_EDITOR, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 195, 14, 20, 14\n   CONTROL \"Visuelles Design der Toolbar abschalten\", IDC_VSTYLE, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 38, 150, 14\n   CONTROL \"Erstelle beim Starten einen &Goto-Index\", IDC_GOTO, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 50, 150, 14\n   CONTROL \"Mirror application content\", IDC_MIRROR, \"button\", BS_AUTOCHECKBOX | WS_CHILD /* | WS_VISIBLE | WS_TABSTOP */, 0, 0, 0, 0    // invisible, not a tabsop; here to satisfy VerifyResources tool.\n   CONTROL \"Sprache:\", IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 70, 35, 14\n   CONTROL \"\", IDC_LANGCB, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 50, 68, 150, 54\n   CONTROL \"Einige Einstellungen werden nur durch erneutes Starten\\ndes Programmes wirksam.\",\n            IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 90, 180, 20\n   CONTROL \"OK\", IDOK, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 47, 120, 40, 14\n   CONTROL \"Abbrechen\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 95, 120, 40, 14\n   CONTROL \"&Hilfe\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 143, 120, 40, 14\nEND\n\nABOUTDLG DIALOG 13, 54, 250, 75\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Über Datei-Manager\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            APPICON, -1, 6, 6, 32, 32\n    LTEXT           \"Windows Datei-Manager\", -1, 36, 6, 200, 8\n    CONTROL         \"TO BE SET\", IDD_VERTEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 36, 18, 200, 8\n    LTEXT           \"Copyright (c) Microsoft Corporation. Alle Rechte vorbehalten.\", -1, 36, 30, 200, 8\n    LTEXT           \"Lizenziert unter der MIT-Lizenz.\", -1, 36, 42, 200, 8\n    LTEXT           \"https://github.com/Microsoft/winfile\", -1, 36, 54, 200, 8\n    DEFPUSHBUTTON   \"OK\", IDOK, 200, 50, 40, 14\nEND\n"
  },
  {
    "path": "src/lang/winfile_en-US.dlg",
    "content": "/********************************************************************\n\n   winfile.dlg\n\n   Copyright (c) Microsoft Corporation. All rights reserved.\n   Licensed under the MIT License.\n\n********************************************************************/\n\n#include \"dlgs.h\"\n#include \"resize.h\"\n\nCANCELDLG DIALOG 77, 27, 160, 65\nSTYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formatting Disk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\", IDD_TEXT1, 15, 36, 131, 8\n    CONTROL         \"\", IDD_GASGAUGE, \"Static\", SS_BLACKFRAME, 15, 10, 131, 22\n    PUSHBUTTON      \"Hide\", IDD_HIDE, 38, 48, 40, 14\n    PUSHBUTTON      \"Cancel\", IDCANCEL, 82, 48, 40, 14\nEND\n\n\nSEARCHPROGDLG DIALOG 77, 109, 174, 75\nSTYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Searching Disk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n\n    CONTROL \"Search for:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 60, 10\n    CONTROL \"\", IDD_NAME, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 50, 5, 120, 10\n    CONTROL \"Since:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 15, 60, 10\n    CONTROL \"\", IDD_DATE, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 50, 15, 120, 10\n    CONTROL \"Starting from:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 25, 70, 10\n    CONTROL \"\", IDD_PATH, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 50, 25, 120, 10\n    CONTROL \"Directories read:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 35, 60, 10\n    CONTROL \"\", IDD_TIME, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 66, 35, 100, 10\n    CONTROL \"Matches found:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 45, 60, 10\n    CONTROL \"\", IDD_FOUND, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 66, 45, 100, 10\n\n    PUSHBUTTON      \"Hide\", IDD_HIDE, 45, 58, 40, 14\n    PUSHBUTTON      \"Cancel\", IDCANCEL, 89, 58, 40, 14\nEND\n\n\nFONTDLG DIALOG 13, 54, 264, 154\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Font\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Font:\", stc1, 6, 3, 40, 9\n    COMBOBOX        cmb1, 6, 13, 94, 54, CBS_SIMPLE | CBS_AUTOHSCROLL |\n                    CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED\n    LTEXT           \"Font St&yle:\", stc2, 108, 3, 44, 9\n    COMBOBOX        cmb2, 108, 13, 64, 54, CBS_SIMPLE | WS_VSCROLL |\n                    WS_TABSTOP\n    LTEXT           \"&Size:\", stc3, 179, 3, 30, 9\n    COMBOBOX        cmb3, 179, 13, 32, 54, CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED | CBS_SORT\n\n    GROUPBOX        \"Effects\", grp1, 6, 73, 84, 61, WS_GROUP\n    CONTROL         \"Stri&keout\", chx1, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 10, 83, 49, 10\n    CONTROL         \"&Underline\", chx2, \"Button\", BS_AUTOCHECKBOX, 10, 95,\n                    51, 10\n\n    CONTROL         \"Display &Lowercase for FAT Drives\", chx3, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 6, 127, 252, 10\n\n    CONTROL         \"Display Lowercase for All &Drives\", chx4, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 6, 139, 252, 10\n\n    LTEXT           \"&Color:\", stc4, 10, 107, 30, 9\n    COMBOBOX        cmb4, 10, 117, 75, 50, CBS_DROPDOWNLIST |\n                    CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS |\n                    WS_BORDER | WS_VSCROLL\n\n    DEFPUSHBUTTON   \"OK\", IDOK, 218, 6, 40, 14, WS_GROUP\n    PUSHBUTTON      \"Cancel\", IDCANCEL, 218, 23, 40, 14, WS_GROUP\n    PUSHBUTTON      \"&Apply\", psh3, 218, 40, 40, 14, WS_GROUP\n    PUSHBUTTON      \"&Help\", pshHelp, 218, 57, 40, 14, WS_GROUP\n    GROUPBOX        \"Sample\", grp2, 6, 72, 252, 49, WS_GROUP\n    CTEXT           \"\", stc6, 10, 137, 1, 2,\n                    SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBbYyZz\", stc5, 10, 81, 243, 37, SS_NOPREFIX | NOT\n                    WS_VISIBLE\nEND\n\nDRIVEDLG DIALOGEX 11, 31, 201, 86\nCAPTION \"Select Drive\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_THICKFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 0 }\n    CONTROL \"&Drives:\", IDD_DRIVE1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 41, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    CONTROL \"\", IDD_DRIVE, \"listbox\", LBS_NOTIFY | LBS_SORT | LBS_STANDARD | LBS_USETABSTOPS | WS_BORDER | WS_VSCROLL | WS_CHILD | WS_TABSTOP, 5, 16, 140, 60\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"Cancel\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 44, 40, 14\nEND\n\nRUNDLG DIALOGEX 15, 12, 210, 63\nCAPTION \"Run\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 3, 6, 162, 10\n    DIALOGRESIZECONTROL { 0, 10, 100, 0 }\n    CONTROL \"&Command Line:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_GROUP | WS_CHILD, 3, 18, 60, 10\n    DIALOGRESIZECONTROL { 0, 20, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 3, 29, 134, 12\n    DIALOGRESIZECONTROL { 0, 100, 0, 0 }\n    CONTROL \"Run &Minimized\", IDD_LOAD, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 3, 45, 71, 12\n    DIALOGRESIZECONTROL { 50, 100, 0, 0 }\n    CONTROL \"Run as &Admin\", IDD_RUNAS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 78, 45, 71, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"Cancel\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 23, 40, 14\n//    CONTROL \"&Browse...\", IDD_BROWSE, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 40, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 43, 40, 14\nEND\n\nSELECTDLG DIALOGEX 15, 12, 116, 83\nCAPTION \"Select Files\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    CONTROL \"&File(s):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 16, 60, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 5, 29, 60, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"&Select\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"&Deselect\", IDYES, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 20, 0, 0 }\n    CONTROL \"Cancel\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 40, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 63, 40, 14\nEND\n\n\n\nCONFIRMREPLACE DIALOG 10, 20, 245, 95\nCAPTION \"Confirm File Replace\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Replace File:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 12, 49, 10\n    CONTROL \"\", IDD_TO, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 75, 12, 165, 10\n    CONTROL \"\", IDD_DATE1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 75, 22, 170, 10\n    CONTROL \"With File:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 34, 49, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 75, 34, 165, 10\n    CONTROL \"\", IDD_DATE2, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 75, 44, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 54, 203, 10\n    CONTROL \"&Yes\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 73, 40, 14\n    CONTROL \"Yes to &All\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 73, 40, 14\n    CONTROL \"&No\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 73, 40, 14\n    CONTROL \"Cancel\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 73, 40, 14\nEND\n\nCONFIRMDELETE DIALOG 10, 20, 245, 60\nCAPTION \"Confirm File Delete\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Delete File:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 44, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 70, 18, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&Yes\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"Yes to &All\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"&No\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"Cancel\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\n\nCONFIRMNOACCESS DIALOG 10, 20, 260, 70\nCAPTION \"Confirm: Ignore file or directory and continue\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Access is denied, ignore:\", IDD_TYPE, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 10, 203, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 108, 10, 122, 10\n    CONTROL \"You do not have permission or the file is in use.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 25, 230, 10\n    CONTROL \"Choose yes to ignore this file and continue operation.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 35, 180, 10\n    CONTROL \"&Yes\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 52, 40, 14\n    CONTROL \"Yes to &All\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 52, 40, 14\n    CONTROL \"&No\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 52, 40, 14\n    CONTROL \"Cancel\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 52, 40, 14\nEND\n\n\nCONFIRMNOACCESSDEST DIALOG 10, 20, 245, 60\nCAPTION \"Confirm: Ignore file or directory and continue\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"No access on target, ignore:\", IDD_TYPE, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 13, 203, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 124, 13, 106, 10\n    CONTROL \"Click yes to ignore this file and continue operation.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 23, 180, 10\n    CONTROL \"&Yes\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"Yes to &All\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"&No\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"Cancel\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\n\nCONFIRMRMDIR DIALOG 10, 20, 245, 60\nCAPTION \"Confirm Directory Delete\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Delete Directory:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 55, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 80, 18, 160, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&Yes\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"Yes to &All\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"&No\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"Cancel\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\nCONFIRMMOVE DIALOG 10, 22, 245, 60\nCAPTION \"Confirm File Move\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Move File:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 44, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 70, 18, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&Yes\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"Yes to &All\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"&No\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"Cancel\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\nCONFIRMRENAME DIALOG 10, 22, 245, 60\nCAPTION \"Confirm File Rename\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Rename File:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 54, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 80, 18, 160, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&Yes\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"Yes to &All\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"&No\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"Cancel\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\n\nMYPRINTDLG DIALOGEX 20, 20, 240, 63\nCAPTION \"Print\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 6, 193, 10\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL \"&Print:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 20, 23, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_FROM, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 27, 18, 160, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\",IDD_STATUS, \"static\", WS_CHILD | SS_LEFTNOWORDWRAP | SS_NOPREFIX, 3, 36, 190, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"Cancel\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 43, 40, 14\nEND\n\n\nSEARCHDLG DIALOGEX 20, 20, 283, 63\nCAPTION \"Search\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL \"&Search For:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 6, 45, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 5, 180, 12\n    DIALOGRESIZECONTROL { 0, 33, 0, 0 }\n    CONTROL \"Sin&ce:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 21, 45, 12\n    DIALOGRESIZECONTROL { 0, 33, 100, 0 }\n    CONTROL \"\", IDD_DATE, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 20, 180, 12\n    DIALOGRESIZECONTROL { 0, 67, 0, 0 }\n    CONTROL \"Start &From:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 36, 45, 12\n    DIALOGRESIZECONTROL { 0, 67, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 35, 180, 12\n    DIALOGRESIZECONTROL { 0, 100, 0, 0 }\n    CONTROL \"S&earch All Subdirectories\", IDD_SEARCHALL, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 52, 49, 100, 12\n    DIALOGRESIZECONTROL { 50, 100, 0, 0 }\n    CONTROL \"S&ubdirs in Results\", IDD_INCLUDEDIRS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 162, 49, 80, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 25, 0, 0 }\n    CONTROL \"Cancel\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 43, 40, 14\nEND\n\n\nMOVECOPYDLG DIALOGEX 47, 59, 381, 64\nSTYLE WS_BORDER | WS_THICKFRAME | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN\nCAPTION \"Move\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"Current Directory: N\", IDD_DIR, \"Static\", SS_SIMPLE | SS_NOPREFIX, 3, 6, 332, 10\n\n    DIALOGRESIZECONTROL { 0, 25, 0, 0 }\n    CONTROL         \"&To:\", IDD_KK_TEXTTO, \"Static\", SS_LEFTNOWORDWRAP, 3, 33, 20, 10\n\n    DIALOGRESIZECONTROL { 0, 25, 100, 0}\n    EDITTEXT        IDD_TO, 37, 32, 288, 12, ES_AUTOHSCROLL\n\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL         \"\", IDD_STATUS, \"Static\", SS_SIMPLE | SS_NOPREFIX, 3, 49, 40, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"\", IDD_NAME, \"Static\", SS_SIMPLE | SS_NOPREFIX,  45, 49, 290, 10\n\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"OK\", IDOK, 335, 6, 40, 14\n\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    PUSHBUTTON      \"Cancel\", IDCANCEL, 335, 23, 40, 14\n\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    PUSHBUTTON      \"&Help\", IDD_HELP, 335, 40, 40, 14\n\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL         \"&From:\", IDD_KK_TEXTFROM, \"Static\", SS_LEFTNOWORDWRAP, 3, 19, 20, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    EDITTEXT        IDD_FROM, 37, 18, 288, 12, ES_AUTOHSCROLL\n\n    DIALOGRESIZECONTROL { 0, 50, 0, 0 }\n    CONTROL         \"\", IDD_DIRS, \"Static\", SS_LEFTNOWORDWRAP, 3, 49, 330, 10\nEND\n\n\n\nDELETEDLG DIALOGEX 20, 20, 246, 64\nCAPTION \"Delete\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"Current Directory: C\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 5, 193, 10\n    CONTROL \"De&lete:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 20, 35, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_FROM, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 40, 19, 155, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_STATUS, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 3, 35, 35, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 40, 35, 155, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"Cancel\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 40, 40, 14\nEND\n\nMULTIPLEATTRIBSDLG DIALOG 20, 20, 206, 88\nCAPTION \"Properties\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"%d Files Selected\", IDD_TEXT1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 144, 10\n    CONTROL \"Total %s bytes\", IDD_TEXT2, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 16, 144, 10\n    CONTROL \"Attributes\", -1, \"button\", BS_GROUPBOX | WS_CHILD, 5, 29, 120, 54\n    CONTROL \"&Read Only\", IDD_READONLY, \"button\", WS_GROUP | WS_TABSTOP | BS_AUTOCHECKBOX | WS_CHILD, 10, 40, 52, 12\n    CONTROL \"H&idden\", IDD_HIDDEN, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 72, 40, 52, 12\n    CONTROL \"&Archive\", IDD_ARCHIVE, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 10, 52, 52, 12\n    CONTROL \"&System\", IDD_SYSTEM, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 72, 52, 52, 12\n    CONTROL \"&Compressed\", IDD_COMPRESSED, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 10, 64, 52, 12\n    CONTROL \"&Encrypted\", IDD_ENCRYPTED, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_DISABLED, 72, 64, 52, 12\n    CONTROL \"OK\", 1, \"button\", WS_GROUP | BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 6, 50, 14\n    CONTROL \"Cancel\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 23, 50, 14\n    CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 43, 50, 14\nEND\n\n\nATTRIBSDLG DIALOG 23, 13, 259, 229\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Properties for %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\", IDOK, 204, 6, 50, 14, WS_GROUP\n    PUSHBUTTON      \"Cancel\", IDCANCEL, 204, 23, 50, 14\n    PUSHBUTTON      \"&Help\", IDD_HELP, 204, 40, 50, 14\n\n    CONTROL         \"&File Name:\", IDD_NAMELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 5, 55, 10\n    EDITTEXT        IDD_NAME, 72, 5, 132, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"&Path:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 16, 51, 10\n    EDITTEXT        IDD_DIR, 72, 16, 132, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"Last Change:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 27, 62, 10\n    CONTROL         \"\", IDD_DATE, \"Static\", SS_LEFTNOWORDWRAP, 72, 27, 132, 10\n    CONTROL         \"Version:\", IDD_VERLABEL, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 38, 45, 10\n    CONTROL         \"Not marked\", IDD_VERSION, \"Static\", SS_LEFTNOWORDWRAP |\n                    SS_NOPREFIX, 72, 38, 132, 10\n    LTEXT           \"Cop&yright:\", -1, 5, 49, 45, 10\n    CONTROL         \"Not marked\", IDD_COPYRIGHT, \"Edit\", ES_AUTOHSCROLL |\n                    ES_READONLY | WS_TABSTOP, 72, 49, 132, 10\n    CONTROL         \"Size:\", IDD_SIZELABEL, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 60, 45, 10\n    CONTROL         \"\", IDD_SIZE, \"Static\", SS_LEFTNOWORDWRAP, 72, 60, 132, 10\n    CONTROL         \"Compressed Size:\", IDD_CSIZELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 71, 62, 10\n    CONTROL         \"\", IDD_CSIZE, \"Static\", SS_LEFTNOWORDWRAP, 72, 71, 132, 10\n    CONTROL         \"Compression Ratio:\", IDD_CRATIOLABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 82, 62, 10\n    CONTROL         \"\", IDD_CRATIO, \"Static\", SS_LEFTNOWORDWRAP, 72, 82, 132, 10\n    GROUPBOX        \"Attributes\", IDD_TEXT, 4, 96, 120, 54\n    CONTROL         \"&Read Only\", IDD_READONLY, \"Button\", BS_AUTOCHECKBOX |\n                    WS_GROUP | WS_TABSTOP, 9, 108, 52, 12\n    CONTROL         \"H&idden\", IDD_HIDDEN, \"Button\", BS_AUTOCHECKBOX,\n                    71, 108, 49, 12\n    CONTROL         \"&Archive\", IDD_ARCHIVE, \"Button\", BS_AUTOCHECKBOX,\n                    9, 120, 52, 12\n    CONTROL         \"&System\", IDD_SYSTEM, \"Button\", BS_AUTOCHECKBOX,\n                    71, 120, 49, 12\n    CONTROL         \"&Compressed\", IDD_COMPRESSED, \"Button\", BS_AUTOCHECKBOX,\n                    9, 132, 52, 12\n    GROUPBOX        \"&Version Information\", IDD_VERSION_FRAME, 4, 155, 250, 70\n    LISTBOX         IDD_VERSION_KEY, 9, 168, 91, 58, LBS_SORT |\n                    LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        IDD_VERSION_VALUE, 110, 168, 138, 58, ES_MULTILINE |\n                    ES_READONLY | WS_VSCROLL\nEND\n\n\nCOMPRESSPROGDLG DIALOG 123, 60, 207, 117\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Compress Files Progress\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"File being compressed:\", -1, 6, 8, 79, 8\n    LTEXT           \"filename.xxx\", IDD_COMPRESS_FILE, 86, 8, 90, 8\n    LTEXT           \"Directory:\", -1, 6, 20, 39, 8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\", IDD_COMPRESS_DIR, 43, \n                    20, 150, 8\n    LTEXT           \"Directories compressed:\", -1, 6, 32, 102, 8\n    LTEXT           \"1,888,888,999\", IDD_COMPRESS_TDIRS, 90, 32, 60, 8\n    LTEXT           \"Files compressed:\", -1, 6, 44, 62, 8\n    LTEXT           \"1,888,888,999\", IDD_COMPRESS_TFILES, 74, 44, 58, 8\n    LTEXT           \"Total size of files before compression:\", -1, 6, 56, \n                    124, 8\n    LTEXT           \"9,999,999,999,999\", IDD_COMPRESS_USIZE, 134, 56, 68, 8\n    LTEXT           \"Total size of files after compression:\", -1, 6, 68, 123, \n                    8\n    LTEXT           \"9,999,999,999,999\", IDD_COMPRESS_CSIZE, 134, 69, 68, 8\n    LTEXT           \"File compression ratio:\", -1, 6, 80, 78, 8\n    LTEXT           \"100%\", IDD_COMPRESS_RATIO, 91, 80, 27, 8\n    PUSHBUTTON      \"Cancel\", IDCANCEL, 76, 97, 55, 14\nEND\n\nUNCOMPRESSPROGDLG DIALOG 114, 62, 197, 84\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Uncompress Files Progress\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"File being uncompressed:\", -1, 6, 8, 83, 8\n    LTEXT           \"filename.xxx\", IDD_UNCOMPRESS_FILE, 93, 8, 66, 8\n    LTEXT           \"Directory:\", -1, 6, 20, 39, 8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\", \n                    IDD_UNCOMPRESS_DIR, 45, 20, 144, 8\n    LTEXT           \"Directories uncompressed:\", -1, 6, 32, 91, 8\n    LTEXT           \"1,999,999,999\", IDD_UNCOMPRESS_TDIRS, 99, 32, 70, 8\n    LTEXT           \"Files uncompressed:\", -1, 6, 44, 86, 8\n    LTEXT           \"1,999,999,999\", IDD_UNCOMPRESS_TFILES, 92, 44, 78, 8\n    PUSHBUTTON      \"Cancel\", IDCANCEL, 74, 64, 49, 14\nEND\n\nCOMPRESSERRDLG DIALOG 11, 28, 245, 65\nCAPTION \"Compression Error\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    ICON 32515, -1, 8, 8, 21, 20\n    LTEXT \"\", IDD_TEXT1, 35, 8, 190, 20\n\n    DEFPUSHBUTTON \"&Ignore\",     IDIGNORE,      33,  47, 40, 14, WS_TABSTOP | WS_CHILD | WS_GROUP\n    PUSHBUTTON    \"I&gnore All\", IDD_IGNOREALL, 79,  47, 40, 14, WS_TABSTOP | WS_CHILD\n    PUSHBUTTON    \"&Retry\",      IDRETRY,       125, 47, 40, 14, WS_TABSTOP | WS_CHILD\n    PUSHBUTTON    \"&Abort\",      IDABORT,       171, 47, 40, 14, WS_TABSTOP | WS_CHILD\nEND\n\n\n\nMAKEDIRDLG DIALOGEX 20, 20, 200, 63\nCAPTION \"Create Directory\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 6, 154, 10\n    CONTROL \"&Name:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 23, 20, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 30, 22, 90, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\",IDD_STATUS, \"static\", WS_CHILD | SS_NOPREFIX | SS_LEFTNOWORDWRAP, 3, 46, 150, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"Cancel\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 43, 40, 14\nEND\n\n\nCHOOSEDRIVEDLG DIALOG 20, 20, 157, 64\nCAPTION \"Copy Disk\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"&Source In:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 8, 50, 10\n    CONTROL \"\", IDD_DRIVE1, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 55, 6, 40, 37\n    CONTROL \"&Destination In:\", IDD_FLAGS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 22, 50, 10\n    CONTROL \"\", IDD_DRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 55, 20, 40, 37\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 6, 40, 14\n    CONTROL \"Cancel\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 23, 40, 14\n    CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 43, 40, 14\nEND\n\n\nDISKCOPYPROGRESSDLG DIALOG 30, 30, 130, 55\nCAPTION \"Copying Disk\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE | DS_SYSMODAL\nBEGIN\n    CONTROL \"Now Copying disk in \", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 5, 130, 10\n    CONTROL \"Drive A:\", IDD_DRIVE, \"static\", SS_CENTER | WS_CHILD, 0, 15, 130, 10\n    CONTROL \"Reading the source disk\", IDD_PROGRESS, \"static\", SS_CENTER | WS_CHILD, 0, 26, 130, 10\n    CONTROL \"Cancel\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 44, 39, 44, 14\nEND\n\nDISKLABELDLG DIALOGEX 20, 20, 161, 63\nCAPTION \"Label Disk\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    CONTROL \"&Label:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 15, 30, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 5, 26, 100, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"Cancel\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 43, 40, 14\nEND\n\nFORMATDLG DIALOG 11, 28, 183, 96\nCAPTION \"Format Disk\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 6, 40, 14\n    CONTROL \"Cancel\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 23, 40, 14\n    CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 43, 40, 14\n    CONTROL \"&Disk In:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 7, 49, 10\n    CONTROL \"\", IDD_DRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 4, 65, 40\n    CONTROL \"&Capacity:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 20, 49, 10\n    CONTROL \"\", IDD_HIGHCAP, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 19, 65, 40\n    CONTROL \"Options\", 102, \"button\", BS_GROUPBOX | WS_GROUP | WS_CHILD, 5, 39, 115, 53\n    CONTROL \"&Label:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 11, 51, 39, 10\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 40, 49, 63, 12\n//    CONTROL \"&Make System Disk\", IDD_MAKESYS, \"button\", BS_CHECKBOX | BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD | WS_DISABLED, 11, 62, 90, 12\n    CONTROL \"&Quick Format\", IDD_VERIFY, \"button\", BS_CHECKBOX | BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 62, 90, 12\nEND\n\nFORMATSELECTDLG DIALOG 11, 28, 183, 44\nCAPTION \"Format Drive\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 6, 40, 14\n    CONTROL \"Cancel\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 23, 40, 14\n    CONTROL \"&Drive to format:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 7, 49, 10\n    CONTROL \"\", IDD_SELECTDRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 4, 65, 40\nEND\n\nFORMATPROGRESSDLG DIALOG 30, 30, 150, 50\nCAPTION \"Formatting Disk\"\nFONT 8, \"MS Shell Dlg\"\n//STYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE | DS_SYSMODAL\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE\nBEGIN\n    CONTROL \"Now formatting disk\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 5, 150, 10\n    CONTROL \"Initializing Drive...\", IDD_PROGRESS, \"static\", SS_CENTER | WS_CHILD, 0, 17, 150, 10\n    CONTROL \"Cancel\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 54, 30, 44, 14\nEND\n\n#if 0\nSYSDISKPROGRESSDLG DIALOG 30, 30, 174, 57\nCAPTION \"Make System Disk\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE\nBEGIN\n    CONTROL \"Now copying system files\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 6, 174, 8\n    CONTROL \"Press Cancel if you want to abort.\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 14, 174, 8\n    CONTROL \"Cancel\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 66, 39, 44, 14\nEND\n\nCONNECTDLG DIALOG 12, 28, 241, 135\nCAPTION \"Network Connections\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n  GROUPBOX \"New Connection\", -1, 5, 3, 170, 55, WS_CHILD\n\n  LTEXT \"&Network Path:\", -1, 10, 16, 55, 10\n  EDITTEXT, IDD_PATH, 65, 14, 100, 12, ES_AUTOHSCROLL | WS_GROUP | WS_TABSTOP\n  LTEXT \"D&rive:\", -1, 10, 30, 24, 10\n  COMBOBOX IDD_DRIVE, 65, 28, 40, 100, CBS_DROPDOWNLIST | WS_VSCROLL | WS_GROUP | WS_TABSTOP\n  LTEXT \"Pass&word:\", -1, 10, 44, 36, 10\n  EDITTEXT, IDD_PASSWORD, 65, 42, 100, 12, ES_AUTOHSCROLL | ES_PASSWORD | WS_GROUP | WS_TABSTOP\n\n  LTEXT \"Current Dri&ve Connections:\", -1, 5, 62, 120, 10\n  LISTBOX IDD_DRIVE1, 5, 73, 160, 60, LBS_SORT | LBS_NOTIFY | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_BORDER | WS_TABSTOP\n\n  DEFPUSHBUTTON \"C&lose\",  IDCANCEL, 190, 6, 45, 14, WS_GROUP | WS_TABSTOP\n  PUSHBUTTON \"&Connect\", IDOK, 190, 27, 45, 14, WS_TABSTOP\n  PUSHBUTTON \"&Previous...\", IDD_PREV, 190, 44, 45, 14, WS_TABSTOP\n  PUSHBUTTON \"&Browse...\", IDD_NETBROWSE, 190, 61, 45, 14, WS_GROUP | WS_TABSTOP\n  PUSHBUTTON \"&Disconnect\", IDD_DISCONNECT, 190, 78, 45, 14, WS_GROUP|WS_TABSTOP\n  PUSHBUTTON \"&Help\", IDD_HELP, 190, 95, 45, 14, WS_GROUP | WS_TABSTOP\nEND\n\nPREVIOUSDLG DIALOG 30, 30, 231, 98\nCAPTION \"Previous Network Connections\"\nFONT 8 \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Network &Paths:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 3, 69, 10\n    CONTROL \"\", IDD_PREV, \"listbox\", LBS_NOTIFY | LBS_SORT | LBS_STANDARD | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 3, 15, 172, 80\n    CONTROL \"&Select\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 6, 44, 14\n    CONTROL \"Close\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 24, 44, 14\n    CONTROL \"&Delete\", IDD_DELETE, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 41, 44, 14\n    CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 58, 44, 14\nEND\n#endif\n\nOTHERDLG DIALOG 20, 20, 174, 81\nCAPTION \"Partial Details\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Details\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_CHILD, 4, 4, 121, 74\n    CONTROL \"&Size\", IDD_SIZE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 15, 100, 12\n    CONTROL \"Last &Modification Date\", IDD_DATE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 27, 100, 12\n    CONTROL \"Last Modification &Time\", IDD_TIME, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 39, 100, 12\n    CONTROL \"&File Attributes\", IDD_FLAGS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 51, 100, 12\n    CONTROL \"MS-&DOS file names\", IDD_DOSNAMES, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 63, 100, 12\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 6, 40, 14\n    CONTROL \"Cancel\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 23, 40, 14\n    CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 60, 40, 14\nEND\n\n\nINCLUDEDLG DIALOG 20, 20, 157, 114\nCAPTION \"By File Type\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"&Name:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 8, 23, 10\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 34, 6, 65, 12\n    CONTROL \"File Type\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_CHILD, 5, 20, 94, 62\n    CONTROL \"&Directories\", IDD_DIR, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 31, 60, 12\n    CONTROL \"&Programs\", IDD_PROGRAMS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 43, 60, 12\n    CONTROL \"Docu&ments\", IDD_DOCS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 55, 60, 12\n    CONTROL \"&Other Files\", IDD_OTHER, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 67, 60, 12\n    CONTROL \"Show Hidden/&System Files\", IDD_SHOWHIDDEN, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 5, 85, 100, 12\n    CONTROL \"Show &Junction Points\", IDD_SHOWJUNCTION, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 5, 97, 100, 12\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 6, 40, 14\n    CONTROL \"Cancel\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 23, 40, 14\n    CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 43, 40, 14\nEND\n\n\nCONFIRMDLG DIALOG 20, 20, 214, 92\nCAPTION \"Confirmation\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Confirm On\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_TABSTOP | WS_CHILD, 5, 3, 158, 86\n    CONTROL \"File &Delete\", IDD_DELETE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 15, 80, 12\n    CONTROL \"D&irectory Delete\", IDD_SUBDEL, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 27, 80, 12\n    CONTROL \"File &Replace\", IDD_REPLACE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 39, 80, 12\n    CONTROL \"&Mouse Action\", IDD_MOUSE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 51, 80, 12\n    CONTROL \"Dis&k Commands\", IDD_CONFIG, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 63, 80, 12\n    CONTROL \"Modifying &System, Hidden, Read Only files\", IDD_READONLY, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 75, 150, 12\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 168, 6, 40, 14\n    CONTROL \"Cancel\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 168, 23, 40, 14\n    CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 168, 44, 40, 14\nEND\n\nDMSTATUSDLG DIALOG 20, 20, 250, 46\nCAPTION \"Moving...\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"\", IDD_STATUS, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD , 5, 5, 49, 10\n    CONTROL \"\", IDD_NAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 55, 5, 192, 10\n    CONTROL \"To:\", IDD_TOSTATUS, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 5, 15, 25, 10\n    CONTROL \"\", IDD_TONAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 55, 15, 192, 10\n    CONTROL \"Cancel\", IDCANCEL, \"button\", WS_CHILD | BS_DEFPUSHBUTTON, 200, 28, 40, 14\nEND\n\nPRTDLG DIALOG 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Printing File...\", -1, \"static\", SS_CENTER | WS_GROUP | WS_CHILD, 4, 6, 120, 12\n    CONTROL \"\", IDD_TEXT, \"static\", SS_CENTER | SS_NOPREFIX | WS_GROUP | WS_CHILD, 4, 20, 120, 12\n    CONTROL \"Cancel\", 2, \"button\", BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP | WS_CHILD, 44, 40, 32, 14\nEND\n\n\nLFNTOFATDLG DIALOG 11, 28, 250, 78\nCAPTION \"Select Filename\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL \"This path does not match the FAT format for filenames.  Please enter a new name.\", 99, \"static\", SS_LEFT | WS_CHILD, 5, 4, 190, 24\n    CONTROL \"&New Name:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 56, 50, 12\n    CONTROL \"\", IDD_TO, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 57, 55, 130, 12\n    CONTROL \"Original Path:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 28, 50, 11\n    CONTROL \"\", IDD_FROM, \"edit\", ES_READONLY | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_CHILD, 57, 28, 130, 12\n    CONTROL \"To Directory:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 42, 50, 11\n    CONTROL \"\", IDD_DIR, \"edit\", ES_READONLY | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_CHILD, 57, 42, 130, 12\n    CONTROL \"OK\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 4, 40, 14\n    CONTROL \"Cancel\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 20, 40, 14\n    CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 36, 40, 14\nEND\n\n\nATTRIBSDLGDIR DIALOG 23, 13, 250, 119\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Properties for %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\", IDOK, 194, 6, 50, 14, WS_GROUP\n    PUSHBUTTON      \"Cancel\", IDCANCEL, 194, 23, 50, 14\n    PUSHBUTTON      \"&Help\", IDD_HELP, 194, 43, 50, 14\n    CONTROL         \"&File Name:\", IDD_NAMELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 5, 55, 10\n    EDITTEXT        IDD_NAME, 60, 5, 134, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"&Path:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP, 5, 16,\n                    51, 10\n    EDITTEXT        IDD_DIR, 60, 16, 134, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"Last Change:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP, 5,\n                    27, 62, 10\n    CONTROL         \"\", IDD_DATE, \"Static\", SS_LEFTNOWORDWRAP, 60, 27, 97,\n                    10\n    CONTROL         \"Size:\", IDD_SIZELABEL, \"Static\", SS_LEFTNOWORDWRAP, 5,\n                    38, 45, 10\n    CONTROL         \"\", IDD_SIZE, \"Static\", SS_LEFTNOWORDWRAP, 60, 38, 90,\n                    10\n    GROUPBOX        \"Attributes\", IDD_TEXT, 4, 52, 120, 54\n    CONTROL         \"&Read Only\", IDD_READONLY, \"Button\", BS_AUTOCHECKBOX |\n                    WS_GROUP | WS_TABSTOP, 9, 64, 52, 12\n    CONTROL         \"H&idden\", IDD_HIDDEN, \"Button\", BS_AUTOCHECKBOX, 71, 64,\n                    49, 12\n    CONTROL         \"&Archive\", IDD_ARCHIVE, \"Button\", BS_AUTOCHECKBOX, 9,\n                    76, 52, 12\n    CONTROL         \"&System\", IDD_SYSTEM, \"Button\", BS_AUTOCHECKBOX, 71, 76,\n                    49, 12\n    CONTROL         \"&Compressed\", IDD_COMPRESSED, \"button\", BS_AUTOCHECKBOX,\n                    9, 88, 52, 12\nEND\n\n\n#ifdef ASSOC\nASSOCIATEDLG DIALOGEX 20, 20, 255, 129\n#else\nASSOCIATEDLG DIALOGEX 20, 20, 255, 118\n#endif\n\nCAPTION \"Associate\"\nSTYLE WS_BORDER | WS_THICKFRAME | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE { 0, 0 }\n    LTEXT           \"&Files with Extension:\", -1, 6, 7, 68, 8\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    COMBOBOX        IDD_EXT, 76, 5, 44, 55, CBS_DROPDOWN | CBS_SORT |\n                    CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n\n    LTEXT           \"&Associate With:\", -1, 6, 30, 92, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    EDITTEXT        IDD_COMMAND, 6, 42, 172, 12, ES_AUTOHSCROLL\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    LISTBOX         IDD_CLASSLIST, 11, 54, 167, 62, LBS_SORT | WS_VSCROLL | WS_TABSTOP\n#ifdef ASSOC\n#ifdef ASSOCHEAD\n                    | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS\n#endif\n#endif\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    PUSHBUTTON      \"&Browse...\", IDD_BROWSE, 130, 24, 47, 14\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"OK\", IDOK, 187, 6, 62, 14, WS_GROUP\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    PUSHBUTTON      \"Cancel\", IDCANCEL, 187, 23, 62, 14\n    DIALOGRESIZECONTROL { 100, 30, 0, 0 }\n    PUSHBUTTON      \"&New Type...\", IDD_NEW, 187, 42, 62, 14\n    DIALOGRESIZECONTROL { 100, 40, 0, 0 }\n    PUSHBUTTON      \"&Change Type...\", IDD_CONFIG, 187, 59, 62, 14\n    DIALOGRESIZECONTROL { 100, 50, 0, 0 }\n    PUSHBUTTON      \"&Delete Type\", IDD_DELETE, 187, 76, 62, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    PUSHBUTTON      \"&Help\", IDD_HELP, 187, 95, 62, 14\n\n#ifdef ASSOC\n    AUTOCHECKBOX    \"&View Common File Types and Extensions only\", IDD_SYSTEM,\n                    6, 117, 160, 10, WS_GROUP\n#endif\nEND\n\nASSOCIATEFILEDLG DIALOG 18, 14, 290, 224\nCAPTION \"Change File Type\"\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&File Type:\", IDD_DESCTEXT, 5, 6, 33, 8\n    EDITTEXT        IDD_DESC, 42, 5, 95, 12, ES_AUTOHSCROLL\n    GROUPBOX        \"&Action: \", -1, 5, 22, 235, 126, WS_GROUP\n    COMBOBOX        IDD_ACTION, 36, 22, 48, 33, CBS_DROPDOWNLIST |\n                    WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Command:\", IDD_COMMANDTEXT, 9, 42, 38, 8\n    EDITTEXT        IDD_COMMAND, 47, 39, 111, 12, ES_AUTOHSCROLL\n    PUSHBUTTON      \"&Browse...\", IDD_BROWSE, 164, 38, 40, 14\n    AUTOCHECKBOX    \"&Uses DDE\", IDD_DDE, 10, 57, 50, 10, WS_GROUP\n    LTEXT           \"DDE &Message:\", IDD_DDEMESGTEXT, 22, 72, 50, 8\n    EDITTEXT        IDD_DDEMESG, 105, 70, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"DDE Message Application &Not Running:\", IDD_DDENOTRUNTEXT, 22, 84, 82, 19\n    LTEXT           \"(optional)\", IDD_DDEOPTIONALTEXT, 207, 90, 32, 8\n    EDITTEXT        IDD_DDENOTRUN, 105, 88, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"A&pplication:\", IDD_DDEAPPTEXT, 22, 109, 39, 8\n    EDITTEXT        IDD_DDEAPP, 105, 107, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"&Topic:\", IDD_DDETOPICTEXT, 23, 127, 21, 8\n    EDITTEXT        IDD_DDETOPIC, 105, 125, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"Ne&w Extension:\", -1, 11, 184, 52, 8\n    EDITTEXT        IDD_EXT, 64, 183, 32, 12, ES_AUTOHSCROLL\n    PUSHBUTTON      \"A&dd ->\", IDD_ADD, 102, 174, 44, 14\n    PUSHBUTTON      \"<- &Remove\", IDD_DELETE, 102, 191, 44, 14\n    LTEXT           \"&Extensions:\", -1, 157, 162, 41, 8\n    LISTBOX         IDD_EXTLIST, 157, 172, 65, 40, LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Extensions Associated with this File Type:\", IDD_EXTTEXT, 5, 154, 235, 66\n    DEFPUSHBUTTON   \"OK\", IDOK, 244, 6, 40, 14\n    PUSHBUTTON      \"Cancel\", IDCANCEL, 244, 23, 40, 14\n    PUSHBUTTON      \"&Help\", IDD_HELP, 244, 40, 40, 14\nEND\n\nGOTODIRDLG DIALOGEX 13, 54, 464, 125\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_CLIPCHILDREN | WS_MAXIMIZEBOX\nCAPTION \"Goto Directory\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE    { 0, 0 }\n    LTEXT           \"&Goto Directory:\", -1, 6, 3, 100, 8\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"\", IDD_GOTODIR, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 6, 13, 406, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    LISTBOX         IDD_GOTOLIST, 6, 25, 406, 95, WS_VSCROLL | WS_TABSTOP\n\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"OK\", IDOK, 418, 13, 40, 14, WS_GROUP\n    DIALOGRESIZECONTROL { 100, 3, 0, 0 }\n    PUSHBUTTON      \"Cancel\", IDCANCEL, 418, 30, 40, 14, WS_GROUP\nEND\n\nPREFDLG DIALOG 20, 20, 229, 140\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Preferences\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n   CONTROL \"Editor Path:\", IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 17, 37, 14\n   CONTROL \"\", IDD_EDITOR, \"edit\", ES_AUTOHSCROLL | ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 54, 14, 140, 14\n   CONTROL \"...\", IDC_EDITOR, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 195, 14, 20, 14\n   CONTROL \"Disable toolbar visual styling\", IDC_VSTYLE, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 38, 119, 14\n   CONTROL \"Create &Goto Index on Launch\", IDC_GOTO, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 50, 119, 14\n   CONTROL \"Mirror application content\", IDC_MIRROR, \"button\", BS_AUTOCHECKBOX | WS_CHILD /* | WS_VISIBLE | WS_TABSTOP */, 0, 0, 0, 0    // invisible, not a tabsop; here to satisfy VerifyResources tool.\n   CONTROL \"Language:\", IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 70, 35, 14\n   CONTROL \"\", IDC_LANGCB, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 50, 68, 150, 54\n   CONTROL \"Please note that some settings require you to restart the\\napplication in order to take effect.\",\n            IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 90, 180, 20\n   CONTROL \"OK\", IDOK, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 55, 120, 40, 14\n   CONTROL \"Cancel\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 103, 120, 40, 14\n   CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 149, 120, 40, 14\nEND\n\nABOUTDLG DIALOG 13, 54, 250, 75\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"About File Manager\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            APPICON, -1, 6, 6, 32, 32\n    LTEXT           \"Windows File Manager\", -1, 36, 6, 200, 8\n    CONTROL         \"TO BE SET\", IDD_VERTEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 36, 18, 200, 8\n    LTEXT           \"Copyright (c) Microsoft Corporation. All rights reserved.\", -1, 36, 30, 200, 8\n    LTEXT           \"Licensed under the MIT License.\", -1, 36, 42, 200, 8\n    LTEXT           \"https://github.com/Microsoft/winfile\", -1, 36, 54, 200, 8\n    DEFPUSHBUTTON   \"OK\", IDOK, 200, 50, 40, 14\nEND\n"
  },
  {
    "path": "src/lang/winfile_he-IL.dlg",
    "content": "/********************************************************************\n\n   winfile.dlg\n\n   Copyright (c) Microsoft Corporation. All rights reserved.\n   Licensed under the MIT License.\n\n********************************************************************/\n\n#include \"dlgs.h\"\n#include \"resize.h\"\n\nCANCELDLG DIALOGEX 77, 27, 160, 65\nSTYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nEXSTYLE WS_EX_LAYOUTRTL\nCAPTION \"מאתחל דיסק\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\", IDD_TEXT1, 15, 36, 131, 8\n    CONTROL         \"\", IDD_GASGAUGE, \"Static\", SS_BLACKFRAME, 15, 10, 131, 22\n    PUSHBUTTON      \"הסתר\", IDD_HIDE, 38, 48, 40, 14\n    PUSHBUTTON      \"ביטול\", IDCANCEL, 82, 48, 40, 14\nEND\n\n\nSEARCHPROGDLG DIALOGEX 77, 109, 174, 75\nSTYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nEXSTYLE WS_EX_LAYOUTRTL\nCAPTION \"חיפוש בדיסק\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n\n    CONTROL \"חיפוש עבור:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 60, 10\n    CONTROL \"\", IDD_NAME, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 50, 5, 120, 10\n    CONTROL \"ממתי:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 15, 60, 10\n    CONTROL \"\", IDD_DATE, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 50, 15, 120, 10\n    CONTROL \"התחלה מ:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 25, 70, 10\n    CONTROL \"\", IDD_PATH, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 50, 25, 120, 10\n    CONTROL \"תיקיות נקראו:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 35, 60, 10\n    CONTROL \"\", IDD_TIME, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 66, 35, 100, 10\n    CONTROL \"התאמות שנמצאו:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 45, 60, 10\n    CONTROL \"\", IDD_FOUND, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 66, 45, 100, 10\n\n    PUSHBUTTON      \"הסתר\", IDD_HIDE, 45, 58, 40, 14\n    PUSHBUTTON      \"ביטול\", IDCANCEL, 89, 58, 40, 14\nEND\n\n\nFONTDLG DIALOGEX 13, 54, 264, 154\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nEXSTYLE WS_EX_LAYOUTRTL\nCAPTION \"גופן\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&גופן:\", stc1, 6, 3, 40, 9\n    COMBOBOX        cmb1, 6, 13, 94, 54, CBS_SIMPLE | CBS_AUTOHSCROLL |\n                    CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED\n    LTEXT           \"&סגנון גופן:\", stc2, 108, 3, 44, 9\n    COMBOBOX        cmb2, 108, 13, 64, 54, CBS_SIMPLE | WS_VSCROLL |\n                    WS_TABSTOP\n    LTEXT           \"גו&דל:\", stc3, 179, 3, 30, 9\n    COMBOBOX        cmb3, 179, 13, 32, 54, CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED | CBS_SORT\n\n    GROUPBOX        \"אפקטים\", grp1, 6, 73, 84, 61, WS_GROUP\n    CONTROL         \"קו אמצ&עי\", chx1, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 10, 83, 49, 10\n    CONTROL         \"קו &תחתי\", chx2, \"Button\", BS_AUTOCHECKBOX, 10, 95,\n                    51, 10\n\n    CONTROL         \"הצג באותיות קטנות עבור כונני FAT\", chx3, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 6, 127, 252, 10\n\n    CONTROL         \"הצג באותיות קטנות עבור כל הכוננים\", chx4, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 6, 139, 252, 10\n\n    LTEXT           \"&צבע:\", stc4, 10, 107, 30, 9\n    COMBOBOX        cmb4, 10, 117, 75, 50, CBS_DROPDOWNLIST |\n                    CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS |\n                    WS_BORDER | WS_VSCROLL\n\n    DEFPUSHBUTTON   \"אישור\", IDOK, 218, 6, 40, 14, WS_GROUP\n    PUSHBUTTON      \"ביטול\", IDCANCEL, 218, 23, 40, 14, WS_GROUP\n    PUSHBUTTON      \"&החל\", psh3, 218, 40, 40, 14, WS_GROUP\n    PUSHBUTTON      \"&עזרה\", pshHelp, 218, 57, 40, 14, WS_GROUP\n    GROUPBOX        \"דוגמה\", grp2, 6, 72, 252, 49, WS_GROUP\n    CTEXT           \"\", stc6, 10, 200, 1, 2,\n                    SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBbYyZz אבגדהו\", stc5, 10, 81, 243, 37, SS_NOPREFIX | NOT\n                    WS_VISIBLE\nEND\n\nDRIVEDLG DIALOGEX 11, 31, 201, 86\nCAPTION \"בחירת כונן\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_THICKFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP | WS_CLIPCHILDREN\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    DIALOGRESIZE { 0, 0 }\n    CONTROL \"&כוננים:\", IDD_DRIVE1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 41, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    CONTROL \"\", IDD_DRIVE, \"listbox\", LBS_NOTIFY | LBS_SORT | LBS_STANDARD | LBS_USETABSTOPS | WS_BORDER | WS_VSCROLL | WS_CHILD | WS_TABSTOP, 5, 16, 140, 60\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"אישור\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"ביטול\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&עזרה\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 44, 40, 14\nEND\n\nRUNDLG DIALOGEX 15, 12, 210, 63\nCAPTION \"הפעלה\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 3, 6, 162, 10\n    DIALOGRESIZECONTROL { 0, 10, 100, 0 }\n    CONTROL \"&שורת פקודה:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_GROUP | WS_CHILD, 3, 18, 60, 10\n    DIALOGRESIZECONTROL { 0, 20, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 3, 29, 134, 12\n    DIALOGRESIZECONTROL { 0, 100, 0, 0 }\n    CONTROL \"הפעל &ממוזער\", IDD_LOAD, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 3, 45, 71, 12\n    DIALOGRESIZECONTROL { 50, 100, 0, 0 }\n    CONTROL \"הפעל &כמנהל\", IDD_RUNAS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 78, 45, 71, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"אישור\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"ביטול\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 23, 40, 14\n//    CONTROL \"&Browse...\", IDD_BROWSE, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 40, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&עזרה\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 43, 40, 14\nEND\n\nSELECTDLG DIALOGEX 15, 12, 116, 83\nCAPTION \"בחירת קבצים\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    CONTROL \"&קבצים:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 16, 60, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 5, 29, 60, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"&בחירה\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"&הסר בחירה\", IDYES, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 20, 0, 0 }\n    CONTROL \"ביטול\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 40, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&עזרה\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 63, 40, 14\nEND\n\nCONFIRMREPLACE DIALOGEX 10, 20, 245, 95\nCAPTION \"אישור החלפת קובץ\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"החלף קובץ:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 12, 49, 10\n    CONTROL \"\", IDD_TO, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 75, 12, 165, 10\n    CONTROL \"\", IDD_DATE1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 75, 22, 170, 10\n    CONTROL \"עם קובץ:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 34, 49, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 75, 34, 165, 10\n    CONTROL \"\", IDD_DATE2, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 75, 44, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 54, 203, 10\n    CONTROL \"&כן\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 73, 40, 14\n    CONTROL \"כן לכ&ולם\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 73, 40, 14\n    CONTROL \"&לא\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 73, 40, 14\n    CONTROL \"ביטול\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 73, 40, 14\nEND\n\nCONFIRMDELETE DIALOGEX 10, 20, 245, 60\nCAPTION \"אישור מחיקת קובץ\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"מחק קובץ:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 44, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 70, 18, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&כן\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"כן לכ&ולם\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"&לא\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"ביטול\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\nCONFIRMNOACCESS DIALOGEX 10, 20, 260, 70\nCAPTION \"אישור: התעלמות או להמשיך עם קובץ או תיקייה\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"גישה נדחתה, התעלם:\", IDD_TYPE, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 10, 203, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 108, 10, 122, 10\n    CONTROL \"אין לך הרשאה מספקת או הקובץ בשימוש.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 25, 230, 10\n    CONTROL \"בחר כן כדי להתעלם מקובץ זה ולהמשיך בפעולה.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 35, 180, 10\n    CONTROL \"&כן\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 52, 40, 14\n    CONTROL \"כן לכ&ולם\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 52, 40, 14\n    CONTROL \"&לא\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 52, 40, 14\n    CONTROL \"ביטול\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 52, 40, 14\nEND\n\nCONFIRMNOACCESSDEST DIALOGEX 10, 20, 245, 60\nCAPTION \"אישור: התעלמות או להמשיך עם קובץ או תיקייה\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"אין גישה ביעד, התעלם:\", IDD_TYPE, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 13, 203, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 124, 13, 106, 10\n    CONTROL \"בחר כן כדי להתעלם מקובץ זה ולהמשיך בפעולה.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 23, 180, 10\n    CONTROL \"&כן\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"כן לכ&ולם\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"&לא\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"ביטול\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\nCONFIRMRMDIR DIALOGEX 10, 20, 245, 60\nCAPTION \"אישור מחיקת תיקיה\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"מחק תיקיה:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 55, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 80, 18, 160, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&כן\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"כן לכ&ולם\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"&לא\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"ביטול\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\nCONFIRMMOVE DIALOGEX 10, 22, 245, 60\nCAPTION \"אישור העברת קובץ\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"העבר קובץ:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 44, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 70, 18, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&כן\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"כן לכ&ולם\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"&לא\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"ביטול\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\nCONFIRMRENAME DIALOGEX 10, 22, 245, 60\nCAPTION \"אישור שינוי שם\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"שינוי שם קובץ:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 54, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 80, 18, 160, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&כן\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"כן לכ&ולם\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"&לא\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"ביטול\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\n\nMYPRINTDLG DIALOGEX 20, 20, 240, 63\nCAPTION \"הדפסה\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 6, 193, 10\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL \"&הדפס:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 20, 23, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_FROM, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 27, 18, 160, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\",IDD_STATUS, \"static\", WS_CHILD | SS_LEFTNOWORDWRAP | SS_NOPREFIX, 3, 36, 190, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"אישור\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"ביטול\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&עזרה\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 43, 40, 14\nEND\n\n\nSEARCHDLG DIALOGEX 20, 20, 283, 63\nCAPTION \"חיפוש\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL \"חיפוש &עבור:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 6, 45, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 5, 180, 12\n    DIALOGRESIZECONTROL { 0, 33, 0, 0 }\n    CONTROL \"&ממתי:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 21, 45, 12\n    DIALOGRESIZECONTROL { 0, 33, 100, 0 }\n    CONTROL \"\", IDD_DATE, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 20, 180, 12\n    DIALOGRESIZECONTROL { 0, 67, 0, 0 }\n    CONTROL \"ה&תחלה מ:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 36, 45, 12\n    DIALOGRESIZECONTROL { 0, 67, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 35, 180, 12\n    DIALOGRESIZECONTROL { 0, 100, 0, 0 }\n    CONTROL \"&חיפוש בכל תיקיות המשנה\", IDD_SEARCHALL, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 32, 49, 100, 12\n    DIALOGRESIZECONTROL { 50, 100, 0, 0 }\n    CONTROL \"תיקיות משנה בתוצאות\", IDD_INCLUDEDIRS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 142, 49, 90, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"אישור\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 25, 0, 0 }\n    CONTROL \"ביטול\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&עזרה\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 43, 40, 14\nEND\n\n\nMOVECOPYDLG DIALOGEX 47, 59, 381, 64\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nEXSTYLE WS_EX_LAYOUTRTL\nCAPTION \"העברה\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"תיקיה נוכחית: N\", IDD_DIR, \"Static\", SS_SIMPLE | SS_NOPREFIX, 3, 6, 332, 10\n\n    DIALOGRESIZECONTROL { 0, 25, 0, 0 }\n    CONTROL         \"&יעד:\", IDD_KK_TEXTTO, \"Static\", SS_LEFTNOWORDWRAP, 3, 33, 20, 10\n\n    DIALOGRESIZECONTROL { 0, 25, 100, 0}\n    EDITTEXT        IDD_TO, 37, 32, 288, 12, ES_AUTOHSCROLL\n\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL         \"\", IDD_STATUS, \"Static\", SS_SIMPLE | SS_NOPREFIX, 3, 49, 40, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"\", IDD_NAME, \"Static\", SS_SIMPLE | SS_NOPREFIX,  45, 49, 290, 10\n\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"אישור\", IDOK, 335, 6, 40, 14\n\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    PUSHBUTTON      \"ביטול\", IDCANCEL, 335, 23, 40, 14\n\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    PUSHBUTTON      \"&עזרה\", IDD_HELP, 335, 40, 40, 14\n\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL         \"&מקור:\", IDD_KK_TEXTFROM, \"Static\", SS_LEFTNOWORDWRAP, 3, 19, 20, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    EDITTEXT        IDD_FROM, 37, 18, 288, 12, ES_AUTOHSCROLL\n\n    DIALOGRESIZECONTROL { 0, 50, 0, 0 }\n    CONTROL         \"\", IDD_DIRS, \"Static\", SS_LEFTNOWORDWRAP, 3, 49, 330, 10\nEND\n\n\n\nDELETEDLG DIALOGEX 20, 20, 246, 64\nCAPTION \"מחיקה\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"תיקיה נוכחית: C\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 5, 193, 10\n    CONTROL \"&מחק:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 20, 35, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_FROM, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 40, 19, 155, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_STATUS, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 3, 35, 35, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 40, 35, 155, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"אישור\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"ביטול\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&עזרה\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 40, 40, 14\nEND\n\nMULTIPLEATTRIBSDLG DIALOGEX 20, 20, 206, 88\nCAPTION \"תכונות\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL \"%d קבצים נבחרו\", IDD_TEXT1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 144, 10\n    CONTROL \"סך הכל %s בתים\", IDD_TEXT2, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 16, 144, 10\n    CONTROL \"תכונות\", -1, \"button\", BS_GROUPBOX | WS_CHILD, 5, 29, 120, 54\n    CONTROL \"לקריאה &בלבד\", IDD_READONLY, \"button\", WS_GROUP | WS_TABSTOP | BS_AUTOCHECKBOX | WS_CHILD, 10, 40, 58, 12\n    CONTROL \"מו&סתר\", IDD_HIDDEN, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 72, 40, 52, 12\n    CONTROL \"&ארכיון\", IDD_ARCHIVE, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 10, 52, 52, 12\n    CONTROL \"מ&ערכת\", IDD_SYSTEM, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 72, 52, 52, 12\n    CONTROL \"&דחוס\", IDD_COMPRESSED, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 10, 64, 52, 12\n    CONTROL \"&מוצפן\", IDD_ENCRYPTED, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_DISABLED, 72, 64, 52, 12\n    CONTROL \"אישור\", 1, \"button\", WS_GROUP | BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 6, 50, 14\n    CONTROL \"ביטול\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 23, 50, 14\n    CONTROL \"&עזרה\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 43, 50, 14\nEND\n\n\nATTRIBSDLG DIALOGEX 23, 13, 259, 229\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nEXSTYLE WS_EX_LAYOUTRTL\nCAPTION \"תכונות עבור %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"אישור\", IDOK, 204, 6, 50, 14, WS_GROUP\n    PUSHBUTTON      \"ביטול\", IDCANCEL, 204, 23, 50, 14\n    PUSHBUTTON      \"&עזרה\", IDD_HELP, 204, 40, 50, 14\n\n    CONTROL         \"&שם קובץ:\", IDD_NAMELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 5, 55, 10\n    EDITTEXT        IDD_NAME, 72, 5, 132, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"&נתיב:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 16, 51, 10\n    EDITTEXT        IDD_DIR, 72, 16, 132, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"שינוי אחרון:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 27, 62, 10\n    CONTROL         \"\", IDD_DATE, \"Static\", SS_LEFTNOWORDWRAP, 72, 27, 132, 10\n    CONTROL         \"גירסה:\", IDD_VERLABEL, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 38, 45, 10\n    CONTROL         \"לא מסומן\", IDD_VERSION, \"Static\", SS_LEFTNOWORDWRAP |\n                    SS_NOPREFIX, 72, 38, 132, 10\n    LTEXT           \"&זכות יוצרים:\", -1, 5, 49, 45, 10\n    CONTROL         \"לא מסומן\", IDD_COPYRIGHT, \"Edit\", ES_AUTOHSCROLL |\n                    ES_READONLY | WS_TABSTOP, 72, 49, 132, 10\n    CONTROL         \"גדול:\", IDD_SIZELABEL, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 60, 45, 10\n    CONTROL         \"\", IDD_SIZE, \"Static\", SS_LEFTNOWORDWRAP, 72, 60, 132, 10\n    CONTROL         \"גודל דחוס:\", IDD_CSIZELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 71, 62, 10\n    CONTROL         \"\", IDD_CSIZE, \"Static\", SS_LEFTNOWORDWRAP, 72, 71, 132, 10\n    CONTROL         \"יחס דחיסה:\", IDD_CRATIOLABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 82, 62, 10\n    CONTROL         \"\", IDD_CRATIO, \"Static\", SS_LEFTNOWORDWRAP, 72, 82, 132, 10\n    GROUPBOX        \"תכונות\", IDD_TEXT, 4, 96, 120, 54\n    CONTROL         \"לקריאה &בלבד\", IDD_READONLY, \"Button\", BS_AUTOCHECKBOX |\n                    WS_GROUP | WS_TABSTOP, 9, 108, 52, 12\n    CONTROL         \"מו&סתר\", IDD_HIDDEN, \"Button\", BS_AUTOCHECKBOX,\n                    71, 108, 49, 12\n    CONTROL         \"&ארכיון\", IDD_ARCHIVE, \"Button\", BS_AUTOCHECKBOX,\n                    9, 120, 52, 12\n    CONTROL         \"מ&ערכת\", IDD_SYSTEM, \"Button\", BS_AUTOCHECKBOX,\n                    71, 120, 49, 12\n    CONTROL         \"&דחוס\", IDD_COMPRESSED, \"Button\", BS_AUTOCHECKBOX,\n                    9, 132, 52, 12\n    GROUPBOX        \"מידע &גירסה\", IDD_VERSION_FRAME, 4, 155, 250, 70\n    LISTBOX         IDD_VERSION_KEY, 9, 168, 91, 58, LBS_SORT |\n                    LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        IDD_VERSION_VALUE, 110, 168, 138, 58, ES_MULTILINE |\n                    ES_READONLY | WS_VSCROLL\nEND\n\n\nCOMPRESSPROGDLG DIALOGEX 123, 60, 207, 117\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nEXSTYLE WS_EX_LAYOUTRTL\nCAPTION \"התקדמות דחיסת קבצים\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"קובץ בתהליך דחיסה:\", -1, 6, 8, 79, 8\n    LTEXT           \"filename.xxx\", IDD_COMPRESS_FILE, 86, 8, 90, 8\n    LTEXT           \"תיקיה:\", -1, 6, 20, 39, 8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\", IDD_COMPRESS_DIR, 43, \n                    20, 150, 8\n    LTEXT           \"תיקיות בתהליך דחיסה:\", -1, 6, 32, 102, 8\n    LTEXT           \"1,888,888,999\", IDD_COMPRESS_TDIRS, 90, 32, 60, 8\n    LTEXT           \"קבצים בתהליך דחיסה:\", -1, 6, 44, 62, 8\n    LTEXT           \"1,888,888,999\", IDD_COMPRESS_TFILES, 74, 44, 58, 8\n    LTEXT           \"גודל כולל של הקבצים לפני הדחיסה:\", -1, 6, 56, \n                    124, 8\n    LTEXT           \"9,999,999,999,999\", IDD_COMPRESS_USIZE, 134, 56, 85, 8\n    LTEXT           \"גודל כולל של הקבצים אחרי הדחיסה:\", -1, 6, 85, 123, \n                    8\n    LTEXT           \"9,999,999,999,999\", IDD_COMPRESS_CSIZE, 134, 69, 68, 8\n    LTEXT           \"יחס דחיסה:\", -1, 6, 80, 78, 8\n    LTEXT           \"100%\", IDD_COMPRESS_RATIO, 91, 80, 27, 8\n    PUSHBUTTON      \"ביטול\", IDCANCEL, 76, 97, 55, 14\nEND\n\nUNCOMPRESSPROGDLG DIALOGEX 114, 62, 197, 84\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nEXSTYLE WS_EX_LAYOUTRTL\nCAPTION \"התקדמות ביטול דחיסת קבצים\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"קובץ בתהליך ביטול דחיסה:\", -1, 6, 8, 90, 8\n    LTEXT           \"filename.xxx\", IDD_UNCOMPRESS_FILE, 100, 8, 66, 8\n    LTEXT           \"תיקיה:\", -1, 6, 20, 39, 8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\", \n                    IDD_UNCOMPRESS_DIR, 45, 20, 144, 8\n    LTEXT           \"תיקיות בתהליך ביטול דחיסה:\", -1, 6, 32, 105, 8\n    LTEXT           \"1,999,999,999\", IDD_UNCOMPRESS_TDIRS, 113, 32, 70, 8\n    LTEXT           \"קבצים בתהליך ביטול דחיסה:\", -1, 6, 44, 100, 8\n    LTEXT           \"1,999,999,999\", IDD_UNCOMPRESS_TFILES, 110, 44, 78, 8\n    PUSHBUTTON      \"ביטול\", IDCANCEL, 74, 64, 49, 14\nEND\n\nCOMPRESSERRDLG DIALOGEX 11, 28, 245, 65\nCAPTION \"שגיאת דחיסה\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    ICON 32515, -1, 8, 8, 21, 20\n    LTEXT \"\", IDD_TEXT1, 35, 8, 190, 20\n\n    DEFPUSHBUTTON \"&התעלם\",     IDIGNORE,      25,  47, 50, 14, WS_TABSTOP | WS_CHILD | WS_GROUP\n    PUSHBUTTON    \"התעלם מה&כל\", IDD_IGNOREALL, 76,  47, 50, 14, WS_TABSTOP | WS_CHILD\n    PUSHBUTTON    \"&נסה שוב\",      IDRETRY,       127, 47, 50, 14, WS_TABSTOP | WS_CHILD\n    PUSHBUTTON    \"&בטל\",      IDABORT,       178, 47, 50, 14, WS_TABSTOP | WS_CHILD\nEND\n\n\n\nMAKEDIRDLG DIALOGEX 20, 20, 200, 63\nCAPTION \"יצירת תיקיה\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 6, 154, 10\n    CONTROL \"&שם:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 23, 20, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 30, 22, 90, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\",IDD_STATUS, \"static\", WS_CHILD | SS_NOPREFIX | SS_LEFTNOWORDWRAP, 3, 46, 150, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"אישור\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"ביטול\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&עזרה\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 43, 40, 14\nEND\n\n\nCHOOSEDRIVEDLG DIALOGEX 20, 20, 157, 64\nCAPTION \"העתקת דיסק\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL \"דיסק &מקור:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 8, 50, 10\n    CONTROL \"\", IDD_DRIVE1, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 55, 6, 40, 37\n    CONTROL \"דיסק &יעד:\", IDD_FLAGS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 22, 50, 10\n    CONTROL \"\", IDD_DRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 55, 20, 40, 37\n    CONTROL \"אישור\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 6, 40, 14\n    CONTROL \"ביטול\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 23, 40, 14\n    CONTROL \"&עזרה\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 43, 40, 14\nEND\n\n\nDISKCOPYPROGRESSDLG DIALOGEX 30, 30, 130, 55\nCAPTION \"מעתיק דיסק\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE | DS_SYSMODAL\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL \"עכשיו מעתיק דיסק מקור\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 5, 130, 10\n    CONTROL \"כונן A:\", IDD_DRIVE, \"static\", SS_CENTER | WS_CHILD, 0, 15, 130, 10\n    CONTROL \"קורא את דיסק המקור\", IDD_PROGRESS, \"static\", SS_CENTER | WS_CHILD, 0, 26, 130, 10\n    CONTROL \"ביטול\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 44, 39, 44, 14\nEND\n\nDISKLABELDLG DIALOGEX 20, 20, 161, 63\nCAPTION \"שינוי תווית דיסק\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    CONTROL \"&תווית:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 15, 30, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 5, 26, 100, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"אישור\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"ביטול\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&עזרה\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 43, 40, 14\nEND\n\nFORMATDLG DIALOGEX 11, 28, 183, 96\nCAPTION \"אתחול דיסק\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME | WS_POPUP\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL \"אישור\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 6, 40, 14\n    CONTROL \"ביטול\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 23, 40, 14\n    CONTROL \"&עזרה\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 43, 40, 14\n    CONTROL \"&דיסק:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 7, 49, 10\n    CONTROL \"\", IDD_DRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 4, 65, 40\n    CONTROL \"&קיבולת:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 20, 49, 10\n    CONTROL \"\", IDD_HIGHCAP, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 19, 65, 40\n    CONTROL \"אפשרויות\", 102, \"button\", BS_GROUPBOX | WS_GROUP | WS_CHILD, 5, 39, 115, 53\n    CONTROL \"&קיבולת:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 11, 51, 39, 10\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 40, 49, 63, 12\n//    CONTROL \"&Make System Disk\", IDD_MAKESYS, \"button\", BS_CHECKBOX | BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD | WS_DISABLED, 11, 62, 90, 12\n    CONTROL \"אתחול &מהיר\", IDD_VERIFY, \"button\", BS_CHECKBOX | BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 62, 90, 12\nEND\n\nFORMATSELECTDLG DIALOGEX 11, 28, 183, 44\nCAPTION \"אתחול כונן\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME | WS_POPUP\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL \"אישור\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 6, 40, 14\n    CONTROL \"ביטול\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 23, 40, 14\n    CONTROL \"כונן ל&אתחול:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 7, 49, 10\n    CONTROL \"\", IDD_SELECTDRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 4, 65, 40\nEND\n\nFORMATPROGRESSDLG DIALOGEX 30, 30, 150, 50\nCAPTION \"מאתחל דיסק\"\nFONT 8, \"MS Shell Dlg\"\n//STYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE | DS_SYSMODAL\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL \"מאתחל דיסק כעת\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 5, 150, 10\n    CONTROL \"מאתחל כונן...\", IDD_PROGRESS, \"static\", SS_CENTER | WS_CHILD, 0, 17, 150, 10\n    CONTROL \"ביטול\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 54, 30, 44, 14\nEND\n\n#if 0\nSYSDISKPROGRESSDLG DIALOGEX 30, 30, 174, 57\nCAPTION \"יצירת דיסק מערכת\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL \"מעתיק כעת את קבצי המערכת\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 6, 174, 8\n    CONTROL \"לחץ ביטול אם ברצונך לבטל.\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 14, 174, 8\n    CONTROL \"ביטול\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 66, 39, 44, 14\nEND\n\nCONNECTDLG DIALOGEX 12, 28, 241, 135\nCAPTION \"חיבורי רשת\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n  GROUPBOX \"חיבור חדש\", -1, 5, 3, 170, 55, WS_CHILD\n\n  LTEXT \"&נתיב רשת:\", -1, 10, 16, 55, 10\n  EDITTEXT, IDD_PATH, 65, 14, 100, 12, ES_AUTOHSCROLL | WS_GROUP | WS_TABSTOP\n  LTEXT \"&כונן:\", -1, 10, 30, 24, 10\n  COMBOBOX IDD_DRIVE, 65, 28, 40, 100, CBS_DROPDOWNLIST | WS_VSCROLL | WS_GROUP | WS_TABSTOP\n  LTEXT \"&סיסמה:\", -1, 10, 44, 36, 10\n  EDITTEXT, IDD_PASSWORD, 65, 42, 100, 12, ES_AUTOHSCROLL | ES_PASSWORD | WS_GROUP | WS_TABSTOP\n\n  LTEXT \"כוננים &מחוברים כעת:\", -1, 5, 62, 120, 10\n  LISTBOX IDD_DRIVE1, 5, 73, 160, 60, LBS_SORT | LBS_NOTIFY | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_BORDER | WS_TABSTOP\n\n  DEFPUSHBUTTON \"ס&גירה\",  IDCANCEL, 190, 6, 45, 14, WS_GROUP | WS_TABSTOP\n  PUSHBUTTON \"&חיבור\", IDOK, 190, 27, 45, 14, WS_TABSTOP\n  PUSHBUTTON \"ה&קודם...\", IDD_PREV, 190, 44, 45, 14, WS_TABSTOP\n  PUSHBUTTON \"&עיון...\", IDD_NETBROWSE, 190, 61, 45, 14, WS_GROUP | WS_TABSTOP\n  PUSHBUTTON \"ה&תנתק\", IDD_DISCONNECT, 190, 78, 45, 14, WS_GROUP|WS_TABSTOP\n  PUSHBUTTON \"&עזרה\", IDD_HELP, 190, 95, 45, 14, WS_GROUP | WS_TABSTOP\nEND\n\nPREVIOUSDLG DIALOGEX 30, 30, 231, 98\nCAPTION \"Previous Network Connections\"\nFONT 8 \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL \"Network &Paths:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 3, 69, 10\n    CONTROL \"\", IDD_PREV, \"listbox\", LBS_NOTIFY | LBS_SORT | LBS_STANDARD | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 3, 15, 172, 80\n    CONTROL \"&Select\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 6, 44, 14\n    CONTROL \"Close\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 24, 44, 14\n    CONTROL \"&Delete\", IDD_DELETE, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 41, 44, 14\n    CONTROL \"&עזרה\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 58, 44, 14\nEND\n#endif\n\nOTHERDLG DIALOGEX 20, 20, 174, 81\nCAPTION \"נתונים חלקיים\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL \"נתונים\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_CHILD, 4, 4, 121, 74\n    CONTROL \"&גודל\", IDD_SIZE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 15, 100, 12\n    CONTROL \"&תאריך שינוי אחרון\", IDD_DATE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 27, 100, 12\n    CONTROL \"&זמן שינוי אחרון\", IDD_TIME, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 39, 100, 12\n    CONTROL \"&תכונות קובץ\", IDD_FLAGS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 51, 100, 12\n    CONTROL \"שמות קובץ MS-DOS\", IDD_DOSNAMES, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 63, 100, 12\n    CONTROL \"אישור\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 6, 40, 14\n    CONTROL \"ביטול\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 23, 40, 14\n    CONTROL \"&עזרה\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 60, 40, 14\nEND\n\n\nINCLUDEDLG DIALOGEX 20, 20, 157, 114\nCAPTION \"לפי סוג קובץ\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL \"&שם:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 8, 23, 10\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 34, 6, 65, 12\n    CONTROL \"סוג קובץ\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_CHILD, 5, 20, 94, 62\n    CONTROL \"&תיקיות\", IDD_DIR, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 31, 60, 12\n    CONTROL \"ת&כניות\", IDD_PROGRAMS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 43, 60, 12\n    CONTROL \"&מסמכים\", IDD_DOCS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 55, 60, 12\n    CONTROL \"קבצים &אחרים\", IDD_OTHER, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 67, 60, 12\n    CONTROL \"הצג קבצים מוסתרים/מ&ערכת\", IDD_SHOWHIDDEN, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 5, 85, 115, 12\n    CONTROL \"הצג &נקודות מפגש\", IDD_SHOWJUNCTION, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 5, 97, 100, 12\n    CONTROL \"אישור\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 6, 40, 14\n    CONTROL \"ביטול\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 23, 40, 14\n    CONTROL \"&עזרה\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 43, 40, 14\nEND\n\nCONFIRMDLG DIALOGEX 20, 20, 235, 92\nCAPTION \"אישור\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL \"יידרש אישור עבור\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_TABSTOP | WS_CHILD, 5, 3, 180, 86\n    CONTROL \"&מחיקת קובץ\", IDD_DELETE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 15, 80, 12\n    CONTROL \"מחיקת &תיקיה\", IDD_SUBDEL, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 27, 80, 12\n    CONTROL \"&החלפת קובץ\", IDD_REPLACE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 39, 80, 12\n    CONTROL \"&פעולת עכבר\", IDD_MOUSE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 51, 80, 12\n    CONTROL \"פ&קודות דיסק\", IDD_CONFIG, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 63, 80, 12\n    CONTROL \"&שינוי קבצי מערכת, מוסתרים או לקריאה בלבד\", IDD_READONLY, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 75, 173, 12\n    CONTROL \"אישור\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 188, 6, 40, 14\n    CONTROL \"ביטול\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 188, 23, 40, 14\n    CONTROL \"&עזרה\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 188, 44, 40, 14\nEND\n\nDMSTATUSDLG DIALOGEX 20, 20, 250, 46\nCAPTION \"מעביר...\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL \"\", IDD_STATUS, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD , 5, 5, 49, 10\n    CONTROL \"\", IDD_NAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 55, 5, 192, 10\n    CONTROL \"אל:\", IDD_TOSTATUS, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 5, 15, 25, 10\n    CONTROL \"\", IDD_TONAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 55, 15, 192, 10\n    CONTROL \"ביטול\", IDCANCEL, \"button\", WS_CHILD | BS_DEFPUSHBUTTON, 200, 28, 40, 14\nEND\n\nPRTDLG DIALOGEX 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL \"מדפיס קובץ...\", -1, \"static\", SS_CENTER | WS_GROUP | WS_CHILD, 4, 6, 120, 12\n    CONTROL \"\", IDD_TEXT, \"static\", SS_CENTER | SS_NOPREFIX | WS_GROUP | WS_CHILD, 4, 20, 120, 12\n    CONTROL \"ביטול\", 2, \"button\", BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP | WS_CHILD, 44, 40, 32, 14\nEND\n\nLFNTOFATDLG DIALOGEX 11, 28, 250, 78\nCAPTION \"בחירת שם קובץ\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nEXSTYLE WS_EX_LAYOUTRTL\nBEGIN\n    CONTROL \"נתיב זה לא מתאים לתבנית FAT עבור שמות קבצים. הקלד שם חדש\", 99, \"static\", SS_LEFT | WS_CHILD, 5, 4, 190, 24\n    CONTROL \"&שם חדש:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 56, 50, 12\n    CONTROL \"\", IDD_TO, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 57, 55, 130, 12\n    CONTROL \"נתיב מקורי:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 28, 50, 11\n    CONTROL \"\", IDD_FROM, \"edit\", ES_READONLY | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_CHILD, 57, 28, 130, 12\n    CONTROL \"לתיקיה:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 42, 50, 11\n    CONTROL \"\", IDD_DIR, \"edit\", ES_READONLY | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_CHILD, 57, 42, 130, 12\n    CONTROL \"אישור\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 4, 40, 14\n    CONTROL \"ביטול\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 20, 40, 14\n    CONTROL \"&עזרה\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 36, 40, 14\nEND\n\nATTRIBSDLGDIR DIALOGEX 23, 13, 250, 119\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nEXSTYLE WS_EX_LAYOUTRTL\nCAPTION \"תכונות עבור %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"אישור\", IDOK, 194, 6, 50, 14, WS_GROUP\n    PUSHBUTTON      \"ביטול\", IDCANCEL, 194, 23, 50, 14\n    PUSHBUTTON      \"&עזרה\", IDD_HELP, 194, 43, 50, 14\n    CONTROL         \"&שם קובץ:\", IDD_NAMELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 5, 55, 10\n    EDITTEXT        IDD_NAME, 60, 5, 134, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"&נתיב:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP, 5, 16,\n                    51, 10\n    EDITTEXT        IDD_DIR, 60, 16, 134, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"שינוי &אחרון:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP, 5,\n                    27, 62, 10\n    CONTROL         \"\", IDD_DATE, \"Static\", SS_LEFTNOWORDWRAP, 60, 27, 97,\n                    10\n    CONTROL         \"גודל:\", IDD_SIZELABEL, \"Static\", SS_LEFTNOWORDWRAP, 5,\n                    38, 45, 10\n    CONTROL         \"\", IDD_SIZE, \"Static\", SS_LEFTNOWORDWRAP, 60, 38, 90,\n                    10\n    GROUPBOX        \"תכונות\", IDD_TEXT, 4, 52, 120, 54\n    CONTROL         \"לקריאה &בלבד\", IDD_READONLY, \"Button\", BS_AUTOCHECKBOX |\n                    WS_GROUP | WS_TABSTOP, 9, 64, 58, 12\n    CONTROL         \"מ&וסתר\", IDD_HIDDEN, \"Button\", BS_AUTOCHECKBOX, 71, 64,\n                    49, 12\n    CONTROL         \"&ארכיון\", IDD_ARCHIVE, \"Button\", BS_AUTOCHECKBOX, 9,\n                    76, 52, 12\n    CONTROL         \"מ&ערכת\", IDD_SYSTEM, \"Button\", BS_AUTOCHECKBOX, 71, 76,\n                    49, 12\n    CONTROL         \"&דחוס\", IDD_COMPRESSED, \"button\", BS_AUTOCHECKBOX,\n                    9, 88, 52, 12\nEND\n\n\n#ifdef ASSOC\nASSOCIATEDLG DIALOGEX 20, 20, 255, 129\n#else\nASSOCIATEDLG DIALOGEX 20, 20, 255, 118\n#endif\n\nCAPTION \"שיוך\"\nSTYLE WS_BORDER | WS_THICKFRAME | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN\nEXSTYLE WS_EX_LAYOUTRTL\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE { 0, 0 }\n    LTEXT           \"קבצים עם &סיומת:\", -1, 6, 7, 68, 8\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    COMBOBOX        IDD_EXT, 76, 5, 44, 55, CBS_DROPDOWN | CBS_SORT |\n                    CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n\n    LTEXT           \"&שייך עם:\", -1, 6, 30, 92, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    EDITTEXT        IDD_COMMAND, 6, 42, 172, 12, ES_AUTOHSCROLL\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    LISTBOX         IDD_CLASSLIST, 11, 54, 167, 62, LBS_SORT | WS_VSCROLL | WS_TABSTOP\n#ifdef ASSOC\n#ifdef ASSOCHEAD\n                    | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS\n#endif\n#endif\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    PUSHBUTTON      \"&עיון...\", IDD_BROWSE, 130, 24, 47, 14\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"אישור\", IDOK, 187, 6, 62, 14, WS_GROUP\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    PUSHBUTTON      \"ביטול\", IDCANCEL, 187, 23, 62, 14\n    DIALOGRESIZECONTROL { 100, 30, 0, 0 }\n    PUSHBUTTON      \"סוג &חדש...\", IDD_NEW, 187, 42, 62, 14\n    DIALOGRESIZECONTROL { 100, 40, 0, 0 }\n    PUSHBUTTON      \"שי&נוי סוג...\", IDD_CONFIG, 187, 59, 62, 14\n    DIALOGRESIZECONTROL { 100, 50, 0, 0 }\n    PUSHBUTTON      \"&מחיקת סוג\", IDD_DELETE, 187, 76, 62, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    PUSHBUTTON      \"&עזרה\", IDD_HELP, 187, 95, 62, 14\n\n#ifdef ASSOC\n    AUTOCHECKBOX    \"הראה רק סוגי קבצים נפוצים והרחבות\", IDD_SYSTEM,\n                    6, 117, 160, 10, WS_GROUP\n#endif\nEND\n\nASSOCIATEFILEDLG DIALOGEX 18, 14, 290, 224\nCAPTION \"שינוי סוג קובץ\"\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nEXSTYLE WS_EX_LAYOUTRTL\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&סוג קובץ:\", IDD_DESCTEXT, 5, 6, 33, 8\n    EDITTEXT        IDD_DESC, 42, 5, 95, 12, ES_AUTOHSCROLL\n    GROUPBOX        \"פעולות: \", -1, 5, 22, 235, 126, WS_GROUP\n    COMBOBOX        IDD_ACTION, 40, 22, 48, 33, CBS_DROPDOWNLIST |\n                    WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&פקודה:\", IDD_COMMANDTEXT, 9, 42, 38, 8\n    EDITTEXT        IDD_COMMAND, 47, 39, 111, 12, ES_AUTOHSCROLL\n    PUSHBUTTON      \"&עיון...\", IDD_BROWSE, 164, 38, 40, 14\n    AUTOCHECKBOX    \"&שימוש בDDE\", IDD_DDE, 10, 57, 60, 10, WS_GROUP\n    LTEXT           \"&הודעת DDE:\", IDD_DDEMESGTEXT, 22, 72, 50, 8\n    EDITTEXT        IDD_DDEMESG, 105, 70, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"הודעת DDE\\nתכנית לא פועלת:\", IDD_DDENOTRUNTEXT, 22, 84, 82, 19\n    LTEXT           \"(אפשרי)\", IDD_DDEOPTIONALTEXT, 207, 90, 32, 8\n    EDITTEXT        IDD_DDENOTRUN, 105, 88, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"&תכנית:\", IDD_DDEAPPTEXT, 22, 109, 39, 8\n    EDITTEXT        IDD_DDEAPP, 105, 107, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"&נושא:\", IDD_DDETOPICTEXT, 23, 127, 21, 8\n    EDITTEXT        IDD_DDETOPIC, 105, 125, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"הרחבה חדשה:\", -1, 11, 184, 52, 8\n    EDITTEXT        IDD_EXT, 64, 183, 32, 12, ES_AUTOHSCROLL\n    PUSHBUTTON      \"<- ה&וספה\", IDD_ADD, 102, 174, 44, 14\n    PUSHBUTTON      \"הסרה ->\", IDD_DELETE, 102, 191, 44, 14\n    LTEXT           \"&הרחבות:\", -1, 157, 162, 41, 8\n    LISTBOX         IDD_EXTLIST, 157, 172, 65, 40, LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"הרחבות המשויכות לסוג קובץ זה:\", IDD_EXTTEXT, 5, 154, 235, 66\n    DEFPUSHBUTTON   \"אישור\", IDOK, 244, 6, 40, 14\n    PUSHBUTTON      \"ביטול\", IDCANCEL, 244, 23, 40, 14\n    PUSHBUTTON      \"&עזרה\", IDD_HELP, 244, 40, 40, 14\nEND\n\nGOTODIRDLG DIALOGEX 13, 54, 464, 125\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_CLIPCHILDREN | WS_MAXIMIZEBOX\nEXSTYLE WS_EX_LAYOUTRTL\nCAPTION \"מעבר לתיקיה\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE    { 0, 0 }\n    LTEXT           \"&עבור לתיקיה:\", -1, 6, 3, 100, 8\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"\", IDD_GOTODIR, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 6, 13, 406, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    LISTBOX         IDD_GOTOLIST, 6, 25, 406, 95, WS_VSCROLL | WS_TABSTOP\n\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"אישור\", IDOK, 418, 13, 40, 14, WS_GROUP\n    DIALOGRESIZECONTROL { 100, 3, 0, 0 }\n    PUSHBUTTON      \"ביטול\", IDCANCEL, 418, 30, 40, 14, WS_GROUP\nEND\n\nPREFDLG DIALOGEX 20, 20, 229, 152\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nEXSTYLE WS_EX_LAYOUTRTL\nCAPTION \"העדפות\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n   CONTROL \"מיקום עורך:\", IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 17, 53, 14\n   CONTROL \"\", IDD_EDITOR, \"edit\", ES_AUTOHSCROLL | ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 60, 14, 140, 14\n   CONTROL \"...\", IDC_EDITOR, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 201, 14, 20, 14\n   CONTROL \"הפסק סגנון ויזואלי על סרגל הכלים\", IDC_VSTYLE, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 38, 180, 14\n   CONTROL \"צור מפתח מעבר תיקיות בעת הפעלה\", IDC_GOTO, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 50, 180, 14\n   CONTROL \"מנע יישור ממשק המשתמש מימין לשמאל\", IDC_MIRROR, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 62, 180, 14\n   CONTROL \"שפה:\", IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 82, 35, 14\n   CONTROL \"\", IDC_LANGCB, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 50, 80, 150, 54\n   CONTROL \"נא לשים לב ששינוים מסוימים יהיו פעילים\\nרק אחרי פתיחה מחדש של התכנית.\",\n            IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 102, 180, 20\n   CONTROL \"אישור\", IDOK, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 55, 132, 40, 14\n   CONTROL \"ביטול\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 103, 132, 40, 14\n   CONTROL \"&עזרה\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 149, 132, 40, 14\nEND\n\nABOUTDLG DIALOGEX 13, 54, 250, 75\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nEXSTYLE WS_EX_LAYOUTRTL\nCAPTION \"אודות מנהל הקבצים\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            APPICON, -1, 6, 6, 32, 32\n    LTEXT           \"מנהל הקבצים של חלונות\", -1, 36, 6, 200, 8\n    CONTROL         \"TO BE SET\", IDD_VERTEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 36, 18, 200, 8\n    LTEXT           \"זכויות יוצרים (c) Microsoft Corporation. כל הזכויות שמורות.\", -1, 36, 30, 200, 8\n    LTEXT           \"מורשה תחת רשיון MIT.\", -1, 36, 42, 200, 8\n    LTEXT           \"https://github.com/Microsoft/winfile\", -1, 36, 54, 200, 8\n    DEFPUSHBUTTON   \"אישור\", IDOK, 200, 50, 40, 14\nEND\n"
  },
  {
    "path": "src/lang/winfile_ja-JP.dlg",
    "content": "/********************************************************************\r\n\r\n   winfile.dlg\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"dlgs.h\"\r\n#include \"resize.h\"\r\n\r\nCANCELDLG DIALOG 77, 27, 160, 65\r\nSTYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r\nCAPTION \"ディスクのフォーマット\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    CTEXT           \"\", IDD_TEXT1, 15, 36, 131, 8\r\n    CONTROL         \"\", IDD_GASGAUGE, \"Static\", SS_BLACKFRAME, 15, 10, 131, 22\r\n    PUSHBUTTON      \"非表示\", IDD_HIDE, 38, 48, 40, 14\r\n    PUSHBUTTON      \"ｷｬﾝｾﾙ\", IDCANCEL, 82, 48, 40, 14\r\nEND\r\n\r\n\r\nSEARCHPROGDLG DIALOG 77, 109, 174, 75\r\nSTYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r\nCAPTION \"検索\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n\r\n    CONTROL \"検索:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 60, 10\r\n    CONTROL \"\", IDD_NAME, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 50, 5, 120, 10\r\n    CONTROL \"最終更新:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 15, 60, 10\r\n    CONTROL \"\", IDD_DATE, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 50, 15, 120, 10\r\n    CONTROL \"検索場所:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 25, 70, 10\r\n    CONTROL \"\", IDD_PATH, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 50, 25, 120, 10\r\n    CONTROL \"ディレクトリ読込中:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 35, 80, 10\r\n    CONTROL \"\", IDD_TIME, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 70, 35, 95, 10\r\n    CONTROL \"見つけたファイル:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 45, 60, 10\r\n    CONTROL \"\", IDD_FOUND, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 70, 45, 95, 10\r\n\r\n    PUSHBUTTON      \"非表示\", IDD_HIDE, 45, 58, 40, 14\r\n    PUSHBUTTON      \"ｷｬﾝｾﾙ\", IDCANCEL, 89, 58, 40, 14\r\nEND\r\n\r\n\r\nFONTDLG DIALOG 13, 54, 264, 154\r\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r\nCAPTION \"フォント\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    LTEXT           \"フォント名(&F):\", stc1, 6, 3, 40, 9\r\n    COMBOBOX        cmb1, 6, 13, 94, 54, CBS_SIMPLE | CBS_AUTOHSCROLL |\r\n                    CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED\r\n    LTEXT           \"スタイル(&Y):\", stc2, 108, 3, 44, 9\r\n    COMBOBOX        cmb2, 108, 13, 64, 54, CBS_SIMPLE | WS_VSCROLL |\r\n                    WS_TABSTOP\r\n    LTEXT           \"サイズ(&S):\", stc3, 179, 3, 30, 9\r\n    COMBOBOX        cmb3, 179, 13, 32, 54, CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED | CBS_SORT\r\n\r\n    GROUPBOX        \"効果\", grp1, 6, 73, 84, 61, WS_GROUP\r\n    CONTROL         \"打消し(&K)\", chx1, \"Button\", BS_AUTOCHECKBOX |\r\n                    WS_TABSTOP, 10, 83, 49, 10\r\n    CONTROL         \"下線(&U)\", chx2, \"Button\", BS_AUTOCHECKBOX, 10, 95,\r\n                    51, 10\r\n\r\n    CONTROL         \"FAT ドライブは小文字で表示(&L)\", chx3, \"Button\", BS_AUTOCHECKBOX |\r\n                    WS_TABSTOP, 6, 127, 252, 10\r\n\r\n    CONTROL         \"全てのドライブで小文字で表示(&D)\", chx4, \"Button\", BS_AUTOCHECKBOX |\r\n                    WS_TABSTOP, 6, 139, 252, 10\r\n\r\n    LTEXT           \"色(&C):\", stc4, 10, 107, 30, 9\r\n    COMBOBOX        cmb4, 10, 117, 75, 50, CBS_DROPDOWNLIST |\r\n                    CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS |\r\n                    WS_BORDER | WS_VSCROLL\r\n\r\n    DEFPUSHBUTTON   \"OK\", IDOK, 218, 6, 40, 14, WS_GROUP\r\n    PUSHBUTTON      \"キャンセル\", IDCANCEL, 218, 23, 40, 14, WS_GROUP\r\n    PUSHBUTTON      \"適用(&A)\", psh3, 218, 40, 40, 14, WS_GROUP\r\n    PUSHBUTTON      \"ヘルプ(&H)\", pshHelp, 218, 57, 40, 14, WS_GROUP\r\n    GROUPBOX        \"サンプル\", grp2, 6, 72, 252, 49, WS_GROUP\r\n    CTEXT           \"\", stc6, 10, 137, 1, 2,\r\n                    SS_NOPREFIX | NOT WS_GROUP\r\n    CTEXT           \"AaBbYyZz\", stc5, 10, 81, 243, 37, SS_NOPREFIX | NOT\r\n                    WS_VISIBLE\r\nEND\r\n\r\nDRIVEDLG DIALOGEX 11, 31, 201, 86\r\nCAPTION \"ドライブの選択\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_THICKFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP | WS_CLIPCHILDREN\nBEGIN\r\n    DIALOGRESIZE { 0, 0 }\n    CONTROL \"ドライブ(&D):\", IDD_DRIVE1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 41, 10\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    CONTROL \"\", IDD_DRIVE, \"listbox\", LBS_NOTIFY | LBS_SORT | LBS_STANDARD | LBS_USETABSTOPS | WS_BORDER | WS_VSCROLL | WS_CHILD | WS_TABSTOP, 5, 16, 140, 60\r\n\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 6, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"キャンセル\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 23, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"ヘルプ(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 44, 40, 14\r\nEND\r\n\r\nRUNDLG DIALOGEX 15, 12, 210, 63\r\nCAPTION \"実行\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\r\nBEGIN\r\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 3, 6, 162, 10\r\n    DIALOGRESIZECONTROL { 0, 10, 100, 0 }\n    CONTROL \"コマンド ライン(&C):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_GROUP | WS_CHILD, 3, 18, 60, 10\r\n    DIALOGRESIZECONTROL { 0, 20, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 3, 29, 134, 12\r\n    DIALOGRESIZECONTROL { 0, 100, 0, 0 }\n    CONTROL \"実行時に最小化(&M)\", IDD_LOAD, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 3, 45, 91, 12\r\n    DIALOGRESIZECONTROL { 50, 100, 0, 0 }\n    CONTROL \"管理者として実行(&A)\", IDD_RUNAS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 84, 45, 91, 12\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 6, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"キャンセル\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 23, 40, 14\r\n//    CONTROL \"ブラウズ(&B)...\", IDD_BROWSE, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 40, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"ヘルプ(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 43, 40, 14\r\nEND\r\n\r\nSELECTDLG DIALOGEX 15, 12, 116, 83\r\nCAPTION \"ファイルを選択\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\r\nBEGIN\r\n    DIALOGRESIZE { 0, 125 }\n    CONTROL \"ファイル(&F):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 16, 60, 10\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 5, 29, 60, 12\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"選択(&S)\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 6, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"解除(&D)\", IDYES, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 23, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 20, 0, 0 }\n    CONTROL \"キャンセル\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 40, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"ヘルプ(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 63, 40, 14\r\nEND\r\n\r\n\r\n\r\nCONFIRMREPLACE DIALOG 10, 20, 245, 95\r\nCAPTION \"ファイル入れ替えの確認\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\r\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\r\n    CONTROL \"先ファイル:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 12, 49, 10\r\n    CONTROL \"\", IDD_TO, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 75, 12, 165, 10\r\n    CONTROL \"\", IDD_DATE1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 75, 22, 170, 10\r\n    CONTROL \"元ファイル:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 34, 49, 10\r\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 75, 34, 165, 10\r\n    CONTROL \"\", IDD_DATE2, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 75, 44, 170, 10\r\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 54, 203, 10\r\n    CONTROL \"はい(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 73, 40, 14\r\n    CONTROL \"全て(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 73, 40, 14\r\n    CONTROL \"いいえ(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 73, 40, 14\r\n    CONTROL \"キャンセル\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 73, 40, 14\r\nEND\r\n\r\nCONFIRMDELETE DIALOG 10, 20, 245, 60\r\nCAPTION \"ファイル削除の確認\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\r\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\r\n    CONTROL \"削除ファイル:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 44, 10\r\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 70, 18, 170, 10\r\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\r\n    CONTROL \"はい(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\r\n    CONTROL \"全て(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\r\n    CONTROL \"いいえ(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\r\n    CONTROL \"キャンセル\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\r\nEND\r\n\r\n\r\nCONFIRMNOACCESS DIALOG 10, 20, 260, 70\r\nCAPTION \"確認: 無視するファイル/ディレクトリと続行\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\r\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\r\n    CONTROL \"アクセス不可を無視:\", IDD_TYPE, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 10, 203, 10\r\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 108, 10, 122, 10\r\n    CONTROL \"ファイルを使用する権限がありません。\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 25, 230, 10\r\n    CONTROL \"このファイルを無視して続行するには「はい」を選択して下さい。\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 35, 190, 10\r\n    CONTROL \"はい(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 52, 40, 14\r\n    CONTROL \"全て(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 52, 40, 14\r\n    CONTROL \"いいえ(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 52, 40, 14\r\n    CONTROL \"キャンセル\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 52, 40, 14\r\nEND\r\n\r\n\r\nCONFIRMNOACCESSDEST DIALOG 10, 20, 245, 60\r\nCAPTION \"確認: 無視するファイル/ディレクトリと続行\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\r\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\r\n    CONTROL \"アクセスできないファイルを無視:\", IDD_TYPE, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 13, 203, 10\r\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 124, 13, 106, 10\r\n    CONTROL \"このファイルを無視して続行するには「はい」を選択して下さい。\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 23, 190, 10\r\n    CONTROL \"はい(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\r\n    CONTROL \"全て(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\r\n    CONTROL \"いいえ(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\r\n    CONTROL \"キャンセル\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\r\nEND\r\n\r\n\r\nCONFIRMRMDIR DIALOG 10, 20, 245, 60\r\nCAPTION \"ディレクトリ削除の確認\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\r\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\r\n    CONTROL \"削除ディレクトリ:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 55, 10\r\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 80, 18, 160, 10\r\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\r\n    CONTROL \"はい(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\r\n    CONTROL \"全て(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\r\n    CONTROL \"いいえ(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\r\n    CONTROL \"キャンセル\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\r\nEND\r\n\r\nCONFIRMMOVE DIALOG 10, 22, 245, 60\r\nCAPTION \"ファイル移動の確認\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\r\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\r\n    CONTROL \"移動ファイル:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 44, 10\r\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 70, 18, 170, 10\r\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\r\n    CONTROL \"はい(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\r\n    CONTROL \"全て(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\r\n    CONTROL \"いいえ(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\r\n    CONTROL \"キャンセル\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\r\nEND\r\n\r\nCONFIRMRENAME DIALOG 10, 22, 245, 60\r\nCAPTION \"ファイル名変更の確認\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\r\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\r\n    CONTROL \"変更ファイル:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 54, 10\r\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 80, 18, 160, 10\r\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\r\n    CONTROL \"はい(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\r\n    CONTROL \"全て(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\r\n    CONTROL \"いいえ(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\r\n    CONTROL \"キャンセル\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\r\nEND\r\n\r\n\r\nMYPRINTDLG DIALOGEX 20, 20, 240, 63\r\nCAPTION \"印刷\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\r\nBEGIN\r\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 6, 193, 10\r\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL \"印刷(&P):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 20, 26, 10\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_FROM, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 38, 18, 150, 12\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\",IDD_STATUS, \"static\", WS_CHILD | SS_LEFTNOWORDWRAP | SS_NOPREFIX, 3, 36, 190, 10\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 6, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"キャンセル\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 23, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"ヘルプ(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 43, 40, 14\r\nEND\r\n\r\n\r\nSEARCHDLG DIALOGEX 20, 20, 283, 63\r\nCAPTION \"検索\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\r\nBEGIN\r\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL \"検索対象(&S):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 6, 50, 12\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 62, 5, 170, 12\r\n    DIALOGRESIZECONTROL { 0, 33, 0, 0 }\n    CONTROL \"更新日時(&C):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 21, 50, 12\r\n    DIALOGRESIZECONTROL { 0, 33, 100, 0 }\n    CONTROL \"\", IDD_DATE, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 62, 20, 170, 12\r\n    DIALOGRESIZECONTROL { 0, 67, 0, 0 }\n    CONTROL \"検索の開始(&F):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 36, 50, 12\r\n    DIALOGRESIZECONTROL { 0, 67, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 62, 35, 170, 12\r\n    DIALOGRESIZECONTROL { 0, 100, 0, 0 }\n    CONTROL \"全てのサブディレクトリを検索(&E)\", IDD_SEARCHALL, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 15, 49, 110, 12\r\n    DIALOGRESIZECONTROL { 50, 100, 0, 0 }\n    CONTROL \"結果にディレクトリを含む(&U)\", IDD_INCLUDEDIRS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 132, 49, 100, 12\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 6, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 25, 0, 0 }\n    CONTROL \"キャンセル\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 23, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"ヘルプ(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 43, 40, 14\r\nEND\r\n\r\n\r\nMOVECOPYDLG DIALOGEX 47, 59, 381, 64\r\nSTYLE WS_BORDER | WS_THICKFRAME | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN\r\nCAPTION \"移動\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"現在のディレクトリ: N\", IDD_DIR, \"Static\", SS_SIMPLE | SS_NOPREFIX, 3, 6, 332, 10\r\n\r\n    DIALOGRESIZECONTROL { 0, 25, 0, 0 }\n    CONTROL         \"移動先(&T):\", IDD_KK_TEXTTO, \"Static\", SS_LEFTNOWORDWRAP, 3, 33, 70, 10\r\n    DIALOGRESIZECONTROL { 0, 25, 100, 0}\n    EDITTEXT        IDD_TO, 77, 32, 248, 12, ES_AUTOHSCROLL\r\n\r\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL         \"\", IDD_STATUS, \"Static\", SS_SIMPLE | SS_NOPREFIX, 3, 49, 40, 10\r\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"\", IDD_NAME, \"Static\", SS_SIMPLE | SS_NOPREFIX,  45, 49, 290, 10\r\n\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"OK\", IDOK, 335, 6, 40, 14\r\n\r\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    PUSHBUTTON      \"キャンセル\", IDCANCEL, 335, 23, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    PUSHBUTTON      \"ヘルプ(&H)\", IDD_HELP, 335, 40, 40, 14\r\n\r\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL         \"移動元(&F):\", IDD_KK_TEXTFROM, \"Static\", SS_LEFTNOWORDWRAP, 3, 19, 70, 10\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    EDITTEXT        IDD_FROM, 77, 18, 248, 12, ES_AUTOHSCROLL\r\n\r\n    DIALOGRESIZECONTROL { 0, 50, 0, 0 }\n    CONTROL         \"\", IDD_DIRS, \"Static\", SS_LEFTNOWORDWRAP, 3, 49, 330, 10\r\nEND\r\n\r\n\r\n\r\nDELETEDLG DIALOGEX 20, 20, 246, 64\r\nCAPTION \"削除\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\r\nBEGIN\r\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"現在のディレクトリ: C\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 5, 193, 10\r\n    CONTROL \"削除(&L):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 20, 35, 10\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_FROM, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 40, 19, 155, 12\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_STATUS, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 3, 35, 35, 10\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 40, 35, 155, 10\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 6, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"キャンセル\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 23, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"ヘルプ(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 40, 40, 14\r\nEND\r\n\r\nMULTIPLEATTRIBSDLG DIALOG 20, 20, 206, 88\r\nCAPTION \"プロパティ\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\r\nBEGIN\r\n    CONTROL \"%d 個のファイルが選択中\", IDD_TEXT1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 144, 10\r\n    CONTROL \"合計 %s バイト\", IDD_TEXT2, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 16, 144, 10\r\n    CONTROL \"属性\", -1, \"button\", BS_GROUPBOX | WS_CHILD, 5, 29, 150, 54\r\n    CONTROL \"読み込み専用(&R)\", IDD_READONLY, \"button\", WS_GROUP | WS_TABSTOP | BS_AUTOCHECKBOX | WS_CHILD, 10, 40, 68, 12\r\n    CONTROL \"隠し(&I)\", IDD_HIDDEN, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 83, 40, 68, 12\r\n    CONTROL \"アーカイブ(&A)\", IDD_ARCHIVE, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 10, 52, 68, 12\r\n    CONTROL \"システム(&S)\", IDD_SYSTEM, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 83, 52, 68, 12\r\n    CONTROL \"圧縮ファイル(&C)\", IDD_COMPRESSED, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 10, 64, 68, 12\r\n    CONTROL \"暗号化(&E)\", IDD_ENCRYPTED, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_DISABLED, 83, 64, 52, 12\r\n    CONTROL \"OK\", 1, \"button\", WS_GROUP | BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 160, 6, 40, 14\r\n    CONTROL \"キャンセル\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 160, 23, 40, 14\r\n    CONTROL \"ヘルプ(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 160, 43, 40, 14\r\nEND\r\n\r\n\r\nATTRIBSDLG DIALOG 23, 13, 259, 229\r\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r\nCAPTION \"%s のプロパティ\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    DEFPUSHBUTTON   \"OK\", IDOK, 204, 6, 50, 14, WS_GROUP\r\n    PUSHBUTTON      \"キャンセル\", IDCANCEL, 204, 23, 50, 14\r\n    PUSHBUTTON      \"ヘルプ(&H)\", IDD_HELP, 204, 40, 50, 14\r\n\r\n    CONTROL         \"名前(&F):\", IDD_NAMELABEL, \"Static\",\r\n                    SS_LEFTNOWORDWRAP, 5, 5, 55, 10\r\n    EDITTEXT        IDD_NAME, 72, 5, 132, 10, ES_AUTOHSCROLL | ES_READONLY |\r\n                    NOT WS_BORDER\r\n    CONTROL         \"パス(&P):\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP,\r\n                    5, 16, 51, 10\r\n    EDITTEXT        IDD_DIR, 72, 16, 132, 10, ES_AUTOHSCROLL | ES_READONLY |\r\n                    NOT WS_BORDER\r\n    CONTROL         \"最終変更:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP,\r\n                    5, 27, 62, 10\r\n    CONTROL         \"\", IDD_DATE, \"Static\", SS_LEFTNOWORDWRAP, 72, 27, 132, 10\r\n    CONTROL         \"バージョン:\", IDD_VERLABEL, \"Static\", SS_LEFTNOWORDWRAP,\r\n                    5, 38, 45, 10\r\n    CONTROL         \"マークされていない\", IDD_VERSION, \"Static\", SS_LEFTNOWORDWRAP |\r\n                    SS_NOPREFIX, 72, 38, 132, 10\r\n    LTEXT           \"コピーライト(&Y):\", -1, 5, 49, 45, 10\r\n    CONTROL         \"マークされていない\", IDD_COPYRIGHT, \"Edit\", ES_AUTOHSCROLL |\r\n                    ES_READONLY | WS_TABSTOP, 72, 49, 132, 10\r\n    CONTROL         \"サイズ:\", IDD_SIZELABEL, \"Static\", SS_LEFTNOWORDWRAP,\r\n                    5, 60, 45, 10\r\n    CONTROL         \"\", IDD_SIZE, \"Static\", SS_LEFTNOWORDWRAP, 72, 60, 132, 10\r\n    CONTROL         \"圧縮済みサイズ:\", IDD_CSIZELABEL, \"Static\",\r\n                    SS_LEFTNOWORDWRAP, 5, 71, 62, 10\r\n    CONTROL         \"\", IDD_CSIZE, \"Static\", SS_LEFTNOWORDWRAP, 72, 71, 132, 10\r\n    CONTROL         \"圧縮率:\", IDD_CRATIOLABEL, \"Static\",\r\n                    SS_LEFTNOWORDWRAP, 5, 82, 62, 10\r\n    CONTROL         \"\", IDD_CRATIO, \"Static\", SS_LEFTNOWORDWRAP, 72, 82, 132, 10\r\n    GROUPBOX        \"属性\", IDD_TEXT, 4, 96, 160, 54\r\n    CONTROL         \"読み込み専用(&R)\", IDD_READONLY, \"Button\", BS_AUTOCHECKBOX |\r\n                    WS_GROUP | WS_TABSTOP, 9, 108, 70, 12\r\n    CONTROL         \"隠し(&I)\", IDD_HIDDEN, \"Button\", BS_AUTOCHECKBOX,\r\n                    81, 108, 72, 12\r\n    CONTROL         \"アーカイブ(&A)\", IDD_ARCHIVE, \"Button\", BS_AUTOCHECKBOX,\r\n                    9, 120, 70, 12\r\n    CONTROL         \"システム(&S)\", IDD_SYSTEM, \"Button\", BS_AUTOCHECKBOX,\r\n                    81, 120, 72, 12\r\n    CONTROL         \"圧縮ファイル(&C)\", IDD_COMPRESSED, \"Button\", BS_AUTOCHECKBOX,\r\n                    9, 132, 70, 12\r\n    GROUPBOX        \"バージョン情報(&V)\", IDD_VERSION_FRAME, 4, 155, 250, 70\r\n    LISTBOX         IDD_VERSION_KEY, 9, 168, 91, 58, LBS_SORT |\r\n                    LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\r\n    EDITTEXT        IDD_VERSION_VALUE, 110, 168, 138, 58, ES_MULTILINE |\r\n                    ES_READONLY | WS_VSCROLL\r\nEND\r\n\r\n\r\nCOMPRESSPROGDLG DIALOG 123, 60, 207, 117\r\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\r\nCAPTION \"ファイルの圧縮中...\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    LTEXT           \"圧縮中ファイル:\", -1, 6, 8, 79, 8\r\n    LTEXT           \"filename.xxx\", IDD_COMPRESS_FILE, 86, 8, 90, 8\r\n    LTEXT           \"ディレクトリ:\", -1, 6, 20, 39, 8\r\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\", IDD_COMPRESS_DIR, 43, \r\n                    20, 150, 8\r\n    LTEXT           \"圧縮されたディレクトリ:\", -1, 6, 32, 102, 8\r\n    LTEXT           \"1,888,888,999\", IDD_COMPRESS_TDIRS, 90, 32, 60, 8\r\n    LTEXT           \"圧縮されたファイル:\", -1, 6, 44, 62, 8\r\n    LTEXT           \"1,888,888,999\", IDD_COMPRESS_TFILES, 74, 44, 58, 8\r\n    LTEXT           \"圧縮前のファイル サイズ合計:\", -1, 6, 56, \r\n                    124, 8\r\n    LTEXT           \"9,999,999,999,999\", IDD_COMPRESS_USIZE, 134, 56, 68, 8\r\n    LTEXT           \"圧縮後のファイル サイズ合計:\", -1, 6, 68, 123, \r\n                    8\r\n    LTEXT           \"9,999,999,999,999\", IDD_COMPRESS_CSIZE, 134, 69, 68, 8\r\n    LTEXT           \"ファイルの圧縮率:\", -1, 6, 80, 78, 8\r\n    LTEXT           \"100%\", IDD_COMPRESS_RATIO, 91, 80, 27, 8\r\n    PUSHBUTTON      \"キャンセル\", IDCANCEL, 76, 97, 55, 14\r\nEND\r\n\r\nUNCOMPRESSPROGDLG DIALOG 114, 62, 197, 84\r\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\r\nCAPTION \"ファイルの解凍中...\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    LTEXT           \"解凍中のファイル:\", -1, 6, 8, 83, 8\r\n    LTEXT           \"filename.xxx\", IDD_UNCOMPRESS_FILE, 93, 8, 66, 8\r\n    LTEXT           \"ディレクトリ:\", -1, 6, 20, 39, 8\r\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\", \r\n                    IDD_UNCOMPRESS_DIR, 45, 20, 144, 8\r\n    LTEXT           \"解凍されたディレクトリ:\", -1, 6, 32, 91, 8\r\n    LTEXT           \"1,999,999,999\", IDD_UNCOMPRESS_TDIRS, 99, 32, 70, 8\r\n    LTEXT           \"解凍されたファイル:\", -1, 6, 44, 86, 8\r\n    LTEXT           \"1,999,999,999\", IDD_UNCOMPRESS_TFILES, 92, 44, 78, 8\r\n    PUSHBUTTON      \"キャンセル\", IDCANCEL, 74, 64, 49, 14\r\nEND\r\n\r\nCOMPRESSERRDLG DIALOG 11, 28, 245, 65\r\nCAPTION \"圧縮エラー\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\r\nBEGIN\r\n    ICON 32515, -1, 8, 8, 21, 20\r\n    LTEXT \"\", IDD_TEXT1, 35, 8, 190, 20\r\n\r\n    DEFPUSHBUTTON \"無視(&I)\",     IDIGNORE,      33,  47, 40, 14, WS_TABSTOP | WS_CHILD | WS_GROUP\r\n    PUSHBUTTON    \"全て無視(&G)\", IDD_IGNOREALL, 79,  47, 50, 14, WS_TABSTOP | WS_CHILD\r\n    PUSHBUTTON    \"再実行(&R)\",      IDRETRY,       135, 47, 40, 14, WS_TABSTOP | WS_CHILD\r\n    PUSHBUTTON    \"中断(&A)\",      IDABORT,       181, 47, 40, 14, WS_TABSTOP | WS_CHILD\r\nEND\r\n\r\n\r\n\r\nMAKEDIRDLG DIALOGEX 20, 20, 200, 63\r\nCAPTION \"ディレクトリを作成\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\r\nBEGIN\r\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 6, 154, 10\r\n    CONTROL \"名称(&N):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 23, 25, 10\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 35, 22, 90, 12\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\",IDD_STATUS, \"static\", WS_CHILD | SS_NOPREFIX | SS_LEFTNOWORDWRAP, 3, 46, 150, 10\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 6, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"キャンセル\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 23, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"ヘルプ(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 43, 40, 14\r\nEND\r\n\r\n\r\nCHOOSEDRIVEDLG DIALOG 20, 20, 157, 64\r\nCAPTION \"ディスクのコピー\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\r\nBEGIN\r\n    CONTROL \"コピー元(&S):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 8, 50, 10\r\n    CONTROL \"\", IDD_DRIVE1, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 55, 6, 40, 37\r\n    CONTROL \"コピー先(&D):\", IDD_FLAGS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 22, 50, 10\r\n    CONTROL \"\", IDD_DRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 55, 20, 40, 37\r\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 6, 40, 14\r\n    CONTROL \"キャンセル\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 23, 40, 14\r\n    CONTROL \"ヘルプ(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 43, 40, 14\r\nEND\r\n\r\n\r\nDISKCOPYPROGRESSDLG DIALOG 30, 30, 130, 55\r\nCAPTION \"ディスクのコピー\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE | DS_SYSMODAL\r\nBEGIN\r\n    CONTROL \"ディスクのコピー中\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 5, 130, 10\r\n    CONTROL \"ドライブ A:\", IDD_DRIVE, \"static\", SS_CENTER | WS_CHILD, 0, 15, 130, 10\r\n    CONTROL \"ソース ディスクから読み込み中\", IDD_PROGRESS, \"static\", SS_CENTER | WS_CHILD, 0, 26, 130, 10\r\n    CONTROL \"キャンセル\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 44, 39, 44, 14\r\nEND\r\n\r\nDISKLABELDLG DIALOGEX 20, 20, 161, 63\r\nCAPTION \"ディスクのボリューム ラベル\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\r\nBEGIN\r\n    DIALOGRESIZE { 0, 125 }\n    CONTROL \"ラベル(&L):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 15, 30, 10\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 5, 26, 100, 12\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 6, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"キャンセル\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 23, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"ヘルプ(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 43, 40, 14\r\nEND\r\n\r\nFORMATDLG DIALOG 11, 28, 183, 96\r\nCAPTION \"ディスクのフォーマット\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 6, 40, 14\r\n    CONTROL \"キャンセル\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 23, 40, 14\r\n    CONTROL \"ヘルプ(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 43, 40, 14\r\n    CONTROL \"ディスクの場所(&D):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 7, 55, 10\r\n    CONTROL \"\", IDD_DRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 65, 4, 65, 40\r\n    CONTROL \"容量(&C):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 20, 55, 10\r\n    CONTROL \"\", IDD_HIGHCAP, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 65, 19, 65, 40\r\n    CONTROL \"オプション\", 102, \"button\", BS_GROUPBOX | WS_GROUP | WS_CHILD, 5, 39, 115, 53\r\n    CONTROL \"ラベル(&L):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 11, 51, 39, 10\r\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 40, 49, 63, 12\r\n//    CONTROL \"&Make System Disk\", IDD_MAKESYS, \"button\", BS_CHECKBOX | BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD | WS_DISABLED, 11, 62, 90, 12\r\n    CONTROL \"クイック フォーマット(&Q)\", IDD_VERIFY, \"button\", BS_CHECKBOX | BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 62, 90, 12\r\nEND\r\n\r\nFORMATSELECTDLG DIALOG 11, 28, 183, 44\r\nCAPTION \"ドライブのフォーマット\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 6, 40, 14\r\n    CONTROL \"キャンセル\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 23, 40, 14\r\n    CONTROL \"フォーマットするドライブ(&D):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 7, 75, 10\r\n    CONTROL \"\", IDD_SELECTDRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 85, 4, 50, 40\r\nEND\r\n\r\nFORMATPROGRESSDLG DIALOG 30, 30, 150, 50\r\nCAPTION \"ディスクをフォーマット中\"\r\nFONT 8, \"MS Shell Dlg\"\r\n//STYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE | DS_SYSMODAL\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE\r\nBEGIN\r\n    CONTROL \"ディスクをフォーマット中\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 5, 150, 10\r\n    CONTROL \"ドライブを初期化中...\", IDD_PROGRESS, \"static\", SS_CENTER | WS_CHILD, 0, 17, 150, 10\r\n    CONTROL \"キャンセル\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 54, 30, 44, 14\r\nEND\r\n\r\n#if 0\r\nSYSDISKPROGRESSDLG DIALOG 30, 30, 174, 57\r\nCAPTION \"Make System Disk\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE\r\nBEGIN\r\n    CONTROL \"Now copying system files\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 6, 174, 8\r\n    CONTROL \"Press Cancel if you want to abort.\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 14, 174, 8\r\n    CONTROL \"Cancel\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 66, 39, 44, 14\r\nEND\r\n\r\nCONNECTDLG DIALOG 12, 28, 241, 135\r\nCAPTION \"Network Connections\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n  GROUPBOX \"New Connection\", -1, 5, 3, 170, 55, WS_CHILD\r\n\r\n  LTEXT \"&Network Path:\", -1, 10, 16, 55, 10\r\n  EDITTEXT, IDD_PATH, 65, 14, 100, 12, ES_AUTOHSCROLL | WS_GROUP | WS_TABSTOP\r\n  LTEXT \"D&rive:\", -1, 10, 30, 24, 10\r\n  COMBOBOX IDD_DRIVE, 65, 28, 40, 100, CBS_DROPDOWNLIST | WS_VSCROLL | WS_GROUP | WS_TABSTOP\r\n  LTEXT \"Pass&word:\", -1, 10, 44, 36, 10\r\n  EDITTEXT, IDD_PASSWORD, 65, 42, 100, 12, ES_AUTOHSCROLL | ES_PASSWORD | WS_GROUP | WS_TABSTOP\r\n\r\n  LTEXT \"Current Dri&ve Connections:\", -1, 5, 62, 120, 10\r\n  LISTBOX IDD_DRIVE1, 5, 73, 160, 60, LBS_SORT | LBS_NOTIFY | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_BORDER | WS_TABSTOP\r\n\r\n  DEFPUSHBUTTON \"C&lose\",  IDCANCEL, 190, 6, 45, 14, WS_GROUP | WS_TABSTOP\r\n  PUSHBUTTON \"&Connect\", IDOK, 190, 27, 45, 14, WS_TABSTOP\r\n  PUSHBUTTON \"&Previous...\", IDD_PREV, 190, 44, 45, 14, WS_TABSTOP\r\n  PUSHBUTTON \"&Browse...\", IDD_NETBROWSE, 190, 61, 45, 14, WS_GROUP | WS_TABSTOP\r\n  PUSHBUTTON \"&Disconnect\", IDD_DISCONNECT, 190, 78, 45, 14, WS_GROUP|WS_TABSTOP\r\n  PUSHBUTTON \"&Help\", IDD_HELP, 190, 95, 45, 14, WS_GROUP | WS_TABSTOP\r\nEND\r\n\r\nPREVIOUSDLG DIALOG 30, 30, 231, 98\r\nCAPTION \"Previous Network Connections\"\r\nFONT 8 \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\r\nBEGIN\r\n    CONTROL \"Network &Paths:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 3, 69, 10\r\n    CONTROL \"\", IDD_PREV, \"listbox\", LBS_NOTIFY | LBS_SORT | LBS_STANDARD | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 3, 15, 172, 80\r\n    CONTROL \"&Select\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 6, 44, 14\r\n    CONTROL \"Close\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 24, 44, 14\r\n    CONTROL \"&Delete\", IDD_DELETE, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 41, 44, 14\r\n    CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 58, 44, 14\r\nEND\r\n#endif\r\n\r\nOTHERDLG DIALOG 20, 20, 174, 81\r\nCAPTION \"部分的な詳細\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\r\nBEGIN\r\n    CONTROL \"詳細\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_CHILD, 4, 4, 121, 74\r\n    CONTROL \"サイズ(&S)\", IDD_SIZE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 15, 100, 12\r\n    CONTROL \"最終更新日付(&M)\", IDD_DATE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 27, 100, 12\r\n    CONTROL \"最終更新時刻(&T)\", IDD_TIME, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 39, 100, 12\r\n    CONTROL \"ファイル属性(&F)\", IDD_FLAGS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 51, 100, 12\r\n    CONTROL \"MS-DOS ファイル名(&D)\", IDD_DOSNAMES, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 63, 100, 12\r\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 6, 40, 14\r\n    CONTROL \"キャンセル\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 23, 40, 14\r\n    CONTROL \"ヘルプ(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 60, 40, 14\r\nEND\r\n\r\n\r\nINCLUDEDLG DIALOG 20, 20, 157, 114\r\nCAPTION \"ファイル タイプ別\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\r\nBEGIN\r\n    CONTROL \"名称(&N):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 8, 23, 10\r\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 34, 6, 65, 12\r\n    CONTROL \"ファイル タイプ\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_CHILD, 5, 20, 94, 62\r\n    CONTROL \"ディレクトリ(&D)\", IDD_DIR, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 31, 60, 12\r\n    CONTROL \"プログラム(&P)\", IDD_PROGRAMS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 43, 60, 12\r\n    CONTROL \"ドキュメント(&M)\", IDD_DOCS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 55, 60, 12\r\n    CONTROL \"その他のファイル(&O)\", IDD_OTHER, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 67, 60, 12\r\n    CONTROL \"隠し/システム ファイル(&S)\", IDD_SHOWHIDDEN, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 5, 85, 130, 12\r\n    CONTROL \"ジャンクション ポイントを表示(&J)\", IDD_SHOWJUNCTION, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 5, 97, 130, 12\r\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 6, 40, 14\r\n    CONTROL \"キャンセル\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 23, 40, 14\r\n    CONTROL \"ヘルプ(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 43, 40, 14\r\nEND\r\n\r\n\r\nCONFIRMDLG DIALOG 20, 20, 254, 92\r\nCAPTION \"確認\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\r\nBEGIN\r\n    CONTROL \"確認\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_TABSTOP | WS_CHILD, 5, 3, 198, 86\r\n    CONTROL \"ファイルの削除(&D)\", IDD_DELETE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 15, 80, 12\r\n    CONTROL \"ディレクトリを削除(&I)\", IDD_SUBDEL, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 27, 80, 12\r\n    CONTROL \"ファイルの入れ替え(&R)\", IDD_REPLACE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 39, 80, 12\r\n    CONTROL \"マウス操作(&M)\", IDD_MOUSE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 51, 80, 12\r\n    CONTROL \"ディスクコマンド(&K)\", IDD_CONFIG, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 63, 80, 12\r\n    CONTROL \"システム/隠し/読み取り専用ファイルの変更(&S)\", IDD_READONLY, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 75, 190, 12\r\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 208, 6, 40, 14\r\n    CONTROL \"キャンセル\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 208, 23, 40, 14\r\n    CONTROL \"ヘルプ(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 208, 44, 40, 14\r\nEND\r\n\r\nDMSTATUSDLG DIALOG 20, 20, 250, 46\r\nCAPTION \"移動中...\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\r\nBEGIN\r\n    CONTROL \"\", IDD_STATUS, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD , 5, 5, 49, 10\r\n    CONTROL \"\", IDD_NAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 55, 5, 192, 10\r\n    CONTROL \"移動先:\", IDD_TOSTATUS, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 5, 15, 42, 10\r\n    CONTROL \"\", IDD_TONAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 55, 15, 192, 10\r\n    CONTROL \"キャンセル\", IDCANCEL, \"button\", WS_CHILD | BS_DEFPUSHBUTTON, 200, 28, 40, 14\r\nEND\r\n\r\nPRTDLG DIALOG 20, 20, 120, 58\r\nCAPTION \"\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\r\nBEGIN\r\n    CONTROL \"ファイルを印刷中...\", -1, \"static\", SS_CENTER | WS_GROUP | WS_CHILD, 4, 6, 120, 12\r\n    CONTROL \"\", IDD_TEXT, \"static\", SS_CENTER | SS_NOPREFIX | WS_GROUP | WS_CHILD, 4, 20, 120, 12\r\n    CONTROL \"キャンセル\", 2, \"button\", BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP | WS_CHILD, 44, 40, 32, 14\r\nEND\r\n\r\n\r\nLFNTOFATDLG DIALOG 11, 28, 250, 78\r\nCAPTION \"ファイル名の選択\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL \"このパスは、FATファイル名の形式に準拠していません。新しい名前を入力してください。\", 99, \"static\", SS_LEFT | WS_CHILD, 5, 4, 190, 24\r\n    CONTROL \"新しい名前(&N):\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 56, 50, 12\r\n    CONTROL \"\", IDD_TO, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 57, 55, 130, 12\r\n    CONTROL \"オリジナル:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 28, 50, 11\r\n    CONTROL \"\", IDD_FROM, \"edit\", ES_READONLY | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_CHILD, 57, 28, 130, 12\r\n    CONTROL \"移動先:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 42, 50, 11\r\n    CONTROL \"\", IDD_DIR, \"edit\", ES_READONLY | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_CHILD, 57, 42, 130, 12\r\n    CONTROL \"OK\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 4, 40, 14\r\n    CONTROL \"キャンセル\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 20, 40, 14\r\n    CONTROL \"ヘルプ(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 36, 40, 14\r\nEND\r\n\r\n\r\nATTRIBSDLGDIR DIALOG 23, 13, 250, 119\r\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r\nCAPTION \"%s のプロパティ\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    DEFPUSHBUTTON   \"OK\", IDOK, 194, 6, 50, 14, WS_GROUP\r\n    PUSHBUTTON      \"ｷｬﾝｾﾙ\", IDCANCEL, 194, 23, 50, 14\r\n    PUSHBUTTON      \"ヘルプ(&H)\", IDD_HELP, 194, 43, 50, 14\r\n    CONTROL         \"ファイル名(&F):\", IDD_NAMELABEL, \"Static\",\r\n                    SS_LEFTNOWORDWRAP, 5, 5, 55, 10\r\n    EDITTEXT        IDD_NAME, 60, 5, 134, 10, ES_AUTOHSCROLL | ES_READONLY |\r\n                    NOT WS_BORDER\r\n    CONTROL         \"パス(&P):\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP, 5, 16,\r\n                    51, 10\r\n    EDITTEXT        IDD_DIR, 60, 16, 134, 10, ES_AUTOHSCROLL | ES_READONLY |\r\n                    NOT WS_BORDER\r\n    CONTROL         \"最終変更:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP, 5,\r\n                    27, 62, 10\r\n    CONTROL         \"\", IDD_DATE, \"Static\", SS_LEFTNOWORDWRAP, 60, 27, 97,\r\n                    10\r\n    CONTROL         \"サイズ:\", IDD_SIZELABEL, \"Static\", SS_LEFTNOWORDWRAP, 5,\r\n                    38, 45, 10\r\n    CONTROL         \"\", IDD_SIZE, \"Static\", SS_LEFTNOWORDWRAP, 60, 38, 90,\r\n                    10\r\n    GROUPBOX        \"属性\", IDD_TEXT, 4, 52, 150, 54\r\n    CONTROL         \"読み取り専用(&R)\", IDD_READONLY, \"Button\", BS_AUTOCHECKBOX |\r\n                    WS_GROUP | WS_TABSTOP, 9, 64, 65, 12\r\n    CONTROL         \"隠し(&I)\", IDD_HIDDEN, \"Button\", BS_AUTOCHECKBOX, 80, 64,\r\n                    70, 12\r\n    CONTROL         \"アーカイブ(&A)\", IDD_ARCHIVE, \"Button\", BS_AUTOCHECKBOX, 9,\r\n                    76, 65, 12\r\n    CONTROL         \"システム(&S)\", IDD_SYSTEM, \"Button\", BS_AUTOCHECKBOX, 80, 76,\r\n                    70, 12\r\n    CONTROL         \"圧縮(&C)\", IDD_COMPRESSED, \"button\", BS_AUTOCHECKBOX,\r\n                    9, 88, 65, 12\r\nEND\r\n\r\n\r\n#ifdef ASSOC\r\nASSOCIATEDLG DIALOGEX 20, 20, 255, 129\r\n#else\r\nASSOCIATEDLG DIALOGEX 20, 20, 255, 118\r\n#endif\r\n\r\nCAPTION \"関連付け\"\r\nSTYLE WS_BORDER | WS_THICKFRAME | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    DIALOGRESIZE { 0, 0 }\n    LTEXT           \"ファイルの拡張子(&F):\", -1, 6, 7, 68, 8\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    COMBOBOX        IDD_EXT, 76, 5, 44, 55, CBS_DROPDOWN | CBS_SORT |\r\n                    CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r\n\r\n    LTEXT           \"関連付け(&A):\", -1, 6, 30, 92, 10\r\n\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    EDITTEXT        IDD_COMMAND, 6, 42, 172, 12, ES_AUTOHSCROLL\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    LISTBOX         IDD_CLASSLIST, 11, 54, 167, 62, LBS_SORT | WS_VSCROLL | WS_TABSTOP\r\n#ifdef ASSOC\r\n#ifdef ASSOCHEAD\r\n                    | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS\r\n#endif\r\n#endif\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    PUSHBUTTON      \"ブラウズ(&B)...\", IDD_BROWSE, 130, 24, 47, 14\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"OK\", IDOK, 187, 6, 62, 14, WS_GROUP\r\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    PUSHBUTTON      \"キャンセル\", IDCANCEL, 187, 23, 62, 14\r\n    DIALOGRESIZECONTROL { 100, 30, 0, 0 }\n    PUSHBUTTON      \"新しい種別(&N)...\", IDD_NEW, 187, 42, 62, 14\r\n    DIALOGRESIZECONTROL { 100, 40, 0, 0 }\n    PUSHBUTTON      \"種別を変更(&C)...\", IDD_CONFIG, 187, 59, 62, 14\r\n    DIALOGRESIZECONTROL { 100, 50, 0, 0 }\n    PUSHBUTTON      \"種別を削除(&D)\", IDD_DELETE, 187, 76, 62, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    PUSHBUTTON      \"ヘルプ(&H)\", IDD_HELP, 187, 95, 62, 14\r\n\r\n#ifdef ASSOC\r\n    AUTOCHECKBOX    \"&View Common File Types and Extensions only\", IDD_SYSTEM,\r\n                    6, 117, 160, 10, WS_GROUP\r\n#endif\r\nEND\r\n\r\nASSOCIATEFILEDLG DIALOG 18, 14, 290, 224\r\nCAPTION \"ファイル タイプの変更\"\r\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    LTEXT           \"ファイル タイプ(&F):\", IDD_DESCTEXT, 5, 6, 33, 8\r\n    EDITTEXT        IDD_DESC, 42, 5, 95, 12, ES_AUTOHSCROLL\r\n    GROUPBOX        \"操作(&A): \", -1, 5, 22, 235, 126, WS_GROUP\r\n    COMBOBOX        IDD_ACTION, 36, 22, 48, 33, CBS_DROPDOWNLIST |\r\n                    WS_VSCROLL | WS_TABSTOP\r\n    LTEXT           \"コマンド(&C):\", IDD_COMMANDTEXT, 9, 42, 38, 8\r\n    EDITTEXT        IDD_COMMAND, 47, 39, 111, 12, ES_AUTOHSCROLL\r\n    PUSHBUTTON      \"参照(&B)...\", IDD_BROWSE, 164, 38, 40, 14\r\n    AUTOCHECKBOX    \"DDE を使う(&U)\", IDD_DDE, 10, 57, 60, 10, WS_GROUP\r\n    LTEXT           \"DDE メッセージ(&M):\", IDD_DDEMESGTEXT, 22, 72, 50, 8\r\n    EDITTEXT        IDD_DDEMESG, 105, 70, 100, 12, ES_AUTOHSCROLL\r\n    LTEXT           \"未起動時の DDE(&N):\", IDD_DDENOTRUNTEXT, 22, 84, 82, 19\r\n    LTEXT           \"(任意)\", IDD_DDEOPTIONALTEXT, 207, 90, 32, 8\r\n    EDITTEXT        IDD_DDENOTRUN, 105, 88, 100, 12, ES_AUTOHSCROLL\r\n    LTEXT           \"アプリケーション(&P):\", IDD_DDEAPPTEXT, 22, 109, 39, 8\r\n    EDITTEXT        IDD_DDEAPP, 105, 107, 100, 12, ES_AUTOHSCROLL\r\n    LTEXT           \"トピック(&T):\", IDD_DDETOPICTEXT, 23, 127, 21, 8\r\n    EDITTEXT        IDD_DDETOPIC, 105, 125, 100, 12, ES_AUTOHSCROLL\r\n    LTEXT           \"新しい拡張(&W):\", -1, 11, 184, 52, 8\r\n    EDITTEXT        IDD_EXT, 64, 183, 32, 12, ES_AUTOHSCROLL\r\n    PUSHBUTTON      \"追加(&D) ->\", IDD_ADD, 102, 174, 44, 14\r\n    PUSHBUTTON      \"<-  削除(&R)\", IDD_DELETE, 102, 191, 44, 14\r\n    LTEXT           \"拡張(&E):\", -1, 157, 162, 41, 8\r\n    LISTBOX         IDD_EXTLIST, 157, 172, 65, 40, LBS_SORT | WS_VSCROLL | WS_TABSTOP\r\n    GROUPBOX        \"このファイル タイプに関連付けられた拡張子:\", IDD_EXTTEXT, 5, 154, 235, 66\r\n    DEFPUSHBUTTON   \"OK\", IDOK, 244, 6, 40, 14\r\n    PUSHBUTTON      \"ｷｬﾝｾﾙ\", IDCANCEL, 244, 23, 40, 14\r\n    PUSHBUTTON      \"ヘルプ(&H)\", IDD_HELP, 244, 40, 40, 14\r\nEND\r\n\r\nGOTODIRDLG DIALOGEX 13, 54, 464, 125\r\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_CLIPCHILDREN | WS_MAXIMIZEBOX\r\nCAPTION \"Goto Directory\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    DIALOGRESIZE    { 0, 0 }\r\n    LTEXT           \"別のディレクトリへ移動(&G):\", -1, 6, 3, 100, 8\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    CONTROL         \"\", IDD_GOTODIR, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 6, 13, 406, 12\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\r\n    LISTBOX         IDD_GOTOLIST, 6, 25, 406, 95, WS_VSCROLL | WS_TABSTOP\r\n\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\r\n    DEFPUSHBUTTON   \"OK\", IDOK, 418, 13, 40, 14, WS_GROUP\r\n    DIALOGRESIZECONTROL { 100, 3, 0, 0 }\r\n    PUSHBUTTON      \"ｷｬﾝｾﾙ\", IDCANCEL, 418, 30, 40, 14, WS_GROUP\r\nEND\r\n\r\nPREFDLG DIALOG 20, 20, 229, 140\r\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r\nCAPTION \"設定\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n   CONTROL \"エディター:\", IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 17, 37, 14\r\n   CONTROL \"\", IDD_EDITOR, \"edit\", ES_AUTOHSCROLL | ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 54, 14, 140, 14\r\n   CONTROL \"...\", IDC_EDITOR, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 195, 14, 20, 14\r\n   CONTROL \"ツール バーのスタイルを無効\", IDC_VSTYLE, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 38, 119, 14\r\n   CONTROL \"起動時に移動先インデックスを作成(&G)\", IDC_GOTO, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 50, 220, 14\r\n   CONTROL \"Mirror application content\", IDC_MIRROR, \"button\", BS_AUTOCHECKBOX | WS_CHILD /* | WS_VISIBLE | WS_TABSTOP */, 0, 0, 0, 0    // invisible, not a tabsop; here to satisfy VerifyResources tool.\r\n   CONTROL \"言語:\", IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 70, 35, 14\r\n   CONTROL \"\", IDC_LANGCB, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 50, 68, 150, 54\r\n   CONTROL \"これらの変更の中には再起動後に有効になる物があります。\\n注意して下さい。\",\r\n            IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 90, 200, 20\r\n   CONTROL \"OK\", IDOK, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 55, 120, 40, 14\r\n   CONTROL \"キャンセル\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 103, 120, 40, 14\r\n   CONTROL \"ヘルプ(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 149, 120, 40, 14\r\nEND\r\n\r\nABOUTDLG DIALOG 13, 54, 250, 75\r\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r\nCAPTION \"ファイル マネージャーについて\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    ICON            APPICON, -1, 6, 6, 32, 32\r\n    LTEXT           \"Windows ファイル マネージャー\", -1, 36, 6, 200, 8\r\n    CONTROL         \"TO BE SET\", IDD_VERTEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 36, 18, 200, 8\r\n    LTEXT           \"Copyright (c) Microsoft Corporation. All rights reserved.\", -1, 36, 30, 200, 8\r\n    LTEXT           \"Licensed under the MIT License.\", -1, 36, 42, 200, 8\r\n    LTEXT           \"https://github.com/Microsoft/winfile\", -1, 36, 54, 200, 8\r\n    DEFPUSHBUTTON   \"OK\", IDOK, 200, 50, 40, 14\r\nEND\r\n"
  },
  {
    "path": "src/lang/winfile_ko-KR.dlg",
    "content": "/********************************************************************\n\n   winfile.dlg\n\n   Copyright (c) Microsoft Corporation. All rights reserved.\n   Licensed under the MIT License.\n\n********************************************************************/\n\n#include \"dlgs.h\"\n#include \"resize.h\"\n\nCANCELDLG DIALOG 77, 27, 160, 65\nSTYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"디스크 포맷 중\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\", IDD_TEXT1, 15, 36, 131, 8\n    CONTROL         \"\", IDD_GASGAUGE, \"Static\", SS_BLACKFRAME, 15, 10, 131, 22\n    PUSHBUTTON      \"숨김\", IDD_HIDE, 38, 48, 40, 14\n    PUSHBUTTON      \"취소\", IDCANCEL, 82, 48, 40, 14\nEND\n\n\nSEARCHPROGDLG DIALOG 77, 109, 174, 75\nSTYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"디스크 찾기 중\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n\n    CONTROL \"찾기 대상:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 60, 10\n    CONTROL \"\", IDD_NAME, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 50, 5, 120, 10\n    CONTROL \"마지막 수정 날짜:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 15, 60, 10\n    CONTROL \"\", IDD_DATE, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 50, 15, 120, 10\n    CONTROL \"찾을 디렉터리:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 25, 70, 10\n    CONTROL \"\", IDD_PATH, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 50, 25, 120, 10\n    CONTROL \"읽은 디렉터리:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 35, 60, 10\n    CONTROL \"\", IDD_TIME, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 66, 35, 100, 10\n    CONTROL \"찾은 파일:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 45, 60, 10\n    CONTROL \"\", IDD_FOUND, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 66, 45, 100, 10\n\n    PUSHBUTTON      \"숨김\", IDD_HIDE, 45, 58, 40, 14\n    PUSHBUTTON      \"취소\", IDCANCEL, 89, 58, 40, 14\nEND\n\n\nFONTDLG DIALOG 13, 54, 264, 154\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"글꼴\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"글꼴(&F):\", stc1, 6, 3, 40, 9\n    COMBOBOX        cmb1, 6, 13, 94, 54, CBS_SIMPLE | CBS_AUTOHSCROLL |\n                    CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED\n    LTEXT           \"글꼴 스타일(&Y):\", stc2, 108, 3, 44, 9\n    COMBOBOX        cmb2, 108, 13, 64, 54, CBS_SIMPLE | WS_VSCROLL |\n                    WS_TABSTOP\n    LTEXT           \"크기(&S):\", stc3, 179, 3, 30, 9\n    COMBOBOX        cmb3, 179, 13, 32, 54, CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED | CBS_SORT\n\n    GROUPBOX        \"효과\", grp1, 6, 73, 84, 61, WS_GROUP\n    CONTROL         \"취소선(&K)\", chx1, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 10, 83, 49, 10\n    CONTROL         \"밑줄(&U)\", chx2, \"Button\", BS_AUTOCHECKBOX, 10, 95,\n                    51, 10\n\n    CONTROL         \"FAT 드라이브 소문자 표시(&L)\", chx3, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 6, 127, 252, 10\n\n    CONTROL         \"모든 드라이브 소문자 표시(&D)\", chx4, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 6, 139, 252, 10\n\n    LTEXT           \"색(&C):\", stc4, 10, 107, 30, 9\n    COMBOBOX        cmb4, 10, 117, 75, 50, CBS_DROPDOWNLIST |\n                    CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS |\n                    WS_BORDER | WS_VSCROLL\n\n    DEFPUSHBUTTON   \"확인\", IDOK, 218, 6, 40, 14, WS_GROUP\n    PUSHBUTTON      \"취소\", IDCANCEL, 218, 23, 40, 14, WS_GROUP\n    PUSHBUTTON      \"적용(&A)\", psh3, 218, 40, 40, 14, WS_GROUP\n    PUSHBUTTON      \"도움말(&H)\", pshHelp, 218, 57, 40, 14, WS_GROUP\n    GROUPBOX        \"보기\", grp2, 6, 72, 252, 49, WS_GROUP\n    CTEXT           \"\", stc6, 10, 137, 1, 2,\n                    SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBbYyZz\", stc5, 10, 81, 243, 37, SS_NOPREFIX | NOT\n                    WS_VISIBLE\nEND\n\nDRIVEDLG DIALOGEX 11, 31, 201, 86\nCAPTION \"드라이브 선택\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_THICKFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 0 }\n    CONTROL \"드라이브(&D):\", IDD_DRIVE1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 41, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    CONTROL \"\", IDD_DRIVE, \"listbox\", LBS_NOTIFY | LBS_SORT | LBS_STANDARD | LBS_USETABSTOPS | WS_BORDER | WS_VSCROLL | WS_CHILD | WS_TABSTOP, 5, 16, 140, 60\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"확인\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"취소\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"도움말(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 44, 40, 14\nEND\n\nRUNDLG DIALOGEX 15, 12, 210, 63\nCAPTION \"실행\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 3, 6, 162, 10\n    DIALOGRESIZECONTROL { 0, 10, 100, 0 }\n    CONTROL \"명령줄(&C):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_GROUP | WS_CHILD, 3, 18, 60, 10\n    DIALOGRESIZECONTROL { 0, 20, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 3, 29, 134, 12\n    DIALOGRESIZECONTROL { 0, 100, 0, 0 }\n    CONTROL \"아이콘으로 실행(&M)\", IDD_LOAD, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 3, 45, 71, 12\n    DIALOGRESIZECONTROL { 50, 100, 0, 0 }\n    CONTROL \"관리자 권한으로 실행(&A)\", IDD_RUNAS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 78, 45, 71, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"확인\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"취소\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 23, 40, 14\n//    CONTROL \"&Browse...\", IDD_BROWSE, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 40, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"도움말(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 43, 40, 14\nEND\n\nSELECTDLG DIALOGEX 15, 12, 116, 83\nCAPTION \"파일 선택\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    CONTROL \"파일(&F):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 16, 60, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 5, 29, 60, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"선택(&S)\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"선택 해제(&D)\", IDYES, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 20, 0, 0 }\n    CONTROL \"취소\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 40, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"도움말(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 63, 40, 14\nEND\n\n\n\nCONFIRMREPLACE DIALOG 10, 20, 245, 95\nCAPTION \"파일 바꾸기 확인\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"새 파일:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 12, 49, 10\n    CONTROL \"\", IDD_TO, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 75, 12, 165, 10\n    CONTROL \"\", IDD_DATE1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 75, 22, 170, 10\n    CONTROL \"현재 파일:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 34, 49, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 75, 34, 165, 10\n    CONTROL \"\", IDD_DATE2, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 75, 44, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 54, 203, 10\n    CONTROL \"예(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 73, 40, 14\n    CONTROL \"예, 모두(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 73, 40, 14\n    CONTROL \"아니오(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 73, 40, 14\n    CONTROL \"취소\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 73, 40, 14\nEND\n\nCONFIRMDELETE DIALOG 10, 20, 245, 60\nCAPTION \"파일 삭제 확인\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"대상 파일:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 44, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 70, 18, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"예(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"예, 모두(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"아니오(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"취소\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\n\nCONFIRMNOACCESS DIALOG 10, 20, 260, 70\nCAPTION \"확인: 파일이나 디렉터리를 무시하고 계속\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"액세스할 수 없습니다. 무시:\", IDD_TYPE, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 10, 203, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 108, 10, 122, 10\n    CONTROL \"사용 권한이 없거나 사용중인 파일입니다.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 25, 230, 10\n    CONTROL \"이 파일을 무시하고 작업을 계속하려면 [예]를 누르십시오.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 35, 180, 10\n    CONTROL \"예(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 52, 40, 14\n    CONTROL \"예, 모두(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 52, 40, 14\n    CONTROL \"아니오(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 52, 40, 14\n    CONTROL \"취소\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 52, 40, 14\nEND\n\n\nCONFIRMNOACCESSDEST DIALOG 10, 20, 245, 60\nCAPTION \"확인: 파일이나 디렉터리를 무시하고 계속\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"대상을 액세스할 수 없음, 무시:\", IDD_TYPE, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 13, 203, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 124, 13, 106, 10\n    CONTROL \"이 파일을 무시하고 작업을 계속하려면 [예]를 누르십시오.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 23, 180, 10\n    CONTROL \"예(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"예, 모두(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"아니오(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"취소\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\n\nCONFIRMRMDIR DIALOG 10, 20, 245, 60\nCAPTION \"디렉터리 삭제 확인\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"삭제할 디렉터리:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 55, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 80, 18, 160, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"예(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"예, 모두(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"아니오(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"취소\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\nCONFIRMMOVE DIALOG 10, 22, 245, 60\nCAPTION \"파일 이동 확인\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"이동할 파일:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 44, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 70, 18, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"예(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"예, 모두(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"아니오(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"취소\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\nCONFIRMRENAME DIALOG 10, 22, 245, 60\nCAPTION \"파일 이름 바꾸기 확인\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"변경할 파일:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 54, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 80, 18, 160, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"예(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"예, 모두(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"아니오(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"취소\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\n\nMYPRINTDLG DIALOGEX 20, 20, 240, 63\nCAPTION \"인쇄\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 6, 193, 10\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL \"인쇄(&P):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 20, 23, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_FROM, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 27, 18, 160, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\",IDD_STATUS, \"static\", WS_CHILD | SS_LEFTNOWORDWRAP | SS_NOPREFIX, 3, 36, 190, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"확인\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"취소\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"도움말(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 43, 40, 14\nEND\n\n\nSEARCHDLG DIALOGEX 20, 20, 283, 63\nCAPTION \"찾기\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL \"찾을 파일(&S):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 6, 45, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 5, 180, 12\n    DIALOGRESIZECONTROL { 0, 33, 0, 0 }\n    CONTROL \"마지막 수정 날짜(&C):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 21, 45, 12\n    DIALOGRESIZECONTROL { 0, 33, 100, 0 }\n    CONTROL \"\", IDD_DATE, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 20, 180, 12\n    DIALOGRESIZECONTROL { 0, 67, 0, 0 }\n    CONTROL \"찾을 디렉터리(&F):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 36, 45, 12\n    DIALOGRESIZECONTROL { 0, 67, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 35, 180, 12\n    DIALOGRESIZECONTROL { 0, 100, 0, 0 }\n    CONTROL \"하위 디렉터리 찾기(&E)\", IDD_SEARCHALL, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 52, 49, 100, 12\n    DIALOGRESIZECONTROL { 50, 100, 0, 0 }\n    CONTROL \"결과에 하위 디렉터리 포함(&U)\", IDD_INCLUDEDIRS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 162, 49, 80, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"확인\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 25, 0, 0 }\n    CONTROL \"취소\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"도움말(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 43, 40, 14\nEND\n\n\nMOVECOPYDLG DIALOGEX 47, 59, 381, 64\nSTYLE WS_BORDER | WS_THICKFRAME | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN\nCAPTION \"이동\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"현재 디렉터리: N\", IDD_DIR, \"Static\", SS_SIMPLE | SS_NOPREFIX, 3, 6, 332, 10\n\n    DIALOGRESIZECONTROL { 0, 25, 0, 0 }\n    CONTROL         \"이동할 위치(&T):\", IDD_KK_TEXTTO, \"Static\", SS_LEFTNOWORDWRAP, 3, 33, 20, 10\n\n    DIALOGRESIZECONTROL { 0, 25, 100, 0}\n    EDITTEXT        IDD_TO, 37, 32, 288, 12, ES_AUTOHSCROLL\n\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL         \"\", IDD_STATUS, \"Static\", SS_SIMPLE | SS_NOPREFIX, 3, 49, 40, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"\", IDD_NAME, \"Static\", SS_SIMPLE | SS_NOPREFIX,  45, 49, 290, 10\n\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"확인\", IDOK, 335, 6, 40, 14\n\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    PUSHBUTTON      \"취소\", IDCANCEL, 335, 23, 40, 14\n\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    PUSHBUTTON      \"도움말(&H)\", IDD_HELP, 335, 40, 40, 14\n\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL         \"원래 위치(&F):\", IDD_KK_TEXTFROM, \"Static\", SS_LEFTNOWORDWRAP, 3, 19, 20, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    EDITTEXT        IDD_FROM, 37, 18, 288, 12, ES_AUTOHSCROLL\n\n    DIALOGRESIZECONTROL { 0, 50, 0, 0 }\n    CONTROL         \"\", IDD_DIRS, \"Static\", SS_LEFTNOWORDWRAP, 3, 49, 330, 10\nEND\n\n\n\nDELETEDLG DIALOGEX 20, 20, 246, 64\nCAPTION \"삭제\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"현재 디렉터리: C\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 5, 193, 10\n    CONTROL \"삭제 대상(&L):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 20, 35, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_FROM, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 40, 19, 155, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_STATUS, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 3, 35, 35, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 40, 35, 155, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"확인\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"취소\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"도움말(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 40, 40, 14\nEND\n\nMULTIPLEATTRIBSDLG DIALOG 20, 20, 206, 88\nCAPTION \"속성\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"%d개 파일 선택\", IDD_TEXT1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 144, 10\n    CONTROL \"총 %s바이트\", IDD_TEXT2, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 16, 144, 10\n    CONTROL \"특성\", -1, \"button\", BS_GROUPBOX | WS_CHILD, 5, 29, 120, 54\n    CONTROL \"읽기 전용(&R)\", IDD_READONLY, \"button\", WS_GROUP | WS_TABSTOP | BS_AUTOCHECKBOX | WS_CHILD, 10, 40, 52, 12\n    CONTROL \"숨김(&I)\", IDD_HIDDEN, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 72, 40, 52, 12\n    CONTROL \"보관(&A)\", IDD_ARCHIVE, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 10, 52, 52, 12\n    CONTROL \"시스템(&S)\", IDD_SYSTEM, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 72, 52, 52, 12\n    CONTROL \"압축(&C)\", IDD_COMPRESSED, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 10, 64, 52, 12\n    CONTROL \"암호화(&E)\", IDD_ENCRYPTED, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_DISABLED, 72, 64, 52, 12\n    CONTROL \"확인\", 1, \"button\", WS_GROUP | BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 6, 50, 14\n    CONTROL \"취소\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 23, 50, 14\n    CONTROL \"도움말(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 43, 50, 14\nEND\n\n\nATTRIBSDLG DIALOG 23, 13, 259, 229\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"%s 속성\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"확인\", IDOK, 204, 6, 50, 14, WS_GROUP\n    PUSHBUTTON      \"취소\", IDCANCEL, 204, 23, 50, 14\n    PUSHBUTTON      \"도움말(&H)\", IDD_HELP, 204, 40, 50, 14\n\n    CONTROL         \"파일 이름(&F):\", IDD_NAMELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 5, 55, 10\n    EDITTEXT        IDD_NAME, 72, 5, 132, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"경로(&P):\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 16, 51, 10\n    EDITTEXT        IDD_DIR, 72, 16, 132, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"마지막 고친 날짜:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 27, 62, 10\n    CONTROL         \"\", IDD_DATE, \"Static\", SS_LEFTNOWORDWRAP, 72, 27, 132, 10\n    CONTROL         \"버전:\", IDD_VERLABEL, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 38, 45, 10\n    CONTROL         \"표시 안됨\", IDD_VERSION, \"Static\", SS_LEFTNOWORDWRAP |\n                    SS_NOPREFIX, 72, 38, 132, 10\n    LTEXT           \"저작권(&Y):\", -1, 5, 49, 45, 10\n    CONTROL         \"표시 안됨\", IDD_COPYRIGHT, \"Edit\", ES_AUTOHSCROLL |\n                    ES_READONLY | WS_TABSTOP, 72, 49, 132, 10\n    CONTROL         \"크기:\", IDD_SIZELABEL, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 60, 45, 10\n    CONTROL         \"\", IDD_SIZE, \"Static\", SS_LEFTNOWORDWRAP, 72, 60, 132, 10\n    CONTROL         \"압축된 크기:\", IDD_CSIZELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 71, 62, 10\n    CONTROL         \"\", IDD_CSIZE, \"Static\", SS_LEFTNOWORDWRAP, 72, 71, 132, 10\n    CONTROL         \"압축률:\", IDD_CRATIOLABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 82, 62, 10\n    CONTROL         \"\", IDD_CRATIO, \"Static\", SS_LEFTNOWORDWRAP, 72, 82, 132, 10\n    GROUPBOX        \"특성\", IDD_TEXT, 4, 96, 120, 54\n    CONTROL         \"읽기 전용(&R)\", IDD_READONLY, \"Button\", BS_AUTOCHECKBOX |\n                    WS_GROUP | WS_TABSTOP, 9, 108, 52, 12\n    CONTROL         \"숨김(&I)\", IDD_HIDDEN, \"Button\", BS_AUTOCHECKBOX,\n                    71, 108, 49, 12\n    CONTROL         \"보관(&A)\", IDD_ARCHIVE, \"Button\", BS_AUTOCHECKBOX,\n                    9, 120, 52, 12\n    CONTROL         \"시스템(&S)\", IDD_SYSTEM, \"Button\", BS_AUTOCHECKBOX,\n                    71, 120, 49, 12\n    CONTROL         \"압축(&C)\", IDD_COMPRESSED, \"Button\", BS_AUTOCHECKBOX,\n                    9, 132, 52, 12\n    GROUPBOX        \"버전 정보(&V)\", IDD_VERSION_FRAME, 4, 155, 250, 70\n    LISTBOX         IDD_VERSION_KEY, 9, 168, 91, 58, LBS_SORT |\n                    LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        IDD_VERSION_VALUE, 110, 168, 138, 58, ES_MULTILINE |\n                    ES_READONLY | WS_VSCROLL\nEND\n\n\nCOMPRESSPROGDLG DIALOG 123, 60, 207, 117\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"파일 압축 진행 상황\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"압축 중인 파일:\", -1, 6, 8, 79, 8\n    LTEXT           \"filename.xxx\", IDD_COMPRESS_FILE, 86, 8, 90, 8\n    LTEXT           \"디렉터리:\", -1, 6, 20, 39, 8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\", IDD_COMPRESS_DIR, 43, \n                    20, 150, 8\n    LTEXT           \"압축된 디렉터리:\", -1, 6, 32, 102, 8\n    LTEXT           \"1,888,888,999\", IDD_COMPRESS_TDIRS, 90, 32, 60, 8\n    LTEXT           \"압축된 파일:\", -1, 6, 44, 62, 8\n    LTEXT           \"1,888,888,999\", IDD_COMPRESS_TFILES, 74, 44, 58, 8\n    LTEXT           \"압축 전 전체 파일 크기:\", -1, 6, 56, \n                    124, 8\n    LTEXT           \"9,999,999,999,999\", IDD_COMPRESS_USIZE, 134, 56, 68, 8\n    LTEXT           \"압축 후 전체 파일 크기:\", -1, 6, 68, 123, \n                    8\n    LTEXT           \"9,999,999,999,999\", IDD_COMPRESS_CSIZE, 134, 69, 68, 8\n    LTEXT           \"파일 압축률:\", -1, 6, 80, 78, 8\n    LTEXT           \"100%\", IDD_COMPRESS_RATIO, 91, 80, 27, 8\n    PUSHBUTTON      \"취소\", IDCANCEL, 76, 97, 55, 14\nEND\n\nUNCOMPRESSPROGDLG DIALOG 114, 62, 197, 84\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"파일 압축 풀기 진행 상황\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"압축 풀기 중인 파일:\", -1, 6, 8, 83, 8\n    LTEXT           \"filename.xxx\", IDD_UNCOMPRESS_FILE, 93, 8, 66, 8\n    LTEXT           \"디렉터리:\", -1, 6, 20, 39, 8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\", \n                    IDD_UNCOMPRESS_DIR, 45, 20, 144, 8\n    LTEXT           \"압축 풀린 디렉터리:\", -1, 6, 32, 91, 8\n    LTEXT           \"1,999,999,999\", IDD_UNCOMPRESS_TDIRS, 99, 32, 70, 8\n    LTEXT           \"압축 풀린 파일:\", -1, 6, 44, 86, 8\n    LTEXT           \"1,999,999,999\", IDD_UNCOMPRESS_TFILES, 92, 44, 78, 8\n    PUSHBUTTON      \"취소\", IDCANCEL, 74, 64, 49, 14\nEND\n\nCOMPRESSERRDLG DIALOG 11, 28, 245, 65\nCAPTION \"압축 오류\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    ICON 32515, -1, 8, 8, 21, 20\n    LTEXT \"\", IDD_TEXT1, 35, 8, 190, 20\n\n    DEFPUSHBUTTON \"무시(&I)\",     IDIGNORE,      33,  47, 40, 14, WS_TABSTOP | WS_CHILD | WS_GROUP\n    PUSHBUTTON    \"모두 무시(&G)\", IDD_IGNOREALL, 79,  47, 40, 14, WS_TABSTOP | WS_CHILD\n    PUSHBUTTON    \"다시 하기(&R)\",      IDRETRY,       125, 47, 40, 14, WS_TABSTOP | WS_CHILD\n    PUSHBUTTON    \"취소(&A)\",      IDABORT,       171, 47, 40, 14, WS_TABSTOP | WS_CHILD\nEND\n\n\n\nMAKEDIRDLG DIALOGEX 20, 20, 200, 63\nCAPTION \"디렉터리 만들기\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 6, 154, 10\n    CONTROL \"이름(&N):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 23, 20, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 30, 22, 90, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\",IDD_STATUS, \"static\", WS_CHILD | SS_NOPREFIX | SS_LEFTNOWORDWRAP, 3, 46, 150, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"확인\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"취소\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"도움말(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 43, 40, 14\nEND\n\n\nCHOOSEDRIVEDLG DIALOG 20, 20, 157, 64\nCAPTION \"디스크 복사\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"원본 드라이브(&S):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 8, 50, 10\n    CONTROL \"\", IDD_DRIVE1, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 55, 6, 40, 37\n    CONTROL \"대상 드라이브(&D):\", IDD_FLAGS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 22, 50, 10\n    CONTROL \"\", IDD_DRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 55, 20, 40, 37\n    CONTROL \"확인\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 6, 40, 14\n    CONTROL \"취소\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 23, 40, 14\n    CONTROL \"도움말(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 43, 40, 14\nEND\n\n\nDISKCOPYPROGRESSDLG DIALOG 30, 30, 130, 55\nCAPTION \"디스크 복사 중\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE | DS_SYSMODAL\nBEGIN\n    CONTROL \"디스크를 복사합니다: \", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 5, 130, 10\n    CONTROL \"드라이브 A:\", IDD_DRIVE, \"static\", SS_CENTER | WS_CHILD, 0, 15, 130, 10\n    CONTROL \"원본 디스크 읽는 중\", IDD_PROGRESS, \"static\", SS_CENTER | WS_CHILD, 0, 26, 130, 10\n    CONTROL \"취소\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 44, 39, 44, 14\nEND\n\nDISKLABELDLG DIALOGEX 20, 20, 161, 63\nCAPTION \"디스크 레이블\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    CONTROL \"레이블(&L):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 15, 30, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 5, 26, 100, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"확인\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"취소\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"도움말(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 43, 40, 14\nEND\n\nFORMATDLG DIALOG 11, 28, 183, 96\nCAPTION \"디스크 포맷\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL \"확인\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 6, 40, 14\n    CONTROL \"취소\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 23, 40, 14\n    CONTROL \"도움말(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 43, 40, 14\n    CONTROL \"드라이브(&D):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 7, 49, 10\n    CONTROL \"\", IDD_DRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 4, 65, 40\n    CONTROL \"용량(&C):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 20, 49, 10\n    CONTROL \"\", IDD_HIGHCAP, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 19, 65, 40\n    CONTROL \"옵션\", 102, \"button\", BS_GROUPBOX | WS_GROUP | WS_CHILD, 5, 39, 115, 53\n    CONTROL \"레이블(&L):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 11, 51, 39, 10\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 40, 49, 63, 12\n//    CONTROL \"&Make System Disk\", IDD_MAKESYS, \"button\", BS_CHECKBOX | BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD | WS_DISABLED, 11, 62, 90, 12\n    CONTROL \"빠른 포맷(&Q)\", IDD_VERIFY, \"button\", BS_CHECKBOX | BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 62, 90, 12\nEND\n\nFORMATSELECTDLG DIALOG 11, 28, 183, 44\nCAPTION \"드라이브 포맷\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL \"확인\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 6, 40, 14\n    CONTROL \"취소\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 23, 40, 14\n    CONTROL \"드라이브(&D):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 7, 49, 10\n    CONTROL \"\", IDD_SELECTDRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 4, 65, 40\nEND\n\nFORMATPROGRESSDLG DIALOG 30, 30, 150, 50\nCAPTION \"디스크 포맷 중\"\nFONT 8, \"MS Shell Dlg\"\n//STYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE | DS_SYSMODAL\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE\nBEGIN\n    CONTROL \"지금 디스크를 포맷합니다.\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 5, 150, 10\n    CONTROL \"드라이브 초기화 중...\", IDD_PROGRESS, \"static\", SS_CENTER | WS_CHILD, 0, 17, 150, 10\n    CONTROL \"취소\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 54, 30, 44, 14\nEND\n\n#if 0\nSYSDISKPROGRESSDLG DIALOG 30, 30, 174, 57\nCAPTION \"시스템 디스크 만들기\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE\nBEGIN\n    CONTROL \"지금 시스템 파일을 복사합니다.\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 6, 174, 8\n    CONTROL \"작업을 중단하고 싶을 경우 [취소] 버튼을 누르십시오.\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 14, 174, 8\n    CONTROL \"취소\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 66, 39, 44, 14\nEND\n\nCONNECTDLG DIALOG 12, 28, 241, 135\nCAPTION \"네트워크 연결\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n  GROUPBOX \"새 연결\", -1, 5, 3, 170, 55, WS_CHILD\n\n  LTEXT \"네트워크 경로(&N):\", -1, 10, 16, 55, 10\n  EDITTEXT, IDD_PATH, 65, 14, 100, 12, ES_AUTOHSCROLL | WS_GROUP | WS_TABSTOP\n  LTEXT \"드라이브(&R):\", -1, 10, 30, 24, 10\n  COMBOBOX IDD_DRIVE, 65, 28, 40, 100, CBS_DROPDOWNLIST | WS_VSCROLL | WS_GROUP | WS_TABSTOP\n  LTEXT \"암호(&W):\", -1, 10, 44, 36, 10\n  EDITTEXT, IDD_PASSWORD, 65, 42, 100, 12, ES_AUTOHSCROLL | ES_PASSWORD | WS_GROUP | WS_TABSTOP\n\n  LTEXT \"현재 드라이브 연결(&V):\", -1, 5, 62, 120, 10\n  LISTBOX IDD_DRIVE1, 5, 73, 160, 60, LBS_SORT | LBS_NOTIFY | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_BORDER | WS_TABSTOP\n\n  DEFPUSHBUTTON \"닫기(&L)\",  IDCANCEL, 190, 6, 45, 14, WS_GROUP | WS_TABSTOP\n  PUSHBUTTON \"연결(&C)\", IDOK, 190, 27, 45, 14, WS_TABSTOP\n  PUSHBUTTON \"이전(&P)...\", IDD_PREV, 190, 44, 45, 14, WS_TABSTOP\n  PUSHBUTTON \"찾아보기(&B)...\", IDD_NETBROWSE, 190, 61, 45, 14, WS_GROUP | WS_TABSTOP\n  PUSHBUTTON \"연결 끊기(&D)\", IDD_DISCONNECT, 190, 78, 45, 14, WS_GROUP|WS_TABSTOP\n  PUSHBUTTON \"도움말(&H)\", IDD_HELP, 190, 95, 45, 14, WS_GROUP | WS_TABSTOP\nEND\n\nPREVIOUSDLG DIALOG 30, 30, 231, 98\nCAPTION \"이전 네트워크 연결\"\nFONT 8 \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"네트워크 경로(&P):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 3, 69, 10\n    CONTROL \"\", IDD_PREV, \"listbox\", LBS_NOTIFY | LBS_SORT | LBS_STANDARD | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 3, 15, 172, 80\n    CONTROL \"선택(&S)\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 6, 44, 14\n    CONTROL \"닫기\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 24, 44, 14\n    CONTROL \"삭제(&D)\", IDD_DELETE, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 41, 44, 14\n    CONTROL \"도움말(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 58, 44, 14\nEND\n#endif\n\nOTHERDLG DIALOG 20, 20, 174, 81\nCAPTION \"일부만 자세히\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"자세히\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_CHILD, 4, 4, 121, 74\n    CONTROL \"크기(&S)\", IDD_SIZE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 15, 100, 12\n    CONTROL \"마지막 수정 날짜(&M)\", IDD_DATE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 27, 100, 12\n    CONTROL \"마지막 수정 시간(&T)\", IDD_TIME, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 39, 100, 12\n    CONTROL \"파일 특성(&F)\", IDD_FLAGS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 51, 100, 12\n    CONTROL \"MS-DOS 파일 이름(&D)\", IDD_DOSNAMES, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 63, 100, 12\n    CONTROL \"확인\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 6, 40, 14\n    CONTROL \"취소\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 23, 40, 14\n    CONTROL \"도움말(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 60, 40, 14\nEND\n\n\nINCLUDEDLG DIALOG 20, 20, 157, 114\nCAPTION \"파일 형식별\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"이름(&N):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 8, 23, 10\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 34, 6, 65, 12\n    CONTROL \"파일 형식\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_CHILD, 5, 20, 94, 62\n    CONTROL \"디렉터리(&D)\", IDD_DIR, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 31, 60, 12\n    CONTROL \"프로그램(&P)\", IDD_PROGRAMS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 43, 60, 12\n    CONTROL \"문서(&M)\", IDD_DOCS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 55, 60, 12\n    CONTROL \"기타 파일(&O)\", IDD_OTHER, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 67, 60, 12\n    CONTROL \"숨김/시스템 파일 표시(&S)\", IDD_SHOWHIDDEN, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 5, 85, 100, 12\n    CONTROL \"디렉터리 교차점 지점 표시(&J)\", IDD_SHOWJUNCTION, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 5, 97, 100, 12\n    CONTROL \"확인\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 6, 40, 14\n    CONTROL \"취소\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 23, 40, 14\n    CONTROL \"도움말(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 43, 40, 14\nEND\n\n\nCONFIRMDLG DIALOG 20, 20, 214, 92\nCAPTION \"확인\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"확인\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_TABSTOP | WS_CHILD, 5, 3, 158, 86\n    CONTROL \"파일 지우기(&D)\", IDD_DELETE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 15, 80, 12\n    CONTROL \"디렉터리 지우기(&I)\", IDD_SUBDEL, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 27, 80, 12\n    CONTROL \"파일 바꾸기(&R)\", IDD_REPLACE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 39, 80, 12\n    CONTROL \"마우스 동작(&M)\", IDD_MOUSE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 51, 80, 12\n    CONTROL \"디스크 명령(&K)\", IDD_CONFIG, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 63, 80, 12\n    CONTROL \"시스템, 숨김, 읽기 전용 파일 수정(&S)\", IDD_READONLY, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 75, 150, 12\n    CONTROL \"확인\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 168, 6, 40, 14\n    CONTROL \"취소\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 168, 23, 40, 14\n    CONTROL \"도움말(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 168, 44, 40, 14\nEND\n\nDMSTATUSDLG DIALOG 20, 20, 250, 46\nCAPTION \"이동 중...\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"\", IDD_STATUS, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD , 5, 5, 49, 10\n    CONTROL \"\", IDD_NAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 55, 5, 192, 10\n    CONTROL \"이동할 위치:\", IDD_TOSTATUS, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 5, 15, 25, 10\n    CONTROL \"\", IDD_TONAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 55, 15, 192, 10\n    CONTROL \"취소\", IDCANCEL, \"button\", WS_CHILD | BS_DEFPUSHBUTTON, 200, 28, 40, 14\nEND\n\nPRTDLG DIALOG 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"파일 인쇄 중...\", -1, \"static\", SS_CENTER | WS_GROUP | WS_CHILD, 4, 6, 120, 12\n    CONTROL \"\", IDD_TEXT, \"static\", SS_CENTER | SS_NOPREFIX | WS_GROUP | WS_CHILD, 4, 20, 120, 12\n    CONTROL \"취소\", 2, \"button\", BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP | WS_CHILD, 44, 40, 32, 14\nEND\n\n\nLFNTOFATDLG DIALOG 11, 28, 250, 78\nCAPTION \"파일 이름 선택\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL \"이 경로는 FAT 파일 형식에 맞지 않습니다. 새 이름을 입력하십시오.\", 99, \"static\", SS_LEFT | WS_CHILD, 5, 4, 190, 24\n    CONTROL \"새 이름(&N):\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 56, 50, 12\n    CONTROL \"\", IDD_TO, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 57, 55, 130, 12\n    CONTROL \"원래 경로:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 28, 50, 11\n    CONTROL \"\", IDD_FROM, \"edit\", ES_READONLY | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_CHILD, 57, 28, 130, 12\n    CONTROL \"대상 디렉터리:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 42, 50, 11\n    CONTROL \"\", IDD_DIR, \"edit\", ES_READONLY | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_CHILD, 57, 42, 130, 12\n    CONTROL \"확인\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 4, 40, 14\n    CONTROL \"취소\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 20, 40, 14\n    CONTROL \"도움말(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 36, 40, 14\nEND\n\n\nATTRIBSDLGDIR DIALOG 23, 13, 250, 119\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"%s 속성\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"확인\", IDOK, 194, 6, 50, 14, WS_GROUP\n    PUSHBUTTON      \"취소\", IDCANCEL, 194, 23, 50, 14\n    PUSHBUTTON      \"도움말(&H)\", IDD_HELP, 194, 43, 50, 14\n    CONTROL         \"파일 이름(&F):\", IDD_NAMELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 5, 55, 10\n    EDITTEXT        IDD_NAME, 60, 5, 134, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"경로(&P):\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP, 5, 16,\n                    51, 10\n    EDITTEXT        IDD_DIR, 60, 16, 134, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"마지막 고친 날짜:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP, 5,\n                    27, 62, 10\n    CONTROL         \"\", IDD_DATE, \"Static\", SS_LEFTNOWORDWRAP, 60, 27, 97,\n                    10\n    CONTROL         \"크기:\", IDD_SIZELABEL, \"Static\", SS_LEFTNOWORDWRAP, 5,\n                    38, 45, 10\n    CONTROL         \"\", IDD_SIZE, \"Static\", SS_LEFTNOWORDWRAP, 60, 38, 90,\n                    10\n    GROUPBOX        \"특성\", IDD_TEXT, 4, 52, 120, 54\n    CONTROL         \"읽기 전용(&R)\", IDD_READONLY, \"Button\", BS_AUTOCHECKBOX |\n                    WS_GROUP | WS_TABSTOP, 9, 64, 52, 12\n    CONTROL         \"숨김(&I)\", IDD_HIDDEN, \"Button\", BS_AUTOCHECKBOX, 71, 64,\n                    49, 12\n    CONTROL         \"보관(&A)\", IDD_ARCHIVE, \"Button\", BS_AUTOCHECKBOX, 9,\n                    76, 52, 12\n    CONTROL         \"시스템(&S)\", IDD_SYSTEM, \"Button\", BS_AUTOCHECKBOX, 71, 76,\n                    49, 12\n    CONTROL         \"압축(&C)\", IDD_COMPRESSED, \"button\", BS_AUTOCHECKBOX,\n                    9, 88, 52, 12\nEND\n\n\n#ifdef ASSOC\nASSOCIATEDLG DIALOGEX 20, 20, 255, 129\n#else\nASSOCIATEDLG DIALOGEX 20, 20, 255, 118\n#endif\n\nCAPTION \"프로그램 연결\"\nSTYLE WS_BORDER | WS_THICKFRAME | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE { 0, 0 }\n    LTEXT           \"파일 확장명(&F):\", -1, 6, 7, 68, 8\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    COMBOBOX        IDD_EXT, 76, 5, 44, 55, CBS_DROPDOWN | CBS_SORT |\n                    CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n\n    LTEXT           \"연결할 응용 프로그램(&A):\", -1, 6, 30, 92, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    EDITTEXT        IDD_COMMAND, 6, 42, 172, 12, ES_AUTOHSCROLL\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    LISTBOX         IDD_CLASSLIST, 11, 54, 167, 62, LBS_SORT | WS_VSCROLL | WS_TABSTOP\n#ifdef ASSOC\n#ifdef ASSOCHEAD\n                    | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS\n#endif\n#endif\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    PUSHBUTTON      \"찾아보기(&B)...\", IDD_BROWSE, 130, 24, 47, 14\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"확인\", IDOK, 187, 6, 62, 14, WS_GROUP\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    PUSHBUTTON      \"취소\", IDCANCEL, 187, 23, 62, 14\n    DIALOGRESIZECONTROL { 100, 30, 0, 0 }\n    PUSHBUTTON      \"새 형식(&N)...\", IDD_NEW, 187, 42, 62, 14\n    DIALOGRESIZECONTROL { 100, 40, 0, 0 }\n    PUSHBUTTON      \"형식 바꾸기(&C)...\", IDD_CONFIG, 187, 59, 62, 14\n    DIALOGRESIZECONTROL { 100, 50, 0, 0 }\n    PUSHBUTTON      \"형식 지우기(&D)\", IDD_DELETE, 187, 76, 62, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    PUSHBUTTON      \"도움말(&H)\", IDD_HELP, 187, 95, 62, 14\n\n#ifdef ASSOC\n    AUTOCHECKBOX    \"일반 파일 형식과 확장명만 보기(&V)\", IDD_SYSTEM,\n                    6, 117, 160, 10, WS_GROUP\n#endif\nEND\n\nASSOCIATEFILEDLG DIALOG 18, 14, 290, 224\nCAPTION \"파일 형식 바꾸기\"\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"파일 형식(&F):\", IDD_DESCTEXT, 5, 6, 33, 8\n    EDITTEXT        IDD_DESC, 42, 5, 95, 12, ES_AUTOHSCROLL\n    GROUPBOX        \"작업(&A): \", -1, 5, 22, 235, 126, WS_GROUP\n    COMBOBOX        IDD_ACTION, 36, 22, 48, 33, CBS_DROPDOWNLIST |\n                    WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"명령(&C):\", IDD_COMMANDTEXT, 9, 42, 38, 8\n    EDITTEXT        IDD_COMMAND, 47, 39, 111, 12, ES_AUTOHSCROLL\n    PUSHBUTTON      \"찾아보기(&B)...\", IDD_BROWSE, 164, 38, 40, 14\n    AUTOCHECKBOX    \"DDE 사용(&U)\", IDD_DDE, 10, 57, 50, 10, WS_GROUP\n    LTEXT           \"DDE 메시지(&M):\", IDD_DDEMESGTEXT, 22, 72, 50, 8\n    EDITTEXT        IDD_DDEMESG, 105, 70, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"실행하지 않는 DDE 메시지 응용 프로그램(&N):\", IDD_DDENOTRUNTEXT, 22, 84, 82, 19\n    LTEXT           \"(옵션)\", IDD_DDEOPTIONALTEXT, 207, 90, 32, 8\n    EDITTEXT        IDD_DDENOTRUN, 105, 88, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"응용 프로그램(&P):\", IDD_DDEAPPTEXT, 22, 109, 39, 8\n    EDITTEXT        IDD_DDEAPP, 105, 107, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"항목(&T):\", IDD_DDETOPICTEXT, 23, 127, 21, 8\n    EDITTEXT        IDD_DDETOPIC, 105, 125, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"새 확장명(&W):\", -1, 11, 184, 52, 8\n    EDITTEXT        IDD_EXT, 64, 183, 32, 12, ES_AUTOHSCROLL\n    PUSHBUTTON      \"추가(&D) ->\", IDD_ADD, 102, 174, 44, 14\n    PUSHBUTTON      \"<- 제거(&R)\", IDD_DELETE, 102, 191, 44, 14\n    LTEXT           \"확장명(&E):\", -1, 157, 162, 41, 8\n    LISTBOX         IDD_EXTLIST, 157, 172, 65, 40, LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"파일 형식에 연결된 확장명:\", IDD_EXTTEXT, 5, 154, 235, 66\n    DEFPUSHBUTTON   \"확인\", IDOK, 244, 6, 40, 14\n    PUSHBUTTON      \"취소\", IDCANCEL, 244, 23, 40, 14\n    PUSHBUTTON      \"도움말(&H)\", IDD_HELP, 244, 40, 40, 14\nEND\n\nGOTODIRDLG DIALOGEX 13, 54, 464, 125\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_CLIPCHILDREN | WS_MAXIMIZEBOX\nCAPTION \"디렉터리 이동\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE    { 0, 0 }\n    LTEXT           \"이동할 디렉터리(&G):\", -1, 6, 3, 100, 8\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"\", IDD_GOTODIR, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 6, 13, 406, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    LISTBOX         IDD_GOTOLIST, 6, 25, 406, 95, WS_VSCROLL | WS_TABSTOP\n\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"확인\", IDOK, 418, 13, 40, 14, WS_GROUP\n    DIALOGRESIZECONTROL { 100, 3, 0, 0 }\n    PUSHBUTTON      \"취소\", IDCANCEL, 418, 30, 40, 14, WS_GROUP\nEND\n\nPREFDLG DIALOG 20, 20, 229, 140\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"추가 설정\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n   CONTROL \"편집기 경로:\", IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 17, 37, 14\n   CONTROL \"\", IDD_EDITOR, \"edit\", ES_AUTOHSCROLL | ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 54, 14, 140, 14\n   CONTROL \"...\", IDC_EDITOR, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 195, 14, 20, 14\n   CONTROL \"도구 모음에 시각 스타일 사용하지 않음\", IDC_VSTYLE, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 38, 119, 14\n   CONTROL \"실행 시 디렉터리 이동 색인 만들기(&G)\", IDC_GOTO, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 50, 119, 14\n   CONTROL \"Mirror application content\", IDC_MIRROR, \"button\", BS_AUTOCHECKBOX | WS_CHILD /* | WS_VISIBLE | WS_TABSTOP */, 0, 0, 0, 0    // invisible, not a tabsop; here to satisfy VerifyResources tool.\n   CONTROL \"언어:\", IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 70, 35, 14\n   CONTROL \"\", IDC_LANGCB, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 50, 68, 150, 54\n   CONTROL \"일부 설정을 반영하려면 파일 관리자를 다시 시작해야 합니다.\",\n            IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 90, 180, 20\n   CONTROL \"확인\", IDOK, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 55, 120, 40, 14\n   CONTROL \"취소\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 103, 120, 40, 14\n   CONTROL \"도움말(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 149, 120, 40, 14\nEND\n\nABOUTDLG DIALOG 13, 54, 250, 75\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"파일 관리자 정보\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            APPICON, -1, 6, 6, 32, 32\n    LTEXT           \"Windows 파일 관리자\", -1, 36, 6, 200, 8\n    CONTROL         \"TO BE SET\", IDD_VERTEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 36, 18, 200, 8\n    LTEXT           \"Copyright (c) Microsoft Corporation. All rights reserved.\", -1, 36, 30, 200, 8\n    LTEXT           \"Licensed under the MIT License.\", -1, 36, 42, 200, 8\n    LTEXT           \"https://github.com/Microsoft/winfile\", -1, 36, 54, 200, 8\n    DEFPUSHBUTTON   \"확인\", IDOK, 200, 50, 40, 14\nEND\n"
  },
  {
    "path": "src/lang/winfile_pl-PL.dlg",
    "content": "/********************************************************************\n\n   winfile.dlg\n\n   Copyright (c) Microsoft Corporation. All rights reserved.\n   Licensed under the MIT License.\n\n********************************************************************/\n\n#include \"dlgs.h\"\n#include \"resize.h\"\n\nCANCELDLG DIALOG 77, 27, 160, 65\nSTYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formatowanie dysku\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\", IDD_TEXT1, 15, 36, 131, 8\n    CONTROL         \"\", IDD_GASGAUGE, \"Static\", SS_BLACKFRAME, 15, 10, 131, 22\n    PUSHBUTTON      \"Ukryj\", IDD_HIDE, 38, 48, 40, 14\n    PUSHBUTTON      \"Anuluj\", IDCANCEL, 82, 48, 40, 14\nEND\n\n\nSEARCHPROGDLG DIALOG 77, 109, 200, 75\nSTYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Przeszukiwanie dysku\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n\n    CONTROL \"Szukaj:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 60, 10\n    CONTROL \"\", IDD_NAME, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 80, 5, 120, 10\n    CONTROL \"Od:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 15, 60, 10\n    CONTROL \"\", IDD_DATE, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 80, 15, 120, 10\n    CONTROL \"Rozpocznij od:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 25, 70, 10\n    CONTROL \"\", IDD_PATH, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 80, 25, 120, 10\n    CONTROL \"Przeczytane katalogi:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 35, 70, 10\n    CONTROL \"\", IDD_TIME, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 80, 35, 100, 10\n    CONTROL \"Znaleziono:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 45, 60, 10\n    CONTROL \"\", IDD_FOUND, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 80, 45, 100, 10\n\n    PUSHBUTTON      \"Ukryj\", IDD_HIDE, 57, 58, 40, 14 \n    PUSHBUTTON      \"Anuluj\", IDCANCEL, 102, 58, 40, 14\nEND\n\n\nFONTDLG DIALOG 13, 54, 264, 154\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Czcionka\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Czcionk&a:\", stc1, 6, 3, 40, 9\n    COMBOBOX        cmb1, 6, 13, 94, 54, CBS_SIMPLE | CBS_AUTOHSCROLL |\n                    CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED\n    LTEXT           \"&Styl czcionki:\", stc2, 108, 3, 44, 9\n    COMBOBOX        cmb2, 108, 13, 64, 54, CBS_SIMPLE | WS_VSCROLL |\n                    WS_TABSTOP\n    LTEXT           \"Roz&miar:\", stc3, 179, 3, 30, 9\n    COMBOBOX        cmb3, 179, 13, 32, 54, CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED | CBS_SORT\n\n    GROUPBOX        \"Efekty\", grp1, 6, 73, 84, 61, WS_GROUP\n    CONTROL         \"&Przekreślenie\", chx1, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 10, 83, 49, 10\n    CONTROL         \"P&odkreślenie\", chx2, \"Button\", BS_AUTOCHECKBOX, 10, 95,\n                    51, 10\n\n    CONTROL         \"&W przypadku dysków FAT wyświetlaj małymi literami\", chx3, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 6, 127, 252, 10\n\n    CONTROL         \"W przypadku wszystkich &dysków wyświetlaj małymi literami\", chx4, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 6, 139, 252, 10\n\n    LTEXT           \"&Kolor:\", stc4, 10, 107, 30, 9\n    COMBOBOX        cmb4, 10, 117, 75, 50, CBS_DROPDOWNLIST |\n                    CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS |\n                    WS_BORDER | WS_VSCROLL\n\n    DEFPUSHBUTTON   \"OK\", IDOK, 218, 6, 40, 14, WS_GROUP\n    PUSHBUTTON      \"Anuluj\", IDCANCEL, 218, 23, 40, 14, WS_GROUP\n    PUSHBUTTON      \"&Zastosuj\", psh3, 218, 40, 40, 14, WS_GROUP\n    PUSHBUTTON      \"Pomo&c\", pshHelp, 218, 57, 40, 14, WS_GROUP\n    GROUPBOX        \"Przykład\", grp2, 6, 72, 252, 49, WS_GROUP\n    CTEXT           \"\", stc6, 10, 137, 1, 2,\n                    SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaĄąBbCc\", stc5, 10, 81, 243, 37, SS_NOPREFIX | NOT\n                    WS_VISIBLE\nEND\n\nDRIVEDLG DIALOGEX 11, 31, 201, 86\nCAPTION \"Wybierz dysk\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_THICKFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 0 }\n    CONTROL \"&Dyski:\", IDD_DRIVE1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 41, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    CONTROL \"\", IDD_DRIVE, \"listbox\", LBS_NOTIFY | LBS_SORT | LBS_STANDARD | LBS_USETABSTOPS | WS_BORDER | WS_VSCROLL | WS_CHILD | WS_TABSTOP, 5, 16, 140, 60\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"Anuluj\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"Pomo&c\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 44, 40, 14\nEND\n\nRUNDLG DIALOGEX 15, 12, 210, 83\nCAPTION \"Uruchom\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 3, 6, 162, 10\n    DIALOGRESIZECONTROL { 0, 10, 100, 0 }\n    CONTROL \"&Wiersz polecenia:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_GROUP | WS_CHILD, 3, 18, 60, 10\n    DIALOGRESIZECONTROL { 0, 20, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 3, 29, 134, 12\n    DIALOGRESIZECONTROL { 0, 90, 0, 0 }\n    CONTROL \"&Uruchom zminimalizowane\", IDD_LOAD, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 3, 45, 134, 12\n    DIALOGRESIZECONTROL { 0, 100, 0, 0 }\n    CONTROL \"Uruchom z uprawnieniami &administracyjnymi\", IDD_RUNAS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 3, 60, 155, 12 \n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"Anuluj\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 23, 40, 14\n//    CONTROL \"&Przeglądaj...\", IDD_BROWSE, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 40, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"Pomo&c\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 43, 40, 14\nEND\n\nSELECTDLG DIALOGEX 15, 12, 140, 83\nCAPTION \"Zaznacz pliki\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    CONTROL \"&Plik(i):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 16, 60, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 5, 29, 60, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"Zaz&nacz\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 6, 65, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"&Anuluj zaznaczenie\", IDYES, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 23, 65, 14\n    DIALOGRESIZECONTROL { 100, 20, 0, 0 }\n    CONTROL \"Anuluj\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 40, 65, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"Pomo&c\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 63, 65, 14\nEND\n\n\n\nCONFIRMREPLACE DIALOG 10, 20, 265, 95\nCAPTION \"Potwierdź zamianę pliku\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Zamień plik:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 12, 49, 10\n    CONTROL \"\", IDD_TO, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 75, 12, 165, 10\n    CONTROL \"\", IDD_DATE1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 75, 22, 170, 10\n    CONTROL \"Na plik:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 34, 49, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 75, 34, 165, 10\n    CONTROL \"\", IDD_DATE2, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 75, 44, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 54, 203, 10\n    CONTROL \"&Tak\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 5, 73, 60, 14\n    CONTROL \"Tak na &wszystkie\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 73, 60, 14\n    CONTROL \"&Nie\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 135, 73, 60, 14\n    CONTROL \"Anuluj\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 73, 60, 14\nEND\n\nCONFIRMDELETE DIALOG 10, 20, 265, 95\nCAPTION \"Potwierdź usunięcie pliku\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Usuń plik:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 44, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 70, 18, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&Tak\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 5, 73, 60, 14\n    CONTROL \"Tak na &wszystkie\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 73, 60, 14\n    CONTROL \"&Nie\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 135, 73, 60, 14\n    CONTROL \"Anuluj\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 73, 60, 14\nEND\n\n\nCONFIRMNOACCESS DIALOG 10, 20, 265, 95\nCAPTION \"Potwierdź: Zignoruj plik lub katalog i kontynuuj\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Dostęp zabroniony, ignoruj:\", IDD_TYPE, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 10, 203, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 108, 10, 122, 10\n    CONTROL \"Nie masz uprawnień lub plik jest używany.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 25, 230, 10\n    CONTROL \"Wybierz \"\"Tak\"\", aby zignorować ten plik i kontynuować operację.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 35, 180, 10\n    CONTROL \"&Tak\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 5, 73, 60, 14\n    CONTROL \"Tak na &wszystkie\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 73, 60, 14\n    CONTROL \"&Nie\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 135, 73, 60, 14\n    CONTROL \"Anuluj\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 73, 60, 14\nEND\n\n\nCONFIRMNOACCESSDEST DIALOG 10, 20, 265, 95\nCAPTION \"Potwierdź: Zignoruj plik lub katalog i kontynuuj\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Brak dostępu, ignoruj:\", IDD_TYPE, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 13, 203, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 124, 13, 106, 10\n    CONTROL \"Kliknij \"\"Tak\"\", aby zignorować ten plik i kontynuować operację.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 23, 180, 10\n    CONTROL \"&Tak\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 5, 73, 60, 14\n    CONTROL \"Tak na &wszystkie\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 73, 60, 14\n    CONTROL \"&Nie\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 135, 73, 60, 14\n    CONTROL \"Anuluj\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 73, 60, 14\nEND\n\n\nCONFIRMRMDIR DIALOG 10, 20, 265, 95\nCAPTION \"Potwierdź usunięcie katalogu\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Usuń katalog:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 55, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 80, 18, 160, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&Tak\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 5, 73, 60, 14\n    CONTROL \"Tak na &wszystkie\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 73, 60, 14\n    CONTROL \"&Nie\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 135, 73, 60, 14\n    CONTROL \"Anuluj\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 73, 60, 14\nEND\n\nCONFIRMMOVE DIALOG 10, 20, 265, 95\nCAPTION \"Potwierdź przeniesienie pliku\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Przenieś plik:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 44, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 70, 18, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&Tak\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 5, 73, 60, 14\n    CONTROL \"Tak na &wszystkie\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 73, 60, 14\n    CONTROL \"&Nie\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 135, 73, 60, 14\n    CONTROL \"Anuluj\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 73, 60, 14\nEND\n\nCONFIRMRENAME DIALOG 10, 20, 265, 95\nCAPTION \"Potwierdź zmianę nazwy pliku\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Zmień nazwę pliku:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 54, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 80, 18, 160, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&Tak\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 5, 73, 60, 14\n    CONTROL \"Tak na &wszystkie\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 73, 60, 14\n    CONTROL \"&Nie\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 135, 73, 60, 14\n    CONTROL \"Anuluj\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 73, 60, 14\nEND\n\n\nMYPRINTDLG DIALOGEX 20, 20, 240, 63\nCAPTION \"Drukuj\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 6, 193, 10\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL \"&Drukuj:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 20, 23, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_FROM, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 27, 18, 160, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\",IDD_STATUS, \"static\", WS_CHILD | SS_LEFTNOWORDWRAP | SS_NOPREFIX, 3, 36, 190, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"Anuluj\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"Pomo&c\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 43, 40, 14\nEND\n\n\nSEARCHDLG DIALOGEX 20, 20, 283, 83\nCAPTION \"Szukaj\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL \"&Szukaj:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 6, 45, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 5, 180, 12\n    DIALOGRESIZECONTROL { 0, 33, 0, 0 }\n    CONTROL \"&Od:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 21, 45, 12\n    DIALOGRESIZECONTROL { 0, 33, 100, 0 }\n    CONTROL \"\", IDD_DATE, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 20, 180, 12\n    DIALOGRESIZECONTROL { 0, 67, 0, 0 }\n    CONTROL \"Zacznij o&d:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 36, 45, 12\n    DIALOGRESIZECONTROL { 0, 67, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 35, 180, 12\n    DIALOGRESIZECONTROL { 0, 90, 0, 0 }\n    CONTROL \"Szukaj &we wszystkich podkatalogach\", IDD_SEARCHALL, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 52, 49, 180, 12\n    DIALOGRESIZECONTROL { 0, 100, 0, 0 }\n    CONTROL \"Pokaż &podkatalogi\", IDD_INCLUDEDIRS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 52, 64, 80, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 25, 0, 0 }\n    CONTROL \"Anuluj\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"Pomo&c\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 43, 40, 14\nEND\n\n\nMOVECOPYDLG DIALOGEX 47, 59, 381, 64\nSTYLE WS_BORDER | WS_THICKFRAME | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN\nCAPTION \"Przenieś\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"Bieżący katalog: N\", IDD_DIR, \"Static\", SS_SIMPLE | SS_NOPREFIX, 3, 6, 332, 10\n\n    DIALOGRESIZECONTROL { 0, 25, 0, 0 }\n    CONTROL         \"&Do/Na:\", IDD_KK_TEXTTO, \"Static\", SS_LEFTNOWORDWRAP, 3, 33, 30, 10\n\n    DIALOGRESIZECONTROL { 0, 25, 100, 0}\n    EDITTEXT        IDD_TO, 37, 32, 288, 12, ES_AUTOHSCROLL\n\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL         \"\", IDD_STATUS, \"Static\", SS_SIMPLE | SS_NOPREFIX, 3, 49, 40, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"\", IDD_NAME, \"Static\", SS_SIMPLE | SS_NOPREFIX,  45, 49, 290, 10\n\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"OK\", IDOK, 335, 6, 40, 14\n\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    PUSHBUTTON      \"Anuluj\", IDCANCEL, 335, 23, 40, 14\n\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    PUSHBUTTON      \"Pomo&c\", IDD_HELP, 335, 40, 40, 14\n\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL         \"&Z:\", IDD_KK_TEXTFROM, \"Static\", SS_LEFTNOWORDWRAP, 3, 19, 20, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    EDITTEXT        IDD_FROM, 37, 18, 288, 12, ES_AUTOHSCROLL\n\n    DIALOGRESIZECONTROL { 0, 50, 0, 0 }\n    CONTROL         \"\", IDD_DIRS, \"Static\", SS_LEFTNOWORDWRAP, 3, 49, 330, 10\nEND\n\n\n\nDELETEDLG DIALOGEX 20, 20, 246, 64\nCAPTION \"Usuń\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"Bieżący katalog: C\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 5, 193, 10\n    CONTROL \"&Usuń:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 20, 35, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_FROM, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 40, 19, 155, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_STATUS, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 3, 35, 35, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 40, 35, 155, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"Anuluj\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"Pomo&c\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 40, 40, 14\nEND\n\nMULTIPLEATTRIBSDLG DIALOG 20, 20, 226, 88\nCAPTION \"Właściwości\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Wybranych plików: %d\", IDD_TEXT1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 144, 10\n    CONTROL \"Całkowita liczba bajtów: %s\", IDD_TEXT2, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 16, 144, 10\n    CONTROL \"Atrybuty\", -1, \"button\", BS_GROUPBOX | WS_CHILD, 5, 29, 140, 54\n    CONTROL \"Tylk&o do odczytu\", IDD_READONLY, \"button\", WS_GROUP | WS_TABSTOP | BS_AUTOCHECKBOX | WS_CHILD, 10, 40, 72, 12\n    CONTROL \"&Ukryty\", IDD_HIDDEN, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 82, 40, 52, 12\n    CONTROL \"&Archiwalny\", IDD_ARCHIVE, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 10, 52, 52, 12\n    CONTROL \"Syst&emowy\", IDD_SYSTEM, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 82, 52, 52, 12\n    CONTROL \"&Skompresowany\", IDD_COMPRESSED, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 10, 64, 52, 12\n    CONTROL \"S&zyfrowany\", IDD_ENCRYPTED, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_DISABLED, 72, 64, 52, 12\n    CONTROL \"OK\", 1, \"button\", WS_GROUP | BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 6, 50, 14\n    CONTROL \"Anuluj\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 23, 50, 14\n    CONTROL \"Pomo&c\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 43, 50, 14\nEND\n\n\nATTRIBSDLG DIALOG 23, 13, 259, 229\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Właściwości %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\", IDOK, 204, 6, 50, 14, WS_GROUP\n    PUSHBUTTON      \"Anuluj\", IDCANCEL, 204, 23, 50, 14\n    PUSHBUTTON      \"Pomo&c\", IDD_HELP, 204, 40, 50, 14\n\n    CONTROL         \"Na&zwa pliku:\", IDD_NAMELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 5, 55, 10\n    EDITTEXT        IDD_NAME, 72, 5, 132, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"Ścież&ka:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 16, 51, 10\n    EDITTEXT        IDD_DIR, 72, 16, 132, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"Ostatnia zmiana:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 27, 62, 10\n    CONTROL         \"\", IDD_DATE, \"Static\", SS_LEFTNOWORDWRAP, 72, 27, 132, 10\n    CONTROL         \"Wersja:\", IDD_VERLABEL, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 38, 45, 10\n    CONTROL         \"Nie zaznaczona\", IDD_VERSION, \"Static\", SS_LEFTNOWORDWRAP |\n                    SS_NOPREFIX, 72, 38, 132, 10\n    LTEXT           \"&Prawa autorskie:\", -1, 5, 49, 45, 10\n    CONTROL         \"Nie zaznaczona\", IDD_COPYRIGHT, \"Edit\", ES_AUTOHSCROLL |\n                    ES_READONLY | WS_TABSTOP, 72, 49, 132, 10\n    CONTROL         \"Rozmiar:\", IDD_SIZELABEL, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 60, 45, 10\n    CONTROL         \"\", IDD_SIZE, \"Static\", SS_LEFTNOWORDWRAP, 72, 60, 132, 10\n    CONTROL         \"Po kompresji:\", IDD_CSIZELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 71, 62, 10\n    CONTROL         \"\", IDD_CSIZE, \"Static\", SS_LEFTNOWORDWRAP, 72, 71, 132, 10\n    CONTROL         \"Stopień kompresji:\", IDD_CRATIOLABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 82, 62, 10\n    CONTROL         \"\", IDD_CRATIO, \"Static\", SS_LEFTNOWORDWRAP, 72, 82, 132, 10\n    GROUPBOX        \"Atrybuty\", IDD_TEXT, 4, 96, 160, 54 \n    CONTROL         \"&Tylko do odczytu\", IDD_READONLY, \"Button\", BS_AUTOCHECKBOX |\n                    WS_GROUP | WS_TABSTOP, 9, 108, 70, 12 \n    CONTROL         \"Uk&ryty\", IDD_HIDDEN, \"Button\", BS_AUTOCHECKBOX,\n                    91, 108, 49, 12 \n    CONTROL         \"&Archiwalny\", IDD_ARCHIVE, \"Button\", BS_AUTOCHECKBOX,\n                    9, 120, 52, 12\n    CONTROL         \"&Systemowy\", IDD_SYSTEM, \"Button\", BS_AUTOCHECKBOX,\n                    91, 120, 49, 12\n    CONTROL         \"Sko&mpresowany\", IDD_COMPRESSED, \"Button\", BS_AUTOCHECKBOX,\n                    9, 132, 52, 12\n    GROUPBOX        \"I&nformacje o wersji\", IDD_VERSION_FRAME, 4, 155, 250, 70\n    LISTBOX         IDD_VERSION_KEY, 9, 168, 91, 58, LBS_SORT |\n                    LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        IDD_VERSION_VALUE, 110, 168, 138, 58, ES_MULTILINE |\n                    ES_READONLY | WS_VSCROLL\nEND\n\n\nCOMPRESSPROGDLG DIALOG 123, 60, 207, 117\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Kompresja pliku w toku\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Plik kompresowany:\", -1, 6, 8, 79, 8\n    LTEXT           \"nazwapliku.xxx\", IDD_COMPRESS_FILE, 86, 8, 90, 8\n    LTEXT           \"Katalog:\", -1, 6, 20, 39, 8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\", IDD_COMPRESS_DIR, 43, \n                    20, 150, 8\n    LTEXT           \"Katalogi skompresowane:\", -1, 6, 32, 102, 8\n    LTEXT           \"1,888,888,999\", IDD_COMPRESS_TDIRS, 90, 32, 60, 8\n    LTEXT           \"Pliki skompresowane:\", -1, 6, 44, 62, 8\n    LTEXT           \"1,888,888,999\", IDD_COMPRESS_TFILES, 74, 44, 58, 8\n    LTEXT           \"Rozmiary plików przed kompresją:\", -1, 6, 56, \n                    124, 8\n    LTEXT           \"9,999,999,999,999\", IDD_COMPRESS_USIZE, 134, 56, 68, 8\n    LTEXT           \"Rozmiary plików po kompresji:\", -1, 6, 68, 123, \n                    8\n    LTEXT           \"9,999,999,999,999\", IDD_COMPRESS_CSIZE, 134, 69, 68, 8\n    LTEXT           \"Stopień kompresji plików:\", -1, 6, 80, 78, 8\n    LTEXT           \"100%\", IDD_COMPRESS_RATIO, 91, 80, 27, 8\n    PUSHBUTTON      \"Anuluj\", IDCANCEL, 76, 97, 55, 14\nEND\n\nUNCOMPRESSPROGDLG DIALOG 114, 62, 197, 84\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Dekompresja plików w toku\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Pliki niekompresowane:\", -1, 6, 8, 83, 8\n    LTEXT           \"nazwapliku.xxx\", IDD_UNCOMPRESS_FILE, 93, 8, 66, 8\n    LTEXT           \"Katalog:\", -1, 6, 20, 39, 8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\", \n                    IDD_UNCOMPRESS_DIR, 45, 20, 144, 8\n    LTEXT           \"Katalogi nieskompresowane:\", -1, 6, 32, 91, 8\n    LTEXT           \"1,999,999,999\", IDD_UNCOMPRESS_TDIRS, 99, 32, 70, 8\n    LTEXT           \"Pliki nieskompresowane:\", -1, 6, 44, 86, 8\n    LTEXT           \"1,999,999,999\", IDD_UNCOMPRESS_TFILES, 92, 44, 78, 8\n    PUSHBUTTON      \"Anuluj\", IDCANCEL, 74, 64, 49, 14\nEND\n\nCOMPRESSERRDLG DIALOG 11, 28, 245, 65\nCAPTION \"Błąd kompresji\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    ICON 32515, -1, 8, 8, 21, 20\n    LTEXT \"\", IDD_TEXT1, 35, 8, 190, 20\n\n    DEFPUSHBUTTON \"Z&ignoruj\",     IDIGNORE,      5, 47, 60, 14, WS_TABSTOP | WS_CHILD | WS_GROUP\n    PUSHBUTTON    \"Zig&noruj wszystko\", IDD_IGNOREALL, 70, 47, 60, 14, WS_TABSTOP | WS_CHILD\n    PUSHBUTTON    \"&Ponów\",      IDRETRY,       135, 47, 60, 14, WS_TABSTOP | WS_CHILD\n    PUSHBUTTON    \"Prz&erwij\",      IDABORT,       200, 47, 60, 14, WS_TABSTOP | WS_CHILD\nEND\n\n\n\nMAKEDIRDLG DIALOGEX 20, 20, 200, 63\nCAPTION \"Utwórz katalog\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 6, 154, 10\n    CONTROL \"&Nazwa:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 23, 25, 10 \n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 30, 22, 90, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\",IDD_STATUS, \"static\", WS_CHILD | SS_NOPREFIX | SS_LEFTNOWORDWRAP, 3, 46, 150, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"Anuluj\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"Pomo&c\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 43, 40, 14\nEND\n\n\nCHOOSEDRIVEDLG DIALOG 20, 20, 157, 64\nCAPTION \"Kopiuj dysk\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Dys&k źródłowy:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 8, 50, 10\n    CONTROL \"\", IDD_DRIVE1, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 55, 6, 40, 37\n    CONTROL \"Dysk &docelowy:\", IDD_FLAGS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 22, 50, 10\n    CONTROL \"\", IDD_DRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 55, 20, 40, 37\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 6, 40, 14\n    CONTROL \"Anuluj\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 23, 40, 14\n    CONTROL \"Pomo&c\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 43, 40, 14\nEND\n\n\nDISKCOPYPROGRESSDLG DIALOG 30, 30, 130, 55\nCAPTION \"Kopiowanie dysku\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE | DS_SYSMODAL\nBEGIN\n    CONTROL \"Kopiowanie: \", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 5, 130, 10\n    CONTROL \"Dysk A:\", IDD_DRIVE, \"static\", SS_CENTER | WS_CHILD, 0, 15, 130, 10\n    CONTROL \"Odczytywanie dysku źródłowego\", IDD_PROGRESS, \"static\", SS_CENTER | WS_CHILD, 0, 26, 130, 10\n    CONTROL \"Anuluj\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 44, 39, 44, 14\nEND\n\nDISKLABELDLG DIALOGEX 20, 20, 161, 63\nCAPTION \"Etykieta dysku\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    CONTROL \"&Etykieta:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 15, 30, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 5, 26, 100, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"Anuluj\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"Pomo&c\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 43, 40, 14\nEND\n\nFORMATDLG DIALOG 11, 28, 183, 96\nCAPTION \"Formatuj dysk\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 6, 40, 14\n    CONTROL \"Anuluj\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 23, 40, 14\n    CONTROL \"Pomo&c\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 43, 40, 14\n    CONTROL \"&Dysk w:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 7, 49, 10\n    CONTROL \"\", IDD_DRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 4, 65, 40\n    CONTROL \"P&ojemność:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 20, 49, 10\n    CONTROL \"\", IDD_HIGHCAP, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 19, 65, 40\n    CONTROL \"Opcje\", 102, \"button\", BS_GROUPBOX | WS_GROUP | WS_CHILD, 5, 39, 115, 53\n    CONTROL \"&Etykieta:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 11, 51, 39, 10\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 40, 49, 63, 12\n//    CONTROL \"&Make System Disk\", IDD_MAKESYS, \"button\", BS_CHECKBOX | BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD | WS_DISABLED, 11, 62, 90, 12\n    CONTROL \"&Szybkie formatowanie\", IDD_VERIFY, \"button\", BS_CHECKBOX | BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 62, 90, 12\nEND\n\nFORMATSELECTDLG DIALOG 11, 28, 183, 44\nCAPTION \"Formatuj dysk\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 6, 40, 14\n    CONTROL \"Anuluj\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 23, 40, 14\n    CONTROL \"&Dysk do sformatowania:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 7, 49, 10\n    CONTROL \"\", IDD_SELECTDRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 4, 65, 40\nEND\n\nFORMATPROGRESSDLG DIALOG 30, 30, 150, 50\nCAPTION \"Formatowanie dysku\"\nFONT 8, \"MS Shell Dlg\"\n//STYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE | DS_SYSMODAL\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE\nBEGIN\n    CONTROL \"Formatowanie dysku\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 5, 150, 10\n    CONTROL \"Inicjalizacja dysku...\", IDD_PROGRESS, \"static\", SS_CENTER | WS_CHILD, 0, 17, 150, 10\n    CONTROL \"Anuluj\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 54, 30, 44, 14\nEND\n\n#if 0\nSYSDISKPROGRESSDLG DIALOG 30, 30, 174, 57\nCAPTION \"Utwórz dysk systemowy\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE\nBEGIN\n    CONTROL \"Kopiowanie plików systemowych\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 6, 174, 8\n    CONTROL \"Naciśnij \"\"Anuluj\"\", jeśli chcesz przerwać.\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 14, 174, 8\n    CONTROL \"Anuluj\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 66, 39, 44, 14\nEND\n\nCONNECTDLG DIALOG 12, 28, 241, 135\nCAPTION \"Połączenia sieciowe\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n  GROUPBOX \"Nowe połączenie\", -1, 5, 3, 170, 55, WS_CHILD\n\n  LTEXT \"Ścieżka &sieciowa:\", -1, 10, 16, 55, 10\n  EDITTEXT, IDD_PATH, 65, 14, 100, 12, ES_AUTOHSCROLL | WS_GROUP | WS_TABSTOP\n  LTEXT \"&Dysk:\", -1, 10, 30, 24, 10\n  COMBOBOX IDD_DRIVE, 65, 28, 40, 100, CBS_DROPDOWNLIST | WS_VSCROLL | WS_GROUP | WS_TABSTOP\n  LTEXT \"&Hasło:\", -1, 10, 44, 36, 10\n  EDITTEXT, IDD_PASSWORD, 65, 42, 100, 12, ES_AUTOHSCROLL | ES_PASSWORD | WS_GROUP | WS_TABSTOP\n\n  LTEXT \"Bieżące &mapowania dysków:\", -1, 5, 62, 120, 10\n  LISTBOX IDD_DRIVE1, 5, 73, 160, 60, LBS_SORT | LBS_NOTIFY | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_BORDER | WS_TABSTOP\n\n  DEFPUSHBUTTON \"Zam&knij\",  IDCANCEL, 190, 6, 45, 14, WS_GROUP | WS_TABSTOP\n  PUSHBUTTON \"P&ołącz\", IDOK, 190, 27, 45, 14, WS_TABSTOP\n  PUSHBUTTON \"&Poprzedni...\", IDD_PREV, 190, 44, 45, 14, WS_TABSTOP\n  PUSHBUTTON \"Prze&glądaj...\", IDD_NETBROWSE, 190, 61, 45, 14, WS_GROUP | WS_TABSTOP\n  PUSHBUTTON \"&Rozłącz\", IDD_DISCONNECT, 190, 78, 45, 14, WS_GROUP|WS_TABSTOP\n  PUSHBUTTON \"Pomo&c\", IDD_HELP, 190, 95, 45, 14, WS_GROUP | WS_TABSTOP\nEND\n\nPREVIOUSDLG DIALOG 30, 30, 231, 98\nCAPTION \"Poprzednie połączenia sieciowe\"\nFONT 8 \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Ścieżki &sieciowe:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 3, 69, 10\n    CONTROL \"\", IDD_PREV, \"listbox\", LBS_NOTIFY | LBS_SORT | LBS_STANDARD | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 3, 15, 172, 80\n    CONTROL \"&Wybierz\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 6, 44, 14\n    CONTROL \"Zamknij\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 24, 44, 14\n    CONTROL \"&Usuń\", IDD_DELETE, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 41, 44, 14\n    CONTROL \"Pomo&c\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 58, 44, 14\nEND\n#endif\n\nOTHERDLG DIALOG 20, 20, 174, 81\nCAPTION \"Częściowe informacje\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Szczegóły\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_CHILD, 4, 4, 121, 74\n    CONTROL \"&Rozmiar\", IDD_SIZE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 15, 100, 12\n    CONTROL \"&Data ostatniej modyfikacji\", IDD_DATE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 27, 100, 12\n    CONTROL \"&Godzina ostatniej modyfikacji\", IDD_TIME, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 39, 105, 12\n    CONTROL \"&Atrybuty pliku\", IDD_FLAGS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 51, 100, 12\n    CONTROL \"&Nazwy plików w MS-DOS\", IDD_DOSNAMES, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 63, 100, 12\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 6, 40, 14\n    CONTROL \"Anuluj\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 23, 40, 14\n    CONTROL \"Pomo&c\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 60, 40, 14\nEND\n\n\nINCLUDEDLG DIALOG 20, 20, 157, 114\nCAPTION \"Według typów plików\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"&Nazwa:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 8, 23, 10\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 34, 6, 65, 12\n    CONTROL \"Typ pliku\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_CHILD, 5, 20, 94, 62\n    CONTROL \"&Katalogi\", IDD_DIR, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 31, 60, 12\n    CONTROL \"&Programy\", IDD_PROGRAMS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 43, 60, 12\n    CONTROL \"&Dokumenty\", IDD_DOCS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 55, 60, 12\n    CONTROL \"Inn&e pliki\", IDD_OTHER, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 67, 60, 12\n    CONTROL \"Pokaż pliki ukryte/&systemowe\", IDD_SHOWHIDDEN, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 5, 85, 110, 12\n    CONTROL \"Pokaż punk&ty połączenia\", IDD_SHOWJUNCTION, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 5, 97, 100, 12\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 6, 40, 14\n    CONTROL \"Anuluj\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 23, 40, 14\n    CONTROL \"Pomo&c\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 43, 40, 14\nEND\n\n\nCONFIRMDLG DIALOG 20, 20, 214, 104\nCAPTION \"Potwierdzanie\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Potwierdzaj\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_TABSTOP | WS_CHILD, 5, 3, 158, 98\n    CONTROL \"&Usunięcie pliku\", IDD_DELETE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 15, 80, 12\n    CONTROL \"Usunięcie &katalogu\", IDD_SUBDEL, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 27, 80, 12\n    CONTROL \"&Zamianę plików\", IDD_REPLACE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 39, 80, 12\n    CONTROL \"Czy&nności z użyciem myszy\", IDD_MOUSE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 51, 80, 12\n    CONTROL \"Polecenia &dotyczące dysku\", IDD_CONFIG, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 63, 80, 12\n    CONTROL \"&Modyfikację plików systemowych, ukrytych, tylko do odczytu\", IDD_READONLY, \"button\", BS_AUTOCHECKBOX | BS_TOP | BS_MULTILINE | WS_TABSTOP | WS_CHILD, 10, 75, 150, 12\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 168, 6, 40, 14\n    CONTROL \"Anuluj\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 168, 23, 40, 14\n    CONTROL \"Pomo&c\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 168, 44, 40, 14\nEND\n\nDMSTATUSDLG DIALOG 20, 20, 250, 46\nCAPTION \"Przenoszenie...\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"\", IDD_STATUS, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD , 5, 5, 49, 10\n    CONTROL \"\", IDD_NAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 55, 5, 192, 10\n    CONTROL \"Do:\", IDD_TOSTATUS, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 5, 15, 25, 10\n    CONTROL \"\", IDD_TONAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 55, 15, 192, 10\n    CONTROL \"Anuluj\", IDCANCEL, \"button\", WS_CHILD | BS_DEFPUSHBUTTON, 200, 28, 40, 14\nEND\n\nPRTDLG DIALOG 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Drukowanie pliku...\", -1, \"static\", SS_CENTER | WS_GROUP | WS_CHILD, 4, 6, 120, 12\n    CONTROL \"\", IDD_TEXT, \"static\", SS_CENTER | SS_NOPREFIX | WS_GROUP | WS_CHILD, 4, 20, 120, 12\n    CONTROL \"Anuluj\", 2, \"button\", BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP | WS_CHILD, 44, 40, 32, 14\nEND\n\n\nLFNTOFATDLG DIALOG 11, 28, 265, 78\nCAPTION \"Wybierz nazwę pliku\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL \"Ta ścieżka nie odpowiada formatowi FAT nazw plików. Wprowadź nową nazwę.\", 99, \"static\", SS_LEFT | WS_CHILD, 5, 4, 190, 24\n    CONTROL \"&Nowa nazwa:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 56, 65, 12\n    CONTROL \"\", IDD_TO, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 72, 55, 130, 12\n    CONTROL \"Ścieżka pierwotna:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 28, 65, 11\n    CONTROL \"\", IDD_FROM, \"edit\", ES_READONLY | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_CHILD, 70, 28, 130, 12\n    CONTROL \"Do katalogu:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 42, 65, 11\n    CONTROL \"\", IDD_DIR, \"edit\", ES_READONLY | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_CHILD, 70, 42, 130, 12\n    CONTROL \"OK\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 220, 4, 40, 14\n    CONTROL \"Anuluj\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 220, 20, 40, 14\n    CONTROL \"Pomo&c\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 220, 36, 40, 14\nEND\n\n\nATTRIBSDLGDIR DIALOG 23, 13, 250, 119\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Właściwości %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\", IDOK, 194, 6, 50, 14, WS_GROUP\n    PUSHBUTTON      \"Anuluj\", IDCANCEL, 194, 23, 50, 14\n    PUSHBUTTON      \"Pomo&c\", IDD_HELP, 194, 43, 50, 14\n    CONTROL         \"&Nazwa pliku:\", IDD_NAMELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 5, 55, 10\n    EDITTEXT        IDD_NAME, 60, 5, 134, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"Ścież&ka:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP, 5, 16,\n                    51, 10\n    EDITTEXT        IDD_DIR, 60, 16, 134, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"Ostatnia zmiana:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP, 5,\n                    27, 62, 10\n    CONTROL         \"\", IDD_DATE, \"Static\", SS_LEFTNOWORDWRAP, 60, 27, 97,\n                    10\n    CONTROL         \"Rozmiar:\", IDD_SIZELABEL, \"Static\", SS_LEFTNOWORDWRAP, 5,\n                    38, 45, 10\n    CONTROL         \"\", IDD_SIZE, \"Static\", SS_LEFTNOWORDWRAP, 60, 38, 90,\n                    10\n    GROUPBOX        \"Atrybuty\", IDD_TEXT, 4, 52, 120, 54\n    CONTROL         \"Tylk&o do odczytu\", IDD_READONLY, \"Button\", BS_AUTOCHECKBOX |\n                    WS_GROUP | WS_TABSTOP, 9, 64, 52, 12\n    CONTROL         \"Uk&ryty\", IDD_HIDDEN, \"Button\", BS_AUTOCHECKBOX, 71, 64,\n                    49, 12\n    CONTROL         \"&Archiwalny\", IDD_ARCHIVE, \"Button\", BS_AUTOCHECKBOX, 9,\n                    76, 52, 12\n    CONTROL         \"&Systemowy\", IDD_SYSTEM, \"Button\", BS_AUTOCHECKBOX, 71, 76,\n                    49, 12\n    CONTROL         \"Sko&mpresowany\", IDD_COMPRESSED, \"button\", BS_AUTOCHECKBOX,\n                    9, 88, 52, 12\nEND\n\n\n#ifdef ASSOC\nASSOCIATEDLG DIALOGEX 20, 20, 255, 129\n#else\nASSOCIATEDLG DIALOGEX 20, 20, 255, 118\n#endif\n\nCAPTION \"Skojarz\"\nSTYLE WS_BORDER | WS_THICKFRAME | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE { 0, 0 }\n    LTEXT           \"Pli&ki z rozszerzeniem:\", -1, 6, 7, 68, 8\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    COMBOBOX        IDD_EXT, 76, 5, 44, 55, CBS_DROPDOWN | CBS_SORT |\n                    CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n\n    LTEXT           \"&Skojarz z:\", -1, 6, 30, 92, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    EDITTEXT        IDD_COMMAND, 6, 42, 172, 12, ES_AUTOHSCROLL\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    LISTBOX         IDD_CLASSLIST, 11, 54, 167, 62, LBS_SORT | WS_VSCROLL | WS_TABSTOP\n#ifdef ASSOC\n#ifdef ASSOCHEAD\n                    | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS\n#endif\n#endif\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    PUSHBUTTON      \"Przeglą&daj...\", IDD_BROWSE, 130, 24, 47, 14\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"OK\", IDOK, 187, 6, 62, 14, WS_GROUP\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    PUSHBUTTON      \"Anuluj\", IDCANCEL, 187, 23, 62, 14\n    DIALOGRESIZECONTROL { 100, 30, 0, 0 }\n    PUSHBUTTON      \"&Nowy typ...\", IDD_NEW, 187, 42, 62, 14\n    DIALOGRESIZECONTROL { 100, 40, 0, 0 }\n    PUSHBUTTON      \"&Zmień typ...\", IDD_CONFIG, 187, 59, 62, 14\n    DIALOGRESIZECONTROL { 100, 50, 0, 0 }\n    PUSHBUTTON      \"&Usuń typ\", IDD_DELETE, 187, 76, 62, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    PUSHBUTTON      \"Pomo&c\", IDD_HELP, 187, 95, 62, 14\n\n#ifdef ASSOC\n    AUTOCHECKBOX    \"Zobacz &jedynie wspólne typy plików i rozszerzenia\", IDD_SYSTEM,\n                    6, 117, 160, 10, WS_GROUP\n#endif\nEND\n\nASSOCIATEFILEDLG DIALOG 18, 14, 290, 224\nCAPTION \"Zmień typ pliku\"\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Typ pliku:\", IDD_DESCTEXT, 5, 6, 33, 8\n    EDITTEXT        IDD_DESC, 42, 5, 95, 12, ES_AUTOHSCROLL\n    GROUPBOX        \"&Akcja: \", -1, 5, 22, 235, 126, WS_GROUP\n    COMBOBOX        IDD_ACTION, 36, 22, 48, 33, CBS_DROPDOWNLIST |\n                    WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Polecenie:\", IDD_COMMANDTEXT, 9, 42, 38, 8\n    EDITTEXT        IDD_COMMAND, 47, 39, 111, 12, ES_AUTOHSCROLL\n    PUSHBUTTON      \"Prz&eglądaj...\", IDD_BROWSE, 164, 38, 40, 14\n    AUTOCHECKBOX    \"&Używaj DDE\", IDD_DDE, 10, 57, 50, 10, WS_GROUP\n    LTEXT           \"Komunikat &DDE:\", IDD_DDEMESGTEXT, 22, 72, 70, 8\n    EDITTEXT        IDD_DDEMESG, 95, 70, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"Dla &nie uruchomionej aplikacji DDE:\", IDD_DDENOTRUNTEXT, 22, 84, 70, 19\n    LTEXT           \"(opcjonalnie)\", IDD_DDEOPTIONALTEXT, 197, 90, 42, 8\n    EDITTEXT        IDD_DDENOTRUN, 95, 88, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"Apli&kacja:\", IDD_DDEAPPTEXT, 22, 109, 39, 8\n    EDITTEXT        IDD_DDEAPP, 95, 107, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"Te&mat:\", IDD_DDETOPICTEXT, 23, 127, 21, 8\n    EDITTEXT        IDD_DDETOPIC, 95, 125, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"No&we rozszerzenie:\", -1, 11, 184, 52, 8\n    EDITTEXT        IDD_EXT, 64, 183, 32, 12, ES_AUTOHSCROLL\n    PUSHBUTTON      \"D&odaj ->\", IDD_ADD, 102, 174, 44, 14\n    PUSHBUTTON      \"<- U&suń\", IDD_DELETE, 102, 191, 44, 14\n    LTEXT           \"&Rozszerzenia:\", -1, 157, 162, 41, 8\n    LISTBOX         IDD_EXTLIST, 157, 172, 65, 40, LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Rozszerzenia skojarzone z tym typem pliku:\", IDD_EXTTEXT, 5, 154, 235, 66\n    DEFPUSHBUTTON   \"OK\", IDOK, 244, 6, 40, 14\n    PUSHBUTTON      \"Anuluj\", IDCANCEL, 244, 23, 40, 14\n    PUSHBUTTON      \"Pomo&c\", IDD_HELP, 244, 40, 40, 14\nEND\n\nGOTODIRDLG DIALOGEX 13, 54, 464, 125\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_CLIPCHILDREN | WS_MAXIMIZEBOX\nCAPTION \"Skocz do katalogu\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE    { 0, 0 }\n    LTEXT           \"&Skocz do katalogu:\", -1, 6, 3, 100, 8\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"\", IDD_GOTODIR, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 6, 13, 406, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    LISTBOX         IDD_GOTOLIST, 6, 25, 406, 95, WS_VSCROLL | WS_TABSTOP\n\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"OK\", IDOK, 418, 13, 40, 14, WS_GROUP\n    DIALOGRESIZECONTROL { 100, 3, 0, 0 }\n    PUSHBUTTON      \"Anuluj\", IDCANCEL, 418, 30, 40, 14, WS_GROUP\nEND\n\nPREFDLG DIALOG 20, 20, 240, 140\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Preferencje\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n   CONTROL \"Ścieżka edytora:\", IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 17, 55, 14\n   CONTROL \"\", IDD_EDITOR, \"edit\", ES_AUTOHSCROLL | ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 69, 14, 130, 14\n   CONTROL \"...\", IDC_EDITOR, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 205, 14, 20, 14\n   CONTROL \"Wyłącz &kompozycje paska narzędzi\", IDC_VSTYLE, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 38, 210, 14\n   CONTROL \"Twórz indeks katalogów przy &uruchomieniu\", IDC_GOTO, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 50, 210, 14\n   CONTROL \"Wyświetl interfejs w odbiciu &lustrzanym\", IDC_MIRROR, \"button\", BS_AUTOCHECKBOX | WS_CHILD /* | WS_VISIBLE | WS_TABSTOP */, 0, 0, 0, 0    // invisible, not a tabsop; here to satisfy VerifyResources tool.\n   CONTROL \"Język:\", IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 70, 35, 14\n   CONTROL \"\", IDC_LANGCB, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 50, 68, 160, 53\n   CONTROL \"Proszę pamiętać, że część zmian zostanie wprowadzona \\npo ponownym uruchomieniu programu.\",\n            IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 90, 200, 20\n   CONTROL \"OK\", IDOK, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 55, 120, 40, 14\n   CONTROL \"Anuluj\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 103, 120, 40, 14\n   CONTROL \"Pomo&c\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 149, 120, 40, 14\nEND\n\nABOUTDLG DIALOG 13, 54, 250, 75\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Menedżer plików - informacje...\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            APPICON, -1, 6, 6, 32, 32\n    LTEXT           \"Menedżer plików dla systemu Windows\", -1, 36, 6, 200, 8\n    CONTROL         \"TO BE SET\", IDD_VERTEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 36, 18, 200, 8\n    LTEXT           \"© Microsoft Corporation. Wszelkie prawa zastrzeżone.\", -1, 36, 30, 200, 8\n    LTEXT           \"Licencjonowane na zasadach Licencji MIT.\", -1, 36, 42, 200, 8\n    LTEXT           \"https://github.com/Microsoft/winfile\", -1, 36, 54, 200, 8\n    DEFPUSHBUTTON   \"OK\", IDOK, 200, 50, 40, 14\nEND\n"
  },
  {
    "path": "src/lang/winfile_pt-PT.dlg",
    "content": "/********************************************************************\r\n\r\n   winfile.dlg\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"dlgs.h\"\r\n#include \"resize.h\"\r\n\r\nCANCELDLG DIALOG 77, 27, 160, 65\r\nSTYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r\nCAPTION \"A Formatar Disco\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    CTEXT           \"\", IDD_TEXT1, 15, 36, 131, 8\r\n    CONTROL         \"\", IDD_GASGAUGE, \"Static\", SS_BLACKFRAME, 15, 10, 131, 22\r\n    PUSHBUTTON      \"Ocultar\", IDD_HIDE, 38, 48, 40, 14\r\n    PUSHBUTTON      \"Cancelar\", IDCANCEL, 82, 48, 40, 14\r\nEND\r\n\r\n\r\nSEARCHPROGDLG DIALOG 77, 109, 174, 75\r\nSTYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r\nCAPTION \"A Procurar Disco\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n\r\n    CONTROL \"Procurar por:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 60, 10\r\n    CONTROL \"\", IDD_NAME, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 55, 5, 120, 10\r\n    CONTROL \"Desde:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 15, 60, 10\r\n    CONTROL \"\", IDD_DATE, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 55, 15, 120, 10\r\n    CONTROL \"A começar de:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 25, 70, 10\r\n    CONTROL \"\", IDD_PATH, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 55, 25, 120, 10\r\n    CONTROL \"Directórios lidos:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 35, 60, 10\r\n    CONTROL \"\", IDD_TIME, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 66, 35, 100, 10\r\n    CONTROL \"Correspondências encontradas:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 45, 110, 10\r\n    CONTROL \"\", IDD_FOUND, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 116, 45, 100, 10\r\n\r\n    PUSHBUTTON      \"Ocultar\", IDD_HIDE, 45, 58, 40, 14\r\n    PUSHBUTTON      \"Cancelar\", IDCANCEL, 89, 58, 40, 14\r\nEND\r\n\r\n\r\nFONTDLG DIALOG 13, 54, 264, 154\r\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r\nCAPTION \"Tipo de Letra\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    LTEXT           \"&Tipo:\", stc1, 6, 3, 40, 9\r\n    COMBOBOX        cmb1, 6, 13, 94, 54, CBS_SIMPLE | CBS_AUTOHSCROLL |\r\n                    CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED\r\n    LTEXT           \"&Estilo:\", stc2, 108, 3, 44, 9\r\n    COMBOBOX        cmb2, 108, 13, 64, 54, CBS_SIMPLE | WS_VSCROLL |\r\n                    WS_TABSTOP\r\n    LTEXT           \"&Tamanho:\", stc3, 179, 3, 31, 9\r\n    COMBOBOX        cmb3, 179, 13, 32, 54, CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED | CBS_SORT\r\n\r\n    GROUPBOX        \"Effects\", grp1, 6, 73, 84, 61, WS_GROUP\r\n    CONTROL         \"Stri&keout\", chx1, \"Button\", BS_AUTOCHECKBOX |\r\n                    WS_TABSTOP, 10, 83, 49, 10\r\n    CONTROL         \"&Underline\", chx2, \"Button\", BS_AUTOCHECKBOX, 10, 95,\r\n                    51, 10\r\n\r\n    CONTROL         \"&Lowercase para Unidades FAT\", chx3, \"Button\", BS_AUTOCHECKBOX |\r\n                    WS_TABSTOP, 6, 127, 252, 10\r\n\r\n    CONTROL         \"Lowercase para Todas as &Unidades\", chx4, \"Button\", BS_AUTOCHECKBOX |\r\n                    WS_TABSTOP, 6, 139, 252, 10\r\n\r\n    LTEXT           \"&Cor:\", stc4, 10, 107, 30, 9\r\n    COMBOBOX        cmb4, 10, 117, 75, 50, CBS_DROPDOWNLIST |\r\n                    CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS |\r\n                    WS_BORDER | WS_VSCROLL\r\n\r\n    DEFPUSHBUTTON   \"OK\", IDOK, 218, 6, 40, 14, WS_GROUP\r\n    PUSHBUTTON      \"Cancelar\", IDCANCEL, 218, 23, 40, 14, WS_GROUP\r\n    PUSHBUTTON      \"&Aplicar\", psh3, 218, 40, 40, 14, WS_GROUP\r\n    PUSHBUTTON      \"A&juda\", pshHelp, 218, 57, 40, 14, WS_GROUP\r\n    GROUPBOX        \"Exemplo\", grp2, 6, 72, 252, 49, WS_GROUP\r\n    CTEXT           \"\", stc6, 10, 137, 1, 2,\r\n                    SS_NOPREFIX | NOT WS_GROUP\r\n    CTEXT           \"AaBbYyZz\", stc5, 10, 81, 243, 37, SS_NOPREFIX | NOT\r\n                    WS_VISIBLE\r\nEND\r\n\r\nDRIVEDLG DIALOGEX 11, 31, 201, 86\r\nCAPTION \"Seleccionar Unidade\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_THICKFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP | WS_CLIPCHILDREN\r\nBEGIN\r\n    DIALOGRESIZE { 0, 0 }\r\n    CONTROL \"&Unidades:\", IDD_DRIVE1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 41, 10\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\r\n    CONTROL \"\", IDD_DRIVE, \"listbox\", LBS_NOTIFY | LBS_SORT | LBS_STANDARD | LBS_USETABSTOPS | WS_BORDER | WS_VSCROLL | WS_CHILD | WS_TABSTOP, 5, 16, 140, 60\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\r\n    CONTROL \"OK\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 6, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\r\n    CONTROL \"Cancelar\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 23, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\r\n    CONTROL \"&Ajuda\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 44, 40, 14\r\nEND\r\n\r\nRUNDLG DIALOGEX 15, 12, 210, 63\r\nCAPTION \"Executar\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\r\nBEGIN\r\n    DIALOGRESIZE { 0, 125 }\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    CONTROL \"\", IDD_DIR, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 3, 6, 162, 10\r\n    DIALOGRESIZECONTROL { 0, 10, 100, 0 }\r\n    CONTROL \"Linha &Comando:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_GROUP | WS_CHILD, 3, 18, 60, 10\r\n    DIALOGRESIZECONTROL { 0, 20, 100, 0 }\r\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 3, 29, 134, 12\r\n    DIALOGRESIZECONTROL { 0, 100, 0, 0 }\r\n    CONTROL \"Executar &Minimizado\", IDD_LOAD, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 3, 45, 76, 12\r\n    DIALOGRESIZECONTROL { 50, 100, 0, 0 }\r\n    CONTROL \"Executar como &Admin\", IDD_RUNAS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 81, 45, 80, 12\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\r\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 6, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\r\n    CONTROL \"Cancelar\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 23, 40, 14\r\n//    CONTROL \"&Procurar...\", IDD_BROWSE, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 40, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\r\n    CONTROL \"&Ajuda\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 43, 40, 14\r\nEND\r\n\r\nSELECTDLG DIALOGEX 15, 12, 132, 83\r\nCAPTION \"Seleccionar Ficheiros\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\r\nBEGIN\r\n    DIALOGRESIZE { 0, 125 }\r\n    CONTROL \"&Ficheiro(s):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 16, 60, 10\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 5, 29, 60, 12\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\r\n    CONTROL \"&Seleccionar\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 6, 55, 14\r\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\r\n    CONTROL \"&Desseleccionar\", IDYES, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 23, 55, 14\r\n    DIALOGRESIZECONTROL { 100, 20, 0, 0 }\r\n    CONTROL \"Cancelar\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 40, 55, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\r\n    CONTROL \"&Ajuda\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 63, 55, 14\r\nEND\r\n\r\n\r\n\r\nCONFIRMREPLACE DIALOG 10, 20, 300, 95\r\nCAPTION \"Confirmar Substituição de Ficheiro\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\r\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\r\n    CONTROL \"Substituir Ficheiro:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 12, 69, 10\r\n    CONTROL \"\", IDD_TO, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 85, 12, 165, 10\r\n    CONTROL \"\", IDD_DATE1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 85, 22, 170, 10\r\n    CONTROL \"Com Ficheiro:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 34, 49, 10\r\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 85, 34, 165, 10\r\n    CONTROL \"\", IDD_DATE2, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 85, 44, 170, 10\r\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 54, 273, 10\r\n    CONTROL \"&Sim\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 73, 40, 14\r\n    CONTROL \"&Todos\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 73, 40, 14\r\n    CONTROL \"&Não\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 73, 40, 14\r\n    CONTROL \"Cancelar\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 73, 40, 14\r\nEND\r\n\r\nCONFIRMDELETE DIALOG 10, 20, 300, 60\r\nCAPTION \"Confirmar Eliminação de Ficheiro\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\r\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\r\n    CONTROL \"Eliminar Ficheiro:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 54, 10\r\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 80, 18, 170, 10\r\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 273, 10\r\n    CONTROL \"&Sim\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\r\n    CONTROL \"&Todos\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\r\n    CONTROL \"&Não\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\r\n    CONTROL \"Cancelar\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\r\nEND\r\n\r\n\r\nCONFIRMNOACCESS DIALOG 10, 20, 270, 70\r\nCAPTION \"Confirmar: Ignorar ficheiro ou directório e continuar\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\r\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\r\n    CONTROL \"Accesso negado, ignorar:\", IDD_TYPE, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 10, 203, 10\r\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 108, 10, 122, 10\r\n    CONTROL \"Não tem permissão ou o ficheiro está a ser usado.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 25, 240, 10\r\n    CONTROL \"Escolha sim para ignorar este ficheiro e continuar.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 35, 200, 10\r\n    CONTROL \"&Sim\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 52, 40, 14\r\n    CONTROL \"Todos\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 52, 40, 14\r\n    CONTROL \"&Não\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 52, 40, 14\r\n    CONTROL \"Cancelar\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 52, 40, 14\r\nEND\r\n\r\n\r\nCONFIRMNOACCESSDEST DIALOG 10, 20, 255, 60\r\nCAPTION \"Confirmar: Ignorar ficheiro ou directório e continuar\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\r\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\r\n    CONTROL \"Sem acesso no destino, ignorar:\", IDD_TYPE, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 13, 213, 10\r\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 134, 13, 106, 10\r\n    CONTROL \"Escolha sim para ignorar este ficheiro e continuar.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 23, 200, 10\r\n    CONTROL \"&Sim\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\r\n    CONTROL \"&Todos\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\r\n    CONTROL \"&Não\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\r\n    CONTROL \"Cancelar\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\r\nEND\r\n\r\n\r\nCONFIRMRMDIR DIALOG 10, 20, 300, 60\r\nCAPTION \"Confirmar Eliminação de Directório\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\r\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\r\n    CONTROL \"Eliminar Directório:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 60, 10\r\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 90, 18, 160, 10\r\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 273, 10\r\n    CONTROL \"&Sim\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\r\n    CONTROL \"&Todos\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\r\n    CONTROL \"&Não\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\r\n    CONTROL \"Cancelar\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\r\nEND\r\n\r\nCONFIRMMOVE DIALOG 10, 22, 300, 60\r\nCAPTION \"Confirmar Mover o Ficheiro\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\r\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\r\n    CONTROL \"Mover Ficheiro:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 64, 10\r\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 90, 18, 170, 10\r\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 273, 10\r\n    CONTROL \"&Sim\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\r\n    CONTROL \"&Todos\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\r\n    CONTROL \"&Não\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\r\n    CONTROL \"Cancelar\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\r\nEND\r\n\r\nCONFIRMRENAME DIALOG 10, 22, 300, 60\r\nCAPTION \"Confirmar Renomear o Ficheiro\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\r\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\r\n    CONTROL \"Renomear Ficheiro:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 64, 10\r\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 90, 18, 160, 10\r\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 273, 10\r\n    CONTROL \"&Sim\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\r\n    CONTROL \"&Todos\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\r\n    CONTROL \"&Não\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\r\n    CONTROL \"Cancelar\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\r\nEND\r\n\r\n\r\nMYPRINTDLG DIALOGEX 20, 20, 240, 63\r\nCAPTION \"Imprimir\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\r\nBEGIN\r\n    DIALOGRESIZE { 0, 125 }\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    CONTROL \"\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 6, 193, 10\r\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\r\n    CONTROL \"&Imprimir:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 20, 26, 10\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    CONTROL \"\", IDD_FROM, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 30, 18, 160, 12\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    CONTROL \"\",IDD_STATUS, \"static\", WS_CHILD | SS_LEFTNOWORDWRAP | SS_NOPREFIX, 3, 36, 190, 10\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\r\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 6, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\r\n    CONTROL \"Cancelar\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 23, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\r\n    CONTROL \"&Ajuda\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 43, 40, 14\r\nEND\r\n\r\n\r\nSEARCHDLG DIALOGEX 20, 20, 283, 76\r\nCAPTION \"Procurar\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\r\nBEGIN\r\n    DIALOGRESIZE { 0, 125 }\r\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\r\n    CONTROL \"&Procurar por:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 6, 45, 12\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 5, 180, 12\r\n    DIALOGRESIZECONTROL { 0, 33, 0, 0 }\r\n    CONTROL \"De&sde:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 21, 45, 12\r\n    DIALOGRESIZECONTROL { 0, 33, 100, 0 }\r\n    CONTROL \"\", IDD_DATE, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 20, 180, 12\r\n    DIALOGRESIZECONTROL { 0, 67, 0, 0 }\r\n    CONTROL \"Iniciar &De:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 36, 45, 12\r\n    DIALOGRESIZECONTROL { 0, 67, 100, 0 }\r\n    CONTROL \"\", IDD_DIR, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 35, 180, 12\r\n    DIALOGRESIZECONTROL { 0, 100, 0, 0 }\r\n    CONTROL \"P&rocurar Todos os Subdirectórios\", IDD_SEARCHALL, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 52, 49, 179, 12\r\n    DIALOGRESIZECONTROL { 50, 100, 0, 0 }\r\n    CONTROL \"S&ubdirectórios nos Resultados\", IDD_INCLUDEDIRS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 52, 62, 179, 12\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\r\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 6, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 25, 0, 0 }\r\n    CONTROL \"Cancelar\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 23, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\r\n    CONTROL \"&Ajuda\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 43, 40, 14\r\nEND\r\n\r\n\r\nMOVECOPYDLG DIALOGEX 47, 59, 381, 64\r\nSTYLE WS_BORDER | WS_THICKFRAME | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN\r\nCAPTION \"Mover\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    DIALOGRESIZE { 0, 125 }\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    CONTROL         \"Directório Actual: N\", IDD_DIR, \"Static\", SS_SIMPLE | SS_NOPREFIX, 3, 6, 332, 10\r\n\r\n    DIALOGRESIZECONTROL { 0, 25, 0, 0 }\r\n    CONTROL         \"&Para:\", IDD_KK_TEXTTO, \"Static\", SS_LEFTNOWORDWRAP, 3, 33, 20, 10\r\n\r\n    DIALOGRESIZECONTROL { 0, 25, 100, 0}\r\n    EDITTEXT        IDD_TO, 37, 32, 288, 12, ES_AUTOHSCROLL\r\n\r\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\r\n    CONTROL         \"\", IDD_STATUS, \"Static\", SS_SIMPLE | SS_NOPREFIX, 3, 49, 40, 10\r\n\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    CONTROL         \"\", IDD_NAME, \"Static\", SS_SIMPLE | SS_NOPREFIX,  45, 49, 290, 10\r\n\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\r\n    DEFPUSHBUTTON   \"OK\", IDOK, 335, 6, 40, 14\r\n\r\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\r\n    PUSHBUTTON      \"Cancelar\", IDCANCEL, 335, 23, 40, 14\r\n\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\r\n    PUSHBUTTON      \"&Ajuda\", IDD_HELP, 335, 40, 40, 14\r\n\r\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\r\n    CONTROL         \"&De:\", IDD_KK_TEXTFROM, \"Static\", SS_LEFTNOWORDWRAP, 3, 19, 20, 10\r\n\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    EDITTEXT        IDD_FROM, 37, 18, 288, 12, ES_AUTOHSCROLL\r\n\r\n    DIALOGRESIZECONTROL { 0, 50, 0, 0 }\r\n    CONTROL         \"\", IDD_DIRS, \"Static\", SS_LEFTNOWORDWRAP, 3, 49, 330, 10\r\nEND\r\n\r\n\r\n\r\nDELETEDLG DIALOGEX 20, 20, 246, 64\r\nCAPTION \"Eliminar\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\r\nBEGIN\r\n    DIALOGRESIZE { 0, 125 }\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    CONTROL \"Directório Actual: C\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 5, 193, 10\r\n    CONTROL \"E&liminar:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 20, 35, 10\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    CONTROL \"\", IDD_FROM, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 40, 19, 155, 12\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    CONTROL \"\", IDD_STATUS, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 3, 35, 35, 10\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\r\n    CONTROL \"\", IDD_NAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 40, 35, 155, 10\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\r\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 6, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\r\n    CONTROL \"Cancelar\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 23, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\r\n    CONTROL \"&Ajuda\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 40, 40, 14\r\nEND\r\n\r\nMULTIPLEATTRIBSDLG DIALOG 20, 20, 206, 88\r\nCAPTION \"Propriedades\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\r\nBEGIN\r\n    CONTROL \"%d Ficheiros Seleccionados\", IDD_TEXT1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 144, 10\r\n    CONTROL \"Total %s bytes\", IDD_TEXT2, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 16, 144, 10\r\n    CONTROL \"Atributos\", -1, \"button\", BS_GROUPBOX | WS_CHILD, 5, 29, 120, 54\r\n    CONTROL \"Só &Leitura\", IDD_READONLY, \"button\", WS_GROUP | WS_TABSTOP | BS_AUTOCHECKBOX | WS_CHILD, 10, 40, 52, 12\r\n    CONTROL \"&Oculto\", IDD_HIDDEN, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 72, 40, 52, 12\r\n    CONTROL \"&Arquivo\", IDD_ARCHIVE, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 10, 52, 52, 12\r\n    CONTROL \"&Sistema\", IDD_SYSTEM, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 72, 52, 52, 12\r\n    CONTROL \"&Comprimido\", IDD_COMPRESSED, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 10, 64, 52, 12\r\n    CONTROL \"&Encriptado\", IDD_ENCRYPTED, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_DISABLED, 72, 64, 52, 12\r\n    CONTROL \"OK\", 1, \"button\", WS_GROUP | BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 6, 50, 14\r\n    CONTROL \"Cancelar\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 23, 50, 14\r\n    CONTROL \"&Ajuda\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 43, 50, 14\r\nEND\r\n\r\n\r\nATTRIBSDLG DIALOG 23, 13, 269, 229\r\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r\nCAPTION \"Propriedades para %s\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    DEFPUSHBUTTON   \"OK\", IDOK, 204, 6, 50, 14, WS_GROUP\r\n    PUSHBUTTON      \"Cancelar\", IDCANCEL, 204, 23, 50, 14\r\n    PUSHBUTTON      \"&Ajudar\", IDD_HELP, 204, 40, 50, 14\r\n\r\n    CONTROL         \"&Nome Ficheiro:\", IDD_NAMELABEL, \"Static\",\r\n                    SS_LEFTNOWORDWRAP, 5, 5, 65, 10\r\n    EDITTEXT        IDD_NAME, 72, 5, 132, 10, ES_AUTOHSCROLL | ES_READONLY |\r\n                    NOT WS_BORDER\r\n    CONTROL         \"&Caminho:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP,\r\n                    5, 16, 61, 10\r\n    EDITTEXT        IDD_DIR, 72, 16, 132, 10, ES_AUTOHSCROLL | ES_READONLY |\r\n                    NOT WS_BORDER\r\n    CONTROL         \"Última Alteração:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP,\r\n                    5, 27, 72, 10\r\n    CONTROL         \"\", IDD_DATE, \"Static\", SS_LEFTNOWORDWRAP, 72, 27, 132, 10\r\n    CONTROL         \"Versão:\", IDD_VERLABEL, \"Static\", SS_LEFTNOWORDWRAP,\r\n                    5, 38, 45, 10\r\n    CONTROL         \"Não marcado\", IDD_VERSION, \"Static\", SS_LEFTNOWORDWRAP |\r\n                    SS_NOPREFIX, 72, 38, 142, 10\r\n    LTEXT           \"Cop&yright:\", -1, 5, 49, 45, 10\r\n    CONTROL         \"Não marcado\", IDD_COPYRIGHT, \"Edit\", ES_AUTOHSCROLL |\r\n                    ES_READONLY | WS_TABSTOP, 72, 49, 132, 10\r\n    CONTROL         \"Tamanho:\", IDD_SIZELABEL, \"Static\", SS_LEFTNOWORDWRAP,\r\n                    5, 60, 55, 10\r\n    CONTROL         \"\", IDD_SIZE, \"Static\", SS_LEFTNOWORDWRAP, 72, 60, 132, 10\r\n    CONTROL         \"Tamanho Comprimido:\", IDD_CSIZELABEL, \"Static\",\r\n                    SS_LEFTNOWORDWRAP, 5, 71, 72, 10\r\n    CONTROL         \"\", IDD_CSIZE, \"Static\", SS_LEFTNOWORDWRAP, 72, 71, 132, 10\r\n    CONTROL         \"Rácio de Compressão:\", IDD_CRATIOLABEL, \"Static\",\r\n                    SS_LEFTNOWORDWRAP, 5, 82, 72, 10\r\n    CONTROL         \"\", IDD_CRATIO, \"Static\", SS_LEFTNOWORDWRAP, 72, 82, 132, 10\r\n    GROUPBOX        \"Atributos\", IDD_TEXT, 4, 96, 120, 54\r\n    CONTROL         \"&Só Leitura\", IDD_READONLY, \"Button\", BS_AUTOCHECKBOX |\r\n                    WS_GROUP | WS_TABSTOP, 9, 108, 52, 12\r\n    CONTROL         \"&Oculto\", IDD_HIDDEN, \"Button\", BS_AUTOCHECKBOX,\r\n                    71, 108, 49, 12\r\n    CONTROL         \"&Arquivo\", IDD_ARCHIVE, \"Button\", BS_AUTOCHECKBOX,\r\n                    9, 120, 52, 12\r\n    CONTROL         \"&Sistema\", IDD_SYSTEM, \"Button\", BS_AUTOCHECKBOX,\r\n                    71, 120, 59, 12\r\n    CONTROL         \"&Comprimido\", IDD_COMPRESSED, \"Button\", BS_AUTOCHECKBOX,\r\n                    9, 132, 62, 12\r\n    GROUPBOX        \"Informação da &Versão\", IDD_VERSION_FRAME, 4, 155, 250, 70\r\n    LISTBOX         IDD_VERSION_KEY, 9, 168, 101, 58, LBS_SORT |\r\n                    LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\r\n    EDITTEXT        IDD_VERSION_VALUE, 110, 168, 138, 58, ES_MULTILINE |\r\n                    ES_READONLY | WS_VSCROLL\r\nEND\r\n\r\n\r\nCOMPRESSPROGDLG DIALOG 123, 60, 237, 117\r\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\r\nCAPTION \"Progresso da Compressão dos Ficheiros\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    LTEXT           \"Ficheiro a ser comprimido:\", -1, 6, 8, 99, 8\r\n    LTEXT           \"nomeficheiro.xxx\", IDD_COMPRESS_FILE, 86, 8, 90, 8\r\n    LTEXT           \"Directório:\", -1, 6, 20, 39, 8\r\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\", IDD_COMPRESS_DIR, 43, \r\n                    20, 150, 8\r\n    LTEXT           \"Directórios comprimidos:\", -1, 6, 32, 122, 8\r\n    LTEXT           \"1,888,888,999\", IDD_COMPRESS_TDIRS, 90, 32, 60, 8\r\n    LTEXT           \"Ficheiros comprimidos:\", -1, 6, 44, 72, 8\r\n    LTEXT           \"1,888,888,999\", IDD_COMPRESS_TFILES, 84, 44, 58, 8\r\n    LTEXT           \"Tamanho total dos ficheiros antes da compressão:\", -1, 6, 56, \r\n                    144, 8\r\n    LTEXT           \"9,999,999,999,999\", IDD_COMPRESS_USIZE, 154, 56, 68, 8\r\n    LTEXT           \"Tamanho total dos ficheiros depois da compressão:\", -1, 6, 68, 143, \r\n                    8\r\n    LTEXT           \"9,999,999,999,999\", IDD_COMPRESS_CSIZE, 154, 69, 68, 8\r\n    LTEXT           \"Rácio de compressao do(s) ficheiro(s):\", -1, 6, 80, 98, 8\r\n    LTEXT           \"100%\", IDD_COMPRESS_RATIO, 111, 80, 27, 8\r\n    PUSHBUTTON      \"Cancelar\", IDCANCEL, 76, 97, 55, 14\r\nEND\r\n\r\nUNCOMPRESSPROGDLG DIALOG 114, 62, 237, 84\r\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\r\nCAPTION \"Progresso da Descompressão dos Ficheiros\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    LTEXT           \"Ficheiro a ser descomprimido:\", -1, 6, 8, 103, 8\r\n    LTEXT           \"nomeficheiro.xxx\", IDD_UNCOMPRESS_FILE, 93, 8, 66, 8\r\n    LTEXT           \"Directório:\", -1, 6, 20, 39, 8\r\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\", \r\n                    IDD_UNCOMPRESS_DIR, 45, 20, 144, 8\r\n    LTEXT           \"Directórios descomprimidos:\", -1, 6, 32, 131, 8\r\n    LTEXT           \"1,999,999,999\", IDD_UNCOMPRESS_TDIRS, 99, 32, 70, 8\r\n    LTEXT           \"Ficheiros descomprimidos:\", -1, 6, 44, 106, 8\r\n    LTEXT           \"1,999,999,999\", IDD_UNCOMPRESS_TFILES, 92, 44, 78, 8\r\n    PUSHBUTTON      \"Cancelar\", IDCANCEL, 74, 64, 49, 14\r\nEND\r\n\r\nCOMPRESSERRDLG DIALOG 11, 28, 245, 65\r\nCAPTION \"Erro de Compressão\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\r\nBEGIN\r\n    ICON 32515, -1, 8, 8, 21, 20\r\n    LTEXT \"\", IDD_TEXT1, 35, 8, 190, 20\r\n\r\n    DEFPUSHBUTTON \"&Ignorar\",     IDIGNORE,      33,  47, 40, 14, WS_TABSTOP | WS_CHILD | WS_GROUP\r\n    PUSHBUTTON    \"I&gnorar Todos\", IDD_IGNOREALL, 79,  47, 40, 14, WS_TABSTOP | WS_CHILD\r\n    PUSHBUTTON    \"&Repetir\",      IDRETRY,       125, 47, 40, 14, WS_TABSTOP | WS_CHILD\r\n    PUSHBUTTON    \"&Abortar\",      IDABORT,       171, 47, 40, 14, WS_TABSTOP | WS_CHILD\r\nEND\r\n\r\n\r\n\r\nMAKEDIRDLG DIALOGEX 20, 20, 200, 63\r\nCAPTION \"Criar Directório\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\r\nBEGIN\r\n    DIALOGRESIZE { 0, 125 }\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    CONTROL \"\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 6, 154, 10\r\n    CONTROL \"&Nome:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 23, 20, 10\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 30, 22, 90, 12\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    CONTROL \"\",IDD_STATUS, \"static\", WS_CHILD | SS_NOPREFIX | SS_LEFTNOWORDWRAP, 3, 46, 150, 10\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\r\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 6, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\r\n    CONTROL \"Cancelar\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 23, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\r\n    CONTROL \"&Ajuda\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 43, 40, 14\r\nEND\r\n\r\n\r\nCHOOSEDRIVEDLG DIALOG 20, 20, 157, 64\r\nCAPTION \"Copiar Disco\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\r\nBEGIN\r\n    CONTROL \"&Fonte Em:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 8, 50, 10\r\n    CONTROL \"\", IDD_DRIVE1, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 55, 6, 40, 37\r\n    CONTROL \"&Destino Em:\", IDD_FLAGS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 22, 50, 10\r\n    CONTROL \"\", IDD_DRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 55, 20, 40, 37\r\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 6, 40, 14\r\n    CONTROL \"Cancelar\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 23, 40, 14\r\n    CONTROL \"&Ajuda\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 43, 40, 14\r\nEND\r\n\r\n\r\nDISKCOPYPROGRESSDLG DIALOG 30, 30, 130, 55\r\nCAPTION \"A Copiar Disco\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE | DS_SYSMODAL\r\nBEGIN\r\n    CONTROL \"A Copiar disco em \", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 5, 130, 10\r\n    CONTROL \"Unidade A:\", IDD_DRIVE, \"static\", SS_CENTER | WS_CHILD, 0, 15, 130, 10\r\n    CONTROL \"A ler o disco de origem\", IDD_PROGRESS, \"static\", SS_CENTER | WS_CHILD, 0, 26, 130, 10\r\n    CONTROL \"Cancelar\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 44, 39, 44, 14\r\nEND\r\n\r\nDISKLABELDLG DIALOGEX 20, 20, 161, 63\r\nCAPTION \"Identificar Disco\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\r\nBEGIN\r\n    DIALOGRESIZE { 0, 125 }\r\n    CONTROL \"&Identificador:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 15, 40, 10\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 5, 26, 100, 12\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\r\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 6, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\r\n    CONTROL \"Cancelar\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 23, 40, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\r\n    CONTROL \"&Ajuda\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 43, 40, 14\r\nEND\r\n\r\nFORMATDLG DIALOG 11, 28, 183, 96\r\nCAPTION \"Formatar Disco\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 6, 40, 14\r\n    CONTROL \"Cancelar\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 23, 40, 14\r\n    CONTROL \"&Ajuda\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 43, 40, 14\r\n    CONTROL \"&Disco Em:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 7, 49, 10\r\n    CONTROL \"\", IDD_DRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 4, 65, 40\r\n    CONTROL \"&Capacidade:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 20, 49, 10\r\n    CONTROL \"\", IDD_HIGHCAP, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 19, 65, 40\r\n    CONTROL \"Opções\", 102, \"button\", BS_GROUPBOX | WS_GROUP | WS_CHILD, 5, 39, 115, 53\r\n    CONTROL \"&Nome:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 11, 51, 39, 10\r\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 40, 49, 63, 12\r\n//    CONTROL \"&Make System Disk\", IDD_MAKESYS, \"button\", BS_CHECKBOX | BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD | WS_DISABLED, 11, 62, 90, 12\r\n    CONTROL \"&Formatação Rápida\", IDD_VERIFY, \"button\", BS_CHECKBOX | BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 62, 90, 12\r\nEND\r\n\r\nFORMATSELECTDLG DIALOG 11, 28, 183, 44\r\nCAPTION \"Formatar Unidade\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 6, 40, 14\r\n    CONTROL \"Cancelar\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 23, 40, 14\r\n    CONTROL \"&Unidade a formatar:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 7, 64, 10\r\n    CONTROL \"\", IDD_SELECTDRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 5, 17, 65, 40\r\nEND\r\n\r\nFORMATPROGRESSDLG DIALOG 30, 30, 150, 50\r\nCAPTION \"A Formatar Disco\"\r\nFONT 8, \"MS Shell Dlg\"\r\n//STYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE | DS_SYSMODAL\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE\r\nBEGIN\r\n    CONTROL \"A formatar Disco\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 5, 150, 10\r\n    CONTROL \"A Iniciar Unidade...\", IDD_PROGRESS, \"static\", SS_CENTER | WS_CHILD, 0, 17, 150, 10\r\n    CONTROL \"Cancelar\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 54, 30, 44, 14\r\nEND\r\n\r\n#if 0\r\nSYSDISKPROGRESSDLG DIALOG 30, 30, 174, 57\r\nCAPTION \"Criar Disco de Sistema\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE\r\nBEGIN\r\n    CONTROL \"A copiar ficheiros de sistema\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 6, 174, 8\r\n    CONTROL \"Pressione Cancelar para abortar.\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 14, 174, 8\r\n    CONTROL \"Cancelar\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 66, 39, 44, 14\r\nEND\r\n\r\nCONNECTDLG DIALOG 12, 28, 241, 135\r\nCAPTION \"Conexões de Rede\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n  GROUPBOX \"Nova Conexão\", -1, 5, 3, 170, 55, WS_CHILD\r\n\r\n  LTEXT \"Caminho de &Rede:\", -1, 10, 16, 55, 10\r\n  EDITTEXT, IDD_PATH, 65, 14, 100, 12, ES_AUTOHSCROLL | WS_GROUP | WS_TABSTOP\r\n  LTEXT \"&Unidade:\", -1, 10, 30, 24, 10\r\n  COMBOBOX IDD_DRIVE, 65, 28, 40, 100, CBS_DROPDOWNLIST | WS_VSCROLL | WS_GROUP | WS_TABSTOP\r\n  LTEXT \"Pass&word:\", -1, 10, 44, 36, 10\r\n  EDITTEXT, IDD_PASSWORD, 65, 42, 100, 12, ES_AUTOHSCROLL | ES_PASSWORD | WS_GROUP | WS_TABSTOP\r\n\r\n  LTEXT \"Unidades Atua&lmente Conectadas:\", -1, 5, 62, 120, 10\r\n  LISTBOX IDD_DRIVE1, 5, 73, 160, 60, LBS_SORT | LBS_NOTIFY | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_BORDER | WS_TABSTOP\r\n\r\n  DEFPUSHBUTTON \"&Fechar\",  IDCANCEL, 190, 6, 45, 14, WS_GROUP | WS_TABSTOP\r\n  PUSHBUTTON \"&Conectar\", IDOK, 190, 27, 45, 14, WS_TABSTOP\r\n  PUSHBUTTON \"&Anterior...\", IDD_PREV, 190, 44, 45, 14, WS_TABSTOP\r\n  PUSHBUTTON \"&Procurar...\", IDD_NETBROWSE, 190, 61, 45, 14, WS_GROUP | WS_TABSTOP\r\n  PUSHBUTTON \"&Desconectar\", IDD_DISCONNECT, 190, 78, 45, 14, WS_GROUP|WS_TABSTOP\r\n  PUSHBUTTON \"&Ajuda\", IDD_HELP, 190, 95, 45, 14, WS_GROUP | WS_TABSTOP\r\nEND\r\n\r\nPREVIOUSDLG DIALOG 30, 30, 231, 98\r\nCAPTION \"Conexões de Rede Anteriores\"\r\nFONT 8 \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\r\nBEGIN\r\n    CONTROL \"&Caminhos de Rede:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 3, 69, 10\r\n    CONTROL \"\", IDD_PREV, \"listbox\", LBS_NOTIFY | LBS_SORT | LBS_STANDARD | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 3, 15, 172, 80\r\n    CONTROL \"&Seleccionar\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 6, 44, 14\r\n    CONTROL \"Fechar\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 24, 44, 14\r\n    CONTROL \"&Eliminar\", IDD_DELETE, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 41, 44, 14\r\n    CONTROL \"&Ajuda\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 58, 44, 14\r\nEND\r\n#endif\r\n\r\nOTHERDLG DIALOG 20, 20, 174, 81\r\nCAPTION \"Detalhes Parciais\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\r\nBEGIN\r\n    CONTROL \"Detalhes\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_CHILD, 4, 4, 121, 74\r\n    CONTROL \"&Tamanho\", IDD_SIZE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 15, 100, 12\r\n    CONTROL \"&Data da Última Modificação\", IDD_DATE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 27, 100, 12\r\n    CONTROL \"&Hora da Última Modificação\", IDD_TIME, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 39, 100, 12\r\n    CONTROL \"Atributos de &Ficheiro\", IDD_FLAGS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 51, 100, 12\r\n    CONTROL \"Nomes de Ficheiro &MS-DOS\", IDD_DOSNAMES, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 63, 100, 12\r\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 6, 40, 14\r\n    CONTROL \"Cancelar\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 23, 40, 14\r\n    CONTROL \"&Ajuda\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 60, 40, 14\r\nEND\r\n\r\n\r\nINCLUDEDLG DIALOG 20, 20, 157, 114\r\nCAPTION \"Por Tipo de Ficheiro\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\r\nBEGIN\r\n    CONTROL \"&Nome:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 8, 23, 10\r\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 34, 6, 65, 12\r\n    CONTROL \"Tipo de Ficheiro\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_CHILD, 5, 20, 94, 62\r\n    CONTROL \"&Directórios\", IDD_DIR, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 31, 60, 12\r\n    CONTROL \"&Programas\", IDD_PROGRAMS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 43, 60, 12\r\n    CONTROL \"Docu&mentos\", IDD_DOCS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 55, 60, 12\r\n    CONTROL \"&Outros Ficheiros\", IDD_OTHER, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 67, 65, 12\r\n    CONTROL \"Mostrar Ficheiros Ocultos/&Sistema\", IDD_SHOWHIDDEN, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 5, 85, 120, 12\r\n    CONTROL \"Mostrar Pontos de &Junção\", IDD_SHOWJUNCTION, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 5, 97, 100, 12\r\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 6, 40, 14\r\n    CONTROL \"Cancelar\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 23, 40, 14\r\n    CONTROL \"&Ajuda\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 43, 40, 14\r\nEND\r\n\r\n\r\nCONFIRMDLG DIALOG 20, 20, 214, 92\r\nCAPTION \"Confirmação\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\r\nBEGIN\r\n    CONTROL \"Confirmar\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_TABSTOP | WS_CHILD, 5, 3, 158, 86\r\n    CONTROL \"&Eliminação de Ficheiros\", IDD_DELETE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 15, 90, 12\r\n    CONTROL \"Eliminação de &Directórios\", IDD_SUBDEL, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 27, 90, 12\r\n    CONTROL \"&Substituição de Ficheiros\", IDD_REPLACE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 39, 90, 12\r\n    CONTROL \"Acção do &Rato\", IDD_MOUSE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 51, 80, 12\r\n    CONTROL \"&Comandos de Disco\", IDD_CONFIG, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 63, 80, 12\r\n    CONTROL \"Modificar Sistema, &Ocultos, ou Só de Leitura\", IDD_READONLY, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 75, 150, 12\r\n    CONTROL \"OK\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 168, 6, 40, 14\r\n    CONTROL \"Cancelar\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 168, 23, 40, 14\r\n    CONTROL \"&Ajuda\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 168, 44, 40, 14\r\nEND\r\n\r\nDMSTATUSDLG DIALOG 20, 20, 250, 46\r\nCAPTION \"A Mover...\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\r\nBEGIN\r\n    CONTROL \"\", IDD_STATUS, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD , 5, 5, 49, 10\r\n    CONTROL \"\", IDD_NAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 55, 5, 192, 10\r\n    CONTROL \"Para:\", IDD_TOSTATUS, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 5, 15, 30, 10\r\n    CONTROL \"\", IDD_TONAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 60, 15, 192, 10\r\n    CONTROL \"Cancelar\", IDCANCEL, \"button\", WS_CHILD | BS_DEFPUSHBUTTON, 200, 28, 40, 14\r\nEND\r\n\r\nPRTDLG DIALOG 20, 20, 120, 58\r\nCAPTION \"\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\r\nBEGIN\r\n    CONTROL \"A Imprimir Ficheiro...\", -1, \"static\", SS_CENTER | WS_GROUP | WS_CHILD, 4, 6, 130, 12\r\n    CONTROL \"\", IDD_TEXT, \"static\", SS_CENTER | SS_NOPREFIX | WS_GROUP | WS_CHILD, 4, 20, 120, 12\r\n    CONTROL \"Cancelar\", 2, \"button\", BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP | WS_CHILD, 44, 40, 32, 14\r\nEND\r\n\r\n\r\nLFNTOFATDLG DIALOG 11, 28, 250, 78\r\nCAPTION \"Seleccionar Nome de Ficheiro\"\r\nFONT 8, \"MS Shell Dlg\"\r\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\r\nBEGIN\r\n    CONTROL \"Este caminho não corresponde ao formato FAT para nomes de ficheiro. Por favor introduza um novo nome.\", 99, \"static\", SS_LEFT | WS_CHILD, 5, 4, 190, 24\r\n    CONTROL \"&Novo Nome:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 56, 50, 12\r\n    CONTROL \"\", IDD_TO, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 57, 55, 130, 12\r\n    CONTROL \"Caminho Original:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 28, 50, 11\r\n    CONTROL \"\", IDD_FROM, \"edit\", ES_READONLY | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_CHILD, 57, 28, 130, 12\r\n    CONTROL \"Para o Directório:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 42, 50, 11\r\n    CONTROL \"\", IDD_DIR, \"edit\", ES_READONLY | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_CHILD, 57, 42, 130, 12\r\n    CONTROL \"OK\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 4, 40, 14\r\n    CONTROL \"Cancelar\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 20, 40, 14\r\n    CONTROL \"&Ajuda\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 36, 40, 14\r\nEND\r\n\r\n\r\nATTRIBSDLGDIR DIALOG 23, 13, 250, 119\r\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r\nCAPTION \"Propriedades para %s\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    DEFPUSHBUTTON   \"OK\", IDOK, 194, 6, 50, 14, WS_GROUP\r\n    PUSHBUTTON      \"Cancelar\", IDCANCEL, 194, 23, 50, 14\r\n    PUSHBUTTON      \"&Ajuda\", IDD_HELP, 194, 43, 50, 14\r\n    CONTROL         \"&Nome de Ficheiro:\", IDD_NAMELABEL, \"Static\",\r\n                    SS_LEFTNOWORDWRAP, 5, 5, 55, 10\r\n    EDITTEXT        IDD_NAME, 60, 5, 134, 10, ES_AUTOHSCROLL | ES_READONLY |\r\n                    NOT WS_BORDER\r\n    CONTROL         \"&Caminho:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP, 5, 16,\r\n                    51, 10\r\n    EDITTEXT        IDD_DIR, 60, 16, 134, 10, ES_AUTOHSCROLL | ES_READONLY |\r\n                    NOT WS_BORDER\r\n    CONTROL         \"Última Alteração:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP, 5,\r\n                    27, 62, 10\r\n    CONTROL         \"\", IDD_DATE, \"Static\", SS_LEFTNOWORDWRAP, 60, 27, 97,\r\n                    10\r\n    CONTROL         \"Tamanho:\", IDD_SIZELABEL, \"Static\", SS_LEFTNOWORDWRAP, 5,\r\n                    38, 45, 10\r\n    CONTROL         \"\", IDD_SIZE, \"Static\", SS_LEFTNOWORDWRAP, 60, 38, 90,\r\n                    10\r\n    GROUPBOX        \"Atributos\", IDD_TEXT, 4, 52, 120, 54\r\n    CONTROL         \"&Só de Leitura\", IDD_READONLY, \"Button\", BS_AUTOCHECKBOX |\r\n                    WS_GROUP | WS_TABSTOP, 9, 64, 52, 12\r\n    CONTROL         \"&Oculto\", IDD_HIDDEN, \"Button\", BS_AUTOCHECKBOX, 71, 64,\r\n                    49, 12\r\n    CONTROL         \"&Arquivo\", IDD_ARCHIVE, \"Button\", BS_AUTOCHECKBOX, 9,\r\n                    76, 52, 12\r\n    CONTROL         \"&Sistema\", IDD_SYSTEM, \"Button\", BS_AUTOCHECKBOX, 71, 76,\r\n                    49, 12\r\n    CONTROL         \"&Comprimido\", IDD_COMPRESSED, \"button\", BS_AUTOCHECKBOX,\r\n                    9, 88, 52, 12\r\nEND\r\n\r\n\r\n#ifdef ASSOC\r\nASSOCIATEDLG DIALOGEX 20, 20, 255, 129\r\n#else\r\nASSOCIATEDLG DIALOGEX 20, 20, 255, 118\r\n#endif\r\n\r\nCAPTION \"Associar\"\r\nSTYLE WS_BORDER | WS_THICKFRAME | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    DIALOGRESIZE { 0, 0 }\r\n    LTEXT           \"&Ficheiros com Extensão:\", -1, 6, 7, 88, 8\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    COMBOBOX        IDD_EXT, 96, 5, 44, 55, CBS_DROPDOWN | CBS_SORT |\r\n                    CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\r\n\r\n    LTEXT           \"&Associar a:\", -1, 6, 30, 92, 10\r\n\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    EDITTEXT        IDD_COMMAND, 6, 42, 172, 12, ES_AUTOHSCROLL\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\r\n    LISTBOX         IDD_CLASSLIST, 11, 54, 167, 62, LBS_SORT | WS_VSCROLL | WS_TABSTOP\r\n#ifdef ASSOC\r\n#ifdef ASSOCHEAD\r\n                    | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS\r\n#endif\r\n#endif\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\r\n    PUSHBUTTON      \"&Procurar...\", IDD_BROWSE, 130, 24, 47, 14\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\r\n    DEFPUSHBUTTON   \"OK\", IDOK, 187, 6, 62, 14, WS_GROUP\r\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\r\n    PUSHBUTTON      \"Cancelar\", IDCANCEL, 187, 23, 62, 14\r\n    DIALOGRESIZECONTROL { 100, 30, 0, 0 }\r\n    PUSHBUTTON      \"&Novo Tipo...\", IDD_NEW, 187, 42, 62, 14\r\n    DIALOGRESIZECONTROL { 100, 40, 0, 0 }\r\n    PUSHBUTTON      \"&Mudar Tipo...\", IDD_CONFIG, 187, 59, 62, 14\r\n    DIALOGRESIZECONTROL { 100, 50, 0, 0 }\r\n    PUSHBUTTON      \"&Eliminar Tipo\", IDD_DELETE, 187, 76, 62, 14\r\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\r\n    PUSHBUTTON      \"&Ajuda\", IDD_HELP, 187, 95, 62, 14\r\n\r\n#ifdef ASSOC\r\n    AUTOCHECKBOX    \"&Ver Tipos de Ficheiros Comuns e Extensões apenas\", IDD_SYSTEM,\r\n                    6, 117, 160, 10, WS_GROUP\r\n#endif\r\nEND\r\n\r\nASSOCIATEFILEDLG DIALOG 18, 14, 290, 224\r\nCAPTION \"Mudar Tipo de Ficheiro\"\r\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    LTEXT           \"Tipo de &Ficheiro:\", IDD_DESCTEXT, 5, 6, 53, 8\r\n    EDITTEXT        IDD_DESC, 62, 5, 95, 12, ES_AUTOHSCROLL\r\n    GROUPBOX        \"&Acção: \", -1, 5, 22, 235, 126, WS_GROUP\r\n    COMBOBOX        IDD_ACTION, 36, 22, 48, 33, CBS_DROPDOWNLIST |\r\n                    WS_VSCROLL | WS_TABSTOP\r\n    LTEXT           \"&Comando:\", IDD_COMMANDTEXT, 9, 42, 38, 8\r\n    EDITTEXT        IDD_COMMAND, 47, 39, 111, 12, ES_AUTOHSCROLL\r\n    PUSHBUTTON      \"P&rocurar...\", IDD_BROWSE, 164, 38, 40, 14\r\n    AUTOCHECKBOX    \"&Usa DDE\", IDD_DDE, 10, 57, 50, 10, WS_GROUP\r\n    LTEXT           \"DDE &Mensagem:\", IDD_DDEMESGTEXT, 22, 72, 50, 8\r\n    EDITTEXT        IDD_DDEMESG, 105, 70, 100, 12, ES_AUTOHSCROLL\r\n    LTEXT           \"Mensagem DDE Aplic. &Não Executada:\", IDD_DDENOTRUNTEXT, 22, 84, 82, 19\r\n    LTEXT           \"(opcional)\", IDD_DDEOPTIONALTEXT, 207, 90, 32, 8\r\n    EDITTEXT        IDD_DDENOTRUN, 105, 88, 100, 12, ES_AUTOHSCROLL\r\n    LTEXT           \"A&plicação:\", IDD_DDEAPPTEXT, 22, 109, 39, 8\r\n    EDITTEXT        IDD_DDEAPP, 105, 107, 100, 12, ES_AUTOHSCROLL\r\n    LTEXT           \"&Tópico:\", IDD_DDETOPICTEXT, 23, 127, 24, 8\r\n    EDITTEXT        IDD_DDETOPIC, 105, 125, 100, 12, ES_AUTOHSCROLL\r\n    LTEXT           \"No&va Extensão:\", -1, 11, 184, 52, 8\r\n    EDITTEXT        IDD_EXT, 64, 183, 32, 12, ES_AUTOHSCROLL\r\n    PUSHBUTTON      \"A&dicionar ->\", IDD_ADD, 102, 174, 44, 14\r\n    PUSHBUTTON      \"<- &Remover\", IDD_DELETE, 102, 191, 44, 14\r\n    LTEXT           \"&Extensões:\", -1, 157, 162, 41, 8\r\n    LISTBOX         IDD_EXTLIST, 157, 172, 65, 40, LBS_SORT | WS_VSCROLL | WS_TABSTOP\r\n    GROUPBOX        \"Extensões Associadas com este Tipo de Ficheiro:\", IDD_EXTTEXT, 5, 154, 235, 66\r\n    DEFPUSHBUTTON   \"OK\", IDOK, 244, 6, 40, 14\r\n    PUSHBUTTON      \"Cancelar\", IDCANCEL, 244, 23, 40, 14\r\n    PUSHBUTTON      \"&Ajuda\", IDD_HELP, 244, 40, 40, 14\r\nEND\r\n\r\nGOTODIRDLG DIALOGEX 13, 54, 464, 125\r\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_CLIPCHILDREN | WS_MAXIMIZEBOX\r\nCAPTION \"Ir Para Directório\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    DIALOGRESIZE    { 0, 0 }\r\n    LTEXT           \"&Ir para Directório:\", -1, 6, 3, 100, 8\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\r\n    CONTROL         \"\", IDD_GOTODIR, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 6, 13, 406, 12\r\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\r\n    LISTBOX         IDD_GOTOLIST, 6, 25, 406, 95, WS_VSCROLL | WS_TABSTOP\r\n\r\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\r\n    DEFPUSHBUTTON   \"OK\", IDOK, 418, 13, 40, 14, WS_GROUP\r\n    DIALOGRESIZECONTROL { 100, 3, 0, 0 }\r\n    PUSHBUTTON      \"Cancelar\", IDCANCEL, 418, 30, 40, 14, WS_GROUP\r\nEND\r\n\r\nPREFDLG DIALOG 20, 20, 229, 140\r\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r\nCAPTION \"Preferências\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n   CONTROL \"Caminho do Editor:\", IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 13, 37, 18\r\n   CONTROL \"\", IDD_EDITOR, \"edit\", ES_AUTOHSCROLL | ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 54, 14, 140, 14\r\n   CONTROL \"...\", IDC_EDITOR, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 195, 14, 20, 14\r\n   CONTROL \"Desativar estilos visuais na barra de ferramentas\", IDC_VSTYLE, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 38, 169, 14\r\n   CONTROL \"Criar Index '&Ir Para' no Arranque\", IDC_GOTO, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 50, 119, 14\r\n   CONTROL \"Mirror application content\", IDC_MIRROR, \"button\", BS_AUTOCHECKBOX | WS_CHILD /* | WS_VISIBLE | WS_TABSTOP */, 0, 0, 0, 0    // invisible, not a tabsop; here to satisfy VerifyResources tool.\r\n   CONTROL \"Linguagem:\", IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 70, 37, 14\r\n   CONTROL \"\", IDC_LANGCB, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 52, 68, 150, 14\r\n   CONTROL \"Por favor entenda que algumas definições requerem\\no reinício da aplicação em ordem para tomar efeito.\",\r\n            IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 90, 180, 20\r\n   CONTROL \"OK\", IDOK, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 55, 120, 40, 14\r\n   CONTROL \"Cancelar\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 103, 120, 40, 14\r\n   CONTROL \"&Ajuda\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 149, 120, 40, 14\r\nEND\r\n\r\nABOUTDLG DIALOG 13, 54, 250, 75\r\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\r\nCAPTION \"Acerca do Gestor de Ficheiros\"\r\nFONT 8, \"MS Shell Dlg\"\r\nBEGIN\r\n    ICON            APPICON, -1, 6, 6, 32, 32\r\n    LTEXT           \"Gestor de Ficheiros do Windows\", -1, 36, 6, 200, 8\r\n    CONTROL         \"TO BE SET\", IDD_VERTEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 36, 18, 200, 8\r\n    LTEXT           \"Copyright (c) Microsoft Corporation. Todos os direitos reservados.\", -1, 36, 30, 204, 8\r\n    LTEXT           \"Licenciado sobre a MIT License.\", -1, 36, 42, 200, 8\r\n    LTEXT           \"https://github.com/Microsoft/winfile\", -1, 36, 54, 200, 8\r\n    DEFPUSHBUTTON   \"OK\", IDOK, 200, 50, 40, 14\r\nEND\r\n"
  },
  {
    "path": "src/lang/winfile_tr-TR.dlg",
    "content": "/********************************************************************\n\n   winfile.dlg\n\n   Copyright (c) Microsoft Corporation. All rights reserved.\n   Licensed under the MIT License.\n\n********************************************************************/\n\n#include \"dlgs.h\"\n#include \"resize.h\"\n\nCANCELDLG DIALOG 77, 27, 160, 65\nSTYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Disk Biçimlendiriliyor\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\", IDD_TEXT1, 15, 36, 131, 8\n    CONTROL         \"\", IDD_GASGAUGE, \"Static\", SS_BLACKFRAME, 15, 10, 131, 22\n    PUSHBUTTON      \"Gizle\", IDD_HIDE, 38, 48, 40, 14\n    PUSHBUTTON      \"İptal\", IDCANCEL, 82, 48, 40, 14\nEND\n\n\nSEARCHPROGDLG DIALOG 77, 109, 174, 75\nSTYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Disk Aranıyor\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n\n    CONTROL \"Şunu ara:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 60, 10\n    CONTROL \"\", IDD_NAME, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 50, 5, 120, 10\n    CONTROL \"Şu zamandan beri:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 15, 60, 10\n    CONTROL \"\", IDD_DATE, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 50, 15, 120, 10\n    CONTROL \"Başlangıç:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 25, 70, 10\n    CONTROL \"\", IDD_PATH, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 50, 25, 120, 10\n    CONTROL \"Okunan dizin:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 35, 60, 10\n    CONTROL \"\", IDD_TIME, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 66, 35, 100, 10\n    CONTROL \"Eşleşme sayısı:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 45, 60, 10\n    CONTROL \"\", IDD_FOUND, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 66, 45, 100, 10\n\n    PUSHBUTTON      \"Gizle\", IDD_HIDE, 45, 58, 40, 14\n    PUSHBUTTON      \"İptal\", IDCANCEL, 89, 58, 40, 14\nEND\n\n\nFONTDLG DIALOG 13, 54, 264, 154\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Yazıtipi\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Yazıtipi:\", stc1, 6, 3, 40, 9\n    COMBOBOX        cmb1, 6, 13, 94, 54, CBS_SIMPLE | CBS_AUTOHSCROLL |\n                    CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED\n    LTEXT           \"Y&azıtipi Biçemi:\", stc2, 108, 3, 44, 9\n    COMBOBOX        cmb2, 108, 13, 64, 54, CBS_SIMPLE | WS_VSCROLL |\n                    WS_TABSTOP\n    LTEXT           \"&Boyut:\", stc3, 179, 3, 30, 9\n    COMBOBOX        cmb3, 179, 13, 32, 54, CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED | CBS_SORT\n\n    GROUPBOX        \"Efektler\", grp1, 6, 73, 84, 61, WS_GROUP\n    CONTROL         \"Ü&zeri çizili\", chx1, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 10, 83, 49, 10\n    CONTROL         \"Al&tı çizili\", chx2, \"Button\", BS_AUTOCHECKBOX, 10, 95,\n                    51, 10\n\n    CONTROL         \"FAT Sü&rücüler için Küçük Harf Görüntüle\", chx3, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 6, 127, 252, 10\n\n    CONTROL         \"Tüm Sürü&cüler için Küçük Harf Görüntüle\", chx4, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 6, 139, 252, 10\n\n    LTEXT           \"&Renk:\", stc4, 10, 107, 30, 9\n    COMBOBOX        cmb4, 10, 117, 75, 50, CBS_DROPDOWNLIST |\n                    CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS |\n                    WS_BORDER | WS_VSCROLL\n\n    DEFPUSHBUTTON   \"Tamam\", IDOK, 218, 6, 40, 14, WS_GROUP\n    PUSHBUTTON      \"İptal\", IDCANCEL, 218, 23, 40, 14, WS_GROUP\n    PUSHBUTTON      \"&Uygula\", psh3, 218, 40, 40, 14, WS_GROUP\n    PUSHBUTTON      \"&Yardım\", pshHelp, 218, 57, 40, 14, WS_GROUP\n    GROUPBOX        \"Örnek\", grp2, 6, 72, 252, 49, WS_GROUP\n    CTEXT           \"\", stc6, 10, 137, 1, 2,\n                    SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBbYyZz\", stc5, 10, 81, 243, 37, SS_NOPREFIX | NOT\n                    WS_VISIBLE\nEND\n\nDRIVEDLG DIALOGEX 11, 31, 201, 86\nCAPTION \"Sürücü Seç\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_THICKFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 0 }\n    CONTROL \"&Sürücüler:\", IDD_DRIVE1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 41, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    CONTROL \"\", IDD_DRIVE, \"listbox\", LBS_NOTIFY | LBS_SORT | LBS_STANDARD | LBS_USETABSTOPS | WS_BORDER | WS_VSCROLL | WS_CHILD | WS_TABSTOP, 5, 16, 140, 60\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"Tamam\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"İptal\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Yardım\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 44, 40, 14\nEND\n\nRUNDLG DIALOGEX 15, 12, 210, 63\nCAPTION \"Çalıştır\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 3, 6, 162, 10\n    DIALOGRESIZECONTROL { 0, 10, 100, 0 }\n    CONTROL \"&Komut Satırı:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_GROUP | WS_CHILD, 3, 18, 60, 10\n    DIALOGRESIZECONTROL { 0, 20, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 3, 29, 134, 12\n    DIALOGRESIZECONTROL { 0, 100, 0, 0 }\n    CONTROL \"&Simge Durumunda Çalıştır\", IDD_LOAD, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 3, 45, 71, 12\n    DIALOGRESIZECONTROL { 50, 100, 0, 0 }\n    CONTROL \"&Yönetici Olarak ÇalıştırRun as &Admin\", IDD_RUNAS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 78, 45, 71, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"Tamam\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"İptal\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 23, 40, 14\n//    CONTROL \"&Göz At...\", IDD_BROWSE, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 40, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Yardım\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 165, 43, 40, 14\nEND\n\nSELECTDLG DIALOGEX 15, 12, 116, 83\nCAPTION \"Dosya Seç\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    CONTROL \"&Dosya(lar):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 16, 60, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 5, 29, 60, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"&Seç\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"S&eçimi Kaldır\", IDYES, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 20, 0, 0 }\n    CONTROL \"İptal\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 40, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Yardım\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 63, 40, 14\nEND\n\n\n\nCONFIRMREPLACE DIALOG 10, 20, 245, 95\nCAPTION \"Dosya Değiştirmeyi Onayla\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Dosyayı Değiştir:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 12, 49, 10\n    CONTROL \"\", IDD_TO, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 75, 12, 165, 10\n    CONTROL \"\", IDD_DATE1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 75, 22, 170, 10\n    CONTROL \"Şu Dosyayla:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 34, 49, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 75, 34, 165, 10\n    CONTROL \"\", IDD_DATE2, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 75, 44, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 54, 203, 10\n    CONTROL \"&Evet\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 73, 40, 14\n    CONTROL \"&Tümüne Evet\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 73, 40, 14\n    CONTROL \"&Hayır\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 73, 40, 14\n    CONTROL \"İptal\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 73, 40, 14\nEND\n\nCONFIRMDELETE DIALOG 10, 20, 245, 60\nCAPTION \"Dosya Silmeyi Onayla\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Dosyayı Sil:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 44, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 70, 18, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&Evet\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"&Tümüne Evet\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"&Hayır\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"İptal\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\n\nCONFIRMNOACCESS DIALOG 10, 20, 260, 70\nCAPTION \"Onayla: Dosya/Dizin Yok Say ve Sürdür\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Erişim engellendi, yok say:\", IDD_TYPE, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 10, 203, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 108, 10, 122, 10\n    CONTROL \"Gereken izniniz yok veya dosya kullanımda.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 25, 230, 10\n    CONTROL \"Bu dosyayı yok sayıp işlemi sürdürmek için Evet'e tıklayın.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 35, 180, 10\n    CONTROL \"&Evet\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 52, 40, 14\n    CONTROL \"&Tümüne Evet\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 52, 40, 14\n    CONTROL \"&Hayır\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 52, 40, 14\n    CONTROL \"İptal\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 52, 40, 14\nEND\n\n\nCONFIRMNOACCESSDEST DIALOG 10, 20, 245, 60\nCAPTION \"Onayla: Dosya/Dizin Yok Say ve Sürdür\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Hedefe erişim yok, yok say:\", IDD_TYPE, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 13, 203, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 124, 13, 106, 10\n    CONTROL \"Bu dosyayı yok sayıp işlemi sürdürmek için Evet'e tıklayın.\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 23, 180, 10\n    CONTROL \"&Evet\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"&Tümüne Evet\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"&Hayır\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"İptal\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\n\nCONFIRMRMDIR DIALOG 10, 20, 245, 60\nCAPTION \"Dizin Silme Onayla\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Dizin Sil:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 55, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 80, 18, 160, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&Evet\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"&Tümüne Evet\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"&Hayır\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"İptal\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\nCONFIRMMOVE DIALOG 10, 22, 245, 60\nCAPTION \"Dosya Taşımayı Onayla\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Dosyayı Taşı:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 44, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 70, 18, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&Evet\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"&Tümüne Evet\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"&Hayır\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"İptal\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\nCONFIRMRENAME DIALOG 10, 22, 245, 60\nCAPTION \"Dosya Adı Değiştirmeyi Onayla\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"Dosya Adını Değiştir:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 54, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 80, 18, 160, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"&Evet\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"&Tümüne Evet\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"&Hayır\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"İptal\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\n\nMYPRINTDLG DIALOGEX 20, 20, 240, 63\nCAPTION \"Yazdır\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 6, 193, 10\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL \"&Yazdır:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 20, 23, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_FROM, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 27, 18, 160, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\",IDD_STATUS, \"static\", WS_CHILD | SS_LEFTNOWORDWRAP | SS_NOPREFIX, 3, 36, 190, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"Tamam\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"İptal\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Yardım\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 43, 40, 14\nEND\n\n\nSEARCHDLG DIALOGEX 20, 20, 283, 63\nCAPTION \"Ara\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL \"Ş&unu Ara:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 6, 45, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 5, 180, 12\n    DIALOGRESIZECONTROL { 0, 33, 0, 0 }\n    CONTROL \"Şu &Zamandan Beri:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 21, 45, 12\n    DIALOGRESIZECONTROL { 0, 33, 100, 0 }\n    CONTROL \"\", IDD_DATE, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 20, 180, 12\n    DIALOGRESIZECONTROL { 0, 67, 0, 0 }\n    CONTROL \"Başlangıç &Tarihi:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 36, 45, 12\n    DIALOGRESIZECONTROL { 0, 67, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 52, 35, 180, 12\n    DIALOGRESIZECONTROL { 0, 100, 0, 0 }\n    CONTROL \"&Tüm Alt Dizinleri Ara\", IDD_SEARCHALL, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 52, 49, 100, 12\n    DIALOGRESIZECONTROL { 50, 100, 0, 0 }\n    CONTROL \"Sonuçlarda Alt &Dizinler\", IDD_INCLUDEDIRS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 156, 49, 80, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"Tamam\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 25, 0, 0 }\n    CONTROL \"İptal\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Yardım\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 237, 43, 40, 14\nEND\n\n\nMOVECOPYDLG DIALOGEX 47, 59, 381, 64\nSTYLE WS_BORDER | WS_THICKFRAME | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN\nCAPTION \"Taşı\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"Geçerli Dizin: N\", IDD_DIR, \"Static\", SS_SIMPLE | SS_NOPREFIX, 3, 6, 332, 10\n\n    DIALOGRESIZECONTROL { 0, 25, 0, 0 }\n    CONTROL         \"Ş&uraya:\", IDD_KK_TEXTTO, \"Static\", SS_LEFTNOWORDWRAP, 3, 33, 30, 10\n    DIALOGRESIZECONTROL { 0, 25, 100, 0}\n    EDITTEXT        IDD_TO, 37, 32, 288, 12, ES_AUTOHSCROLL\n\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL         \"\", IDD_STATUS, \"Static\", SS_SIMPLE | SS_NOPREFIX, 3, 49, 40, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"\", IDD_NAME, \"Static\", SS_SIMPLE | SS_NOPREFIX,  45, 49, 290, 10\n\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"Tamam\", IDOK, 335, 6, 40, 14\n\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    PUSHBUTTON      \"İptal\", IDCANCEL, 335, 23, 40, 14\n\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    PUSHBUTTON      \"&Yardım\", IDD_HELP, 335, 40, 40, 14\n\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL         \"Şu&radan:\", IDD_KK_TEXTFROM, \"Static\", SS_LEFTNOWORDWRAP, 3, 19, 30, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    EDITTEXT        IDD_FROM, 37, 18, 288, 12, ES_AUTOHSCROLL\n\n    DIALOGRESIZECONTROL { 0, 50, 0, 0 }\n    CONTROL         \"\", IDD_DIRS, \"Static\", SS_LEFTNOWORDWRAP, 3, 49, 330, 10\nEND\n\n\n\nDELETEDLG DIALOGEX 20, 20, 246, 64\nCAPTION \"Sil\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"Geçerli Dizin: C\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 5, 193, 10\n    CONTROL \"&Sil:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 20, 35, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_FROM, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 40, 19, 155, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_STATUS, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 3, 35, 35, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 40, 35, 155, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"Tamam\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"İptal\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Yardım\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 40, 40, 14\nEND\n\nMULTIPLEATTRIBSDLG DIALOG 20, 20, 206, 88\nCAPTION \"Özellikler\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"%d Dosya Seçili\", IDD_TEXT1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 144, 10\n    CONTROL \"Toplam %s bayt\", IDD_TEXT2, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 16, 144, 10\n    CONTROL \"Öznitelikler\", -1, \"button\", BS_GROUPBOX | WS_CHILD, 5, 29, 120, 54\n    CONTROL \"&Saltokunur\", IDD_READONLY, \"button\", WS_GROUP | WS_TABSTOP | BS_AUTOCHECKBOX | WS_CHILD, 10, 40, 52, 12\n    CONTROL \"&Gizli\", IDD_HIDDEN, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 72, 40, 52, 12\n    CONTROL \"&Arşiv\", IDD_ARCHIVE, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 10, 52, 52, 12\n    CONTROL \"&Sistem\", IDD_SYSTEM, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 72, 52, 52, 12\n    CONTROL \"Sı&kıştırılmış\", IDD_COMPRESSED, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 10, 64, 52, 12\n    CONTROL \"Şi&frelenmiş\", IDD_ENCRYPTED, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_DISABLED, 72, 64, 52, 12\n    CONTROL \"Tamam\", 1, \"button\", WS_GROUP | BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 6, 50, 14\n    CONTROL \"İptal\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 23, 50, 14\n    CONTROL \"&Yardım\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 43, 50, 14\nEND\n\n\nATTRIBSDLG DIALOG 23, 13, 259, 229\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"%s Özellikleri\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"Tamam\", IDOK, 204, 6, 50, 14, WS_GROUP\n    PUSHBUTTON      \"İptal\", IDCANCEL, 204, 23, 50, 14\n    PUSHBUTTON      \"&Yardım\", IDD_HELP, 204, 40, 50, 14\n\n    CONTROL         \"&Dosya Adı:\", IDD_NAMELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 5, 55, 10\n    EDITTEXT        IDD_NAME, 72, 5, 132, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"&Yol:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 16, 51, 10\n    EDITTEXT        IDD_DIR, 72, 16, 132, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"Son Değişiklik:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 27, 62, 10\n    CONTROL         \"\", IDD_DATE, \"Static\", SS_LEFTNOWORDWRAP, 72, 27, 132, 10\n    CONTROL         \"Sürüm:\", IDD_VERLABEL, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 38, 45, 10\n    CONTROL         \"İmlenmemiş\", IDD_VERSION, \"Static\", SS_LEFTNOWORDWRAP |\n                    SS_NOPREFIX, 72, 38, 132, 10\n    LTEXT           \"&Telif hakkı:\", -1, 5, 49, 45, 10\n    CONTROL         \"İmlenmemiş\", IDD_COPYRIGHT, \"Edit\", ES_AUTOHSCROLL |\n                    ES_READONLY | WS_TABSTOP, 72, 49, 132, 10\n    CONTROL         \"Boyut:\", IDD_SIZELABEL, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 60, 45, 10\n    CONTROL         \"\", IDD_SIZE, \"Static\", SS_LEFTNOWORDWRAP, 72, 60, 132, 10\n    CONTROL         \"Sıkıştırılmış Boyut:\", IDD_CSIZELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 71, 62, 10\n    CONTROL         \"\", IDD_CSIZE, \"Static\", SS_LEFTNOWORDWRAP, 72, 71, 132, 10\n    CONTROL         \"Sıkıştırma Oranı:\", IDD_CRATIOLABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 82, 62, 10\n    CONTROL         \"\", IDD_CRATIO, \"Static\", SS_LEFTNOWORDWRAP, 72, 82, 132, 10\n    GROUPBOX        \"Öznitelikler\", IDD_TEXT, 4, 96, 120, 54\n    CONTROL         \"&Saltokunur\", IDD_READONLY, \"Button\", BS_AUTOCHECKBOX |\n                    WS_GROUP | WS_TABSTOP, 9, 108, 52, 12\n    CONTROL         \"G&izli\", IDD_HIDDEN, \"Button\", BS_AUTOCHECKBOX,\n                    71, 108, 49, 12\n    CONTROL         \"&Arşiv\", IDD_ARCHIVE, \"Button\", BS_AUTOCHECKBOX,\n                    9, 120, 52, 12\n    CONTROL         \"Sis&tem\", IDD_SYSTEM, \"Button\", BS_AUTOCHECKBOX,\n                    71, 120, 49, 12\n    CONTROL         \"Sı&kıştırılmış\", IDD_COMPRESSED, \"Button\", BS_AUTOCHECKBOX,\n                    9, 132, 52, 12\n    GROUPBOX        \"Sü&rüm Bilgisi\", IDD_VERSION_FRAME, 4, 155, 250, 70\n    LISTBOX         IDD_VERSION_KEY, 9, 168, 91, 58, LBS_SORT |\n                    LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        IDD_VERSION_VALUE, 110, 168, 138, 58, ES_MULTILINE |\n                    ES_READONLY | WS_VSCROLL\nEND\n\n\nCOMPRESSPROGDLG DIALOG 123, 60, 207, 117\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Dosya Sıkıştırma İlerlemesi\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Sıkıştırılan dosya:\", -1, 6, 8, 79, 8\n    LTEXT           \"dosyaadı.xxx\", IDD_COMPRESS_FILE, 86, 8, 90, 8\n    LTEXT           \"Dizin:\", -1, 6, 20, 39, 8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\", IDD_COMPRESS_DIR, 43,\n                    20, 150, 8\n    LTEXT           \"Sıkıştırılan dizinler:\", -1, 6, 32, 102, 8\n    LTEXT           \"1,888,888,999\", IDD_COMPRESS_TDIRS, 90, 32, 60, 8\n    LTEXT           \"Sıkıştırılan dosyalar:\", -1, 6, 44, 62, 8\n    LTEXT           \"1,888,888,999\", IDD_COMPRESS_TFILES, 74, 44, 58, 8\n    LTEXT           \"Sıkıştırma öncesi toplam dosya boyutu:\", -1, 6, 56,\n                    124, 8\n    LTEXT           \"9,999,999,999,999\", IDD_COMPRESS_USIZE, 134, 56, 68, 8\n    LTEXT           \"Sıkıştırma sonrası toplam dosya boyutu:\", -1, 6, 68, 123,\n                    8\n    LTEXT           \"9,999,999,999,999\", IDD_COMPRESS_CSIZE, 134, 69, 68, 8\n    LTEXT           \"Dosya sıkıştırma oranı:\", -1, 6, 80, 78, 8\n    LTEXT           \"%100\", IDD_COMPRESS_RATIO, 91, 80, 27, 8\n    PUSHBUTTON      \"İptal\", IDCANCEL, 76, 97, 55, 14\nEND\n\nUNCOMPRESSPROGDLG DIALOG 114, 62, 197, 84\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Dosya Sıkıştırması Açma İlerlemesi\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Sıkıştırması açılan dosya:\", -1, 6, 8, 83, 8\n    LTEXT           \"dosyaadı.xxx\", IDD_UNCOMPRESS_FILE, 93, 8, 66, 8\n    LTEXT           \"Dizin:\", -1, 6, 20, 39, 8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\", \n                    IDD_UNCOMPRESS_DIR, 45, 20, 144, 8\n    LTEXT           \"Sıkıştırması açılan dizinler:\", -1, 6, 32, 91, 8\n    LTEXT           \"1,999,999,999\", IDD_UNCOMPRESS_TDIRS, 99, 32, 70, 8\n    LTEXT           \"Sıkıştırması açılan dosyalar:\", -1, 6, 44, 86, 8\n    LTEXT           \"1,999,999,999\", IDD_UNCOMPRESS_TFILES, 92, 44, 78, 8\n    PUSHBUTTON      \"İptal\", IDCANCEL, 74, 64, 49, 14\nEND\n\nCOMPRESSERRDLG DIALOG 11, 28, 245, 65\nCAPTION \"Sıkıştırma Hatası\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    ICON 32515, -1, 8, 8, 21, 20\n    LTEXT \"\", IDD_TEXT1, 35, 8, 190, 20\n\n    DEFPUSHBUTTON \"&Yok Say\",     IDIGNORE,      33,  47, 40, 14, WS_TABSTOP | WS_CHILD | WS_GROUP\n    PUSHBUTTON    \"&Tümünü Yok Say\", IDD_IGNOREALL, 79,  47, 40, 14, WS_TABSTOP | WS_CHILD\n    PUSHBUTTON    \"Y&eniden Dene\",      IDRETRY,       125, 47, 40, 14, WS_TABSTOP | WS_CHILD\n    PUSHBUTTON    \"İ&ptal Et\",      IDABORT,       171, 47, 40, 14, WS_TABSTOP | WS_CHILD\nEND\n\n\n\nMAKEDIRDLG DIALOGEX 20, 20, 200, 63\nCAPTION \"Dizin Oluştur\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 6, 154, 10\n    CONTROL \"&Ad:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 23, 20, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 30, 22, 90, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\",IDD_STATUS, \"static\", WS_CHILD | SS_NOPREFIX | SS_LEFTNOWORDWRAP, 3, 46, 150, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"Tamam\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"İptal\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Yardım\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 43, 40, 14\nEND\n\n\nCHOOSEDRIVEDLG DIALOG 20, 20, 157, 64\nCAPTION \" Disk Kopyala\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"&Kaynak:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 8, 50, 10\n    CONTROL \"\", IDD_DRIVE1, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 55, 6, 40, 37\n    CONTROL \"&Hedef:\", IDD_FLAGS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 22, 50, 10\n    CONTROL \"\", IDD_DRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 55, 20, 40, 37\n    CONTROL \"Tamam\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 6, 40, 14\n    CONTROL \"İptal\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 23, 40, 14\n    CONTROL \"&Yardım\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 43, 40, 14\nEND\n\n\nDISKCOPYPROGRESSDLG DIALOG 30, 30, 130, 55\nCAPTION \"Disk Kopyalanıyor\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE | DS_SYSMODAL\nBEGIN\n    CONTROL \"Disk Kopyalama Konumu: \", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 5, 130, 10\n    CONTROL \"A: sürücüsü\", IDD_DRIVE, \"static\", SS_CENTER | WS_CHILD, 0, 15, 130, 10\n    CONTROL \"Hedef disk okunuyor\", IDD_PROGRESS, \"static\", SS_CENTER | WS_CHILD, 0, 26, 130, 10\n    CONTROL \"İptal\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 44, 39, 44, 14\nEND\n\nDISKLABELDLG DIALOGEX 20, 20, 161, 63\nCAPTION \"Disk Etiketle\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    CONTROL \"&Etiket:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 15, 30, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 5, 26, 100, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"Tamam\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"İptal\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"&Yardım\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 43, 40, 14\nEND\n\nFORMATDLG DIALOG 11, 28, 183, 96\nCAPTION \"Disk Biçimlendir\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL \"Tamam\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 6, 40, 14\n    CONTROL \"İptal\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 23, 40, 14\n    CONTROL \"&Yardım\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 43, 40, 14\n    CONTROL \"&Disk:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 7, 49, 10\n    CONTROL \"\", IDD_DRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 4, 65, 40\n    CONTROL \"&Sığa:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 20, 49, 10\n    CONTROL \"\", IDD_HIGHCAP, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 19, 65, 40\n    CONTROL \"Seçenekler\", 102, \"button\", BS_GROUPBOX | WS_GROUP | WS_CHILD, 5, 39, 115, 53\n    CONTROL \"&Etiketler:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 11, 51, 39, 10\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 40, 49, 63, 12\n//    CONTROL \"&Sistem Diski Hazırla\", IDD_MAKESYS, \"button\", BS_CHECKBOX | BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD | WS_DISABLED, 11, 62, 90, 12\n    CONTROL \"&Hızlı Biçimlendir\", IDD_VERIFY, \"button\", BS_CHECKBOX | BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 62, 90, 12\nEND\n\nFORMATSELECTDLG DIALOG 11, 28, 183, 44\nCAPTION \"Disk Biçimle\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL \"Tamam\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 6, 40, 14\n    CONTROL \"İptal\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 23, 40, 14\n    CONTROL \"&Biçimlenecek Sürücü:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 7, 49, 10\n    CONTROL \"\", IDD_SELECTDRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 4, 65, 40\nEND\n\nFORMATPROGRESSDLG DIALOG 30, 30, 150, 50\nCAPTION \"Disk Biçimleniyor\"\nFONT 8, \"MS Shell Dlg\"\n//STYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE | DS_SYSMODAL\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE\nBEGIN\n    CONTROL \"Disk biçimleniyor\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 5, 150, 10\n    CONTROL \"Sürücü ilklendiriliyor...\", IDD_PROGRESS, \"static\", SS_CENTER | WS_CHILD, 0, 17, 150, 10\n    CONTROL \"İptal\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 54, 30, 44, 14\nEND\n\n#if 0\nSYSDISKPROGRESSDLG DIALOG 30, 30, 174, 57\nCAPTION \"Sistem Diski Hazırla\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE\nBEGIN\n    CONTROL \"Sistem dosyaları kopyalanıyor\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 6, 174, 8\n    CONTROL \"Durdurmak için İptal'e basın.\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 14, 174, 8\n    CONTROL \"İptal\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 66, 39, 44, 14\nEND\n\nCONNECTDLG DIALOG 12, 28, 241, 135\nCAPTION \"Ağ Bağlantıları\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n  GROUPBOX \"Yeni Bağlantı\", -1, 5, 3, 170, 55, WS_CHILD\n\n  LTEXT \"&Ağ Yolu:\", -1, 10, 16, 55, 10\n  EDITTEXT, IDD_PATH, 65, 14, 100, 12, ES_AUTOHSCROLL | WS_GROUP | WS_TABSTOP\n  LTEXT \"&Sürücü:\", -1, 10, 30, 24, 10\n  COMBOBOX IDD_DRIVE, 65, 28, 40, 100, CBS_DROPDOWNLIST | WS_VSCROLL | WS_GROUP | WS_TABSTOP\n  LTEXT \"&Parola:\", -1, 10, 44, 36, 10\n  EDITTEXT, IDD_PASSWORD, 65, 42, 100, 12, ES_AUTOHSCROLL | ES_PASSWORD | WS_GROUP | WS_TABSTOP\n\n  LTEXT \"&Geçerli Sürücü Bağlantıları:\", -1, 5, 62, 120, 10\n  LISTBOX IDD_DRIVE1, 5, 73, 160, 60, LBS_SORT | LBS_NOTIFY | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_BORDER | WS_TABSTOP\n\n  DEFPUSHBUTTON \"&Kapat\",  IDCANCEL, 190, 6, 45, 14, WS_GROUP | WS_TABSTOP\n  PUSHBUTTON \"&Bağlan\", IDTamam, 190, 27, 45, 14, WS_TABSTOP\n  PUSHBUTTON \"Ö&nceki...\", IDD_PREV, 190, 44, 45, 14, WS_TABSTOP\n  PUSHBUTTON \"&Göz At...\", IDD_NETBROWSE, 190, 61, 45, 14, WS_GROUP | WS_TABSTOP\n  PUSHBUTTON \"&Bağlantıyı Kes\", IDD_DISCONNECT, 190, 78, 45, 14, WS_GROUP|WS_TABSTOP\n  PUSHBUTTON \"&Yardım\", IDD_HELP, 190, 95, 45, 14, WS_GROUP | WS_TABSTOP\nEND\n\nPREVIOUSDLG DIALOG 30, 30, 231, 98\nCAPTION \"Önceki Ağ Bağlantıları\"\nFONT 8 \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Ağ Y&olları:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 3, 69, 10\n    CONTROL \"\", IDD_PREV, \"listbox\", LBS_NOTIFY | LBS_SORT | LBS_STANDARD | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 3, 15, 172, 80\n    CONTROL \"&Seç\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 6, 44, 14\n    CONTROL \"Kapat\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 24, 44, 14\n    CONTROL \"S&il\", IDD_DELETE, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 41, 44, 14\n    CONTROL \"&Yardım\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 58, 44, 14\nEND\n#endif\n\nOTHERDLG DIALOG 20, 20, 174, 81\nCAPTION \"Kısımsal Ayrıntılar\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Ayrıntılar\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_CHILD, 4, 4, 121, 74\n    CONTROL \"&Boyut\", IDD_SIZE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 15, 100, 12\n    CONTROL \"Son Değiştirilme &Tarihi\", IDD_DATE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 27, 100, 12\n    CONTROL \"Son Değiştirilme &Zamanı\", IDD_TIME, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 39, 100, 12\n    CONTROL \"&Dosya Öznitelikleri\", IDD_FLAGS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 51, 100, 12\n    CONTROL \"&MS-DOS Dosya Adları\", IDD_DOSNAMES, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 63, 100, 12\n    CONTROL \"Tamam\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 6, 40, 14\n    CONTROL \"İptal\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 23, 40, 14\n    CONTROL \"&Yardım\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 60, 40, 14\nEND\n\n\nINCLUDEDLG DIALOG 20, 20, 157, 114\nCAPTION \"Dosya Türüne Göre\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"&Ad:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 8, 23, 10\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 34, 6, 65, 12\n    CONTROL \"Dosya Türü\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_CHILD, 5, 20, 94, 62\n    CONTROL \"&Dizinler\", IDD_DIR, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 31, 60, 12\n    CONTROL \"&Programlar\", IDD_PROGRAMS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 43, 60, 12\n    CONTROL \"&Belgeler\", IDD_DOCS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 55, 60, 12\n    CONTROL \"D&iğer Dosyalar\", IDD_OTHER, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 67, 60, 12\n    CONTROL \"&Gizli/Sistem Dosyalarını Göster\", IDD_SHOWHIDDEN, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 5, 85, 100, 12\n    CONTROL \"Bi&rleşme Noktalarını Göster\", IDD_SHOWJUNCTION, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 5, 97, 100, 12\n    CONTROL \"Tamam\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 6, 40, 14\n    CONTROL \"İptal\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 23, 40, 14\n    CONTROL \"&Yardım\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 43, 40, 14\nEND\n\n\nCONFIRMDLG DIALOG 20, 20, 214, 92\nCAPTION \"Onayla\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Onayla:\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_TABSTOP | WS_CHILD, 5, 3, 158, 86\n    CONTROL \"Dosya &Sil\", IDD_DELETE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 15, 80, 12\n    CONTROL \"D&izin Sil\", IDD_SUBDEL, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 27, 80, 12\n    CONTROL \"D&osya Değiştir\", IDD_REPLACE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 39, 80, 12\n    CONTROL \"&Fare Eylemi\", IDD_MOUSE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 51, 80, 12\n    CONTROL \"Dis&k Komutları\", IDD_CONFIG, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 63, 80, 12\n    CONTROL \"Sistem, &Gizli, Saltokunur Dosyaları Değiştirme\", IDD_READONLY, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 75, 150, 12\n    CONTROL \"Tamam\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 168, 6, 40, 14\n    CONTROL \"İptal\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 168, 23, 40, 14\n    CONTROL \"&Yardım\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 168, 44, 40, 14\nEND\n\nDMSTATUSDLG DIALOG 20, 20, 250, 46\nCAPTION \"Taşınıyor...\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"\", IDD_STATUS, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD , 5, 5, 49, 10\n    CONTROL \"\", IDD_NAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 55, 5, 192, 10\n    CONTROL \"Şuraya:\", IDD_TOSTATUS, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 5, 15, 25, 10\n    CONTROL \"\", IDD_TONAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 55, 15, 192, 10\n    CONTROL \"İptal\", IDCANCEL, \"button\", WS_CHILD | BS_DEFPUSHBUTTON, 200, 28, 40, 14\nEND\n\nPRTDLG DIALOG 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Dosya yazdırılıyor...\", -1, \"static\", SS_CENTER | WS_GROUP | WS_CHILD, 4, 6, 120, 12\n    CONTROL \"\", IDD_TEXT, \"static\", SS_CENTER | SS_NOPREFIX | WS_GROUP | WS_CHILD, 4, 20, 120, 12\n    CONTROL \"İptal\", 2, \"button\", BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP | WS_CHILD, 44, 40, 32, 14\nEND\n\n\nLFNTOFATDLG DIALOG 11, 28, 250, 78\nCAPTION \"Dosya Adı Seç\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL \"Bu yol, dosya adları için FAT biçimi ile eşleşmiyor. Lütfen yeni bir ad girin.\", 99, \"static\", SS_LEFT | WS_CHILD, 5, 4, 190, 24\n    CONTROL \"&Yeni ad:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 56, 50, 12\n    CONTROL \"\", IDD_TO, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 57, 55, 130, 12\n    CONTROL \"Özgün Yol:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 28, 50, 11\n    CONTROL \"\", IDD_FROM, \"edit\", ES_READONLY | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_CHILD, 57, 28, 130, 12\n    CONTROL \"Şu Dizine:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 42, 50, 11\n    CONTROL \"\", IDD_DIR, \"edit\", ES_READONLY | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_CHILD, 57, 42, 130, 12\n    CONTROL \"Tamam\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 4, 40, 14\n    CONTROL \"İptal\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 20, 40, 14\n    CONTROL \"&Yardım\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 36, 40, 14\nEND\n\n\nATTRIBSDLGDIR DIALOG 23, 13, 250, 119\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"%s Özellikleri\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"Tamam\", IDOK, 194, 6, 50, 14, WS_GROUP\n    PUSHBUTTON      \"İptal\", IDCANCEL, 194, 23, 50, 14\n    PUSHBUTTON      \"&Yardım\", IDD_HELP, 194, 43, 50, 14\n    CONTROL         \"&Dosya Adı:\", IDD_NAMELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 5, 55, 10\n    EDITTEXT        IDD_NAME, 60, 5, 134, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"&Yol:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP, 5, 16,\n                    51, 10\n    EDITTEXT        IDD_DIR, 60, 16, 134, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"Son Değişiklik:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP, 5,\n                    27, 62, 10\n    CONTROL         \"\", IDD_DATE, \"Static\", SS_LEFTNOWORDWRAP, 60, 27, 97,\n                    10\n    CONTROL         \"Boyut:\", IDD_SIZELABEL, \"Static\", SS_LEFTNOWORDWRAP, 5,\n                    38, 45, 10\n    CONTROL         \"\", IDD_SIZE, \"Static\", SS_LEFTNOWORDWRAP, 60, 38, 90,\n                    10\n    GROUPBOX        \"Öznitelikler\", IDD_TEXT, 4, 52, 120, 54\n    CONTROL         \"&Saltokunur\", IDD_READONLY, \"Button\", BS_AUTOCHECKBOX |\n                    WS_GROUP | WS_TABSTOP, 9, 64, 52, 12\n    CONTROL         \"&Gizli\", IDD_HIDDEN, \"Button\", BS_AUTOCHECKBOX, 71, 64,\n                    49, 12\n    CONTROL         \"&Arşiv\", IDD_ARCHIVE, \"Button\", BS_AUTOCHECKBOX, 9,\n                    76, 52, 12\n    CONTROL         \"Sis&tem\", IDD_SYSTEM, \"Button\", BS_AUTOCHECKBOX, 71, 76,\n                    49, 12\n    CONTROL         \"Sı&kıştırılmış\", IDD_COMPRESSED, \"button\", BS_AUTOCHECKBOX,\n                    9, 88, 52, 12\nEND\n\n\n#ifdef ASSOC\nASSOCIATEDLG DIALOGEX 20, 20, 255, 129\n#else\nASSOCIATEDLG DIALOGEX 20, 20, 255, 118\n#endif\n\nCAPTION \"İlişkilendir\"\nSTYLE WS_BORDER | WS_THICKFRAME | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE { 0, 0 }\n    LTEXT           \"Ş&u Uzantılı Dosyaları:\", -1, 6, 7, 68, 8\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    COMBOBOX        IDD_EXT, 76, 5, 44, 55, CBS_DROPDOWN | CBS_SORT |\n                    CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n\n    LTEXT           \"Şu&nlarla İlişkilendir:\", -1, 6, 30, 92, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    EDITTEXT        IDD_COMMAND, 6, 42, 172, 12, ES_AUTOHSCROLL\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    LISTBOX         IDD_CLASSLIST, 11, 54, 167, 62, LBS_SORT | WS_VSCROLL | WS_TABSTOP\n#ifdef ASSOC\n#ifdef ASSOCHEAD\n                    | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS\n#endif\n#endif\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    PUSHBUTTON      \"&Göz At...\", IDD_BROWSE, 130, 24, 47, 14\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"Tamam\", IDOK, 187, 6, 62, 14, WS_GROUP\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    PUSHBUTTON      \"İptal\", IDCANCEL, 187, 23, 62, 14\n    DIALOGRESIZECONTROL { 100, 30, 0, 0 }\n    PUSHBUTTON      \"&Yeni Tür...\", IDD_NEW, 187, 42, 62, 14\n    DIALOGRESIZECONTROL { 100, 40, 0, 0 }\n    PUSHBUTTON      \"&Tür Değiştir...\", IDD_CONFIG, 187, 59, 62, 14\n    DIALOGRESIZECONTROL { 100, 50, 0, 0 }\n    PUSHBUTTON      \"Tü&r Sil\", IDD_DELETE, 187, 76, 62, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    PUSHBUTTON      \"&Yardım\", IDD_HELP, 187, 95, 62, 14\n\n#ifdef ASSOC\n    AUTOCHECKBOX    \"Y&alnızca yaygın dosya türlerini ve uzantılarını göster\", IDD_SYSTEM,\n                    6, 117, 160, 10, WS_GROUP\n#endif\nEND\n\nASSOCIATEFILEDLG DIALOG 18, 14, 290, 224\nCAPTION \"Dosya Türünü Değiştir\"\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Dosya Türü:\", IDD_DESCTEXT, 5, 6, 33, 8\n    EDITTEXT        IDD_DESC, 42, 5, 95, 12, ES_AUTOHSCROLL\n    GROUPBOX        \"&Eylem: \", -1, 5, 22, 235, 126, WS_GROUP\n    COMBOBOX        IDD_ACTION, 36, 22, 48, 33, CBS_DROPDOWNLIST |\n                    WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"K&omut:\", IDD_COMMANDTEXT, 9, 42, 38, 8\n    EDITTEXT        IDD_COMMAND, 47, 39, 111, 12, ES_AUTOHSCROLL\n    PUSHBUTTON      \"&Göz At...\", IDD_BROWSE, 164, 38, 40, 14\n    AUTOCHECKBOX    \"DDE K&ullanır\", IDD_DDE, 10, 57, 50, 10, WS_GROUP\n    LTEXT           \"DDE Me&ssage:\", IDD_DDEMESGTEXT, 22, 72, 50, 8\n    EDITTEXT        IDD_DDEMESG, 105, 70, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"Çalışmayan DDE İ&leti Uygulaması:\", IDD_DDENOTRUNTEXT, 22, 84, 82, 19\n    LTEXT           \"(isteğe bağlı)\", IDD_DDEOPTIONALTEXT, 207, 90, 32, 8\n    EDITTEXT        IDD_DDENOTRUN, 105, 88, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"Uygula&ma:\", IDD_DDEAPPTEXT, 22, 109, 39, 8\n    EDITTEXT        IDD_DDEAPP, 105, 107, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"Ko&nu:\", IDD_DDETOPICTEXT, 23, 127, 21, 8\n    EDITTEXT        IDD_DDETOPIC, 105, 125, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"Yeni U&zantı:\", -1, 11, 184, 52, 8\n    EDITTEXT        IDD_EXT, 64, 183, 32, 12, ES_AUTOHSCROLL\n    PUSHBUTTON      \"E&kle ->\", IDD_ADD, 102, 174, 44, 14\n    PUSHBUTTON      \"<- K&aldır\", IDD_DELETE, 102, 191, 44, 14\n    LTEXT           \"Uzantıla&r:\", -1, 157, 162, 41, 8\n    LISTBOX         IDD_EXTLIST, 157, 172, 65, 40, LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Bu dosya türü ile ilişkilendirilmiş uzantılar:\", IDD_EXTTEXT, 5, 154, 235, 66\n    DEFPUSHBUTTON   \"Tamam\", IDOK, 244, 6, 40, 14\n    PUSHBUTTON      \"İptal\", IDCANCEL, 244, 23, 40, 14\n    PUSHBUTTON      \"&Yardım\", IDD_HELP, 244, 40, 40, 14\nEND\n\nGOTODIRDLG DIALOGEX 13, 54, 464, 125\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_CLIPCHILDREN | WS_MAXIMIZEBOX\nCAPTION \"Dizine Git\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE    { 0, 0 }\n    LTEXT           \"&Dizine Git:\", -1, 6, 3, 100, 8\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"\", IDD_GOTODIR, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 6, 13, 406, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    LISTBOX         IDD_GOTOLIST, 6, 25, 406, 95, WS_VSCROLL | WS_TABSTOP\n\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"Tamam\", IDOK, 418, 13, 40, 14, WS_GROUP\n    DIALOGRESIZECONTROL { 100, 3, 0, 0 }\n    PUSHBUTTON      \"İptal\", IDCANCEL, 418, 30, 40, 14, WS_GROUP\nEND\n\nPREFDLG DIALOG 20, 20, 229, 140\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Tercihler\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n   CONTROL \"Düzenleyici Yolu:\", IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 17, 37, 14\n   CONTROL \"\", IDD_EDITOR, \"edit\", ES_AUTOHSCROLL | ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 54, 14, 140, 14\n   CONTROL \"...\", IDC_EDITOR, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 195, 14, 20, 14\n   CONTROL \"Araç çubuğu görsel biçemini devre dışı bırak\", IDC_VSTYLE, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 38, 119, 14\n   CONTROL \"Başlangıçta Ş&una Git İndeksi Oluştur\", IDC_GOTO, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 50, 119, 14\n   CONTROL \"Uygulama İçeriğini Yansıla\", IDC_MIRROR, \"button\", BS_AUTOCHECKBOX | WS_CHILD /* | WS_VISIBLE | WS_TABSTOP */, 0, 0, 0, 0    // invisible, not a tabsop; here to satisfy VerifyResources tool.\n   CONTROL \"Dil:\", IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 70, 35, 14\n   CONTROL \"\", IDC_LANGCB, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 50, 68, 150, 54\n   CONTROL \"Bazı ayarların etkili olması için\\nuygulamayı yeniden başlatmanız gerekmektedir.\",\n            IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 90, 180, 20\n   CONTROL \"Tamam\", IDOK, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 55, 120, 40, 14\n   CONTROL \"İptal\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 103, 120, 40, 14\n   CONTROL \"&Yardım\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 149, 120, 40, 14\nEND\n\nABOUTDLG DIALOG 13, 54, 250, 75\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Dosya Yöneticisi Hakkında\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            APPICON, -1, 6, 6, 32, 32\n    LTEXT           \"Windows Dosya Yöneticisi\", -1, 36, 6, 200, 8\n    CONTROL         \"TO BE SET\", IDD_VERTEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 36, 18, 200, 8\n    LTEXT           \"Telif hakkı (c) Microsoft Corporation. Tüm hakları saklıdır.\", -1, 36, 30, 200, 8\n    LTEXT           \"MIT Lisansı altında lisanslanmıştır.\", -1, 36, 42, 200, 8\n    LTEXT           \"https://github.com/Microsoft/winfile\", -1, 36, 54, 200, 8\n    DEFPUSHBUTTON   \"Tamam\", IDOK, 200, 50, 40, 14\nEND\n"
  },
  {
    "path": "src/lang/winfile_zh-CN.dlg",
    "content": "/********************************************************************\n\n   winfile.dlg\n\n   Copyright (c) Microsoft Corporation. All rights reserved.\n   Licensed under the MIT License.\n\n********************************************************************/\n\n#include \"dlgs.h\"\n#include \"resize.h\"\n\nCANCELDLG DIALOG 77, 27, 160, 65\nSTYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"正在格式化磁盘\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\", IDD_TEXT1, 15, 36, 131, 8\n    CONTROL         \"\", IDD_GASGAUGE, \"Static\", SS_BLACKFRAME, 15, 10, 131, 22\n    PUSHBUTTON      \"隐藏\", IDD_HIDE, 38, 48, 40, 14\n    PUSHBUTTON      \"取消\", IDCANCEL, 82, 48, 40, 14\nEND\n\n\nSEARCHPROGDLG DIALOG 77, 109, 214, 75\nSTYLE WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"搜索中\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n\n    CONTROL \"搜索:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 100, 10\n    CONTROL \"\", IDD_NAME, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 90, 5, 100, 10\n    CONTROL \"最后修改日期晚于:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 15, 100, 10\n    CONTROL \"\", IDD_DATE, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 90, 15, 100, 10\n    CONTROL \"搜索起点:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 25, 70, 10\n    CONTROL \"\", IDD_PATH, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 90, 25, 100, 10\n    CONTROL \"读取目录:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 35, 120, 10\n    CONTROL \"\", IDD_TIME, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 90, 35, 100, 10\n    CONTROL \"找到的匹配:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 45, 100, 10\n    CONTROL \"\", IDD_FOUND, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 90, 45, 100, 10\n\n    PUSHBUTTON      \"隐藏\", IDD_HIDE, 45, 58, 40, 14\n    PUSHBUTTON      \"取消\", IDCANCEL, 90, 58, 40, 14\nEND\n\n\nFONTDLG DIALOG 13, 54, 264, 154\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"字体\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"字体(&F):\", stc1, 6, 3, 40, 9\n    COMBOBOX        cmb1, 6, 13, 94, 54, CBS_SIMPLE | CBS_AUTOHSCROLL |\n                    CBS_SORT | WS_VSCROLL | WS_TABSTOP | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED\n    LTEXT           \"字形(&Y):\", stc2, 108, 3, 44, 9\n    COMBOBOX        cmb2, 108, 13, 64, 54, CBS_SIMPLE | WS_VSCROLL |\n                    WS_TABSTOP\n    LTEXT           \"大小(&S):\", stc3, 179, 3, 30, 9\n    COMBOBOX        cmb3, 179, 13, 32, 54, CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP | CBS_HASSTRINGS | CBS_OWNERDRAWFIXED | CBS_SORT\n\n    GROUPBOX        \"效果\", grp1, 6, 73, 84, 61, WS_GROUP\n    CONTROL         \"加删除线(&K)\", chx1, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 10, 83, 49, 10\n    CONTROL         \"下划线(&U)\", chx2, \"Button\", BS_AUTOCHECKBOX, 10, 95,\n                    51, 10\n\n    CONTROL         \"FAT 驱动器以小写显示(&L)\", chx3, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 6, 127, 252, 10\n\n    CONTROL         \"所有驱动器以小写显示(&D)\", chx4, \"Button\", BS_AUTOCHECKBOX |\n                    WS_TABSTOP, 6, 139, 252, 10\n\n    LTEXT           \"颜色(&C):\", stc4, 10, 107, 30, 9\n    COMBOBOX        cmb4, 10, 117, 75, 50, CBS_DROPDOWNLIST |\n                    CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS |\n                    WS_BORDER | WS_VSCROLL\n\n    DEFPUSHBUTTON   \"确定\", IDOK, 218, 6, 40, 14, WS_GROUP\n    PUSHBUTTON      \"取消\", IDCANCEL, 218, 23, 40, 14, WS_GROUP\n    PUSHBUTTON      \"应用(&A)\", psh3, 218, 40, 40, 14, WS_GROUP\n    PUSHBUTTON      \"帮助(&H)\", pshHelp, 218, 57, 40, 14, WS_GROUP\n    GROUPBOX        \"示例\", grp2, 6, 72, 252, 49, WS_GROUP\n    CTEXT           \"\", stc6, 10, 137, 1, 2,\n                    SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBbYyZz\", stc5, 10, 81, 243, 37, SS_NOPREFIX | NOT\n                    WS_VISIBLE\nEND\n\nDRIVEDLG DIALOGEX 11, 31, 201, 86\nCAPTION \"选定驱动器\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_THICKFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 0 }\n    CONTROL \"驱动器(&D):\", IDD_DRIVE1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 41, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    CONTROL \"\", IDD_DRIVE, \"listbox\", LBS_NOTIFY | LBS_SORT | LBS_STANDARD | LBS_USETABSTOPS | WS_BORDER | WS_VSCROLL | WS_CHILD | WS_TABSTOP, 5, 16, 140, 60\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"确定\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"取消\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"帮助(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 155, 44, 40, 14\nEND\n\nRUNDLG DIALOGEX 15, 12, 220, 63\nCAPTION \"运行\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 3, 6, 162, 10\n    DIALOGRESIZECONTROL { 0, 10, 100, 0 }\n    CONTROL \"命令行(&C):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_GROUP | WS_CHILD, 3, 18, 60, 10\n    DIALOGRESIZECONTROL { 0, 20, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 3, 29, 162, 12\n    DIALOGRESIZECONTROL { 0, 100, 0, 0 }\n    CONTROL \"运行时最小化(&M)\", IDD_LOAD, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 3, 45, 71, 12\n    DIALOGRESIZECONTROL { 50, 100, 0, 0 }\n    CONTROL \"以管理员身份运行(&A)\", IDD_RUNAS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 78, 45, 86, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"确定\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 175, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"取消\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 175, 23, 40, 14\n//    CONTROL \"浏览(&B)...\", IDD_BROWSE, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 175, 40, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"帮助(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 175, 43, 40, 14\nEND\n\nSELECTDLG DIALOGEX 15, 12, 116, 83\nCAPTION \"选定文件\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    CONTROL \"文件(&F):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 16, 60, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 5, 29, 60, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"选定(&S)\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"撤消选定(&D)\", IDYES, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 20, 0, 0 }\n    CONTROL \"取消\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 40, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"帮助(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 70, 63, 40, 14\nEND\n\n\n\nCONFIRMREPLACE DIALOG 10, 20, 245, 95\nCAPTION \"确认文件替换\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"替换文件:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 12, 49, 10\n    CONTROL \"\", IDD_TO, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 75, 12, 165, 10\n    CONTROL \"\", IDD_DATE1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 75, 22, 170, 10\n    CONTROL \"被替换为:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 34, 49, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 75, 34, 165, 10\n    CONTROL \"\", IDD_DATE2, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 75, 44, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 54, 203, 10\n    CONTROL \"是(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 73, 40, 14\n    CONTROL \"全是(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 73, 40, 14\n    CONTROL \"否(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 73, 40, 14\n    CONTROL \"取消\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 73, 40, 14\nEND\n\nCONFIRMDELETE DIALOG 10, 20, 245, 60\nCAPTION \"确认文件删除\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"删除文件:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 44, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 70, 18, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"是(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"全是(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"否(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"取消\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\n\nCONFIRMNOACCESS DIALOG 10, 20, 260, 70\nCAPTION \"确认: 忽略文件或目录，然后继续\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"访问被拒绝，忽略:\", IDD_TYPE, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 10, 203, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 108, 10, 122, 10\n    CONTROL \"您没有使用权限或者文件正在使用中。\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 25, 230, 10\n    CONTROL \"请选择「是」略过该文件，然后继续操作。\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 35, 180, 10\n    CONTROL \"是(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 52, 40, 14\n    CONTROL \"全是(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 52, 40, 14\n    CONTROL \"否(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 52, 40, 14\n    CONTROL \"取消\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 52, 40, 14\nEND\n\n\nCONFIRMNOACCESSDEST DIALOG 10, 20, 245, 60\nCAPTION \"确认: 忽略文件或目录，然后继续\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"无法访问目标位置，忽略:\", IDD_TYPE, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 13, 203, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 124, 13, 106, 10\n    CONTROL \"选择「是」，即可忽略此文件，并且继续操作。\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 23, 180, 10\n    CONTROL \"是(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"全是(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"否(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"取消\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\n\nCONFIRMRMDIR DIALOG 10, 20, 245, 60\nCAPTION \"确认目录删除\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"删除目录:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 55, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 80, 18, 160, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"是(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"全是(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"否(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"取消\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\nCONFIRMMOVE DIALOG 10, 22, 245, 60\nCAPTION \"确认文件移动\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"移动文件:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 44, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 70, 18, 170, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"是(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"全部(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"否(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"取消\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\nCONFIRMRENAME DIALOG 10, 22, 245, 60\nCAPTION \"确认文件重命名\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL 32515, IDD_TEXT, \"static\", SS_ICON | WS_CHILD, 3, 12, 16, 16\n    CONTROL \"\", IDD_STATUS, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 3, 203, 10\n    CONTROL \"重命名文件:\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 25, 18, 54, 10\n    CONTROL \"\", IDD_FROM, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 80, 18, 160, 10\n    CONTROL \"\", IDD_OTHER, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 25, 28, 203, 10\n    CONTROL \"是(&Y)\", IDYES, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 33, 42, 40, 14\n    CONTROL \"全部(&A)\", IDD_YESALL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 79, 42, 40, 14\n    CONTROL \"否(&N)\", IDNO, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 125, 42, 40, 14\n    CONTROL \"取消\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 171, 42, 40, 14\nEND\n\n\nMYPRINTDLG DIALOGEX 20, 20, 240, 63\nCAPTION \"打印\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 6, 193, 10\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL \"打印(&P):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 20, 23, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_FROM, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 27, 18, 160, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\",IDD_STATUS, \"static\", WS_CHILD | SS_LEFTNOWORDWRAP | SS_NOPREFIX, 3, 36, 190, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"确定\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"取消\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"帮助(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 197, 43, 40, 14\nEND\n\n\nSEARCHDLG DIALOGEX 20, 20, 315, 63\nCAPTION \"搜索\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL \"搜索目标(&S):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 6, 85, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 86, 5, 180, 12\n    DIALOGRESIZECONTROL { 0, 33, 0, 0 }\n    CONTROL \"最后修改日期晚于(&C):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 21, 85, 12\n    DIALOGRESIZECONTROL { 0, 33, 100, 0 }\n    CONTROL \"\", IDD_DATE, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 86, 20, 180, 12\n    DIALOGRESIZECONTROL { 0, 67, 0, 0 }\n    CONTROL \"起始于(&F):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 36, 85, 12\n    DIALOGRESIZECONTROL { 0, 67, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 86, 35, 180, 12\n    DIALOGRESIZECONTROL { 0, 100, 0, 0 }\n    CONTROL \"搜索全部子目录(&E)\", IDD_SEARCHALL, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 86, 49, 80, 12\n    DIALOGRESIZECONTROL { 50, 100, 0, 0 }\n    CONTROL \"结果包含子目录(&U)\", IDD_INCLUDEDIRS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 182, 49, 80, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"确定\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 270, 5, 40, 14\n    DIALOGRESIZECONTROL { 100, 25, 0, 0 }\n    CONTROL \"取消\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 270, 21, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"帮助(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 270, 36, 40, 14\nEND\n\n\nMOVECOPYDLG DIALOGEX 47, 59, 381, 64\nSTYLE WS_BORDER | WS_THICKFRAME | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN\nCAPTION \"移动\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"当前目录: N\", IDD_DIR, \"Static\", SS_SIMPLE | SS_NOPREFIX, 3, 6, 332, 10\n\n    DIALOGRESIZECONTROL { 0, 25, 0, 0 }\n    CONTROL         \"移动到(&T):\", IDD_KK_TEXTTO, \"Static\", SS_LEFTNOWORDWRAP, 3, 33, 50, 10\n    DIALOGRESIZECONTROL { 0, 25, 100, 0}\n    EDITTEXT        IDD_TO, 62, 32, 263, 12, ES_AUTOHSCROLL\n\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL         \"\", IDD_STATUS, \"Static\", SS_SIMPLE | SS_NOPREFIX, 3, 49, 40, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"\", IDD_NAME, \"Static\", SS_SIMPLE | SS_NOPREFIX,  45, 49, 290, 10\n\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"确定\", IDOK, 335, 6, 40, 14\n\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    PUSHBUTTON      \"取消\", IDCANCEL, 335, 23, 40, 14\n\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    PUSHBUTTON      \"帮助(&H)\", IDD_HELP, 335, 40, 40, 14\n\n    DIALOGRESIZECONTROL { 0, 0, 0, 0 }\n    CONTROL         \"从(&F):\", IDD_KK_TEXTFROM, \"Static\", SS_LEFTNOWORDWRAP, 3, 19, 50, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    EDITTEXT        IDD_FROM, 62, 18, 263, 12, ES_AUTOHSCROLL\n\n    DIALOGRESIZECONTROL { 0, 50, 0, 0 }\n    CONTROL         \"\", IDD_DIRS, \"Static\", SS_LEFTNOWORDWRAP, 3, 49, 330, 10\nEND\n\n\n\nDELETEDLG DIALOGEX 20, 20, 246, 64\nCAPTION \"删除\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"当前目录: C\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 5, 193, 10\n    CONTROL \"删除(&L):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 20, 35, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_FROM, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 40, 19, 155, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_STATUS, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 3, 35, 35, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 40, 35, 155, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"确定\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"取消\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"帮助(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 200, 40, 40, 14\nEND\n\nMULTIPLEATTRIBSDLG DIALOG 20, 20, 206, 88\nCAPTION \"属性\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"选择 %d 个文件\", IDD_TEXT1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 5, 144, 10\n    CONTROL \"总共 %s 字节\", IDD_TEXT2, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 16, 144, 10\n    CONTROL \"属性\", -1, \"button\", BS_GROUPBOX | WS_CHILD, 5, 29, 120, 54\n    CONTROL \"只读(&R)\", IDD_READONLY, \"button\", WS_GROUP | WS_TABSTOP | BS_AUTOCHECKBOX | WS_CHILD, 10, 40, 52, 12\n    CONTROL \"隐藏(&I)\", IDD_HIDDEN, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 72, 40, 52, 12\n    CONTROL \"存档(&A)\", IDD_ARCHIVE, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 10, 52, 52, 12\n    CONTROL \"系统(&S)\", IDD_SYSTEM, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 72, 52, 52, 12\n    CONTROL \"压缩(&C)\", IDD_COMPRESSED, \"button\", BS_AUTOCHECKBOX | WS_CHILD, 10, 64, 52, 12\n    CONTROL \"加密(&E)\", IDD_ENCRYPTED, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_DISABLED, 72, 64, 52, 12\n    CONTROL \"确定\", 1, \"button\", WS_GROUP | BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 6, 50, 14\n    CONTROL \"取消\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 23, 50, 14\n    CONTROL \"帮助(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 150, 43, 50, 14\nEND\n\n\nATTRIBSDLG DIALOG 23, 13, 259, 229\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"%s 的属性\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"确定\", IDOK, 204, 6, 50, 14, WS_GROUP\n    PUSHBUTTON      \"取消\", IDCANCEL, 204, 23, 50, 14\n    PUSHBUTTON      \"帮助(&H)\", IDD_HELP, 204, 40, 50, 14\n\n    CONTROL         \"文件名(&F):\", IDD_NAMELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 5, 55, 10\n    EDITTEXT        IDD_NAME, 72, 5, 132, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"路径(&P):\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 16, 51, 10\n    EDITTEXT        IDD_DIR, 72, 16, 132, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"上次修改:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 27, 62, 10\n    CONTROL         \"\", IDD_DATE, \"Static\", SS_LEFTNOWORDWRAP, 72, 27, 132, 10\n    CONTROL         \"版本:\", IDD_VERLABEL, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 38, 45, 10\n    CONTROL         \"未标记\", IDD_VERSION, \"Static\", SS_LEFTNOWORDWRAP |\n                    SS_NOPREFIX, 72, 38, 132, 10\n    LTEXT           \"版权(&Y):\", -1, 5, 49, 45, 10\n    CONTROL         \"未被标注\", IDD_COPYRIGHT, \"Edit\", ES_AUTOHSCROLL |\n                    ES_READONLY | WS_TABSTOP, 72, 49, 132, 10\n    CONTROL         \"大小:\", IDD_SIZELABEL, \"Static\", SS_LEFTNOWORDWRAP,\n                    5, 60, 45, 10\n    CONTROL         \"\", IDD_SIZE, \"Static\", SS_LEFTNOWORDWRAP, 72, 60, 132, 10\n    CONTROL         \"压缩的大小:\", IDD_CSIZELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 71, 62, 10\n    CONTROL         \"\", IDD_CSIZE, \"Static\", SS_LEFTNOWORDWRAP, 72, 71, 132, 10\n    CONTROL         \"压缩比:\", IDD_CRATIOLABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 82, 62, 10\n    CONTROL         \"\", IDD_CRATIO, \"Static\", SS_LEFTNOWORDWRAP, 72, 82, 132, 10\n    GROUPBOX        \"属性\", IDD_TEXT, 4, 96, 120, 54\n    CONTROL         \"只读(&R)\", IDD_READONLY, \"Button\", BS_AUTOCHECKBOX |\n                    WS_GROUP | WS_TABSTOP, 9, 108, 52, 12\n    CONTROL         \"隐藏(&I)\", IDD_HIDDEN, \"Button\", BS_AUTOCHECKBOX,\n                    71, 108, 49, 12\n    CONTROL         \"存档(&A)\", IDD_ARCHIVE, \"Button\", BS_AUTOCHECKBOX,\n                    9, 120, 52, 12\n    CONTROL         \"系统(&S)\", IDD_SYSTEM, \"Button\", BS_AUTOCHECKBOX,\n                    71, 120, 49, 12\n    CONTROL         \"压缩(&C)\", IDD_COMPRESSED, \"Button\", BS_AUTOCHECKBOX,\n                    9, 132, 52, 12\n    GROUPBOX        \"版本信息(&V)\", IDD_VERSION_FRAME, 4, 155, 250, 70\n    LISTBOX         IDD_VERSION_KEY, 9, 168, 91, 58, LBS_SORT |\n                    LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        IDD_VERSION_VALUE, 110, 168, 138, 58, ES_MULTILINE |\n                    ES_READONLY | WS_VSCROLL\nEND\n\n\nCOMPRESSPROGDLG DIALOG 123, 60, 207, 117\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"正在压缩...\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"正在压缩的文件:\", -1, 6, 8, 79, 8\n    LTEXT           \"filename.xxx\", IDD_COMPRESS_FILE, 86, 8, 90, 8\n    LTEXT           \"目录:\", -1, 6, 20, 39, 8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\", IDD_COMPRESS_DIR, 43, \n                    20, 150, 8\n    LTEXT           \"已经压缩的目录:\", -1, 6, 32, 102, 8\n    LTEXT           \"1,888,888,999\", IDD_COMPRESS_TDIRS, 90, 32, 60, 8\n    LTEXT           \"已经压缩的文件:\", -1, 6, 44, 62, 8\n    LTEXT           \"1,888,888,999\", IDD_COMPRESS_TFILES, 74, 44, 58, 8\n    LTEXT           \"压缩前文件的总大小:\", -1, 6, 56, \n                    124, 8\n    LTEXT           \"9,999,999,999,999\", IDD_COMPRESS_USIZE, 134, 56, 68, 8\n    LTEXT           \"压缩后文件的总大小:\", -1, 6, 68, 123, \n                    8\n    LTEXT           \"9,999,999,999,999\", IDD_COMPRESS_CSIZE, 134, 69, 68, 8\n    LTEXT           \"文件压缩比:\", -1, 6, 80, 78, 8\n    LTEXT           \"100%\", IDD_COMPRESS_RATIO, 91, 80, 27, 8\n    PUSHBUTTON      \"取消\", IDCANCEL, 76, 97, 55, 14\nEND\n\nUNCOMPRESSPROGDLG DIALOG 114, 62, 197, 84\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"正在解压缩...\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"正在解压缩的文件:\", -1, 6, 8, 83, 8\n    LTEXT           \"filename.xxx\", IDD_UNCOMPRESS_FILE, 93, 8, 66, 8\n    LTEXT           \"目录:\", -1, 6, 20, 39, 8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\", \n                    IDD_UNCOMPRESS_DIR, 45, 20, 144, 8\n    LTEXT           \"已经解压缩的目录:\", -1, 6, 32, 91, 8\n    LTEXT           \"1,999,999,999\", IDD_UNCOMPRESS_TDIRS, 99, 32, 70, 8\n    LTEXT           \"已经解压缩的文件:\", -1, 6, 44, 86, 8\n    LTEXT           \"1,999,999,999\", IDD_UNCOMPRESS_TFILES, 92, 44, 78, 8\n    PUSHBUTTON      \"取消\", IDCANCEL, 74, 64, 49, 14\nEND\n\nCOMPRESSERRDLG DIALOG 11, 28, 245, 65\nCAPTION \"压缩错误\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    ICON 32515, -1, 8, 8, 21, 20\n    LTEXT \"\", IDD_TEXT1, 35, 8, 190, 20\n\n    DEFPUSHBUTTON \"忽略(&I)\",     IDIGNORE,      33,  47, 40, 14, WS_TABSTOP | WS_CHILD | WS_GROUP\n    PUSHBUTTON    \"全部忽略(&G)\", IDD_IGNOREALL, 79,  47, 40, 14, WS_TABSTOP | WS_CHILD\n    PUSHBUTTON    \"重试(&R)\",      IDRETRY,       125, 47, 40, 14, WS_TABSTOP | WS_CHILD\n    PUSHBUTTON    \"放弃(&A)\",      IDABORT,       171, 47, 40, 14, WS_TABSTOP | WS_CHILD\nEND\n\n\n\nMAKEDIRDLG DIALOGEX 20, 20, 200, 63\nCAPTION \"创建目录\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_DIR, \"static\", SS_LEFTNOWORDWRAP | SS_NOPREFIX | WS_CHILD, 3, 6, 154, 10\n    CONTROL \"名称(&N):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 23, 30, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 37, 22, 90, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\",IDD_STATUS, \"static\", WS_CHILD | SS_NOPREFIX | SS_LEFTNOWORDWRAP, 3, 46, 150, 10\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"确定\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"取消\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"帮助(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 157, 43, 40, 14\nEND\n\n\nCHOOSEDRIVEDLG DIALOG 20, 20, 157, 64\nCAPTION \"复制磁盘\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"源盘(&S):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 8, 50, 10\n    CONTROL \"\", IDD_DRIVE1, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 55, 6, 40, 37\n    CONTROL \"目标盘(&D):\", IDD_FLAGS, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 22, 50, 10\n    CONTROL \"\", IDD_DRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 55, 20, 40, 37\n    CONTROL \"确定\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 6, 40, 14\n    CONTROL \"取消\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 23, 40, 14\n    CONTROL \"帮助(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 43, 40, 14\nEND\n\n\nDISKCOPYPROGRESSDLG DIALOG 30, 30, 130, 55\nCAPTION \"正在复制磁盘\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE | DS_SYSMODAL\nBEGIN\n    CONTROL \"正在复制\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 5, 130, 10\n    CONTROL \"驱动器 A: 中的磁盘\", IDD_DRIVE, \"static\", SS_CENTER | WS_CHILD, 0, 15, 130, 10\n    CONTROL \"读取源磁盘\", IDD_PROGRESS, \"static\", SS_CENTER | WS_CHILD, 0, 26, 130, 10\n    CONTROL \"取消\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 44, 39, 44, 14\nEND\n\nDISKLABELDLG DIALOGEX 20, 20, 161, 63\nCAPTION \"设置磁盘卷标\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_THICKFRAME | WS_POPUP | WS_SYSMENU | WS_CLIPCHILDREN\nBEGIN\n    DIALOGRESIZE { 0, 125 }\n    CONTROL \"卷标(&L):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 15, 30, 10\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 5, 26, 100, 12\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    CONTROL \"确定\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 6, 40, 14\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    CONTROL \"取消\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 23, 40, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    CONTROL \"帮助(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 115, 43, 40, 14\nEND\n\nFORMATDLG DIALOG 11, 28, 183, 96\nCAPTION \"格式化磁盘\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL \"确定\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 6, 40, 14\n    CONTROL \"取消\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 23, 40, 14\n    CONTROL \"帮助(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 43, 40, 14\n    CONTROL \"磁盘位置(&D):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 7, 49, 10\n    CONTROL \"\", IDD_DRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 4, 65, 40\n    CONTROL \"磁盘容量(&C):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 20, 49, 10\n    CONTROL \"\", IDD_HIGHCAP, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 19, 65, 40\n    CONTROL \"选项\", 102, \"button\", BS_GROUPBOX | WS_GROUP | WS_CHILD, 5, 39, 115, 53\n    CONTROL \"卷标(&L):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 11, 51, 39, 10\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 40, 49, 63, 12\n//    CONTROL \"&Make System Disk\", IDD_MAKESYS, \"button\", BS_CHECKBOX | BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD | WS_DISABLED, 11, 62, 90, 12\n    CONTROL \"快速格式化(&Q)\", IDD_VERIFY, \"button\", BS_CHECKBOX | BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 62, 90, 12\nEND\n\nFORMATSELECTDLG DIALOG 11, 28, 183, 44\nCAPTION \"格式化磁盘\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | WS_VISIBLE | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL \"确定\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 6, 40, 14\n    CONTROL \"取消\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 140, 23, 40, 14\n    CONTROL \"磁盘(&D):\", -1, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 7, 49, 10\n    CONTROL \"\", IDD_SELECTDRIVE, \"combobox\", CBS_DROPDOWNLIST | WS_TABSTOP | WS_VSCROLL | WS_CHILD, 55, 4, 65, 40\nEND\n\nFORMATPROGRESSDLG DIALOG 30, 30, 150, 50\nCAPTION \"正在格式化磁盘\"\nFONT 8, \"MS Shell Dlg\"\n//STYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE | DS_SYSMODAL\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE\nBEGIN\n    CONTROL \"正在格式化磁盘\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 5, 150, 10\n    CONTROL \"初始化驱动器...\", IDD_PROGRESS, \"static\", SS_CENTER | WS_CHILD, 0, 17, 150, 10\n    CONTROL \"取消\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 54, 30, 44, 14\nEND\n\n#if 0\nSYSDISKPROGRESSDLG DIALOG 30, 30, 174, 57\nCAPTION \"Make System Disk\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU | WS_VISIBLE\nBEGIN\n    CONTROL \"Now copying system files\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 6, 174, 8\n    CONTROL \"Press Cancel if you want to abort.\", IDD_TEXT, \"static\", SS_CENTER | WS_CHILD, 0, 14, 174, 8\n    CONTROL \"Cancel\", 2, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 66, 39, 44, 14\nEND\n\nCONNECTDLG DIALOG 12, 28, 241, 135\nCAPTION \"Network Connections\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n  GROUPBOX \"New Connection\", -1, 5, 3, 170, 55, WS_CHILD\n\n  LTEXT \"&Network Path:\", -1, 10, 16, 55, 10\n  EDITTEXT, IDD_PATH, 65, 14, 100, 12, ES_AUTOHSCROLL | WS_GROUP | WS_TABSTOP\n  LTEXT \"D&rive:\", -1, 10, 30, 24, 10\n  COMBOBOX IDD_DRIVE, 65, 28, 40, 100, CBS_DROPDOWNLIST | WS_VSCROLL | WS_GROUP | WS_TABSTOP\n  LTEXT \"Pass&word:\", -1, 10, 44, 36, 10\n  EDITTEXT, IDD_PASSWORD, 65, 42, 100, 12, ES_AUTOHSCROLL | ES_PASSWORD | WS_GROUP | WS_TABSTOP\n\n  LTEXT \"Current Dri&ve Connections:\", -1, 5, 62, 120, 10\n  LISTBOX IDD_DRIVE1, 5, 73, 160, 60, LBS_SORT | LBS_NOTIFY | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_BORDER | WS_TABSTOP\n\n  DEFPUSHBUTTON \"C&lose\",  IDCANCEL, 190, 6, 45, 14, WS_GROUP | WS_TABSTOP\n  PUSHBUTTON \"&Connect\", IDOK, 190, 27, 45, 14, WS_TABSTOP\n  PUSHBUTTON \"&Previous...\", IDD_PREV, 190, 44, 45, 14, WS_TABSTOP\n  PUSHBUTTON \"&Browse...\", IDD_NETBROWSE, 190, 61, 45, 14, WS_GROUP | WS_TABSTOP\n  PUSHBUTTON \"&Disconnect\", IDD_DISCONNECT, 190, 78, 45, 14, WS_GROUP|WS_TABSTOP\n  PUSHBUTTON \"&Help\", IDD_HELP, 190, 95, 45, 14, WS_GROUP | WS_TABSTOP\nEND\n\nPREVIOUSDLG DIALOG 30, 30, 231, 98\nCAPTION \"Previous Network Connections\"\nFONT 8 \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"Network &Paths:\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 3, 3, 69, 10\n    CONTROL \"\", IDD_PREV, \"listbox\", LBS_NOTIFY | LBS_SORT | LBS_STANDARD | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 3, 15, 172, 80\n    CONTROL \"&Select\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 6, 44, 14\n    CONTROL \"Close\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 24, 44, 14\n    CONTROL \"&Delete\", IDD_DELETE, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 41, 44, 14\n    CONTROL \"&Help\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 181, 58, 44, 14\nEND\n#endif\n\nOTHERDLG DIALOG 20, 20, 174, 81\nCAPTION \"部分详细资料\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"详细资料\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_CHILD, 4, 4, 121, 74\n    CONTROL \"大小(&S)\", IDD_SIZE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 15, 100, 12\n    CONTROL \"上次修改日期(&M)\", IDD_DATE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 27, 100, 12\n    CONTROL \"上次修改时间(&T)\", IDD_TIME, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 39, 100, 12\n    CONTROL \"文件属性(&F)\", IDD_FLAGS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 51, 100, 12\n    CONTROL \"MS-DOS 文件名(&D)\", IDD_DOSNAMES, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 11, 63, 100, 12\n    CONTROL \"确定\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 6, 40, 14\n    CONTROL \"取消\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 23, 40, 14\n    CONTROL \"帮助(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 130, 60, 40, 14\nEND\n\n\nINCLUDEDLG DIALOG 20, 20, 157, 114\nCAPTION \"按文件类型\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"名称(&N):\", IDD_TEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 5, 8, 23, 10\n    CONTROL \"\", IDD_NAME, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD | ES_AUTOHSCROLL, 34, 6, 65, 12\n    CONTROL \"文件类型\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_CHILD, 5, 20, 94, 62\n    CONTROL \"目录(&D)\", IDD_DIR, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 31, 60, 12\n    CONTROL \"程序(&P)\", IDD_PROGRAMS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 43, 60, 12\n    CONTROL \"文档(&M)\", IDD_DOCS, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 55, 60, 12\n    CONTROL \"其他文件(&O)\", IDD_OTHER, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 67, 60, 12\n    CONTROL \"隐藏/系统文件(&S)\", IDD_SHOWHIDDEN, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 5, 85, 100, 12\n    CONTROL \"显示符号链接(&J)\", IDD_SHOWJUNCTION, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 5, 97, 100, 12\n    CONTROL \"确定\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 6, 40, 14\n    CONTROL \"取消\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 23, 40, 14\n    CONTROL \"帮助(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 110, 43, 40, 14\nEND\n\n\nCONFIRMDLG DIALOG 20, 20, 214, 92\nCAPTION \"确认\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"确认\", IDD_TEXT, \"button\", BS_GROUPBOX | WS_TABSTOP | WS_CHILD, 5, 3, 158, 86\n    CONTROL \"文件删除(&D)\", IDD_DELETE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 15, 80, 12\n    CONTROL \"目录删除(&I)\", IDD_SUBDEL, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 27, 80, 12\n    CONTROL \"文件替换(&R)\", IDD_REPLACE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 39, 80, 12\n    CONTROL \"鼠标操作(&M)\", IDD_MOUSE, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 51, 80, 12\n    CONTROL \"磁盘操作命令(&K)\", IDD_CONFIG, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 63, 80, 12\n    CONTROL \"修改系统、隐藏、只读文件(&S)\", IDD_READONLY, \"button\", BS_AUTOCHECKBOX | WS_TABSTOP | WS_CHILD, 10, 75, 150, 12\n    CONTROL \"确定\", 1, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 168, 6, 40, 14\n    CONTROL \"取消\", 2, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 168, 23, 40, 14\n    CONTROL \"帮助(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 168, 44, 40, 14\nEND\n\nDMSTATUSDLG DIALOG 20, 20, 250, 46\nCAPTION \"正在移动...\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"\", IDD_STATUS, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD , 5, 5, 49, 10\n    CONTROL \"\", IDD_NAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 55, 5, 192, 10\n    CONTROL \"到:\", IDD_TOSTATUS, \"static\", SS_SIMPLE | SS_NOPREFIX | WS_CHILD, 5, 15, 25, 10\n    CONTROL \"\", IDD_TONAME, \"static\", WS_CHILD | SS_SIMPLE | SS_NOPREFIX, 55, 15, 192, 10\n    CONTROL \"取消\", IDCANCEL, \"button\", WS_CHILD | BS_DEFPUSHBUTTON, 200, 28, 40, 14\nEND\n\nPRTDLG DIALOG 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | DS_MODALFRAME | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU\nBEGIN\n    CONTROL \"正在打印文件...\", -1, \"static\", SS_CENTER | WS_GROUP | WS_CHILD, 4, 6, 120, 12\n    CONTROL \"\", IDD_TEXT, \"static\", SS_CENTER | SS_NOPREFIX | WS_GROUP | WS_CHILD, 4, 20, 120, 12\n    CONTROL \"取消\", 2, \"button\", BS_DEFPUSHBUTTON | WS_GROUP | WS_TABSTOP | WS_CHILD, 44, 40, 32, 14\nEND\n\n\nLFNTOFATDLG DIALOG 11, 28, 250, 78\nCAPTION \"选定文件名称\"\nFONT 8, \"MS Shell Dlg\"\nSTYLE WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME | WS_POPUP\nBEGIN\n    CONTROL \"此路径不符合 FAT 文件名格式，请输入新的名称。\", 99, \"static\", SS_LEFT | WS_CHILD, 5, 4, 190, 24\n    CONTROL \"新名称(&N):\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 56, 50, 12\n    CONTROL \"\", IDD_TO, \"edit\", ES_LEFT | WS_BORDER | WS_TABSTOP | WS_CHILD, 57, 55, 130, 12\n    CONTROL \"原路径:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 28, 50, 11\n    CONTROL \"\", IDD_FROM, \"edit\", ES_READONLY | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_CHILD, 57, 28, 130, 12\n    CONTROL \"目的目录:\", -1, \"static\", SS_RIGHT | WS_CHILD, 5, 42, 50, 11\n    CONTROL \"\", IDD_DIR, \"edit\", ES_READONLY | ES_LEFT | ES_AUTOHSCROLL | WS_TABSTOP | WS_CHILD, 57, 42, 130, 12\n    CONTROL \"确定\", IDOK, \"button\", BS_DEFPUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 4, 40, 14\n    CONTROL \"取消\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 20, 40, 14\n    CONTROL \"帮助(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_TABSTOP | WS_CHILD, 205, 36, 40, 14\nEND\n\n\nATTRIBSDLGDIR DIALOG 23, 13, 250, 119\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"%s 的属性\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"确定\", IDOK, 194, 6, 50, 14, WS_GROUP\n    PUSHBUTTON      \"取消\", IDCANCEL, 194, 23, 50, 14\n    PUSHBUTTON      \"帮助(&H)\", IDD_HELP, 194, 43, 50, 14\n    CONTROL         \"文件名(&F):\", IDD_NAMELABEL, \"Static\",\n                    SS_LEFTNOWORDWRAP, 5, 5, 55, 10\n    EDITTEXT        IDD_NAME, 60, 5, 134, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"路径(&P):\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP, 5, 16,\n                    51, 10\n    EDITTEXT        IDD_DIR, 60, 16, 134, 10, ES_AUTOHSCROLL | ES_READONLY |\n                    NOT WS_BORDER\n    CONTROL         \"上次修改:\", IDD_TEXT, \"Static\", SS_LEFTNOWORDWRAP, 5,\n                    27, 62, 10\n    CONTROL         \"\", IDD_DATE, \"Static\", SS_LEFTNOWORDWRAP, 60, 27, 97,\n                    10\n    CONTROL         \"大小:\", IDD_SIZELABEL, \"Static\", SS_LEFTNOWORDWRAP, 5,\n                    38, 45, 10\n    CONTROL         \"\", IDD_SIZE, \"Static\", SS_LEFTNOWORDWRAP, 60, 38, 90,\n                    10\n    GROUPBOX        \"属性\", IDD_TEXT, 4, 52, 120, 54\n    CONTROL         \"只读(&R)\", IDD_READONLY, \"Button\", BS_AUTOCHECKBOX |\n                    WS_GROUP | WS_TABSTOP, 9, 64, 52, 12\n    CONTROL         \"隐藏(&I)\", IDD_HIDDEN, \"Button\", BS_AUTOCHECKBOX, 71, 64,\n                    49, 12\n    CONTROL         \"存档(&A)\", IDD_ARCHIVE, \"Button\", BS_AUTOCHECKBOX, 9,\n                    76, 52, 12\n    CONTROL         \"系统(&S)\", IDD_SYSTEM, \"Button\", BS_AUTOCHECKBOX, 71, 76,\n                    49, 12\n    CONTROL         \"压缩(&C)\", IDD_COMPRESSED, \"button\", BS_AUTOCHECKBOX,\n                    9, 88, 52, 12\nEND\n\n\n#ifdef ASSOC\nASSOCIATEDLG DIALOGEX 20, 20, 255, 129\n#else\nASSOCIATEDLG DIALOGEX 20, 20, 255, 118\n#endif\n\nCAPTION \"关联\"\nSTYLE WS_BORDER | WS_THICKFRAME | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | WS_CLIPCHILDREN\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE { 0, 0 }\n    LTEXT           \"文件的扩展名(&F):\", -1, 6, 7, 68, 8\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    COMBOBOX        IDD_EXT, 76, 5, 44, 55, CBS_DROPDOWN | CBS_SORT |\n                    CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n\n    LTEXT           \"关联(&A):\", -1, 6, 30, 92, 10\n\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    EDITTEXT        IDD_COMMAND, 6, 42, 172, 12, ES_AUTOHSCROLL\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    LISTBOX         IDD_CLASSLIST, 11, 54, 167, 62, LBS_SORT | WS_VSCROLL | WS_TABSTOP\n#ifdef ASSOC\n#ifdef ASSOCHEAD\n                    | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS\n#endif\n#endif\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    PUSHBUTTON      \"浏览(&B)...\", IDD_BROWSE, 130, 24, 47, 14\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"确定\", IDOK, 187, 6, 62, 14, WS_GROUP\n    DIALOGRESIZECONTROL { 100, 10, 0, 0 }\n    PUSHBUTTON      \"取消\", IDCANCEL, 187, 23, 62, 14\n    DIALOGRESIZECONTROL { 100, 30, 0, 0 }\n    PUSHBUTTON      \"新建类型(&N)...\", IDD_NEW, 187, 42, 62, 14\n    DIALOGRESIZECONTROL { 100, 40, 0, 0 }\n    PUSHBUTTON      \"&更改类型(&C)...\", IDD_CONFIG, 187, 59, 62, 14\n    DIALOGRESIZECONTROL { 100, 50, 0, 0 }\n    PUSHBUTTON      \"删除类型(&D)\", IDD_DELETE, 187, 76, 62, 14\n    DIALOGRESIZECONTROL { 100, 100, 0, 0 }\n    PUSHBUTTON      \"帮助(&H)\", IDD_HELP, 187, 95, 62, 14\n\n#ifdef ASSOC\n    AUTOCHECKBOX    \"&View Common File Types and Extensions only\", IDD_SYSTEM,\n                    6, 117, 160, 10, WS_GROUP\n#endif\nEND\n\nASSOCIATEFILEDLG DIALOG 18, 14, 290, 224\nCAPTION \"更改文件类型\"\nSTYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"文件类型(&F):\", IDD_DESCTEXT, 5, 6, 33, 8\n    EDITTEXT        IDD_DESC, 42, 5, 95, 12, ES_AUTOHSCROLL\n    GROUPBOX        \"操作(&A): \", -1, 5, 22, 235, 126, WS_GROUP\n    COMBOBOX        IDD_ACTION, 36, 22, 48, 33, CBS_DROPDOWNLIST |\n                    WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"命令(&C):\", IDD_COMMANDTEXT, 9, 42, 38, 8\n    EDITTEXT        IDD_COMMAND, 47, 39, 111, 12, ES_AUTOHSCROLL\n    PUSHBUTTON      \"浏览(&B)...\", IDD_BROWSE, 164, 38, 40, 14\n    AUTOCHECKBOX    \"使用 DDE(&U)\", IDD_DDE, 10, 57, 50, 10, WS_GROUP\n    LTEXT           \"DDE 消息(&D):\", IDD_DDEMESGTEXT, 22, 72, 50, 8\n    EDITTEXT        IDD_DDEMESG, 105, 70, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"应用程序未运行时的 DDE 消息(&N):\", IDD_DDENOTRUNTEXT, 22, 84, 82, 19\n    LTEXT           \"(可选)\", IDD_DDEOPTIONALTEXT, 207, 90, 32, 8\n    EDITTEXT        IDD_DDENOTRUN, 105, 88, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"应用程序(&C):\", IDD_DDEAPPTEXT, 22, 109, 39, 8\n    EDITTEXT        IDD_DDEAPP, 105, 107, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"题目(&T):\", IDD_DDETOPICTEXT, 23, 127, 21, 8\n    EDITTEXT        IDD_DDETOPIC, 105, 125, 100, 12, ES_AUTOHSCROLL\n    LTEXT           \"新扩展名(&W):\", -1, 11, 184, 52, 8\n    EDITTEXT        IDD_EXT, 64, 183, 32, 12, ES_AUTOHSCROLL\n    PUSHBUTTON      \"添加(&D) ->\", IDD_ADD, 102, 174, 44, 14\n    PUSHBUTTON      \"<-  删除(&R)\", IDD_DELETE, 102, 191, 44, 14\n    LTEXT           \"扩展名(&E):\", -1, 157, 162, 41, 8\n    LISTBOX         IDD_EXTLIST, 157, 172, 65, 40, LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"与本文件类型相关的扩展名:\", IDD_EXTTEXT, 5, 154, 235, 66\n    DEFPUSHBUTTON   \"确定\", IDOK, 244, 6, 40, 14\n    PUSHBUTTON      \"取消\", IDCANCEL, 244, 23, 40, 14\n    PUSHBUTTON      \"帮助(&H)\", IDD_HELP, 244, 40, 40, 14\nEND\n\nGOTODIRDLG DIALOGEX 13, 54, 464, 125\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_CLIPCHILDREN | WS_MAXIMIZEBOX\nCAPTION \"转到目录\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DIALOGRESIZE    { 0, 0 }\n    LTEXT           \"转到目录(&G):\", -1, 6, 3, 100, 8\n    DIALOGRESIZECONTROL { 0, 0, 100, 0 }\n    CONTROL         \"\", IDD_GOTODIR, \"edit\", ES_LEFT | ES_AUTOHSCROLL | WS_BORDER | WS_TABSTOP | WS_CHILD, 6, 13, 406, 12\n    DIALOGRESIZECONTROL { 0, 0, 100, 100 }\n    LISTBOX         IDD_GOTOLIST, 6, 25, 406, 95, WS_VSCROLL | WS_TABSTOP\n\n    DIALOGRESIZECONTROL { 100, 0, 0, 0 }\n    DEFPUSHBUTTON   \"确定\", IDOK, 418, 13, 40, 14, WS_GROUP\n    DIALOGRESIZECONTROL { 100, 3, 0, 0 }\n    PUSHBUTTON      \"取消\", IDCANCEL, 418, 30, 40, 14, WS_GROUP\nEND\n\nPREFDLG DIALOG 20, 20, 229, 140\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"首选项\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n   CONTROL \"编辑器路径：\", IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 17, 50, 14\n   CONTROL \"\", IDD_EDITOR, \"edit\", ES_AUTOHSCROLL | ES_LEFT | WS_CHILD | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 67, 14, 127, 14\n   CONTROL \"...\", IDC_EDITOR, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 195, 14, 20, 14\n   CONTROL \"禁用工具栏的可视化风格\", IDC_VSTYLE, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 38, 119, 14\n   CONTROL \"在启动时创建“转到目录“索引(&G)\", IDC_GOTO, \"button\", BS_AUTOCHECKBOX | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 16, 50, 119, 14\n   CONTROL \"Mirror application content\", IDC_MIRROR, \"button\", BS_AUTOCHECKBOX | WS_CHILD /* | WS_VISIBLE | WS_TABSTOP */, 0, 0, 0, 0    // invisible, not a tabsop; here to satisfy VerifyResources tool.\n   CONTROL \"语言：\", IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 70, 35, 14\n   CONTROL \"\", IDC_LANGCB, \"combobox\", CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP | WS_CHILD, 50, 68, 150, 54\n   CONTROL \"请注意某些更改仅在重新打开程序后生效。\",\n            IDD_TEXT, \"static\", SS_LEFT | WS_CHILD | WS_VISIBLE | WS_GROUP, 15, 90, 180, 20\n   CONTROL \"确定\", IDOK, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 55, 120, 40, 14\n   CONTROL \"取消\", IDCANCEL, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 103, 120, 40, 14\n   CONTROL \"帮助(&H)\", IDD_HELP, \"button\", BS_PUSHBUTTON | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 149, 120, 40, 14\nEND\n\nABOUTDLG DIALOG 13, 54, 250, 75\nSTYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"关于\"\"文件管理器\"\"\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            APPICON, -1, 6, 6, 32, 32\n    LTEXT           \"Windows 文件管理器\", -1, 36, 6, 200, 8\n    CONTROL         \"TO BE SET\", IDD_VERTEXT, \"static\", SS_LEFTNOWORDWRAP | WS_CHILD, 36, 18, 200, 8\n    LTEXT           \"(c) Microsoft Corporation。保留所有权利。\", -1, 36, 30, 200, 8\n    LTEXT           \"使用 MIT License 发行。\", -1, 36, 42, 200, 8\n    LTEXT           \"https://github.com/Microsoft/winfile\", -1, 36, 54, 200, 8\n    DEFPUSHBUTTON   \"确定\", IDOK, 200, 50, 40, 14\nEND\n"
  },
  {
    "path": "src/lfn.c",
    "content": "/********************************************************************\r\n\r\n   lfn.c\r\n\r\n   This file contains code that combines winnet long filename API's and\r\n   the DOS INT 21h API's into a single interface.  Thus, other parts of\r\n   Winfile call a single piece of code with no worries about the\r\n   underlying interface.\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n#include \"lfn.h\"                            // lfn includes\r\n#include \"wfcopy.h\"\r\n\r\nBOOL IsFATName(LPTSTR pName);\r\n\r\n/* WFFindFirst -\r\n *\r\n * returns:\r\n *      TRUE for success - lpFind->fd,hFindFileset,attrFilter set.\r\n *      FALSE for failure\r\n *\r\n *  Performs the FindFirst operation and the first WFFindNext.\r\n */\r\n\r\nBOOL\r\nWFFindFirst(\r\n   LPLFNDTA lpFind,\r\n   LPTSTR lpName,\r\n   DWORD dwAttrFilter)\r\n{\r\n   INT    nLen;\r\n   LPTSTR pEnd;\r\n\r\n   //\r\n   // We OR these additional bits because of the way DosFindFirst works\r\n   // in Windows. It returns the files that are specified by the attrfilter\r\n   // and ORDINARY files too.\r\n   //\r\n\r\n   PVOID oldValue = NULL;\r\n   if (Wow64DisableWow64FsRedirection != NULL)\r\n   {\r\n       Wow64DisableWow64FsRedirection(&oldValue);\r\n   }\r\n\r\n   if ((dwAttrFilter & ~(ATTR_DIR | ATTR_HS)) == 0)\r\n   {\r\n       // directories only (hidden or not)\r\n       lpFind->hFindFile = FindFirstFileEx(lpName, FindExInfoStandard, &lpFind->fd, FindExSearchLimitToDirectories, NULL, 0);\r\n   }\r\n   else\r\n   {\r\n       // normal case: directories and files\r\n       lpFind->hFindFile = FindFirstFile(lpName, &lpFind->fd);\r\n   }\r\n\r\n   if (lpFind->hFindFile == INVALID_HANDLE_VALUE) {\r\n       lpFind->err = GetLastError();\r\n   } else {\r\n       lpFind->err = 0;\r\n   }\r\n\r\n   // add in attr_* which we want to include in the match even though the caller didn't request them.\r\n   dwAttrFilter |= ATTR_ARCHIVE | ATTR_READONLY | ATTR_NORMAL | ATTR_REPARSE_POINT |\r\n       ATTR_TEMPORARY | ATTR_COMPRESSED | ATTR_ENCRYPTED | ATTR_NOT_INDEXED;\r\n\r\n   lpFind->fd.dwFileAttributes &= ATTR_USED;\r\n\r\n   if (Wow64RevertWow64FsRedirection != NULL)\r\n   {\r\n       Wow64RevertWow64FsRedirection(oldValue);\r\n   }\r\n\r\n   //\r\n   // Keep track of length\r\n   //\r\n   nLen = lstrlen(lpName);\r\n   pEnd = &lpName[nLen-1];\r\n\r\n   while (CHAR_BACKSLASH != *pEnd) {\r\n      pEnd--;\r\n      nLen--;\r\n   }\r\n\r\n   lpFind->nSpaceLeft = MAXPATHLEN-nLen-1;\r\n\r\n   if (lpFind->hFindFile != INVALID_HANDLE_VALUE) {\r\n      lpFind->dwAttrFilter = dwAttrFilter;\r\n      if ((~dwAttrFilter & lpFind->fd.dwFileAttributes) == 0L) {\r\n         if (lpFind->fd.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) {\r\n            if (lpFind->fd.dwReserved0 == IO_REPARSE_TAG_MOUNT_POINT) {\r\n               lpFind->fd.dwFileAttributes |= ATTR_JUNCTION;\r\n            } else if (lpFind->fd.dwReserved0 == IO_REPARSE_TAG_SYMLINK) {\r\n               lpFind->fd.dwFileAttributes |= ATTR_SYMBOLIC;\r\n            }\r\n         }\r\n         return(TRUE);\r\n      } else if (WFFindNext(lpFind)) {\r\n         return(TRUE);\r\n      } else {\r\n         WFFindClose(lpFind);\r\n         return(FALSE);\r\n      }\r\n   } else {\r\n      return(FALSE);\r\n   }\r\n}\r\n\r\n\r\n\r\n/* WFFindNext -\r\n *\r\n *  Performs a single file FindNext operation.  Only returns TRUE if a\r\n *  file matching the dwAttrFilter is found.  On failure the caller is\r\n *  expected to call WFFindClose.\r\n */\r\nBOOL\r\nWFFindNext(LPLFNDTA lpFind)\r\n{\r\n   PVOID oldValue = NULL;\r\n   if (Wow64DisableWow64FsRedirection != NULL)\r\n   {\r\n       Wow64DisableWow64FsRedirection(&oldValue);\r\n   }\r\n\r\n   while (FindNextFile(lpFind->hFindFile, &lpFind->fd)) {\r\n\r\n      lpFind->fd.dwFileAttributes &= ATTR_USED;\r\n\r\n      //\r\n      // only pick files that fit attr filter\r\n      //\r\n      if ((lpFind->fd.dwFileAttributes & ~lpFind->dwAttrFilter) != 0)\r\n         continue;\r\n\r\n      //\r\n      // Don't allow viewage of files > MAXPATHLEN\r\n      //\r\n      if (lstrlen(lpFind->fd.cFileName) > lpFind->nSpaceLeft) {\r\n\r\n         if (!lpFind->fd.cAlternateFileName[0] ||\r\n            lstrlen(lpFind->fd.cAlternateFileName) > lpFind->nSpaceLeft) {\r\n\r\n            continue;\r\n         }\r\n\r\n         //\r\n         // Force longname to be same as shortname\r\n         //\r\n         lstrcpy(lpFind->fd.cFileName, lpFind->fd.cAlternateFileName);\r\n      }\r\n\r\n      if (lpFind->fd.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT) {\r\n          if (lpFind->fd.dwReserved0 == IO_REPARSE_TAG_MOUNT_POINT) {\r\n              lpFind->fd.dwFileAttributes |= ATTR_JUNCTION;\r\n          } else if (lpFind->fd.dwReserved0 == IO_REPARSE_TAG_SYMLINK) {\r\n              lpFind->fd.dwFileAttributes |= ATTR_SYMBOLIC;\r\n          }\r\n      }\r\n\r\n      if (Wow64RevertWow64FsRedirection != NULL)\r\n      {\r\n          Wow64RevertWow64FsRedirection(oldValue);\r\n      }\r\n\r\n      lpFind->err = 0;\r\n      return TRUE;\r\n   }\r\n\r\n   lpFind->err = GetLastError();\r\n\r\n   if (Wow64RevertWow64FsRedirection != NULL)\r\n   {\r\n       Wow64RevertWow64FsRedirection(oldValue);\r\n   }\r\n   return(FALSE);\r\n}\r\n\r\n\r\n/* WFFindClose -\r\n *\r\n *  performs the find close operation\r\n */\r\nBOOL\r\nWFFindClose(LPLFNDTA lpFind)\r\n{\r\n    BOOL bRet;\r\n\r\n//    ASSERT(lpFind->hFindFile != INVALID_HANDLE_VALUE);\r\n\r\n// This section WAS #defined DBG, but removed\r\n// Basically, when copying a directory into ITS subdirectory, we detect\r\n// an error.  Since the error is detected late (after the file handle\r\n// is closed), we jump to error code that pops up a message, then tries\r\n// to close the same handle.  This cause the a bomb.  By un #define DBG ing\r\n// this code, we allow multiple file closes.  This is sloppy, but works.\r\n\r\n// A better solution is to put another flag in the error code \"ret\" in\r\n// WFMoveCopyDriver right after it calls GetNextPair.\r\n\r\n    if (lpFind->hFindFile == INVALID_HANDLE_VALUE) {\r\n        return(FALSE);\r\n    }\r\n\r\n    bRet = FindClose(lpFind->hFindFile);\r\n\r\n// This section WAS #defined DBG, but removed\r\n    lpFind->hFindFile = INVALID_HANDLE_VALUE;\r\n\r\n    return(bRet);\r\n}\r\n\r\n\r\n\r\n\r\n/* WFIsDir\r\n *\r\n *  Determines if the specified path is a directory\r\n */\r\nBOOL\r\nWFIsDir(LPTSTR lpDir)\r\n{\r\n   DWORD attr = GetFileAttributes(lpDir);\r\n\r\n   if (attr == INVALID_FILE_ATTRIBUTES)\r\n      return FALSE;\r\n\r\n   if (attr & ATTR_DIR)\r\n      return TRUE;\r\n\r\n   return FALSE;\r\n}\r\n\r\n/* GetNameType -\r\n *\r\n *  Shell around LFNParse.  Classifies name.\r\n *\r\n *  NOTE: this should work on unqualified names.  currently this isn't\r\n *        very useful.\r\n */\r\nDWORD\r\nGetNameType(LPTSTR lpName)\r\n{\r\n   if (CHAR_COLON == *(lpName+1)) {\r\n      if (!IsLFNDrive(lpName))\r\n         return FILE_83_CI;\r\n   } else if(IsFATName(lpName))\r\n      return FILE_83_CI;\r\n\r\n   return(FILE_LONG);\r\n}\r\n\r\n#if 0\r\nBOOL\r\nIsLFNDrive(LPTSTR szDrive)\r\n{\r\n   DRIVE drive = DRIVEID(szDrive);\r\n\r\n   if (CHAR_COLON == szDrive[1]) {\r\n\r\n      U_VolInfo(drive);\r\n\r\n      if (GETRETVAL(VolInfo,drive))\r\n         return FALSE;\r\n\r\n      return aDriveInfo[drive].dwMaximumComponentLength == MAXDOSFILENAMELEN-1 ?\r\n         FALSE :\r\n         TRUE;\r\n\r\n   } else {\r\n\r\n      DWORD dwVolumeSerialNumber;\r\n      DWORD dwMaximumComponentLength;\r\n      DWORD dwFileSystemFlags;\r\n\r\n      INT i;\r\n      LPTSTR p;\r\n\r\n      TCHAR szRootPath[MAXPATHLEN];\r\n\r\n      if (ISUNCPATH(szDrive)) {\r\n\r\n         lstrcpy(szRootPath, szDrive);\r\n\r\n         //\r\n         // Stop at \"\\\\foo\\bar\"\r\n         //\r\n         for (i=0, p=szRootPath+2; *p && i<2; p++) {\r\n\r\n            if (CHAR_BACKSLASH == *p)\r\n               i++;\r\n         }\r\n\r\n         switch (i) {\r\n         case 0:\r\n\r\n            return FALSE;\r\n\r\n         case 1:\r\n\r\n            if (lstrlen(szRootPath) < MAXPATHLEN-2) {\r\n\r\n               *p = CHAR_BACKSLASH;\r\n               *(p+1) = CHAR_NULL;\r\n\r\n            } else {\r\n\r\n               return FALSE;\r\n            }\r\n            break;\r\n\r\n         case 2:\r\n\r\n            *p = CHAR_NULL;\r\n            break;\r\n         }\r\n      }\r\n\r\n      if (GetVolumeInformation( szRootPath,\r\n                                NULL,\r\n                                0,\r\n                                &dwVolumeSerialNumber,\r\n                                &dwMaximumComponentLength,\r\n                                &dwFileSystemFlags,\r\n                                NULL,\r\n                                0 ))\r\n      {\r\n         if (dwMaximumComponentLength == MAXDOSFILENAMELEN - 1)\r\n            return FALSE;\r\n         else\r\n            return TRUE;\r\n      }\r\n      return FALSE;\r\n   }\r\n}\r\n#endif\r\n\r\nBOOL\r\nIsFATName(\r\n   IN  LPTSTR FileName\r\n)\r\n/*++\r\n\r\nRoutine Description:\r\n\r\n   This routine computes whether or not the given file name would\r\n   be appropriate under DOS's 8.3 naming convention.\r\n\r\nArguments:\r\n\r\n   FileName    - Supplies the file name to check.\r\n\r\nReturn Value:\r\n\r\n   FALSE   - The supplied name is not a DOS file name.\r\n   TRUE    - The supplied name is a valid DOS file name.\r\n\r\n--*/\r\n{\r\n   ULONG   i, n, name_length, ext_length;\r\n   BOOLEAN dot_yet;\r\n   PTUCHAR p;\r\n\r\n   n = lstrlen(FileName);\r\n   p = (PTUCHAR) FileName;\r\n   name_length = n;\r\n   ext_length = 0;\r\n\r\n   if (n > 12) {\r\n      return FALSE;\r\n   }\r\n\r\n   dot_yet = FALSE;\r\n   for (i = 0; i < n; i++) {\r\n\r\n      if (p[i] < 32) {\r\n         return FALSE;\r\n      }\r\n\r\n      switch (p[i]) {\r\n      case CHAR_STAR:\r\n      case CHAR_QUESTION:\r\n      case CHAR_SLASH:\r\n      case CHAR_BACKSLASH:\r\n      case CHAR_PIPE:\r\n      case CHAR_COMMA:\r\n      case CHAR_SEMICOLON:\r\n      case CHAR_COLON:\r\n      case CHAR_PLUS:\r\n      case CHAR_EQUAL:\r\n      case CHAR_LESS:\r\n      case CHAR_GREATER:\r\n      case CHAR_OPENBRACK:\r\n      case CHAR_CLOSEBRACK:\r\n      case CHAR_DQUOTE:\r\n         return FALSE;\r\n\r\n      case CHAR_DOT:\r\n         if (dot_yet) {\r\n            return FALSE;\r\n         }\r\n\r\n         dot_yet = TRUE;\r\n         name_length = i;\r\n         ext_length = n - i - 1;\r\n         break;\r\n      }\r\n   }\r\n\r\n   if (!name_length) {\r\n      return dot_yet && n == 1;\r\n   }\r\n\r\n   if (name_length > 8 || p[name_length - 1] == CHAR_SPACE) {\r\n      return FALSE;\r\n   }\r\n\r\n   if (!ext_length) {\r\n      return !dot_yet;\r\n   }\r\n\r\n   if (ext_length > 3 || p[name_length + 1 + ext_length - 1] == CHAR_SPACE) {\r\n      return FALSE;\r\n   }\r\n\r\n   return TRUE;\r\n}\r\n\r\n\r\nBOOL\r\nIsLFN(LPTSTR pName)\r\n{\r\n    return !IsFATName(pName);\r\n}\r\n\r\n// LFNMergePath\r\n//\r\n// IN: lpMask = path with wildcard to be expanded (relative or full)\r\n//              NonZero.\r\n//     lpFile = non-wildcarded filename (filespec only or \"\\\" for root)\r\n//\r\n// OUT: True (no error checking)\r\n//\r\n// Note: This is not the same as LFNParse, since here, lpMask can be an\r\n//       absolute path, while lpFile is almost always a file spec.\r\n//       (or \\).  LFNParse assumes that lpFile a file path.\r\n//       You may call LFNParse, and this will work since lpFile\r\n//       just happens to be a filespec rather than a fully qualified path.\r\n//       LFNParse will die lpFile is fully qualified.\r\n\r\nBOOL\r\nLFNMergePath(LPTSTR lpMask, LPTSTR lpFile)\r\n{\r\n   TCHAR szT[MAXPATHLEN*2];\r\n   INT iResStrlen;\r\n\r\n   //\r\n   // Get the directory portion (from root to parent) of the destination.\r\n   // (  a:\\joe\\martha\\wilcox.*  ->  a:\\joe\\martha\\ )\r\n   //\r\n   lstrcpy( szT, lpMask );\r\n   RemoveLast( szT );\r\n\r\n   //\r\n   // Add a blackslash if there isn't one already.\r\n   //\r\n   AddBackslash(szT);\r\n\r\n   // hack fix: Normally, I_LFNEditName will return a:\\xxxx\\\\. when lpFile\r\n   // is \"\\\\\" (C-style string, so the first \\ is an escape char).\r\n   // Only do the file masking if lpFile is NOT the root directory.\r\n   // If it is, the return value is a:\\xxxx\\ which is what is expected\r\n   // when a root is merged.\r\n\r\n   if (!( CHAR_BACKSLASH == lpFile[0] && CHAR_NULL == lpFile[1] )) {\r\n\r\n      iResStrlen = lstrlen( szT );\r\n\r\n      I_LFNEditName(lpFile,                  // jack.bat\r\n         FindFileName( lpMask ),             // *.*\r\n         szT + iResStrlen,                   // right after \"a:\\more\\beer\\\"\r\n         COUNTOF(szT) - iResStrlen);\r\n\r\n      // If there is a trailing '.', always but always kill it.\r\n\r\n      iResStrlen = lstrlen( szT );\r\n      if ((iResStrlen != 0) && CHAR_DOT == szT[iResStrlen - 1])\r\n         szT[ iResStrlen-1 ] = CHAR_NULL;\r\n   }\r\n\r\n   lstrcpy(lpMask, szT);\r\n   return TRUE;\r\n}\r\n\r\n/* WFCopyIfSymlink\r\n *\r\n *  Copies symbolic links \r\n */\r\nDWORD\r\nWFCopyIfSymlink(LPTSTR pszFrom, LPTSTR pszTo, DWORD dwFlags, DWORD dwNotification)\r\n{\r\n   DWORD dwRet;\r\n   WCHAR szReparseDest[2 * MAXPATHLEN];\r\n\r\n   DWORD dwReparseTag = DecodeReparsePoint(pszFrom, szReparseDest, 2 * MAXPATHLEN);\r\n\r\n   if (IO_REPARSE_TAG_SYMLINK == dwReparseTag)\r\n   {\r\n      if (CreateSymbolicLink == NULL)\r\n      {\r\n         dwRet = ERROR_NOT_SUPPORTED;\r\n      }\r\n      else\r\n      {\r\n         CreateSymbolicLink(pszTo, szReparseDest, dwFlags | (bDeveloperModeAvailable ? SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE : 0));\r\n         dwRet = GetLastError();\r\n         if (ERROR_SUCCESS == dwRet)\r\n         {\r\n            ChangeFileSystem(dwNotification, pszTo, NULL);\r\n         }\r\n      }\r\n   }\r\n   else\r\n   {\r\n      dwRet = GetLastError();\r\n   }\r\n\r\n   return dwRet;\r\n}\r\n\r\n/* WFCopy\r\n *\r\n *  Copies files\r\n */\r\nDWORD\r\nWFCopy(LPTSTR pszFrom, LPTSTR pszTo)\r\n{\r\n    DWORD dwRet;\r\n    TCHAR szTemp[MAXPATHLEN];\r\n    BOOL bCancel = FALSE;\r\n\r\n    Notify(hdlgProgress, IDS_COPYINGMSG, pszFrom, pszTo);\r\n\r\n    if (CopyFileEx(pszFrom, pszTo, NULL, NULL, &bCancel, COPY_FILE_COPY_SYMLINK))\r\n    {\r\n        ChangeFileSystem(FSC_CREATE, pszTo, NULL);\r\n        dwRet = 0;\r\n    }\r\n    else\r\n    {\r\n       dwRet = GetLastError();\r\n       switch (dwRet) {\r\n       case ERROR_INVALID_NAME:\r\n          //\r\n          //  Try copying without the file name in the TO field.\r\n          //  This is for the case where it's trying to copy to a print\r\n          //  share.  CopyFile fails if the file name is tacked onto the\r\n          //  end in the case of printer shares. \r\n          //  We do not handle symlinks here as we did above\r\n          //\r\n          lstrcpy(szTemp, pszTo);\r\n          RemoveLast(szTemp);\r\n          if (CopyFile(pszFrom, szTemp, FALSE))\r\n          {\r\n             ChangeFileSystem(FSC_CREATE, szTemp, NULL);\r\n             dwRet = 0;\r\n          }\r\n\r\n          // else ... use the original dwRet value.\r\n          break;\r\n\r\n       case ERROR_PRIVILEGE_NOT_HELD:\r\n          dwRet = WFCopyIfSymlink(pszFrom, pszTo, 0, FSC_CREATE);\r\n          break;\r\n       }\r\n    }\r\n\r\n    return dwRet;\r\n}\r\n\r\n/* WFHardlink\r\n *\r\n *  Creates a Hardlink\r\n */\r\nDWORD\r\nWFHardLink(LPTSTR pszFrom, LPTSTR pszTo)\r\n{\r\n   DWORD dwRet;\r\n\r\n   Notify(hdlgProgress, IDS_COPYINGMSG, pszFrom, pszTo);\r\n\r\n   if (CreateHardLink(pszTo, pszFrom, NULL)) {\r\n      ChangeFileSystem(FSC_CREATE, pszTo, NULL);\r\n      dwRet = ERROR_SUCCESS;\r\n   } else {\r\n      dwRet = GetLastError();\r\n   }\r\n\r\n   return dwRet;\r\n}\r\n\r\n/* WFSymbolicLink\r\n *\r\n *  Creates a Symbolic Link\r\n */\r\nDWORD\r\nWFSymbolicLink(LPTSTR pszFrom, LPTSTR pszTo, DWORD dwFlags)\r\n{\r\n   DWORD dwRet;\r\n\r\n   Notify(hdlgProgress, IDS_COPYINGMSG, pszFrom, pszTo);\r\n   if (CreateSymbolicLink == NULL)\r\n   {\r\n      dwRet = ERROR_NOT_SUPPORTED;\r\n   }\r\n   else if (CreateSymbolicLink(pszTo, pszFrom, dwFlags | (bDeveloperModeAvailable ? SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE : 0)))\r\n   {\r\n      ChangeFileSystem(dwFlags == SYMBOLIC_LINK_FLAG_DIRECTORY ? FSC_SYMLINKD : FSC_CREATE, pszTo, NULL);\r\n      dwRet = ERROR_SUCCESS;\r\n   }\r\n   else\r\n   {\r\n      dwRet = GetLastError();\r\n   }\r\n\r\n   return dwRet;\r\n}\r\n\r\ntypedef struct _REPARSE_DATA_BUFFER {\r\n   ULONG  ReparseTag;\r\n   USHORT  ReparseDataLength;\r\n   USHORT  Reserved;\r\n   union {\r\n      struct {\r\n         USHORT  SubstituteNameOffset;\r\n         USHORT  SubstituteNameLength;\r\n         USHORT  PrintNameOffset;\r\n         USHORT  PrintNameLength;\r\n         ULONG   Flags; // it seems that the docu is missing this entry (at least 2008-03-07)\r\n         WCHAR  PathBuffer[1];\r\n      } SymbolicLinkReparseBuffer;\r\n      struct {\r\n         USHORT  SubstituteNameOffset;\r\n         USHORT  SubstituteNameLength;\r\n         USHORT  PrintNameOffset;\r\n         USHORT  PrintNameLength;\r\n         WCHAR  PathBuffer[1];\r\n      } MountPointReparseBuffer;\r\n      struct {\r\n         UCHAR  DataBuffer[1];\r\n      } GenericReparseBuffer;\r\n   };\r\n} REPARSE_DATA_BUFFER, *PREPARSE_DATA_BUFFER;\r\n\r\n#define PATH_PARSE_SWITCHOFF L\"\\\\\\\\?\\\\\" \r\n#define PATH_PARSE_SWITCHOFF_SIZE (sizeof(PATH_PARSE_SWITCHOFF) - 1) / sizeof(wchar_t)\r\n#define REPARSE_MOUNTPOINT_HEADER_SIZE   8\r\n\r\nBOOL IsVeryLongPath(LPCWSTR pszPathName)\r\n{\r\n   return (wcslen(pszPathName) >= COUNTOF(PATH_PARSE_SWITCHOFF) - 1) && !wcsncmp(pszPathName, PATH_PARSE_SWITCHOFF, COUNTOF(PATH_PARSE_SWITCHOFF) - 1);\r\n}\r\n\r\n/* WFJunction\r\n *\r\n * Creates a NTFS Junction\r\n * Returns either ERROR_SUCCESS or GetLastError()\r\n */\r\nDWORD WFJunction(LPCWSTR pszLinkDirectory, LPCWSTR pszLinkTarget)\r\n{\r\n   DWORD        dwRet = ERROR_SUCCESS;\r\n   // Size assumption: We have to copy 2 path with each MAXPATHLEN long onto the structure. So we take 3 times MAXPATHLEN\r\n   char         reparseBuffer[MAXPATHLEN * 3];\r\n   WCHAR        szDirectoryName[MAXPATHLEN];\r\n   WCHAR        szTargetName[MAXPATHLEN];\r\n   PWCHAR       szFilePart;\r\n   DWORD        dwLength;\r\n\r\n\r\n   // Get the full path referenced by the target\r\n   if (!GetFullPathName(pszLinkTarget, MAXPATHLEN, szTargetName, &szFilePart))\r\n      return GetLastError();\r\n\r\n   // Get the full path referenced by the directory\r\n   if (!GetFullPathName(pszLinkDirectory, MAXPATHLEN, szDirectoryName, &szFilePart))\r\n      return GetLastError();\r\n\r\n   // Create the link - ignore errors since it might already exist\r\n   BOOL bDirCreated = CreateDirectory(pszLinkDirectory, NULL);\r\n   if (!bDirCreated) {\r\n      DWORD dwErr = GetLastError();\r\n      if (ERROR_ALREADY_EXISTS != dwErr)\r\n         return dwErr;\r\n      else {\r\n         // If a Junction already exists, we have to check if it points to the \r\n         // same location, and if yes then return ERROR_ALREADY_EXISTS\r\n         wchar_t szDestination[MAXPATHLEN] = { 0 };\r\n         DecodeReparsePoint(pszLinkDirectory, szDestination, COUNTOF(szDestination));\r\n\r\n         if (!_wcsicmp(szDestination, pszLinkTarget)) {\r\n            SetLastError(ERROR_ALREADY_EXISTS);\r\n            return ERROR_ALREADY_EXISTS;\r\n         }\r\n      }\r\n   }\r\n\r\n   HANDLE hFile = CreateFile(\r\n      pszLinkDirectory,\r\n      GENERIC_WRITE,\r\n      0,\r\n      NULL,\r\n      OPEN_EXISTING,\r\n      FILE_FLAG_OPEN_REPARSE_POINT | FILE_FLAG_BACKUP_SEMANTICS,\r\n      NULL\r\n   );\r\n\r\n   if (INVALID_HANDLE_VALUE == hFile)\r\n      return GetLastError();\r\n\r\n   // Make the native target name\r\n   WCHAR szSubstituteName[MAXPATHLEN];\r\n\r\n   // The target might be\r\n   if (IsVeryLongPath(szTargetName)) {\r\n      // a very long path: \\\\?\\x:\\path\\target\r\n      swprintf_s(szSubstituteName, MAXPATHLEN, L\"\\\\??\\\\%s\", &szTargetName[PATH_PARSE_SWITCHOFF_SIZE]);\r\n   }\r\n   else {\r\n      if (szTargetName[0] == L'\\\\' && szTargetName[1] == L'\\\\')\r\n         // an UNC name: \\\\myShare\\path\\target\r\n         swprintf_s(szSubstituteName, MAXPATHLEN, L\"\\\\??\\\\UNC\\\\%s\", &szTargetName[2]);\r\n      else\r\n         // a normal full path: x:\\path\\target\r\n         swprintf_s(szSubstituteName, MAXPATHLEN, L\"\\\\??\\\\%s\", szTargetName);\r\n   }\r\n\r\n   // Delete the trailing slashes for non root path x:\\path\\foo\\ -> x:\\path\\foo, but keep x:\\\r\n   // Furthermore keep \\\\?\\Volume{GUID}\\ for 'root' volume-names\r\n   size_t lenSub = wcslen(szSubstituteName);\r\n   if ((szSubstituteName[lenSub - 1] == L'\\\\') && (szSubstituteName[lenSub - 2] != L':') && (szSubstituteName[lenSub - 2] != L'}'))\r\n      szSubstituteName[lenSub - 1] = 0;\r\n\r\n   PREPARSE_DATA_BUFFER reparseJunctionInfo = (PREPARSE_DATA_BUFFER)reparseBuffer;\r\n   memset(reparseJunctionInfo, 0, sizeof(REPARSE_DATA_BUFFER));\r\n   reparseJunctionInfo->ReparseTag = IO_REPARSE_TAG_MOUNT_POINT;\r\n\r\n   reparseJunctionInfo->MountPointReparseBuffer.SubstituteNameOffset = 0x00;\r\n   reparseJunctionInfo->MountPointReparseBuffer.SubstituteNameLength = (USHORT)(wcslen(szSubstituteName) * sizeof(wchar_t));\r\n   wcscpy_s(reparseJunctionInfo->MountPointReparseBuffer.PathBuffer, MAXPATHLEN, szSubstituteName);\r\n\r\n   reparseJunctionInfo->MountPointReparseBuffer.PrintNameOffset = reparseJunctionInfo->MountPointReparseBuffer.SubstituteNameLength + sizeof(wchar_t);\r\n   reparseJunctionInfo->MountPointReparseBuffer.PrintNameLength = (USHORT)(wcslen(szTargetName) * sizeof(wchar_t));\r\n   wcscpy_s(reparseJunctionInfo->MountPointReparseBuffer.PathBuffer + wcslen(szSubstituteName) + 1, MAXPATHLEN, szTargetName);\r\n\r\n   reparseJunctionInfo->ReparseDataLength = (USHORT)(reparseJunctionInfo->MountPointReparseBuffer.SubstituteNameLength +\r\n      reparseJunctionInfo->MountPointReparseBuffer.PrintNameLength +\r\n      FIELD_OFFSET(REPARSE_DATA_BUFFER, MountPointReparseBuffer.PathBuffer[2]) - FIELD_OFFSET(REPARSE_DATA_BUFFER, MountPointReparseBuffer));\r\n\r\n   // Set the link\r\n   //\r\n   if (!DeviceIoControl(hFile, FSCTL_SET_REPARSE_POINT,\r\n      reparseJunctionInfo,\r\n      reparseJunctionInfo->ReparseDataLength + REPARSE_MOUNTPOINT_HEADER_SIZE,\r\n      NULL, 0, &dwLength, NULL)) {\r\n      dwRet = GetLastError();\r\n      CloseHandle(hFile);\r\n      RemoveDirectory(pszLinkDirectory);\r\n      return dwRet;\r\n   }\r\n\r\n   CloseHandle(hFile);\r\n   ChangeFileSystem(FSC_JUNCTION, pszLinkDirectory, NULL);\r\n   return ERROR_SUCCESS;\r\n}\r\n\r\nDWORD DecodeReparsePoint(LPCWSTR szFullPath, LPWSTR szDest, DWORD cwcDest)\r\n{\r\n   HANDLE hFile;\r\n   DWORD dwBufSize = MAXIMUM_REPARSE_DATA_BUFFER_SIZE;\r\n   REPARSE_DATA_BUFFER* rdata;\r\n   DWORD dwRPLen, cwcLink = 0;\r\n   DWORD reparseTag;\r\n   BOOL bRP;\r\n\r\n   hFile = CreateFile(szFullPath, FILE_READ_EA, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_OPEN_REPARSE_POINT, NULL);\r\n   if (hFile == INVALID_HANDLE_VALUE)\r\n      return IO_REPARSE_TAG_RESERVED_ZERO;\r\n\r\n   // Allocate the reparse data structure\r\n   rdata = (REPARSE_DATA_BUFFER*)LocalAlloc(LMEM_FIXED, dwBufSize);\r\n\r\n   // Query the reparse data\r\n   bRP = DeviceIoControl(hFile, FSCTL_GET_REPARSE_POINT, NULL, 0, rdata, dwBufSize, &dwRPLen, NULL);\r\n\r\n   CloseHandle(hFile);\r\n\r\n   if (!bRP)\r\n   {\r\n      LocalFree(rdata);\r\n      return IO_REPARSE_TAG_RESERVED_ZERO;\r\n   }\r\n\r\n   reparseTag = rdata->ReparseTag;\r\n\r\n   if (IsReparseTagMicrosoft(rdata->ReparseTag) &&\r\n      (rdata->ReparseTag == IO_REPARSE_TAG_MOUNT_POINT || rdata->ReparseTag == IO_REPARSE_TAG_SYMLINK) &&\r\n      cwcDest > 0)\r\n   {\r\n      cwcLink = rdata->SymbolicLinkReparseBuffer.SubstituteNameLength / sizeof(WCHAR);\r\n      // NOTE: cwcLink does not include any '\\0' termination character\r\n      if (cwcLink < cwcDest)\r\n      {\r\n         LPWSTR szT = &rdata->SymbolicLinkReparseBuffer.PathBuffer[rdata->SymbolicLinkReparseBuffer.SubstituteNameOffset / sizeof(WCHAR)];\r\n\r\n         // Handle ?\\ prefix\r\n         if (szT[0] == '?' && szT[1] == '\\\\')\r\n         {\r\n            szT += 2;\r\n            cwcLink -= 2;\r\n         }\r\n         else\r\n            // Handle \\??\\ prefix\r\n            if (szT[0] == '\\\\' && szT[1] == '?' && szT[2] == '?' && szT[3] == '\\\\')\r\n            {\r\n               szT += 4;\r\n               cwcLink -= 4;\r\n            }\r\n         wcsncpy_s(szDest, MAXPATHLEN, szT, cwcLink);\r\n         szDest[cwcLink] = 0;\r\n      }\r\n      else\r\n      {\r\n         lstrcpy(szDest, L\"<symbol link reference too long>\");\r\n      }\r\n   }\r\n\r\n   LocalFree(rdata);\r\n   return reparseTag;\r\n}\r\n\r\n/* WFRemove\r\n *\r\n *  Deletes files\r\n */\r\nDWORD\r\nWFRemove(LPTSTR pszFile)\r\n{\r\n   DWORD dwRet;\r\n\r\n   dwRet = FileRemove(pszFile);\r\n   if (!dwRet)\r\n      ChangeFileSystem(FSC_DELETE,pszFile,NULL);\r\n\r\n   return dwRet;\r\n}\r\n\r\n/* WFMove\r\n *\r\n *  Moves files on a volume\r\n */\r\nDWORD\r\nWFMove(LPTSTR pszFrom, LPTSTR pszTo, PBOOL pbErrorOnDest, BOOL bSilent)\r\n{\r\n   DWORD dwRet;\r\n\r\n   *pbErrorOnDest = FALSE;\r\n   dwRet = FileMove(pszFrom,pszTo, pbErrorOnDest, bSilent);\r\n\r\n   if (!dwRet)\r\n      ChangeFileSystem(FSC_RENAME,pszFrom,pszTo);\r\n\r\n   return dwRet;\r\n}\r\n\r\n\r\n"
  },
  {
    "path": "src/lfn.h",
    "content": "/********************************************************************\r\n\r\n   lfn.h\r\n\r\n   declaration of lfn aware functions\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#define CCHMAXFILE      MAXPATHLEN         // max size of a long name\r\n#define CCHMAXPATHCOMP  256\r\n#define LFNCANON_MASK           1\r\n#define PATHLEN1_1 13\r\n\r\n#define FILE_83_CI  0\r\n#define FILE_83_CS  1\r\n#define FILE_LONG   2\r\n\r\n#define ERROR_OOM   8\r\n\r\n// we need to add an extra field to distinguish DOS vs. LFNs\r\n\r\ntypedef struct {\r\n   HANDLE hFindFile;           // handle returned by FindFirstFile()\r\n   DWORD dwAttrFilter;         // search attribute mask.\r\n   DWORD err;                  // error info if failure.\r\n   WIN32_FIND_DATA fd;         // FindFirstFile() data structure;\r\n   INT   nSpaceLeft;           // Space left for deeper paths\r\n} LFNDTA, *LPLFNDTA, * PLFNDTA;\r\n\r\nVOID  LFNInit( VOID );\r\nVOID  InvalidateVolTypes( VOID );\r\n\r\nDWORD  GetNameType(LPTSTR);\r\nBOOL  IsLFN(LPTSTR pName);\r\n// BOOL  IsLFNDrive(LPTSTR);\r\n\r\nBOOL  WFFindFirst(LPLFNDTA lpFind, LPTSTR lpName, DWORD dwAttrFilter);\r\nBOOL  WFFindNext(LPLFNDTA);\r\nBOOL  WFFindClose(LPLFNDTA);\r\n\r\n\r\nDWORD  I_LFNCanon( USHORT CanonType, LPTSTR InFile, LPTSTR OutFile );\r\nDWORD  LFNParse(LPTSTR,LPTSTR,LPTSTR);\r\nWORD I_LFNEditName( LPTSTR lpSrc, LPTSTR lpEd, LPTSTR lpRes, INT iResBufSize );\r\n\r\nBOOL  WFIsDir(LPTSTR);\r\nBOOL  LFNMergePath(LPTSTR,LPTSTR);\r\n\r\nBOOL  IsLFNSelected(VOID);\r\n\r\n\r\n"
  },
  {
    "path": "src/lfnmisc.c",
    "content": "/********************************************************************\r\n\r\n   lfnmisc.c\r\n\r\n   Long filename support for windows:  miscellaneous functions\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include <stdlib.h>\r\n\r\n#include \"winfile.h\"\r\n#include \"lfn.h\"\r\n\r\n\r\n#define FIL_STANDARD      1\r\n\r\n// Local Function prototypes\r\nDWORD I_Is83File( LPTSTR lpFile ) ;\r\n\r\n/****************************************************************************\r\n *\r\n *  I_LFNCanon()\r\n *\r\n *  Purpose:  basic canonicalization routine for LFN names.\r\n *\r\n *  Input:\r\n *       CanonType   Type of canonization required\r\n *       InFile      points to a file name\r\n *\r\n *  Output:\r\n *       OutFile     receives canonicalized name.\r\n *\r\n *  Returns:\r\n *       0                    If filename has been canonicalized\r\n *       INVALID_PARAMETER    If filename has invalid characters\r\n *\r\n ****************************************************************************/\r\nDWORD\r\nI_LFNCanon(WORD CanonType, LPTSTR InFile, LPTSTR OutFile)\r\n{\r\n   LPTSTR       ins = InFile;\r\n   LPTSTR       outs = OutFile;\r\n   unsigned    size;\r\n   unsigned    trails;\r\n   TCHAR        c;\r\n\r\n   if (!InFile || !OutFile)\r\n      return ERROR_INVALID_PARAMETER;\r\n\r\n   if (*InFile == CHAR_NULL)\r\n      return ERROR_INVALID_PARAMETER;\r\n\r\n\r\n   /* First, check if we have a fully qualified name, or a relative name */\r\n   if (*InFile != CHAR_BACKSLASH && *InFile != CHAR_SLASH) {\r\n      if (isalpha(*InFile)) {\r\n         if (InFile[1] == CHAR_COLON) {\r\n            *outs++ = *ins++;\r\n            *outs++ = *ins++;     // Copy over the drive and colon\r\n         }\r\n      }\r\n   } else {\r\n      ins++;\r\n      *outs++ = CHAR_BACKSLASH;\r\n   }\r\n\r\n   /*  Note:  When calculating size, we ignore the d:\\ that may appear.  This\r\n    *  is because that is not considered part of the path by OS/2.  IT IS THE\r\n    *  RESPONSIBILITY OF THE CALLING FUNCTION TO RESERVE ENOUGH SPACE FOR THE\r\n    *  CANON NAME, WHICH CAN BE EITHER 256 or 260.\r\n    */\r\n\r\n   size = 0;\r\n   do {\r\n      c = *ins++;\r\n      if ((c < 0x001f && c != CHAR_NULL) || (c == CHAR_DQUOTE) || (c == CHAR_COLON) || (c == CHAR_PIPE) ||\r\n          (c == CHAR_GREATER) || (c == CHAR_LESS)) {\r\n             *OutFile = CHAR_NULL;\r\n             return ERROR_INVALID_PARAMETER;\r\n      }\r\n      if (CanonType != LFNCANON_MASK && ((c == CHAR_STAR) || (c == CHAR_QUESTION))) {\r\n         *OutFile = CHAR_NULL;\r\n         return ERROR_INVALID_PARAMETER;\r\n      }\r\n      if (c == CHAR_SLASH)\r\n         c = CHAR_BACKSLASH;       // Convert / to \\ for canon\r\n\r\n      if (c == CHAR_BACKSLASH || c == CHAR_NULL) {   // Component separator:  Trim file name\r\n\r\n         /*  We have to special case . and ..   . we resolve, but .. we pass\r\n          *  through.\r\n          */\r\n         if (outs > OutFile) {\r\n            if (*(outs - 1) == CHAR_DOT) {\r\n               if  ((outs - 1) == OutFile || *(outs - 2) == CHAR_BACKSLASH) {   // Single dot\r\n                  *(outs--) = c;\r\n                  if (size)\r\n                     size--;\r\n                  continue;\r\n               }\r\n               if (*(outs - 2) == CHAR_DOT) {     // Possible ..\r\n                  if ((outs - 2) == OutFile || *(outs - 3) == CHAR_BACKSLASH ||\r\n                        *(outs - 3) == CHAR_COLON) {\r\n                     *outs++ = c;\r\n                     size++;\r\n                     continue;\r\n                  }\r\n               }\r\n            }\r\n         }\r\n\r\n         /*  Okay, the component is neither a . nor a .. so we go into trim\r\n          *  trailing dots and spaces mode.\r\n          */\r\n         trails = 0;\r\n         while (outs > OutFile && ((*(outs-1) == CHAR_DOT || *(outs-1) == CHAR_SPACE)\r\n                 && (*(outs-1) != CHAR_BACKSLASH && *(outs - 1) != CHAR_COLON)) ) {\r\n            outs--;\r\n            trails++;\r\n            if (size)\r\n               size--;\r\n         }\r\n         if (outs == OutFile) {\r\n            *OutFile = CHAR_NULL;\r\n            return ERROR_INVALID_PARAMETER;\r\n         }\r\n         if (outs > OutFile && *(outs-1) == CHAR_BACKSLASH) {\r\n            *OutFile = CHAR_NULL;\r\n            return ERROR_INVALID_PARAMETER;\r\n         }\r\n      }\r\n      *outs++ = c;\r\n      size++;\r\n      if (size > CCHMAXPATHCOMP) {\r\n         *OutFile = CHAR_NULL;\r\n         return ERROR_INVALID_PARAMETER;\r\n      }\r\n   } while (c);\r\n\r\n   /*  Last check:  We don't allow paths to end in \\ or /.  Since / has been\r\n    *  mapped to \\, we just check for \\\r\n    */\r\n   if (outs != OutFile)\r\n      if (*(outs-1) == CHAR_BACKSLASH) {\r\n         *OutFile = CHAR_NULL;\r\n         return ERROR_INVALID_PARAMETER;\r\n      }\r\n\r\n   return 0;\r\n\r\n}\r\n\r\n// Manifests local to LFNParse\r\n#define FAT_FILE_COMP_LENGTH    8\r\n#define FAT_FILE_EXT_LENGTH     3\r\n#define DRIVE_COLON             CHAR_COLON\r\n#define PATH_SEPARATOR          CHAR_BACKSLASH\r\n#define DOT                     CHAR_DOT\r\n\r\nstatic TCHAR ach83InvalidChars[] = TEXT(\"<>|[]=;+/, \\\"\\x01\\x02\\x03\\x04\\x05\\x06\\x07\\\r\n\\x08\\x09\\x0a\\x0b\\x0c\\x0d\\x0e\\x0f\\x10\\x11\\x12\\x13\\x14\\x15\\x16\\x17\\x18\\x19\\x1a\\\r\n\\x1b\\x1c\\x1d\\x1e\\x1f\") ;\r\n\r\n\r\n/*****************************************************************************\r\n *\r\n *  I_LFNEditName\r\n *\r\n *  Purpose:    Given a file and a mask, I_LFNCombine will combine the two\r\n *      according to the rules stated in the OS/2 function DosEditName.\r\n *\r\n *  Entry:\r\n *   lpSrc    Pointer to file\r\n *   lpEd   Pointer to edit mask\r\n *   lpRes    Results of combining lpMask & lpFile\r\n *   uResBuffSize  Size of the result buffer\r\n *\r\n *  Exit:\r\n *\r\n *   lpResult contains the combined lpFile and lpMask.\r\n *\r\n *\r\n *  Return Codes:\r\n *   The return code is NO_ERROR if successful or:\r\n *      ERROR_INVALID_PARAMETER  A malformed name was passed or the result\r\n *             buffer was too small.\r\n *\r\n *****************************************************************************/\r\n\r\nWORD I_LFNEditName( LPTSTR lpSrc, LPTSTR lpEd, LPTSTR lpRes, INT iResBufSize )\r\n{\r\n   INT ResLen = 0;     // Length of result\r\n\r\n// This is turned off until we agree\r\n// that cmd operates in the same way\r\n\r\n#ifdef USELASTDOT\r\n   LPTSTR lpChar;\r\n\r\n   //\r\n   // We have a special case hack for the dot, since when we do a\r\n   // rename from foo.bar.baz to *.txt, we want to use the last dot, not\r\n   // the first one (desired result = foo.bar.txt, not foo.txt)\r\n   //\r\n   // We find the dot (GetExtension rets first char after last dot if there\r\n   // is a dot), then if the delimiter for the '*' is a CHAR_DOT, we continue\r\n   // copying until we get to the last dot instead of finding the first one.\r\n   //\r\n\r\n   lpChar = GetExtension(lpSrc);\r\n   if (*lpChar) {\r\n      lpChar--;\r\n   } else {\r\n      lpChar = NULL;\r\n   }\r\n#endif\r\n\r\n   while (*lpEd) {\r\n\r\n      if (ResLen < iResBufSize) {\r\n\r\n         switch (*lpEd) {\r\n\r\n         case CHAR_STAR:\r\n            {\r\n               TCHAR delimit = *(lpEd+1);\r\n\r\n#ifdef USELASTDOT\r\n\r\n               //\r\n               // For all other delimiters, we use the first\r\n               // occurrence (e.g., *f.txt).\r\n               //\r\n               if (CHAR_DOT != delimit)\r\n                  lpChar = NULL;\r\n\r\n               while ((ResLen < iResBufSize) && ( *lpSrc != CHAR_NULL ) &&\r\n                  ( *lpSrc != delimit || (lpChar && lpChar != lpSrc ))) {\r\n#else\r\n               while ((ResLen < iResBufSize) &&\r\n                  ( *lpSrc != CHAR_NULL ) && ( *lpSrc != delimit )) {\r\n#endif\r\n\r\n                  *(lpRes++) = *(lpSrc++);\r\n                  ResLen++;\r\n\r\n               }\r\n            }\r\n            break;\r\n\r\n\r\n         case CHAR_QUESTION:\r\n            if ((*lpSrc != DOT ) && (*lpSrc != CHAR_NULL)) {\r\n\r\n               if (ResLen < iResBufSize) {\r\n\r\n                  *(lpRes++) = *(lpSrc++);\r\n                  ResLen++;\r\n               }\r\n               else\r\n                  return ERROR_INVALID_PARAMETER ;\r\n            }\r\n            break;\r\n\r\n         case CHAR_DOT:\r\n            while ((*lpSrc != DOT ) && (*lpSrc != CHAR_NULL))\r\n               lpSrc++;\r\n\r\n            *(lpRes++) = DOT ;       // from EditMask, even if src doesn't\r\n                                     // have one, so always put one.\r\n            ResLen++;\r\n            if (*lpSrc)              // point one past CHAR_DOT\r\n               lpSrc++;\r\n               break;\r\n\r\n         default:\r\n            if ((*lpSrc != DOT ) && (*lpSrc != CHAR_NULL)) {\r\n\r\n               lpSrc++;\r\n            }\r\n\r\n            if (ResLen < iResBufSize) {\r\n\r\n               *(lpRes++) = *lpEd;\r\n               ResLen++;\r\n            }\r\n            else\r\n               return ERROR_INVALID_PARAMETER ;\r\n            break;\r\n         }\r\n         lpEd++;\r\n\r\n      }\r\n      else {\r\n\r\n         return ERROR_INVALID_PARAMETER ;\r\n      }\r\n   }\r\n\r\n   if ((ResLen) < iResBufSize) {\r\n      *lpRes = CHAR_NULL;\r\n      return NO_ERROR ;\r\n   }\r\n   else\r\n      return ERROR_INVALID_PARAMETER ;\r\n}\r\n\r\n"
  },
  {
    "path": "src/mpr.h",
    "content": "/********************************************************************\r\n\r\n   mpr.h\r\n\r\n   Standard MPR Header File for NT-WIN32\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include <lmcons.h>\r\n#ifndef _MPR_H_INCLUDED\r\n#define _MPR_H_INCLUDED\r\n\r\n//For restoring connection stuff. Add by congpay.\r\n// const used by connect.c\r\n#define SHOW_CONNECTION     (WM_USER+200)\r\n#define DO_PASSWORD_DIALOG  (WM_USER + 201)\r\n#define DO_ERROR_DIALOG     (WM_USER + 202)\r\n\r\n// types used by connect.c\r\n\r\ntypedef struct _CONNECTION_INFO *LPCONNECTION_INFO;\r\n\r\n// The following two structures are used by two threads in mpr.dll and\r\n// mprui.dll to share data.\r\n\r\ntypedef struct _PARAMETERS {\r\n    HWND    hDlg;\r\n    HANDLE  hDlgCreated;                //Initialized in WNetRestoreConnection\r\n    HANDLE  hDlgFailed;                 //Initialized in WNetRestoreConnection\r\n    HANDLE  hDonePassword;              //Initialized in WNetRestoreConnection\r\n    TCHAR * pchResource;                //ShowReconnectDialog, DoRestoreConnection\r\n    TCHAR * pchUserName;                //For DoPasswordDialog\r\n    TCHAR   passwordBuffer[UNLEN+1];    //Used by WNetRestoreThisConnection\r\n    BOOL    fSuccess;                   //For the DoPasswordDialog\r\n    BOOL    fDidCancel;                 //For the DoPasswordDialog\r\n    BOOL    fDownLevel;                 //FALSE if error==ERROR_LOGON_FAILURE\r\n    BOOL    fTerminateThread;           //TRUE if we want the second thread to be end\r\n    DWORD   status;                     //return value from DoRestoreConnection\r\n    DWORD   numSubKeys;                 //Initialized in WNetRestoreConnection\r\n    DWORD   RegMaxWait;\r\n    LPCONNECTION_INFO ConnectArray;     //Initialized in WNetRestoreConnection\r\n    }PARAMETERS;\r\n\r\n#ifdef __cplusplus\r\nextern \"C\" {\r\n#endif\r\n\r\n//function load from mprui.dll.\r\n\r\nDWORD DoPasswordDialog(\r\n    HWND          hwndOwner,\r\n    TCHAR *       pchResource,\r\n    TCHAR *       pchUserName,\r\n    TCHAR *       pchPasswordReturnBuffer,\r\n    DWORD         cbPasswordReturnBuffer, // bytes!\r\n    BOOL *        pfDidCancel,\r\n    BOOL          fDownLevel\r\n    );\r\n\r\nDWORD DoProfileErrorDialog(\r\n    HWND          hwndOwner,\r\n    const TCHAR * pchDevice,\r\n    const TCHAR * pchResource,\r\n    const TCHAR * pchProvider,\r\n    DWORD         dwError,\r\n    BOOL          fAllowCancel, // ask whether to stop reconnecting devices\r\n                                //  this time?\r\n    BOOL *        pfDidCancel,  // stop reconnecting devices this time?\r\n                                //  active iff fAllowCancel\r\n    BOOL *        pfDisconnect, // do not reconnect this device in future?\r\n    BOOL *        pfHideErrors  // stop displaying error dialogs this time?\r\n                                //  active iff fAllowCancel\r\n    );\r\n\r\nDWORD ShowReconnectDialog (\r\n    HWND          hwndParent,\r\n    PARAMETERS *  Params);\r\n\r\n//\r\n// Return codes from WNetRestoreConnection\r\n//\r\n#define WN_CONTINUE     0x00000BB9\r\n\r\nDWORD APIENTRY\r\nRestoreConnectionA0(\r\n     HWND    hWnd,\r\n     LPSTR  lpDevice\r\n    );\r\n\r\nDWORD APIENTRY\r\nWNetClearConnections(\r\n     HWND    hWnd\r\n     ) ;\r\n\r\n//\r\n// Authentication Provider (Credential Management) Functions\r\n//\r\n\r\nDWORD APIENTRY\r\nWNetLogonNotify(\r\n    LPCWSTR             lpPrimaryAuthenticator,\r\n    PLUID               lpLogonId,\r\n    LPCWSTR             lpAuthentInfoType,\r\n    LPVOID              lpAuthentInfo,\r\n    LPCWSTR             lpPreviousAuthentInfoType,\r\n    LPVOID              lpPreviousAuthentInfo,\r\n    LPWSTR              lpStationName,\r\n    LPVOID              StationHandle,\r\n    LPWSTR              *lpLogonScripts\r\n    );\r\n\r\nDWORD APIENTRY\r\nWNetPasswordChangeNotify(\r\n    LPCWSTR             lpPrimaryAuthenticator,\r\n    LPCWSTR             lpAuthentInfoType,\r\n    LPVOID              lpAuthentInfo,\r\n    LPCWSTR             lpPreviousAuthentInfoType,\r\n    LPVOID              lpPreviousAuthentInfo,\r\n    LPWSTR              lpStationName,\r\n    LPVOID              StationHandle,\r\n    DWORD               dwChangeInfo\r\n    );\r\n\r\n//\r\n// Directory functions\r\n//\r\nDWORD\r\nWNetGetDirectoryTypeA (\r\n    LPSTR   lpName,\r\n    LPDWORD lpType,\r\n    BOOL    bFlushCache\r\n    );\r\n\r\nDWORD\r\nWNetGetDirectoryTypeW (\r\n    LPTSTR  lpName,\r\n    LPINT   lpType,\r\n    BOOL    bFlushCache\r\n    );\r\n\r\n#ifdef UNICODE\r\n#define WNetGetDirectoryType   WNetGetDirectoryTypeW\r\n#else\r\n#define WNetGetDirectoryType   WNetGetDirectoryTypeA\r\n#endif  // UNICODE\r\n\r\n\r\nDWORD\r\nWNetDirectoryNotifyA (\r\n    HWND    hwnd,\r\n    LPSTR   lpDir,\r\n    DWORD   dwOper\r\n    );\r\n\r\nDWORD\r\nWNetDirectoryNotifyW (\r\n    HWND    hwnd,\r\n    LPTSTR  lpDir,\r\n    DWORD   dwOper\r\n    );\r\n\r\n#ifdef UNICODE\r\n#define WNetDirectoryNotify   WNetDirectoryNotifyW\r\n#else\r\n#define WNetDirectoryNotify   WNetDirectoryNotifyA\r\n#endif  // UNICODE\r\n\r\n\r\nDWORD\r\nWNetPropertyDialogA (\r\n    HWND  hwndParent,\r\n    DWORD iButton,\r\n    DWORD nPropSel,\r\n    LPSTR lpszName,\r\n    DWORD nType\r\n    );\r\n\r\nDWORD\r\nWNetPropertyDialogW (\r\n    HWND  hwndParent,\r\n    DWORD iButton,\r\n    DWORD nPropSel,\r\n    LPTSTR lpszName,\r\n    DWORD nType\r\n    );\r\n\r\n#ifdef UNICODE\r\n#define WNetPropertyDialog    WNetPropertyDialogW\r\n#else\r\n#define WNetPropertyDialog    WNetPropertyDialogA\r\n#endif  // UNICODE\r\n\r\n\r\nDWORD\r\nWNetGetPropertyTextA (\r\n    DWORD iButton,\r\n    DWORD nPropSel,\r\n    LPSTR lpszName,\r\n    LPSTR lpszButtonName,\r\n    DWORD nButtonNameLength,\r\n    DWORD nType\r\n    );\r\n\r\nDWORD\r\nWNetGetPropertyTextW (\r\n    DWORD  iButton,\r\n    DWORD  nPropSel,\r\n    LPTSTR lpszName,\r\n    LPTSTR lpszButtonName,\r\n    DWORD  nButtonNameLength,\r\n    DWORD  nType\r\n    );\r\n\r\n#ifdef UNICODE\r\n#define WNetGetPropertyText   WNetGetPropertyTextW\r\n#else\r\n#define WNetGetPropertyText   WNetGetPropertyTextA\r\n#endif  // UNICODE\r\n\r\ntypedef struct _WNET_CONNECTINFOA\r\n{\r\n    LPSTR lpRemoteName ;\r\n    LPSTR lpProvider ;\r\n} WNET_CONNECTIONINFOA, *LPWNET_CONNECTIONINFOA ;\r\n\r\ntypedef struct _WNET_CONNECTINFOW\r\n{\r\n    LPWSTR lpRemoteName ;\r\n    LPWSTR lpProvider ;\r\n} WNET_CONNECTIONINFOW, *LPWNET_CONNECTIONINFOW ;\r\n\r\n#ifdef UNICODE\r\n#define WNET_CONNECTIONINFO   WNET_CONNECTIONINFOW\r\n#define LPWNET_CONNECTIONINFO LPWNET_CONNECTIONINFOW\r\n#else\r\n#define WNET_CONNECTIONINFO WNET_CONNECTIONINFOA\r\n#define LPWNET_CONNECTIONINFO LPWNET_CONNECTIONINFOA\r\n#endif  // UNICODE\r\n\r\n//\r\n//  Used in conjunction with WNET_CONNECTIONINFO, gets the net provider name\r\n//  in addition to the remote name for this connection.\r\n//\r\nDWORD\r\nWNetGetConnection2A(\r\n    LPSTR   lpLocalName,\r\n    LPVOID  lpBuffer,       // Contains WNET_CONNECTIONINFOA struct\r\n    LPDWORD lpBufferSize    // In bytes!\r\n    ) ;\r\n\r\nDWORD\r\nWNetGetConnection2W(\r\n    LPWSTR  lpLocalName,\r\n    LPVOID  lpBuffer,       // Contains WNET_CONNECTIONINFOW struct\r\n    LPDWORD lpBufferSize    // In bytes!\r\n    ) ;\r\n\r\n#ifdef UNICODE\r\n#define WNetGetConnection2 WNetGetConnection2W\r\n#else\r\n#define WNetGetConnection2 WNetGetConnection2A\r\n#endif  // UNICODE\r\n\r\n//\r\n// Versions of the dialog with the ability to supply help.\r\n// These are not in Win32 because we do not want to force\r\n// nor encourage apps to have to document the way these\r\n// dialogs work, since they are liable to change.\r\n//\r\nDWORD WNetConnectionDialog2 (\r\n    HWND    hwndParent,\r\n    DWORD   dwType,\r\n    WCHAR  *lpHelpFile,\r\n    DWORD   nHelpContext\r\n    );\r\n\r\nDWORD WNetDisconnectDialog2 (\r\n    HWND    hwndParent,\r\n    DWORD   dwType,\r\n    WCHAR  *lpHelpFile,\r\n    DWORD   nHelpContext\r\n    );\r\n\r\n\r\n//\r\n// Browse dialog\r\n//\r\n\r\n// Type of the callback routine used by the browse dialog to validate\r\n// the path input by the user\r\ntypedef BOOL (*PFUNC_VALIDATION_CALLBACK)( LPWSTR pszName );\r\n\r\n//  WNetBrowseDialog and WNetBrowsePrinterDialog\r\n//  NOTE: WNetBrowsePrintDialog =\r\n//        WNetBrowseDialog with dwType RESOURCETYPE_PRINT\r\n//\r\n/*******************************************************************\r\n\r\n    NAME:       WNetBrowseDialog, WNetBrowsePrinterDialog\r\n\r\n    SYNOPSIS:   Presents a dialog to the user from which the user can\r\n                browse the network for disk or print shares.\r\n\r\n    ENTRY:      hwndParent  -  Parent window handle\r\n                dwType      -  ( Only in WNetBrowseDialog )\r\n                   RESOURCETYPE_DISK or RESOURCETYPE_PRINT\r\n                lpszName    -  The path name typed by the user. It will be\r\n                               undefined if the user hits the CANCEL button.\r\n                cchBufSize  -  The buffer size of the lpszName in characters\r\n                lpszHelpFile-  The helpfile to use when the user hits F1.\r\n                nHelpContext-  The helpcontext to use for the helpfile above\r\n                pfuncValidation - Callback method to validate the path typed\r\n                   by the user. If NULL, no validation will\r\n                               be done.\r\n\r\n    RETURNS:    WN_CANCEL when the user cancels the dialog. NO_ERROR\r\n                on success, standard ERROR_* error code otherwise\r\n\r\n    NOTES:      This is a UNICODE only API.\r\n\r\n    HISTORY:\r\n        Yi-HsinS    22-Nov-1992    Created\r\n\r\n********************************************************************/\r\n\r\nDWORD WNetBrowseDialog(\r\n    HWND    hwndParent,\r\n    DWORD   dwType,\r\n    WCHAR  *lpszName,\r\n    DWORD   cchBufSize,\r\n    WCHAR  *lpszHelpFile,\r\n    DWORD   nHelpContext,\r\n    PFUNC_VALIDATION_CALLBACK pfuncValidation );\r\n\r\nDWORD WNetBrowsePrinterDialog(\r\n    HWND    hwndParent,\r\n    WCHAR  *lpszName,\r\n    DWORD   cchBufSize,\r\n    WCHAR  *lpszHelpFile,\r\n    DWORD   nHelpContext,\r\n    PFUNC_VALIDATION_CALLBACK pfuncValidation );\r\n\r\n//\r\n// stuff in user, not driver, for shell apps ;Internal\r\n//\r\nDWORD APIENTRY WNetErrorText(DWORD,LPTSTR,DWORD); // ;Internal\r\n\r\n//\r\n// used by MPRUI.DLL to determine if a provider supports\r\n// NpSearchDialog() and obtain to a pointer to it.\r\n//\r\nFARPROC WNetGetSearchDialog(LPWSTR lpProvider) ;\r\n\r\n//\r\n// used by MPRUI.DLL to determine if a provider supports\r\n// NPFormatNetworkName() and obtain a pointer to it.\r\n//\r\nFARPROC WNetGetFormatNameProc(LPWSTR lpProvider) ;\r\n\r\n//\r\n// used by MPRUI.DLL to determine if a provider supports\r\n// WNNC_ENUM_GLOBAL\r\n//\r\nBOOL WNetSupportGlobalEnum(LPWSTR lpProvider) ;\r\n\r\n//\r\n// used by ACLEDIT.DLL to get provider-specific permission editor\r\n//\r\n\r\nDWORD WNetFMXGetPermCaps( LPWSTR lpDriveName ) ;\r\nDWORD WNetFMXEditPerm( LPWSTR lpDriveName, HWND hwndFMX, DWORD nDialogType );\r\nDWORD WNetFMXGetPermHelp( LPWSTR  lpDriveName,\r\n                          DWORD   nDialogType,\r\n                          BOOL    fDirectory,\r\n                          LPVOID  lpFileNameBuffer,\r\n                          LPDWORD lpBufferSize,\r\n                          LPDWORD lpnHelpContext );\r\n\r\n//\r\n// sections and keys used for persistent connections\r\n//\r\n\r\n#define WNNC_DLG_DISCONNECT     0x0008\r\n#define WNNC_DLG_CONNECT        0x0004\r\n\r\n#ifdef UNICODE\r\n\r\n#define MPR_MRU_FILE_SECTION        L\"NET_Files\"\r\n#define MPR_MRU_PRINT_SECTION       L\"NET_Printers\"\r\n#define MPR_MRU_ORDER_KEY       L\"Order\"\r\n\r\n#define MPR_NETWORK_SECTION     L\"Network\"\r\n#define MPR_SAVECONNECTION_KEY      L\"SaveConnections\"\r\n#define MPR_RESTORECONNECTION_KEY   L\"RestoreConnections\"\r\n#define MPR_EXPANDLOGONDOMAIN_KEY       L\"ExpandLogonDomain\"\r\n\r\n#define MPR_YES_VALUE           L\"yes\"\r\n#define MPR_NO_VALUE            L\"no\"\r\n\r\n#else\r\n\r\n#define MPR_MRU_FILE_SECTION        \"NET_Files\"\r\n#define MPR_MRU_PRINT_SECTION       \"NET_Printers\"\r\n#define MPR_MRU_ORDER_KEY       \"Order\"\r\n\r\n#define MPR_NETWORK_SECTION     \"Network\"\r\n#define MPR_SAVECONNECTION_KEY      \"SaveConnections\"\r\n#define MPR_RESTORECONNECTION_KEY   \"RestoreConnections\"\r\n#define MPR_EXPANDLOGONDOMAIN_KEY       \"ExpandLogonDomain\"\r\n\r\n#define MPR_YES_VALUE           \"yes\"\r\n#define MPR_NO_VALUE            \"no\"\r\n\r\n#endif  // UNICODE\r\n\r\n\r\n//\r\n// Internal NP interface used to help the NTLM provider remember\r\n// whether a persistent connection is a DFS connection or not\r\n//\r\n\r\nDWORD APIENTRY\r\nNPGetReconnectFlags (\r\n       IN  LPWSTR   lpLocalName,\r\n       OUT LPBYTE   lpPersistFlags\r\n    );\r\ntypedef DWORD (*PF_NPGetReconnectFlags) (\r\n       LPWSTR   lpLocalName,\r\n       LPBYTE   lpPersistFlags\r\n    );\r\n\r\n// This macro operates on the dwFlags parameter of NPAddConnection3\r\n#define CONNECT_PROVIDER_FLAGS(dwFlags)   ((BYTE) (((dwFlags) & 0xFF000000) >> 24))\r\n\r\n#ifdef __cplusplus\r\n}\r\n#endif\r\n\r\n#endif // _MPR_H_INCLUDED\r\n"
  },
  {
    "path": "src/numfmt.c",
    "content": "/********************************************************************\r\n\r\n   NumFmt.c\r\n\r\n   Number formatting code\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n\r\nstatic DWORD pdwOrders[] =\r\n{\r\n   IDS_ORDERB, IDS_ORDERKB, IDS_ORDERMB, IDS_ORDERGB, IDS_ORDERTB\r\n} ;\r\n\r\nstatic TCHAR szFormat[] = TEXT(\"%s%02d\");\r\nextern TCHAR szInternational[];\r\n\r\n//\r\n// atoi with decimal comma separators\r\n//\r\nLPTSTR\r\nShortSizeFormatInternal(LPTSTR szBuf, LARGE_INTEGER qw)\r\n{\r\n   INT i;\r\n   UINT uInt, uLen, uDec;\r\n   TCHAR szTemp[10], szOrder[20];\r\n\r\n   LARGE_INTEGER qConstant;\r\n   DWORD dw;\r\n\r\n   qConstant.QuadPart = 1024L;\r\n\r\n   if (qw.QuadPart < qConstant.QuadPart)\r\n   {\r\n      wsprintf(szTemp, SZ_PERCENTD, LOWORD(qw.LowPart));\r\n      i = 0;\r\n      goto AddOrder;\r\n   }\r\n\r\n   qConstant.QuadPart = (1024L * 1000L - 1);\r\n\r\n   for ( i = 1;\r\n         (qw.QuadPart > qConstant.QuadPart);\r\n         qw.QuadPart = qw.QuadPart / 1024L, ++i)\r\n\r\n      /* do nothing */\r\n      ;\r\n\r\n   dw = qw.LowPart;\r\n\r\n   uInt = (UINT) (dw / 1024);\r\n   uLen = wsprintf(szTemp, SZ_PERCENTD, uInt);\r\n   if (uLen < 3) {\r\n      uDec = (dw - uInt * 1024L) * 1000 / 1024;\r\n\r\n      //\r\n      // At this point, uDec should be between 0 and 1000\r\n      // we want get the top one (or two) digits.\r\n      //\r\n      uDec /= 10;\r\n      if (uLen == 2) {\r\n         uDec /= 10;\r\n      }\r\n\r\n      //\r\n      // Note that we need to set the format before getting the\r\n      // intl CHAR.\r\n      //\r\n      szFormat[4] = CHAR_ZERO + 3 - uLen;\r\n      uLen += wsprintf(szTemp+uLen, szFormat, szDecimal, uDec);\r\n   }\r\n\r\nAddOrder:\r\n   LoadString(hAppInstance, pdwOrders[i], szOrder, COUNTOF(szOrder));\r\n   wsprintf(szBuf, szOrder, szTemp);\r\n\r\n   return(szBuf);\r\n}\r\n\r\n"
  },
  {
    "path": "src/numfmt.h",
    "content": "/********************************************************************\r\n\r\n   numfmt.h\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#define SPC_SET_INVALID(q) ((q).HighPart=(LONG)-1)\r\n#define SPC_SET_NOTREE(q)  ((q).HighPart=(LONG)-2)\r\n#define SPC_SET_HITDISK(q) ((q).HighPart=(LONG)-3)\r\n\r\n#define SPC_IS_INVALID(q) ((q).HighPart==(LONG)-1)\r\n#define SPC_IS_NOTREE(q)  ((q).HighPart==(LONG)-2)\r\n#define SPC_IS_HITDISK(q) ((q).HighPart==(LONG)-3)\r\n\r\n#define SPC_REFRESH(q) (SPC_IS_INVALID(q) || SPC_IS_HITDISK(q))\r\n\r\nLPTSTR ShortSizeFormatInternal(LPTSTR szBuf, LARGE_INTEGER qw);\r\n\r\n#define LARGE_INTEGER_NULL(q) ((q).LowPart = 0, (q).HighPart = 0)\r\n\r\n"
  },
  {
    "path": "src/origrc/winfile.cs-CZ.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Czech (Czech Republic) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CSY)\nLANGUAGE LANG_CZECH, SUBLANG_DEFAULT\n#pragma code_page(1250)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"BMP100.BMP\"\n\n\n101                     BITMAP                  \"BMP101.BMP\"\n\n\n102                     BITMAP                  \"BMP102.BMP\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"&Soubor\"\n    BEGIN\n        MENUITEM \"&Otevt\\tEnter\",             101\n        MENUITEM \"&Pesunout...\\tF7\",           106\n        MENUITEM \"&Koprovat...\\tF8\",           107\n        MENUITEM \"&Zkoprovat do schrnky...\\tF9\", 118\n        MENUITEM \"Od&stranit...\\tDel\",          108\n        MENUITEM \"Pej&menovat...\",             109\n        MENUITEM \"&Vlastnosti...\\tAlt+Enter\",   110\n        MENUITEM SEPARATOR\n        MENUITEM \"Komp&rimovat...\",             119\n        MENUITEM \"&Dekomprimovat...\",           120\n        MENUITEM SEPARATOR\n        MENUITEM \"Sp&ustit...\",                 105\n        MENUITEM \"&Tisk...\",                    102\n        MENUITEM \"P&idruit...\",               103\n        MENUITEM SEPARATOR\n        MENUITEM \"Vytvoit &adres...\",        111\n        MENUITEM \"&Hledat...\",                  104\n        MENUITEM \"Vy&brat soubory...\",          116\n        MENUITEM SEPARATOR\n        MENUITEM \"Kon&ec\",                      115\n    END\n    POPUP \"&Disk\"\n    BEGIN\n        MENUITEM \"&Zkoprovat disketu...\",      201\n        MENUITEM \"&Jmenovka disku...\",          202\n        MENUITEM SEPARATOR\n        MENUITEM \"&Formtovat...\",              203\n        MENUITEM SEPARATOR\n        MENUITEM \"&Vybrat jednotku...\",         251\n    END\n    POPUP \"S&trom\"\n    BEGIN\n        MENUITEM \"&Rozbalit jednu rove\\t+\",   301\n        MENUITEM \"Rozbalit &vtev\\t*\",          302\n        MENUITEM \"Rozbalit v&e\\tCtrl+*\",       303\n        MENUITEM \"&Sbalit vtev\\t-\",            304\n        MENUITEM SEPARATOR\n        MENUITEM \"&Indikovat rozbaliteln vtve\", 505\n    END\n    POPUP \"&Zobrazit\"\n    BEGIN\n        MENUITEM \"Stro&m a adres\",            413\n        MENUITEM \"J&en strom\",                  411\n        MENUITEM \"Jen &adres\",                412\n        MENUITEM SEPARATOR\n        MENUITEM \"&Rozdlit\",                   414\n        MENUITEM SEPARATOR\n        MENUITEM \"N&zev\",                      401\n        MENUITEM \"pln &informace o souboru\",  402, CHECKED\n        MENUITEM \"sten detai&ly...\",        403\n        MENUITEM SEPARATOR\n        MENUITEM \"Seadit podle &nzvu\",        404\n        MENUITEM \"Seadi&t podle typu\",         405\n        MENUITEM \"Seadit podle &velikosti\",    406\n        MENUITEM \"Sea&dit podle data\",         407\n        MENUITEM SEPARATOR\n        MENUITEM \"Podle typu &souboru...\",      409\n    END\n    POPUP \"&Monosti\"\n    BEGIN\n        MENUITEM \"Potvr&zovn...\",             501\n        MENUITEM \"&Psmo...\",                   510\n        MENUITEM \"Up&ravit panel nstroj...\",  512\n        MENUITEM SEPARATOR\n        MENUITEM \"Pa&nel nstroj\",             508\n        MENUITEM \"P&anel jednotek\",             507\n        MENUITEM \"&Stavov dek\",              503\n        MENUITEM SEPARATOR\n        MENUITEM \"&Minimalizovat pi pouit\",  504\n        MENUITEM \"&Uloit nastaven pi ukonen\", 511\n    END\n    POPUP \"Za&bezpeen\"\n    BEGIN\n        MENUITEM \"Op&rvnn...\",               605\n        MENUITEM \"&Provst audit...\",           606\n        MENUITEM \"&Vlastnk...\",                607\n    END\n    POPUP \"&Okno\"\n    BEGIN\n        MENUITEM \"Nov o&kno\",                  1706\n        MENUITEM \"&Na sebe\\tShift+F5\",          1701\n        MENUITEM \"Nad se&be vodorovn\",         1703\n        MENUITEM \"&Vedle sebe svisle\\tShift+F4\", 1702\n        MENUITEM \"&Seadit ikony\",              1705\n        MENUITEM \"&Obnovit\\tF5\",                1704\n    END\n    POPUP \"Npo&vda\"\n    BEGIN\n        MENUITEM \"&Obsah\",                      1801\n        MENUITEM \"&Hledat npovdu...\",         30\n        MENUITEM \"&Jak pouvat npovdu\",      1802\n        MENUITEM SEPARATOR\n        MENUITEM \"O &aplikaci Sprvce soubor...\", 1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 12, 210, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Spustit\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,162,10\n    CONTROL         \"&Pkazov dek:\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,3,18,60,10\n    EDITTEXT        201,3,29,134,12,ES_AUTOHSCROLL\n    CONTROL         \"&Spustit minimalizovan\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,3,45,86,12\n    DEFPUSHBUTTON   \"OK\",1,165,6,40,14\n    PUSHBUTTON      \"Storno\",2,165,23,40,14\n    PUSHBUTTON      \"Npo&vda\",254,165,43,40,14\nEND\n\n11 DIALOG 20, 20, 240, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Tisk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,193,10\n    CONTROL         \"&Tisk:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,23,10\n    EDITTEXT        102,27,18,160,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,36,190,10\n    DEFPUSHBUTTON   \"OK\",1,197,6,40,14\n    PUSHBUTTON      \"Storno\",2,197,23,40,14\n    PUSHBUTTON      \"Npo&vda\",254,197,43,40,14\nEND\n\n12 DIALOG 20, 20, 255, 118\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Pidruit\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Soubory s pponou:\",-1,6,7,68,8\n    COMBOBOX        315,76,5,44,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"Pi&druit kaplikaci:\",-1,6,30,92,10\n    EDITTEXT        304,6,42,172,12,ES_AUTOHSCROLL\n    LISTBOX         314,11,54,167,62,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"&Prochzet...\",318,130,24,47,14\n    DEFPUSHBUTTON   \"OK\",1,187,6,62,14,WS_GROUP\n    PUSHBUTTON      \"Storno\",2,187,23,62,14\n    PUSHBUTTON      \"&Nov typ...\",300,187,42,62,14\n    PUSHBUTTON      \"&Zmnit typ...\",251,187,59,62,14\n    PUSHBUTTON      \"&Odstranit typ\",219,187,76,62,14\n    PUSHBUTTON      \"Npo&vda\",254,187,95,62,14\nEND\n\n13 DIALOG 20, 20, 263, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Hledat\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Hledat:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,6,45,12\n    EDITTEXT        201,52,5,160,12,ES_AUTOHSCROLL\n    CONTROL         \"&Kde zat:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,21,45,12\n    EDITTEXT        101,52,20,160,12,ES_AUTOHSCROLL\n    CONTROL         \"H&ledat ve vech podadresch\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,52,34,115,12\n    DEFPUSHBUTTON   \"OK\",1,217,6,40,14\n    PUSHBUTTON      \"Storno\",2,217,23,40,14\n    PUSHBUTTON      \"Npo&vda\",254,217,43,40,14\nEND\n\n14 DIALOG 47, 59, 231, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Pesunout\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Aktuln adres: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,182,10\n    CONTROL         \"&Kam:\",2001,\"Static\",SS_LEFTNOWORDWRAP,3,33,20,10\n    EDITTEXT        103,37,32,138,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,49,40,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,45,49,140,10\n    DEFPUSHBUTTON   \"OK\",1,185,6,40,14\n    PUSHBUTTON      \"Storno\",2,185,23,40,14\n    PUSHBUTTON      \"Npo&vda\",254,185,40,40,14\n    CONTROL         \"&Odkud:\",2002,\"Static\",SS_LEFTNOWORDWRAP,3,19,25,10\n    EDITTEXT        102,37,18,138,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Odstranit\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Aktuln adres: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"&Odstranit:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,35,10\n    EDITTEXT        102,40,19,155,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,35,35,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,40,35,155,10\n    DEFPUSHBUTTON   \"OK\",1,200,6,40,14\n    PUSHBUTTON      \"Storno\",2,200,23,40,14\n    PUSHBUTTON      \"Npo&vda\",254,200,40,40,14\nEND\n\n16 DIALOG 23, 13, 259, 229\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"%s - vlastnosti\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,204,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Storno\",2,204,23,50,14\n    PUSHBUTTON      \"Npo&vda\",254,204,40,50,14\n    CONTROL         \"&Nzev souboru:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,55,10\n    EDITTEXT        201,72,5,132,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Cest&a:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,72,16,132,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Posledn zmna:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,62,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,72,27,132,10\n    CONTROL         \"Verze:\",258,\"Static\",SS_LEFTNOWORDWRAP,5,38,45,10\n    CONTROL         \"nevyznaeno\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,72,38,132,10\n    LTEXT           \"Auto&rsk prva:\",-1,5,49,53,10\n    EDITTEXT        265,72,49,132,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Velikost:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,60,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,72,60,132,10\n    CONTROL         \"Komprim. velikost:\",268,\"Static\",SS_LEFTNOWORDWRAP,5,71,62,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,76,71,132,10\n    CONTROL         \"Kompresn pomr:\",270,\"Static\",SS_LEFTNOWORDWRAP,5,82,62,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,72,82,132,10\n    GROUPBOX        \"Atributy\",-1,4,96,120,54\n    CONTROL         \"j&en st\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,108,52,12\n    CONTROL         \"&skryt\",216,\"Button\",BS_AUTOCHECKBOX,71,108,49,12\n    CONTROL         \"ar&chivovat\",217,\"Button\",BS_AUTOCHECKBOX,9,120,47,12\n    CONTROL         \"sys&tmov\",218,\"Button\",BS_AUTOCHECKBOX,71,120,49,12\n    CONTROL         \"&komprimovan\",267,\"Button\",BS_AUTOCHECKBOX,9,132,59,12\n    GROUPBOX        \"&Informace overzi\",262,4,155,250,70\n    LISTBOX         263,9,168,91,58,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,110,168,138,58,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 200, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Vytvoit adres\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,154,10\n    CONTROL         \"&Nzev:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,23,24,10\n    EDITTEXT        201,41,22,90,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,46,150,10\n    DEFPUSHBUTTON   \"OK\",1,157,6,40,14\n    PUSHBUTTON      \"Storno\",2,157,23,40,14\n    PUSHBUTTON      \"Npo&vda\",254,157,43,40,14\nEND\n\n19 DIALOG 20, 20, 157, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Koprovat disketu\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Zdroj:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,50,10\n    COMBOBOX        245,55,6,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Cl:\",206,\"Static\",SS_LEFTNOWORDWRAP,5,22,50,10\n    COMBOBOX        222,55,20,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Storno\",2,110,23,40,14\n    PUSHBUTTON      \"Npo&vda\",254,110,43,40,14\nEND\n\n22 DIALOG 30, 30, 130, 55\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kopruje se disk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Kopruje se disk \",-1,0,5,130,10,NOT WS_GROUP\n    CTEXT           \"vjednotce A:\",222,0,15,130,10,NOT WS_GROUP\n    CTEXT           \"te se zdrojov disk\",243,0,26,130,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Storno\",2,44,39,44,14\nEND\n\n23 DIALOG 20, 20, 161, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Jmenovka disku\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Jmenovka:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,36,10\n    EDITTEXT        201,5,26,100,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,115,6,40,14\n    PUSHBUTTON      \"Storno\",2,115,23,40,14\n    PUSHBUTTON      \"Npo&vda\",254,115,43,40,14\nEND\n\n24 DIALOG 11, 28, 183, 96\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Naformtovat disk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,140,6,40,14\n    PUSHBUTTON      \"Storno\",2,140,23,40,14\n    PUSHBUTTON      \"Npo&vda\",254,140,43,40,14\n    CONTROL         \"Je&dnotka:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,7,49,10\n    COMBOBOX        222,55,4,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Kapacita:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,20,49,10\n    COMBOBOX        241,55,19,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Monosti\",102,5,39,115,53,WS_GROUP\n    CONTROL         \"j&menovka:\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,51,39,10\n    EDITTEXT        201,50,49,63,12\n    CONTROL         \"&rychl formtovn\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,62,90,12\nEND\n\n26 DIALOG 30, 30, 150, 50\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formtuje se disk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Formtuje se disk\",-1,0,5,150,10,NOT WS_GROUP\n    CTEXT           \"Inicializuje se ovlada...\",243,0,17,150,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Storno\",2,54,30,44,14\nEND\n\n30 DIALOG 20, 20, 174, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"sten popis\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Detaily\",-1,4,4,121,74\n    CONTROL         \"ve&likost\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,15,100,12\n    CONTROL         \"&datum posledn zmny\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,27,100,12\n    CONTROL         \"a&s posledn zmny\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,39,100,12\n    CONTROL         \"&atributy souboru\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,51,100,12\n    CONTROL         \"&nzvy soubor pro MS-DOS\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,63,100,12\n    DEFPUSHBUTTON   \"OK\",1,130,6,40,14\n    PUSHBUTTON      \"Storno\",2,130,23,40,14\n    PUSHBUTTON      \"Npo&vda\",254,130,60,40,14\nEND\n\n32 DIALOG 20, 20, 157, 102\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Podle typu souboru\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Nzev:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,23,10\n    EDITTEXT        201,34,6,65,12,ES_AUTOHSCROLL\n    GROUPBOX        \"Typy souboru\",-1,5,20,94,62\n    CONTROL         \"&adrese\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,31,60,12\n    CONTROL         \"&programy\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,43,60,12\n    CONTROL         \"&dokumenty\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,55,60,12\n    CONTROL         \"jin &soubory\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,60,12\n    CONTROL         \"&Zobrazit skryt a systmov soubory\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,5,85,131,12\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Storno\",2,110,23,40,14\n    PUSHBUTTON      \"Npo&vda\",254,110,43,40,14\nEND\n\n33 DIALOG 20, 20, 247, 92\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Potvrzovn\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Potvrzovat\",-1,5,3,188,85,WS_TABSTOP\n    CONTROL         \"od&strann souboru\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,15,80,12\n    CONTROL         \"odst&rann adrese\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,27,80,12\n    CONTROL         \"peps&n souboru\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,39,80,12\n    CONTROL         \"operace &my\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,51,80,12\n    CONTROL         \"&diskov pkazy\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,63,80,12\n    CONTROL         \"&zmnu soubor systmovch, skrytch a jen ke ten\",215,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,75,182,12\n    DEFPUSHBUTTON   \"OK\",1,199,6,40,14\n    PUSHBUTTON      \"Storno\",2,199,23,40,14\n    PUSHBUTTON      \"Npo&vda\",254,199,44,40,14\nEND\n\n35 DIALOG 20, 20, 250, 46\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Pesouv se...\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,5,49,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,5,192,10\n    CONTROL         \"Kam:\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,15,25,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,15,192,10\n    DEFPUSHBUTTON   \"Storno\",2,200,28,40,14,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 120, 58\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Soubor se tiskne...\",-1,4,6,120,12\n    CTEXT           \"\",-1,4,20,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"Storno\",2,44,40,32,14,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 206, 88\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Vlastnosti\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Vybrno %d soubor\",100,\"Static\",SS_LEFTNOWORDWRAP,5,5,144,10\n    CONTROL         \"Celkem %s bajt\",111,\"Static\",SS_LEFTNOWORDWRAP,5,16,144,10\n    GROUPBOX        \"Atributy\",-1,5,29,120,54\n    CONTROL         \"je&n ke ten\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,40,52,12\n    CONTROL         \"&skryt\",216,\"Button\",BS_AUTOCHECKBOX,72,40,52,12\n    CONTROL         \"&archivovat\",217,\"Button\",BS_AUTOCHECKBOX,10,52,52,12\n    CONTROL         \"sys&tmov\",218,\"Button\",BS_AUTOCHECKBOX,72,52,52,12\n    CONTROL         \"&komprimovan\",267,\"Button\",BS_AUTOCHECKBOX,10,64,59,12\n    DEFPUSHBUTTON   \"OK\",1,150,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Storno\",2,150,23,50,14\n    PUSHBUTTON      \"Npo&vda\",254,150,43,50,14\nEND\n\n39 DIALOG 10, 20, 245, 95\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Potvrdit nahrazen souboru\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Nahradit:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,12,49,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,12,165,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,75,22,170,10\n    CONTROL         \"Souborem:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,34,49,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,34,165,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,75,44,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,54,203,10\n    DEFPUSHBUTTON   \"&Ano\",6,33,73,40,14\n    PUSHBUTTON      \"Ano v&em\",107,79,73,40,14\n    PUSHBUTTON      \"&Ne\",7,125,73,40,14\n    PUSHBUTTON      \"Storno\",2,171,73,40,14\nEND\n\n40 DIALOG 10, 20, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Potvrdit odstrann souboru\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Odstranit:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,44,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Ano\",6,33,42,40,14\n    PUSHBUTTON      \"Ano v&em\",107,79,42,40,14\n    PUSHBUTTON      \"&Ne\",7,125,42,40,14\n    PUSHBUTTON      \"Storno\",2,171,42,40,14\nEND\n\n41 DIALOG 10, 20, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Potvrdit odstrann adrese\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Odstranit adres:\",-1,\"Static\",SS_LEFTNOWORDWRAP,23,18,60,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Ano\",6,33,42,40,14\n    PUSHBUTTON      \"Ano v&em\",107,79,42,40,14\n    PUSHBUTTON      \"&Ne\",7,125,42,40,14\n    PUSHBUTTON      \"Storno\",2,171,42,40,14\nEND\n\n42 DIALOG 10, 22, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Potvrdit pesun souboru\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Pesunout:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,44,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Ano\",6,33,42,40,14\n    PUSHBUTTON      \"Ano v&em\",107,79,42,40,14\n    PUSHBUTTON      \"&Ne\",7,125,42,40,14\n    PUSHBUTTON      \"Storno\",2,171,42,40,14\nEND\n\n43 DIALOG 10, 22, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Potvrdit pejmenovn souboru\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Pejmenovat:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,54,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Ano\",6,33,42,40,14\n    PUSHBUTTON      \"Ano v&em\",107,79,42,40,14\n    PUSHBUTTON      \"&Ne\",7,125,42,40,14\n    PUSHBUTTON      \"Storno\",2,171,42,40,14\nEND\n\n44 DIALOG 15, 12, 116, 83\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Vybrat soubory\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Soubory:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,60,10\n    EDITTEXT        201,5,29,60,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"Vy&brat\",1,70,6,43,14\n    PUSHBUTTON      \"Zr&uit vbr\",6,70,23,43,14\n    PUSHBUTTON      \"Storno\",2,70,40,43,14\n    PUSHBUTTON      \"Npo&vda\",254,70,63,43,14\nEND\n\n45 DIALOG 11, 31, 201, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Vybrat disk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Je&dnotky:\",245,\"Static\",SS_LEFTNOWORDWRAP,5,5,41,10\n    LISTBOX         222,5,16,140,60,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,155,6,40,14\n    PUSHBUTTON      \"Storno\",2,155,23,40,14\n    PUSHBUTTON      \"Npo&vda\",254,155,44,40,14\nEND\n\n46 DIALOG 11, 28, 250, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Vybrat nzev souboru\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Cesta se li od formtu nzv soubor ve FAT. Prosm napite nov nzev.\",99,5,4,190,24,NOT WS_GROUP\n    RTEXT           \"&Nov nzev:\",-1,5,56,50,12,NOT WS_GROUP\n    EDITTEXT        103,57,55,130,12\n    RTEXT           \"Pvodn cesta:\",-1,5,28,50,11,NOT WS_GROUP\n    EDITTEXT        102,57,28,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \"Do adrese:\",-1,5,42,50,11,NOT WS_GROUP\n    EDITTEXT        101,57,42,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"OK\",1,205,4,40,14\n    PUSHBUTTON      \"Storno\",2,205,20,40,14\n    PUSHBUTTON      \"Npo&vda\",254,205,36,40,14\nEND\n\n48 DIALOG 23, 13, 250, 119\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"%s - vlastnosti\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,194,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Storno\",2,194,23,50,14\n    PUSHBUTTON      \"Npo&vda\",254,194,43,50,14\n    CONTROL         \"&Nzev souboru:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,55,10\n    EDITTEXT        201,60,5,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Cesta:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,60,16,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Posledn zmna:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,62,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,60,27,97,10\n    CONTROL         \"Velikost:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,38,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,60,38,90,10\n    GROUPBOX        \"Atributy\",-1,4,52,120,54\n    CONTROL         \"j&en ke ten\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,64,52,12\n    CONTROL         \"&skryt\",216,\"Button\",BS_AUTOCHECKBOX,71,64,49,12\n    CONTROL         \"&archivovat\",217,\"Button\",BS_AUTOCHECKBOX,9,76,52,12\n    CONTROL         \"sys&tmov\",218,\"Button\",BS_AUTOCHECKBOX,71,76,49,12\n    CONTROL         \"&komprimovan\",267,\"Button\",BS_AUTOCHECKBOX,9,88,59,12\nEND\n\n49 DIALOG 13, 54, 264, 154\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Psmo\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Psmo:\",1088,6,3,40,9\n    COMBOBOX        1136,6,13,94,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"e&z psma:\",1089,108,3,44,9\n    COMBOBOX        1137,108,13,64,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"Veliko&st:\",1090,179,3,30,9\n    COMBOBOX        1138,179,13,32,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Styl\",1072,6,73,84,61,WS_GROUP\n    CONTROL         \"Pe&krtnut\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,83,49,10\n    CONTROL         \"Pod&tren\",1041,\"Button\",BS_AUTOCHECKBOX,10,95,51,10\n    CONTROL         \"Jednotky FAT zobrazit &malmi psmeny\",1042,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,127,252,10\n    CONTROL         \"Ve&chny jednotky zobrazit malmi psmeny\",1043,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,139,252,10\n    LTEXT           \"&Barva:\",1091,10,107,30,9\n    COMBOBOX        1139,10,117,75,50,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"OK\",1,218,6,40,14,WS_GROUP\n    PUSHBUTTON      \"Storno\",2,218,23,40,14,WS_GROUP\n    PUSHBUTTON      \"P&out\",1026,218,40,40,14,WS_GROUP\n    PUSHBUTTON      \"Npo&vda\",1038,218,57,40,14,WS_GROUP\n    GROUPBOX        \"Vzorek\",1073,6,72,252,49,WS_GROUP\n    CTEXT           \"\",1093,10,137,1,2,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"BbYy\",1092,10,81,243,37,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 77, 27, 160, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formtuje se disk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\",100,15,36,131,8\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,15,10,131,22\n    PUSHBUTTON      \"Skrt\",110,38,48,40,14\n    PUSHBUTTON      \"Storno\",2,82,48,40,14\nEND\n\n51 DIALOG 10, 20, 260, 70\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Potvrte: ignorovat soubor nebo adres a pokraovat\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Pstup odmtnut, ignorovat:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,10,203,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,119,10,122,10\n    CONTROL         \"Nemte oprvnn k pstupu nebo je soubor pouvn.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,25,230,10\n    CONTROL         \"Stisknutm Ano se ignoruje tento soubor a pokrauje v operaci.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,35,206,10\n    DEFPUSHBUTTON   \"&Ano\",6,33,52,40,14\n    PUSHBUTTON      \"Ano v&em\",107,79,52,40,14\n    PUSHBUTTON      \"&Ne\",7,125,52,40,14\n    PUSHBUTTON      \"Storno\",2,171,52,40,14\nEND\n\n52 DIALOG 10, 20, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Potvrte: ignorovat soubor nebo adres a pokraovat\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Cl nen pstupn, ignorovat:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,13,203,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,124,13,106,10\n    CONTROL         \"Stisknutm Ano se ignoruje tento soubor a pokrauje v operaci.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,23,215,10\n    DEFPUSHBUTTON   \"&Ano\",6,33,42,40,14\n    PUSHBUTTON      \"Ano v&em\",107,79,42,40,14\n    PUSHBUTTON      \"&Ne\",7,125,42,40,14\n    PUSHBUTTON      \"Storno\",2,171,42,40,14\nEND\n\n53 DIALOG 77, 109, 174, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Prohledv se disk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Hledat:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,5,60,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,50,5,120,10\n    CONTROL         \"Zahjit od:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,70,10\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,50,15,120,10\n    CONTROL         \"Peten adrese:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,25,64,10\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,66,25,100,10\n    CONTROL         \"Nalezeno celkem:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,35,60,10\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,66,35,100,10\n    PUSHBUTTON      \"Skrt\",110,45,48,40,14\n    PUSHBUTTON      \"Storno\",2,89,48,40,14\nEND\n\n54 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Zkoprovat do schrnky\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Souasn adres: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"&Zkoprovat\\ndoschrnky:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,17,43,16\n    EDITTEXT        102,55,23,141,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,200,6,42,14\n    PUSHBUTTON      \"Storno\",2,200,23,42,14\n    PUSHBUTTON      \"Npo&vda\",254,200,43,42,14\nEND\n\n55 DIALOG 18, 14, 290, 224\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Zmnit typ souboru\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Typ souboru:\",302,5,6,44,8\n    EDITTEXT        301,54,5,95,12,ES_AUTOHSCROLL\n    GROUPBOX        \"Ak&ce: \",-1,5,22,235,126,WS_GROUP\n    COMBOBOX        306,32,22,48,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"P&kaz:\",313,9,42,38,8\n    EDITTEXT        304,47,39,111,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"P&rochzet...\",318,164,38,49,14\n    CONTROL         \"pouv &DDE\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,57,56,10\n    LTEXT           \"&zprva DDE:\",320,22,72,50,8\n    EDITTEXT        309,105,70,100,12,ES_AUTOHSCROLL\n    LTEXT           \"n&en-li zobrazovn zprv DDE sputno:\",322,22,84,82,19\n    LTEXT           \"(voliteln)\",324,206,90,32,8\n    EDITTEXT        311,105,88,100,12,ES_AUTOHSCROLL\n    LTEXT           \"ap&likace:\",321,22,109,39,8\n    EDITTEXT        310,105,107,100,12,ES_AUTOHSCROLL\n    LTEXT           \"t&ma:\",323,23,127,21,8\n    EDITTEXT        312,105,125,100,12,ES_AUTOHSCROLL\n    LTEXT           \"nov ppon&a:\",-1,11,184,52,8\n    EDITTEXT        315,64,183,32,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"&Pidat ->\",303,102,174,44,14\n    PUSHBUTTON      \"<- &Odebrat\",219,102,191,44,14\n    LTEXT           \"ppo&ny:\",-1,157,162,41,8\n    LISTBOX         317,157,172,65,40,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Ppony pidruen tomuto typu souboru:\",316,5,154,235,66\n    DEFPUSHBUTTON   \"OK\",1,244,6,40,14\n    PUSHBUTTON      \"Storno\",2,244,23,40,14\n    PUSHBUTTON      \"Npo&vda\",254,244,40,40,14\nEND\n\n57 DIALOG 123, 60, 218, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Prbh komprese soubor\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Komprimovan soubor:\",-1,6,8,79,8\n    LTEXT           \"filename.xxx\",341,86,8,127,8\n    LTEXT           \"Adres:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,43,20,150,8\n    LTEXT           \"Komprimovan adrese:\",-1,6,32,102,8\n    LTEXT           \"1,888,888,999\",343,90,32,60,8\n    LTEXT           \"Komprimovan soubory:\",-1,6,44,78,8\n    LTEXT           \"1,888,888,999\",344,90,44,58,8\n    LTEXT           \"Celkov velikost soubor ped komprimac:\",-1,6,56,142,8\n    LTEXT           \"9,999,999,999,999\",345,150,56,68,8\n    LTEXT           \"Celkov velikost soubor po komprimaci:\",-1,6,68,134,8\n    LTEXT           \"9,999,999,999,999\",346,150,69,68,8\n    LTEXT           \"Kompresn pomr souboru:\",-1,6,80,87,8\n    LTEXT           \"100%\",347,98,80,27,8\n    PUSHBUTTON      \"Storno\",2,76,97,55,14\nEND\n\n58 DIALOG 114, 62, 197, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Prbh dekomprimace soubor\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Dekomprimovan soubor:\",-1,6,8,83,8\n    LTEXT           \"filename.xxx\",351,93,8,96,8\n    LTEXT           \"Adres:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\",352,45,20,144,8\n    LTEXT           \"Nekomprimovan adrese:\",-1,6,32,91,8\n    LTEXT           \"1,999,999,999\",353,99,32,70,8\n    LTEXT           \"Dekomprimovan soubory:\",-1,6,44,86,8\n    LTEXT           \"1,999,999,999\",354,99,44,78,8\n    PUSHBUTTON      \"Storno\",2,74,64,49,14\nEND\n\n59 DIALOG 11, 28, 245, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Chyba komprimace\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,8,8,21,20\n    LTEXT           \"\",100,35,8,190,20\n    DEFPUSHBUTTON   \"&Ignorovat\",5,5,47,54,14,WS_GROUP\n    PUSHBUTTON      \"Ignorovat v&e\",112,65,47,54,14\n    PUSHBUTTON      \"&Znovu\",4,125,47,54,14\n    PUSHBUTTON      \"&Peruit\",3,185,47,54,14\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY, SHIFT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT\n    VK_F4,          1702,                   VIRTKEY, SHIFT\n    VK_F5,          1704,                   VIRTKEY \n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII   \n    VK_ADD,         301,                    VIRTKEY \n    \"*\",            302,                    ASCII   \n    VK_MULTIPLY,    302,                    VIRTKEY \n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL\n    \"-\",            304,                    ASCII   \n    VK_SUBTRACT,    304,                    VIRTKEY \n    VK_RETURN,      110,                    VIRTKEY, ALT\n    VK_F2,          2000,                   VIRTKEY \nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"CUR300.CUR\"\n\n\n301                     CURSOR                  \"CUR301.CUR\"\n\n\n302                     CURSOR                  \"CUR302.CUR\"\n\n\n303                     CURSOR                  \"CUR303.CUR\"\n\n\n306                     CURSOR                  \"CUR306.CUR\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ICO200.ICO\"\n\n\n201                     ICON                    \"ICO201.ICO\"\n\n\n202                     ICON                    \"ICO202.ICO\"\n\n\n204                     ICON                    \"ICO204.ICO\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,91\n PRODUCTVERSION 4,0,1381,91\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"040504B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"Sprvce soubor\"\n            VALUE \"FileVersion\", \"4.00\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"Copyright (C) Microsoft Corp. 1981-1996\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"Operan systm Microsoft(R) Windows NT(TM)\"\n            VALUE \"ProductVersion\", \"4.00\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0x405, 1200\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"Koprovat disketu\"\n    51                      \"Vlote clovou disketu.\"\n    52                      \"Vlote zdrojovou disketu.\"\n    53                      \"Vlote zdrojovou a clovou disketu.\"\n    54                      \"Clov disketa se formtuje\"\n    55                      \"Chyba pi koprovn diskety\"\n    56                      \"Nelze zkoprovat disketu.\"\n    58                      \"Zdrojov a clov disk spolu nemohou pracovat.\"\n    60                      \"Hotovo %d%%\"\n    61                      \"Vytv se koenov adres...\"\n    62                      \"Kopruj se systmov soubory...\"\n    63                      \"Chyba pi formtovn diskety\"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \"Formtovn dokoneno\"\n    67                      \"Celkem msta: %ld\\nVoln msto: %ld\\n\\nChcete naformtovat dal?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"Sov chyba\"\n    83                      \"Jednotka obsahuje systmov soubory Windows a nelze ji odpojit.\"\n    91                      \"Sprvce soubor neme zmnit atributy.  \"\n    92                      \"Sprvce soubor neme vytvoit adres.  \"\n    93                      \"Sprvce soubor neme oznait disketu jmenovkou.\\n\\nPesvdte se, nen-li disketa chrnna proti zpisu, zda nejde o sovou jednotku a je-li jmenovka ppustn. Jmenovka nesm obsahovat znaky\\n[mezera] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n    95                      \"Nenalezeny dn vyhovujc soubory.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \"Obsah jednotky se zmnil. M se zaktualizovat okno svsledky hledn soubor?\"\n    98                      \"Operaci na pevnm disku lze provst pouze kdy se na pracovn stanici pihlste jako sprvce.\"\n    101                     \"Jednotka %c: %c\"\n    110                     \"Program nelze spustit\"\n    111                     \"Neoekvan chyba: %d.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"Ke sputn uren aplikace nen dost pamti.\\n\\nZvtete volnou pam ukonenm nkolika aplikac a zkuste to znovu.\"\n    113                     \"Sprvce soubor neme najt soubor (nebo nkterou jeho komponentu). \\n\\nUjistte se, e cesta a nzev souboru jsou sprvn a vechny poadovan knihovny jsou k dispozici.\"\n    114                     \"Zadan cesta nen platn.\"\n    116                     \"dn aplikace nen pidruena k tomuto souboru.\\n\\nPidruen vytvote pkazem Pidruit v nabdce Soubor.\"\n    118                     \"Sprvce soubor neme otevt ani tisknout soubor.\\n\\nSpuste aplikaci, kter soubor vytvoila, a otevete ho nebo vytisknte odsud.\"\n    120                     \"Potvrdit operaci provedenou my\"\n    121                     \"Opravdu chcete zkoprovat vybran soubory nebo adrese do %s?\"\n    122                     \"Opravdu chcete pesunout vybran soubory nebo adrese do %s?\"\n    123                     \"Opravdu chcete %s pouvat jako inicializan soubor msto souboru %s?\"\n    124                     \"Sprvce soubor\"\n    126                     \"Adresov strom\"\n    127                     \"Vsledky hledn: \"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \"Pli mnoho soubor\"\n    133                     \"Sprvce soubor - nedostatek pamti\"\n    134                     \"Ned se pest cel adres. Zobraz se jen sten seznam.\"\n    140                     \"Aktuln adres: %s\"\n    141                     \"Koprovat\"\n    143                     \"Pejmenovat\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"Naformtovat disk\"\n    146                     \"Vyberte disk, kter se m naformtovat.\"\n    150                     \"Vytv se:\"\n    151                     \"Odebr se...\"\n    152                     \"Kopruje se:\"\n    153                     \"Pejmenovv se...\"\n    154                     \"Pesouv se...\"\n    155                     \"Odstrauje se...\"\n    156                     \"Tiskne se: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"Kopruje se...\"\n    170                     \"Odebr se:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \"Celkem soubor %d (%s)\"\n    181                     \"Petench adres: %d \"\n    182                     \"%c: %s volnch,  %s celkem\"\n    183                     \"Nalezeno soubor: %d\"\n    185                     \"vybran soubory\"\n    186                     \"Sprvce soubor neme odpojit sovou jednotku.\\n\\nNa tto jednotce jsou oteven soubory.\"\n    187                     \"Vybrno soubor: %d (%s)\"\n    188                     \"Vjednotce %c nen disketa.\\n\\nVlote disketu a zkuste to znovu.\"\n    189                     \"Disketa vjednotce %c nen naformtovan.\\n\\nChcete ji naformtovat?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"Na disku nen dost msta k tisku.\\n\\nUvolnte msto odstrannm jednoho nebo vce soubor a zkuste to znovu.\"\n    193                     \"Nen dost pamti k tisku.\\n\\nZavete nkter aplikace a zkuste to znovu.\"\n    194                     \"Pi tisku dolo kchyb.\\n\\nPesvdte se, je-li tiskrna vybran a sprvn nakonfigurovan.\"\n    195                     \"Zobrazen nepln adresov strom\"\n    197                     \"Clov disketa je pln. Pokraujte vloenm dal diskety.\"\n    198                     \"Tento soubor je systmov, skryt nebo jen ke ten.\"\n    199                     \"Sprvce soubor neme provst rychl formtovn.\\n\\nPokraovat normlnm formtovnm?\"\n    203                     \"Pi odesln pkazu aplikaci dolo kchyb.\"\n    204                     \"Nelze zavst knihovnu poadovanou pro tuto operaci.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \"&Sdlen adrese...\"\n    210                     \"Formtovn smae vechna data z diskety. Urit chcete naformtovat disketu v jednotce %c?\"\n    211                     \"Potvrdit naformtovn disku\"\n    212                     \"Tato operace vymae VECHNA data zclovho disku. Opravdu chcete pokraovat?\"\n    213                     \"Potvrdit zkoprovn disku\"\n    214                     \"&Zavt\"\n    215                     \"Zavt\"\n    218                     \"Adres %s neexistuje.\\n\\nChcete jej vytvoit?\"\n    219                     \"programy#*.exe;*.pif;*.com;*.bat#vechny soubory (*.*)#*.*#\"\n    220                     \"Prochzet\"\n    221                     \"Spustit\"\n    222                     \"Soubor nelze vytisknout\"\n    223                     \"Npovdu nelze zobrazit.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"Soubory s pponou %s jsou programy a nemohou se pidruovat kaplikaci.\"\n    225                     \"%s nen program a neme se knmu pidruit ppona souboru.\"\n    226                     \"(nen)\"\n    227                     \"dn soubory nenalezeny.\"\n    228                     \"Sprvce soubor neme tisknout vce soubor najednou.\\n\\nVyberte znich pouze jeden a pak to zkuste znovu.\"\n    230                     \"Jeden zknihovnch soubor potebnch pro bh aplikace je znien. Nainstalujte tuto aplikaci znovu.\"\n    231                     \"Tento soubor je pouvn jinou aplikac.\"\n    232                     \"Soubory v adresi %s mon nebudou pstupn.\\n\\nM se pokraovat?\"\n    233                     \"Vytvoit adres\"\n    234                     \"%ld bajt\"\n    235                     \"%s bajt\"\n    236                     \"Sprvce soubor neme zkoprovat vce soubor nebo adres do schrnky.\\n\\nVyberte jeden soubor a zkuste to znovu.\"\n    237                     \"%s - %s\"\n    238                     \"Jednotka:\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"Pipojit sovou jednotku\"\n    241                     \"Odpojit sovou jednotku\"\n    242                     \"Sov pipojen\"\n    243                     \"Sdlet adres\"\n    244                     \"Ukonit sdlen adrese\"\n    245                     \"Zobrazit vechny detaily souboru\"\n    246                     \"Zobrazit jen nzvy\"\n    247                     \"Seadit podle nzvu\"\n    248                     \"Seadit podle typu\"\n    249                     \"Seadit podle velikosti\"\n    250                     \"Seadit podle data\"\n    251                     \"Nov okno\"\n    252                     \"Koprovat soubory\"\n    253                     \"Pesunout soubory\"\n    254                     \"&Nzev adrese:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"Sov jednotka nen k dispozici.\"\n    259                     \"Sdl se jako %s\"\n    260                     \"Nesdl se\"\n    261                     \"Odstranit soubory\"\n    262                     \" - KOMPRIMOVNO\"\n    263                     \"Kopruj se soubory do %s\"\n    264                     \"Pesouvaj se soubory do %s\"\n    265                     \"Soubor se otevr programem %s\"\n    266                     \"%s bajt\"\n    267                     \"%skB\"\n    268                     \"%sMB\"\n    269                     \"%sGB\"\n    270                     \"%sTB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \"Nemte oprvnn k pstupu do tohoto adrese.\"\n    281                     \"Nemte oprvnn k pstupu do tohoto souboru.\"\n    283                     \"Jednotka %c: je zaneprzdnna a nen k n mon pstup.\\nSprvce soubor disk prv kopruje.\"\n    284                     \"Jednotka %c: je zaneprzdnna a nen k n mon pstup.\\nSprvce soubor disk prv formtuje.\"\n    285                     \"Operace nebyla zcela dokonena\"\n    286                     \"Nelze dokonit operaci u vech soubor akce adres.\"\n    287                     \"Adres nelze st\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"Adres neexistuje.\"\n    289                     \"Sovou jednotku nelze pipojit\"\n    290                     \"Sov nzev nelze najt.\"\n    292                     \"Ano vem ovlivn vechny soubory, vetn systmovch, skrytch a urench jen ke ten.\"\n    294                     \"Otevt\"\n    295                     \"Tisk\"\n    298                     \"Pidat pponu\"\n    299                     \"Ppona %s je u piazena k %s. M se pokraovat a zmnit toto piazen?\"\n    300                     \"Editor pidruen soubor\"\n    301                     \"Nelze pidruit pponu.  \"\n    302                     \"Nelze odstranit pponu.  \"\n    303                     \"Nelze pidat typ souboru.  \"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"Nelze odstranit typ souboru.  \"\n    305                     \"Ned se zjistit typ souboru.  \"\n    306                     \"Popis typu souboru nelze nechat przdn. Zadejte nov typ souboru.\"\n    307                     \"Nelze vygenerovat jednoznan identifiktor zaloen na typu souboru. Zadejte nov typ souboru.\"\n    308                     \"Odstranit typ souboru\"\n    309                     \"Typ souboru a vechny pidruen ppony budou odstranny. Urit chcete odstranit %s?\"\n    312                     \"Typ souboru mus mt nejmn pro jednu akci zadan pkaz. Zadejte v pkazovm poli aplikaci.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"Nov typ souboru\"\n    321                     \"Kopruje se disk\"\n    322                     \"Hled se...\"\n    324                     \"Sprvce soubor momentln formtuje disketu. Ukonen sprvce peru koprovn.\"\n    325                     \"Sprvce soubor momentln kopruje disketu. Ukonen sprvce peru koprovn.\"\n    326                     \"Celkem procent\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360kB\"\n    354                     \"1%s2 MB\"\n    355                     \"720kB\"\n    356                     \"1%s44 MB\"\n    357                     \"2%s88 MB\"\n    358                     \"Kapacita jednotky\"\n    359                     \"Sprvce soubor neme zjistit informace o disket.\\n\\nUjistte se, e disketa je v jednotce.\"\n    360                     \"20%s8 MB\"\n    361                     \"Neznm typ disku\"\n    362                     \"Neznm typ disku\"\n    363                     \"Sprvce soubor neme naformtovat disketu v jednotce %s. K naformtovn diskety takovho typu pouijte Sprvce disku.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"Nesluiteln systm soubor.\"\n    401                     \"Pstup odmtnut.\"\n    402                     \"Disk je chrnn proti zpisu.\"\n    403                     \"Svazek se ned zamknout.\"\n    404                     \"Sprvce soubor neme naformtovat rychle disketu.\\n\\nUjistte se, e disketa m sprvnou hustotu.\"\n    405                     \"Chyba V/V na zdrojov jednotce.\"\n    406                     \"Chyba V/V na clov jednotce.\"\n    407                     \"Chyba V/V jak na zdrojov, tak na clov jednotce.\"\n    408                     \"Dolo k chyb V/V.\"\n    411                     \"Sprvce soubor neme naformtovat disketu.\\n\\nUjistte se, e disketa je v jednotce a nen chrnna proti zpisu, pokozena nebo se patnou hustotou.\"\n    412                     \"Sprvce soubor neme oznait disketu jmenovkou.\\nUveden jmenovka nen ppustn.\\nJmenovka nesm obsahovat znaky\\n[mezera] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \"Otevr se...\"\n    421                     \"Zavr se...\"\n    422                     \"Je oteveno pli mnoho oken adres.\\n\\nZavete nkter okna a zkuste to znovu.\"\n    423                     \"Rychle se formtuje...\"\n    424                     \"Slubu pro aktualizaci pozad nelze inicializovat. Sprvce soubor se ukon.  \"\n    425                     \"Inicializace Sprvce soubor\"\n    426                     \"te se adres, pokejte prosm...\"\n    427                     \"Chcete komprimovat i vechny soubory a podadrese v %s?\"\n    428                     \"Pejete si dekomprimovat vechny soubory a podadrese v %s?\"\n    429                     \"Sprvce soubor neme zmnit atributy komprese pro %s.\"\n    430                     \"Soubor %s se ned zkomprimovat. Zkomprimovn tohoto souboru me zpsobit nespustitelnost tohoto systmu.\"\n    431                     \"Sprvce soubor momentln komprimuje nebo dekomprimuje soubory.\\nChcete-li komprimovat nebo nekomprimovat dal soubory, muste pokat.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"komente\"\n    501                     \"nzev firmy\"\n    502                     \"popis souboru\"\n    503                     \"vnitn nzev\"\n    504                     \"ochrann znmky\"\n    505                     \"pvodn nzev souboru\"\n    506                     \"popis internho sestaven\"\n    507                     \"nzev produktu\"\n    508                     \"verze produktu\"\n    509                     \"popis zvltnho sestaven\"\n    510                     \"jazyk\"\n    511                     \"jazyky\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"&Pipojit sovou jednotku...\"\n    801                     \"O&dpojit sovou jednotku...\"\n    802                     \"&Sov pipojen...\"\n    803                     \"Sd&let jako...\"\n    804                     \"Kone&c sdlen...\"\n    805                     \"&Zobrazit sdlen adrese...\"\n    806                     \"&Zpt odstranit...\"\n    807                     \"Pi pip&ojen otevt nov okno\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \"Chyba pi pesouvn souboru\"\n    1002                    \"Chyba pi koprovn souboru\"\n    1003                    \"Chyba pi odstraovn souboru\"\n    1004                    \"Chyba pi pejmenovvn souboru\"\n    1005                    \"Chyba pi vbru jednotky\"\n    1006                    \"Chyba pi ten adrese\"\n    1007                    \"Chyba pi oznaovn disku jmenovkou\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"%s se ned pesunout: %s\"\n    1012                    \"%s se ned zkoprovat: %s\"\n    1013                    \"%s se ned odstranit: %s\"\n    1014                    \"%s se ned pejmenovat: %s\"\n    1021                    \"Adres %s se ned vytvoit: %s\"\n    1022                    \"Adres %s se ned odstranit: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"%s se ned vytvoit ani pesunout: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"Zdroj a cl jsou stejn.\"\n    1102                    \"Zvolte jen jeden soubor k pejmenovn. Mete ale tak pout syntaxi systmu MS-DOS a zadat vce soubor pomoc * a ? (napklad *.TXT), a pejmenovat tak skupinu soubor spodobnmi nzvy.\"\n    1103                    \"Pi pejmenovn nelze zrove pesouvat do jinho adrese nebo na jin disk.\\nMsto toho pouijte pkaz pro pesun souboru.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"Koenov adres nelze pejmenovat.\"\n    1105                    \"Clov adres je podadresem zdroje.\"\n    1106                    \"Soubor je pouvn systmem Windows.\"\n    1107                    \"Uvete jen jeden soubor nebo adres v poli Kam. Nebo, jestli chcete zadat skupinu soubor, pouijte \"\"*\"\" nebo \"\"?\"\" (nap. *.TXT).\"\n    1108                    \"Soubor nebo adres s tmto nzvem ji existuje. V jednom adresi se vechny nzvy soubor a adres mohou vyskytnout pouze jednou.\"\n    1109                    \"Ujistte se, e zadan cesta a nzev souboru jsou sprvn.\"\n    1110                    \"Ujistte se, e zadan cesta je sprvn.\"\n    1111                    \"Ukonete nkter aplikace a pak to zkuste znovu. Nebo zvtete virtuln pam v ovldacm panelu Systm.\"\n    1113                    \"Zrute ochranu proti zpisu na disket nebo pouijte jinou disketu a zkuste znovu.\"\n    1114                    \"Ujistte se, e mte pidlena pro proveden operace dostaujc sov oprvnn.\"\n    1115                    \"Uvolnte msto na disku odstrannm jednoho nebo vce soubor a zkuste znovu.\"\n    1116                    \"Na mdiu nebyla zjitna dn data.\"\n    1117                    \"Adres u existuje.\"\n    1118                    \"Soubor u uveden nzev pouv.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"V jednotce je patn disketa.\"\n    1151                    \"Tuto aplikaci nelze spustit v reimu Windows NT.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \"Operan systm neme spustit tuto soust.\"\n    1153                    \"Soust nelze spustit v reimu Windows NT.\"\n    1154                    \"Tento program nen platnou aplikac systmu Windows NT.\"\n    1155                    \"Dolo k chyb. K tto chyb neexistuje popis.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \"Rs[(&F):\"\n    2001                    \"Rs[(&T):\"\n    2002                    \"̖O(&F):\"\n    2003                    \"VO(&T):\"\n    2004                    \"Rs[:\"\n    2005                    \"̃tHggpƊ̕\\\\\\nłȂȂ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"Pkazy pro prci se soubory\"\n    3985                    \"Pkazy pro prci sdisky\"\n    3986                    \"Pkazy pro prci vokn stromu\"\n    3987                    \"Pkazy pro nastavovn zpsobu zobrazen informac\"\n    3988                    \"Pkazy pro nastavovn monost\"\n    3989                    \"Pkazy pro prci se zabezpeenm soubor a adres\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"Pkazy pro prci sokny\"\n    4001                    \"Pkazy pro vyvolvn npovdy k Sprvci soubor\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"Vyhled tma vnpovd Sprvce soubor\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \"Oteve vybranou poloku\"\n    4102                    \"Vytiskne dokument\"\n    4103                    \"Pidru soubor kaplikaci\"\n    4104                    \"Hled soubory a adrese\"\n    4105                    \"Spust aplikaci nebo oteve dokument\"\n    4106                    \"Pesune vybranou poloku\"\n    4107                    \"Kopruje soubory a adrese\"\n    4108                    \"Odstrauje soubory a adrese\"\n    4109                    \"Pejmenuje soubor nebo adres\"\n    4110                    \"Nastav atributy soubor a zobraz vlastnosti\"\n    4111                    \"Vytvo adres\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"Ukon Sprvce soubor\"\n    4116                    \"Vybere soubory a adrese\"\n    4117                    \"Obnov dve odstrann soubory\"\n    4118                    \"Zkopruje soubor do schrnky\"\n    4119                    \"Komprimovat a soubor nebo adres\"\n    4120                    \"Dekomprimuje soubor nebo adres\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"Zkopruje obsah diskety\"\n    4202                    \"Piad nebo zmn jmenovku diskovmu svazku\"\n    4203                    \"Naformtuje disketu\"\n    4205                    \"Pipoj sovou jednotku\"\n    4206                    \"Odpoj sovou jednotku\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"Vybere jinou jednotku\"\n    4254                    \"Nastav sdlen adrese\"\n    4255                    \"Ukon sdlen adrese\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"Zobraz jinou rove adrese\"\n    4302                    \"Zobraz vechny rovn adrese\"\n    4303                    \"Zobraz vechny rovn vech adres\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \"Sbal vechny podadrese vybranho adrese\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \"Zobraz pouze nzvy soubor\"\n    4402                    \"Zobraz vechny informace o souboru\"\n    4403                    \"Zobraz sten informace o souborech\"\n    4404                    \"Sead soubory podle nzvu\"\n    4405                    \"Sead soubory podle typu\"\n    4406                    \"Sead soubory podle velikosti\"\n    4407                    \"Sead soubory podle data\"\n    4409                    \"Zobraz soubory uritho typu\"\n    4411                    \"Zobraz adresov strom\"\n    4412                    \"Zobraz obsah aktulnho adrese\"\n    4413                    \"Zobraz adresov strom a obsah aktulnho adrese\"\n    4414                    \"Rozdl adresov okno nebo posune pku\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"d potvrzovac zprvy\"\n    4503                    \"Zobraz nebo skryje stavov dek\"\n    4504                    \"Po sputn zmen Sprvce soubor do ikony\"\n    4505                    \"Ozna adrese, kter obsahuj podadrese\"\n    4507                    \"Zobraz nebo skryje panel jednotek\"\n    4508                    \"Zobraz nebo skryje panel nstroj\"\n    4509                    \"Pi pipojen oteve nov okno\"\n    4510                    \"Zmn psmo ve Sprvci soubor\"\n    4511                    \"Pi ukonen Sprvce soubor ulo nastaven\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"Pizpsob pruh nstroj\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"Zobraz nebo nastav informaci o oprvnn u vybranch poloek\"\n    4606                    \"Zobraz nebo nastav informace o auditu u vybranch poloek\"\n    4607                    \"Zobraz nebo pevezme vlastnictv pro vybran poloky\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"Okna na sebe\"\n    5702                    \"Okna vedle sebe svisle\"\n    5703                    \"Okna nad sebe vodorovn\"\n    5704                    \"Aktualizuje obsah okna\"\n    5705                    \"Srovn ikony\"\n    5706                    \"Oteve nov okno\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"Zobraz obsah npovdy pro Sprvce soubor\"\n    5802                    \"Zobraz informace o pouvn npovdy\"\n    5803                    \"Zobraz informace o Sprvci soubor\"\nEND\n\n#endif    // Czech (Czech Republic) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/origrc/winfile.da-DK.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Danish (Denmark) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DAN)\nLANGUAGE LANG_DANISH, SUBLANG_DEFAULT\n#pragma code_page(1252)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"BMP100.BMP\"\n\n\n101                     BITMAP                  \"BMP101.BMP\"\n\n\n102                     BITMAP                  \"BMP102.BMP\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"&Filer\"\n    BEGIN\n        MENUITEM \"&bn\\tEnter\",                 101\n        MENUITEM \"&Flyt...\\tF7\",                106\n        MENUITEM \"K&opier...\\tF8\",              107\n        MENUITEM \"Kopier til Udklipsbo&g...\\tF9\", 118\n        MENUITEM \"&Slet...\\tDel\",               108\n        MENUITEM \"Om&db...\",                   109\n        MENUITEM \"Ege&nskaber...\\tAlt+Enter\",   110\n        MENUITEM SEPARATOR\n        MENUITEM \"Komp&rimer...\",               119\n        MENUITEM \"Dekompr&imer...\",             120\n        MENUITEM SEPARATOR\n        MENUITEM \"&Kr...\",                     105\n        MENUITEM \"&Udskriv...\",                 102\n        MENUITEM \"Asso&cier...\",                103\n        MENUITEM SEPARATOR\n        MENUITEM \"Opr&et mappe...\",             111\n        MENUITEM \"S&g...\",                     104\n        MENUITEM \"&Marker filer...\",            116\n        MENUITEM SEPARATOR\n        MENUITEM \"&Afslut\",                     115\n    END\n    POPUP \"&Disk\"\n    BEGIN\n        MENUITEM \"&Kopier diskette...\",         201\n        MENUITEM \"&Navngiv disk...\",            202\n        MENUITEM SEPARATOR\n        MENUITEM \"&Formater diskette...\",       203\n        MENUITEM SEPARATOR\n        MENUITEM \"&Vlg drev...\",               251\n    END\n    POPUP \"&Tr\"\n    BEGIN\n        MENUITEM \"Udvid med et &niveau\\t+\",     301\n        MENUITEM \"&Udvid gren\\t*\",              302\n        MENUITEM \"U&dvid alle\\tCtrl+*\",         303\n        MENUITEM \"&Skjul gren\\t-\",              304\n        MENUITEM SEPARATOR\n        MENUITEM \"&Vis udvidelige grene\",       505\n    END\n    POPUP \"&Vis\"\n    BEGIN\n        MENUITEM \"Mapp&etr og filliste\",       413\n        MENUITEM \"Kun &mappetr\",               411\n        MENUITEM \"Kun &filliste\",               412\n        MENUITEM SEPARATOR\n        MENUITEM \"&Opdel\",                      414\n        MENUITEM SEPARATOR\n        MENUITEM \"&Kun filnavn\",                401\n        MENUITEM \"&Alle filinformationer\",      402, CHECKED\n        MENUITEM \"&Udvalgte informationer...\",  403\n        MENUITEM SEPARATOR\n        MENUITEM \"Sorter efter &navn\",          404\n        MENUITEM \"Sor&ter efter type\",          405\n        MENUITEM \"Sorter efter &strrelse\",     406\n        MENUITEM \"Sorter efter &dato\",          407\n        MENUITEM SEPARATOR\n        MENUITEM \"Udva&lgte filtyper...\",       409\n    END\n    POPUP \"&Indstillinger\"\n    BEGIN\n        MENUITEM \"&Bekrftelse...\",             501\n        MENUITEM \"&Skrifttype...\",              510\n        MENUITEM \"&Tilpas vrktjslinje...\",    512\n        MENUITEM SEPARATOR\n        MENUITEM \"&Vrktjslinje\",              508\n        MENUITEM \"&Drevlinje\",                  507\n        MENUITEM \"Status&linje\",                503\n        MENUITEM SEPARATOR\n        MENUITEM \"&Minimer ved brug\",           504\n        MENUITEM \"Gem indstillinger ved &afslutning\", 511\n    END\n    POPUP \"&Sikkerhed\"\n    BEGIN\n        MENUITEM \"&Tilladelser...\",             605\n        MENUITEM \"&Overvgning...\",             606\n        MENUITEM \"&Ejer...\",                    607\n    END\n    POPUP \"Vind&ue\"\n    BEGIN\n        MENUITEM \"&Nyt vindue\",                 1706\n        MENUITEM \"&Overlappet\\tSkift+F5\",       1701\n        MENUITEM \"Delt &vandret\",               1703\n        MENUITEM \"De&lt lodret\\tSkift+F4\",      1702\n        MENUITEM \"&Arranger ikoner\",            1705\n        MENUITEM \"Op&dater\\tF5\",                1704\n    END\n    POPUP \"&Hjlp\"\n    BEGIN\n        MENUITEM \"&Indhold\",                    1801\n        MENUITEM \"&Sg efter hjlp om...\",      30\n        MENUITEM \"&Brug af Hjlp\",              1802\n        MENUITEM SEPARATOR\n        MENUITEM \"&Om Filhndtering...\",        1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 12, 210, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kr\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,162,10\n    CONTROL         \"&Kommandolinje:\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,3,18,62,10\n    EDITTEXT        201,3,29,134,12,ES_AUTOHSCROLL\n    CONTROL         \"Kr &minimeret\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,3,45,56,12\n    DEFPUSHBUTTON   \"OK\",1,165,6,40,14\n    PUSHBUTTON      \"Annuller\",2,165,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,165,43,40,14\nEND\n\n11 DIALOG 20, 20, 240, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Udskriv\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,193,10\n    CONTROL         \"&Udskriv:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,28,10\n    EDITTEXT        102,33,18,154,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,36,190,10\n    DEFPUSHBUTTON   \"OK\",1,197,6,40,14\n    PUSHBUTTON      \"Annuller\",2,197,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,197,43,40,14\nEND\n\n12 DIALOG 20, 20, 255, 118\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Associer\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Filer med filtypenavnet:\",-1,6,7,75,8\n    COMBOBOX        315,82,5,44,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Associer med:\",-1,6,31,47,10\n    EDITTEXT        304,6,42,172,12,ES_AUTOHSCROLL\n    LISTBOX         314,11,54,167,62,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"&Gennemse...\",318,129,24,50,14\n    DEFPUSHBUTTON   \"OK\",1,187,6,62,14,WS_GROUP\n    PUSHBUTTON      \"Annuller\",2,187,23,62,14\n    PUSHBUTTON      \"&Ny type...\",300,187,42,62,14\n    PUSHBUTTON      \"&Indstil type...\",251,187,59,62,14\n    PUSHBUTTON      \"&Slet type\",219,187,76,62,14\n    PUSHBUTTON      \"&Hjlp\",254,187,95,62,14\nEND\n\n13 DIALOG 20, 20, 263, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Sg\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Sg efter:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,6,34,12\n    EDITTEXT        201,52,5,160,12,ES_AUTOHSCROLL\n    CONTROL         \"Start &fra:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,21,30,12\n    EDITTEXT        101,52,20,160,12,ES_AUTOHSCROLL\n    CONTROL         \"&Gennemsg alle undermapper\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,52,34,119,12\n    DEFPUSHBUTTON   \"OK\",1,217,6,40,14\n    PUSHBUTTON      \"Annuller\",2,217,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,217,43,40,14\nEND\n\n14 DIALOG 47, 59, 231, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Flyt\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Nuvrende mappe: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,179,10\n    CONTROL         \"&Til:\",2001,\"Static\",SS_LEFTNOWORDWRAP,3,33,12,10\n    EDITTEXT        103,45,32,138,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,49,40,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,45,49,140,10\n    DEFPUSHBUTTON   \"OK\",1,186,6,40,14\n    PUSHBUTTON      \"Annuller\",2,186,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,186,40,40,14\n    CONTROL         \"&Fra:\",2002,\"Static\",SS_LEFTNOWORDWRAP,3,19,14,10\n    EDITTEXT        102,45,18,138,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Slet\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Nuvrende mappe: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"&Slet:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,16,10\n    EDITTEXT        102,40,19,155,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,35,35,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,40,35,155,10\n    DEFPUSHBUTTON   \"OK\",1,200,6,40,14\n    PUSHBUTTON      \"Annuller\",2,200,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,200,40,40,14\nEND\n\n16 DIALOG 23, 13, 265, 234\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Egenskaber for %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,212,6,46,14,WS_GROUP\n    PUSHBUTTON      \"Annuller\",2,212,23,46,14\n    PUSHBUTTON      \"&Hjlp\",254,212,40,46,14\n    CONTROL         \"&Filnavn:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,2,46,10\n    EDITTEXT        201,82,3,126,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"S&ti:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,14,12,10\n    EDITTEXT        101,82,14,126,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Seneste ndring:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,26,59,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,82,26,127,10\n    CONTROL         \"Version:\",258,\"Static\",SS_LEFTNOWORDWRAP,5,39,32,10\n    CONTROL         \"Ikke markeret\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,82,38,127,10\n    LTEXT           \"&Copyright:\",-1,5,52,40,9\n    EDITTEXT        265,82,52,126,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Strrelse:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,64,32,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,82,64,90,10\n    CONTROL         \"Komprimeret strrelse:\",268,\"Static\",SS_LEFTNOWORDWRAP,5,77,73,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,82,77,90,10\n    CONTROL         \"Komprimeringsforhold:\",270,\"Static\",SS_LEFTNOWORDWRAP,5,90,72,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,82,90,90,10\n    GROUPBOX        \"Attributter\",-1,4,101,137,54\n    CONTROL         \"&Skrivebeskyttet\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,113,71,12\n    CONTROL         \"Skj&ult\",216,\"Button\",BS_AUTOCHECKBOX,87,113,49,12\n    CONTROL         \"A&rkiv\",217,\"Button\",BS_AUTOCHECKBOX,9,125,71,12\n    CONTROL         \"Syst&em\",218,\"Button\",BS_AUTOCHECKBOX,87,125,49,12\n    CONTROL         \"K&omprimeret\",267,\"Button\",BS_AUTOCHECKBOX,9,137,63,12\n    GROUPBOX        \"&Versionsinformation\",262,4,155,254,72\n    LISTBOX         263,9,168,91,58,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,110,168,138,58,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 200, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Opret mappe\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,154,10\n    CONTROL         \"&Navn:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,23,21,10\n    EDITTEXT        201,30,22,90,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,46,150,10\n    DEFPUSHBUTTON   \"OK\",1,157,6,40,14\n    PUSHBUTTON      \"Annuller\",2,157,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,157,43,40,14\nEND\n\n19 DIALOG 20, 20, 157, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kopier diskette\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Kilde:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,20,10\n    COMBOBOX        245,55,6,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Destination:\",206,\"Static\",SS_LEFTNOWORDWRAP,5,22,40,10\n    COMBOBOX        222,55,20,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Annuller\",2,110,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,110,43,40,14\nEND\n\n22 DIALOG 30, 30, 130, 55\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kopierer diskette\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Kopierer nu diskette i \",-1,0,5,130,10,NOT WS_GROUP\n    CTEXT           \"Drev A:\",222,0,15,130,10,NOT WS_GROUP\n    CTEXT           \"Lser kildedisketten\",243,0,26,130,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Annuller\",2,44,39,44,14\nEND\n\n23 DIALOG 20, 20, 161, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Navngiv diskette\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Navn:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,45,8\n    EDITTEXT        201,5,26,100,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,115,6,40,14\n    PUSHBUTTON      \"Annuller\",2,115,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,115,43,40,14\nEND\n\n24 DIALOG 11, 28, 183, 96\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formater diskette\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,140,6,40,14\n    PUSHBUTTON      \"Annuller\",2,140,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,140,43,40,14\n    CONTROL         \"&Diskette i:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,7,35,10\n    COMBOBOX        222,60,4,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Kapacitet:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,22,35,10\n    COMBOBOX        241,60,19,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Indstillinger\",102,5,39,120,53,WS_GROUP\n    CONTROL         \"Disk&navn:\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,51,34,10\n    EDITTEXT        201,60,49,63,12\n    CONTROL         \"&Ekspresformatering\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,62,75,12\nEND\n\n26 DIALOG 30, 30, 150, 50\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formaterer diskette\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Formaterer nu diskette\",-1,0,5,150,10,NOT WS_GROUP\n    CTEXT           \"Initialiserer drevet...\",243,0,17,150,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Annuller\",2,54,30,44,14\nEND\n\n30 DIALOG 20, 20, 174, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Udvalgte informationer\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Detaljer\",-1,4,4,121,74\n    CONTROL         \"St&rrelse\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,15,42,12\n    CONTROL         \"&Dato for seneste ndring\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,27,95,12\n    CONTROL         \"&Tidspunkt for seneste ndring\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,39,112,12\n    CONTROL         \"&Filattributter\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,51,52,12\n    CONTROL         \"&MS-DOS-filnavne\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,63,71,12\n    DEFPUSHBUTTON   \"OK\",1,132,6,40,14\n    PUSHBUTTON      \"Annuller\",2,132,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,132,60,40,14\nEND\n\n32 DIALOG 20, 20, 157, 102\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Udvalgte filtyper\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Navn:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,21,10\n    EDITTEXT        201,34,6,65,12,ES_AUTOHSCROLL\n    GROUPBOX        \"Filtyper\",-1,5,20,94,62\n    CONTROL         \"&Mapper\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,31,47,12\n    CONTROL         \"&Programmer\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,43,51,12\n    CONTROL         \"&Dokumenter\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,55,52,12\n    CONTROL         \"&Andre filer\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,46,12\n    CONTROL         \"Vi&s skjulte filer og systemfiler\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,5,85,107,12\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Annuller\",2,110,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,110,43,40,14\nEND\n\n33 DIALOG 20, 20, 267, 92\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekrftelse\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Bekrft\",-1,5,3,212,85,WS_TABSTOP\n    CONTROL         \"Sletning a&f filer\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,15,62,12\n    CONTROL         \"Sletning af &mapper\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,27,84,12\n    CONTROL         \"&Erstatning af filer\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,39,68,12\n    CONTROL         \"&Brug af musen\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,51,89,12\n    CONTROL         \"&Diskkommandoer\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,63,68,12\n    CONTROL         \"ndring af &systemfiler, skjulte filer og skrivebeskyttede filer\",215,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,75,206,12\n    DEFPUSHBUTTON   \"OK\",1,223,6,40,14\n    PUSHBUTTON      \"Annuller\",2,223,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,223,44,40,14\nEND\n\n35 DIALOG 20, 20, 250, 46\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Flytter...\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,5,49,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,5,192,10\n    CONTROL         \"Til:\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,15,12,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,15,192,10\n    DEFPUSHBUTTON   \"Annuller\",2,200,28,40,14,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 121, 58\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Udskriver fil...\",-1,0,6,120,12\n    CTEXT           \"\",-1,4,20,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"Annuller\",2,40,38,40,14,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 206, 87\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Egenskaber\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"%d filer markeret\",100,\"Static\",SS_LEFTNOWORDWRAP,5,5,144,10\n    CONTROL         \"%s bytes i alt\",111,\"Static\",SS_LEFTNOWORDWRAP,5,16,144,10\n    GROUPBOX        \"Attributter\",-1,5,29,120,53\n    CONTROL         \"&Skrivebeskyttet\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,40,64,12\n    CONTROL         \"Skj&ult\",216,\"Button\",BS_AUTOCHECKBOX,80,40,41,12\n    CONTROL         \"A&rkiv\",217,\"Button\",BS_AUTOCHECKBOX,10,52,40,12\n    CONTROL         \"Syst&em\",218,\"Button\",BS_AUTOCHECKBOX,80,52,45,12\n    CONTROL         \"K&omprimeret\",267,\"Button\",BS_AUTOCHECKBOX,10,64,57,12\n    DEFPUSHBUTTON   \"OK\",1,150,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Annuller\",2,150,23,50,14\n    PUSHBUTTON      \"&Hjlp\",254,150,43,50,14\nEND\n\n39 DIALOG 10, 20, 245, 95\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekrft erstatning af fil\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Erstat filen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,12,39,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,12,165,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,75,22,165,10\n    CONTROL         \"Med filen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,34,34,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,34,165,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,75,44,165,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,54,203,10\n    DEFPUSHBUTTON   \"&Ja\",6,33,73,40,14\n    PUSHBUTTON      \"J&a til alle\",107,79,73,40,14\n    PUSHBUTTON      \"&Nej\",7,125,73,40,14\n    PUSHBUTTON      \"Annuller\",2,171,73,40,14\nEND\n\n40 DIALOG 10, 20, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekrft sletning af fil\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Slet filen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,32,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Ja\",6,33,42,40,14\n    PUSHBUTTON      \"J&a til alle\",107,79,42,40,14\n    PUSHBUTTON      \"&Nej\",7,125,42,40,14\n    PUSHBUTTON      \"Annuller\",2,171,42,40,14\nEND\n\n41 DIALOG 10, 20, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekrft sletning af mappe\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Slet mappen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,52,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Ja\",6,33,42,40,14\n    PUSHBUTTON      \"J&a til alle\",107,79,42,40,14\n    PUSHBUTTON      \"&Nej\",7,125,42,40,14\n    PUSHBUTTON      \"Annuller\",2,171,42,40,14\nEND\n\n42 DIALOG 10, 22, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekrft flytning af fil\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Flyt filen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,31,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Ja\",6,33,42,40,14\n    PUSHBUTTON      \"J&a til alle\",107,79,42,40,14\n    PUSHBUTTON      \"&Nej\",7,125,42,40,14\n    PUSHBUTTON      \"Annuller\",2,171,42,40,14\nEND\n\n43 DIALOG 10, 22, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekrft omdbning af fil\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Omdb filen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,42,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Ja\",6,33,42,40,14\n    PUSHBUTTON      \"J&a til alle\",107,79,42,40,14\n    PUSHBUTTON      \"&Nej\",7,125,42,40,14\n    PUSHBUTTON      \"Annuller\",2,171,42,40,14\nEND\n\n44 DIALOG 15, 12, 127, 83\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Marker filer\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Fil(er):\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,6,22,10\n    EDITTEXT        201,3,19,60,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"&Marker\",1,68,6,57,14\n    PUSHBUTTON      \"Fj&ern markering\",6,68,23,57,14\n    PUSHBUTTON      \"Annuller\",2,68,40,57,14\n    PUSHBUTTON      \"&Hjlp\",254,68,63,57,14\nEND\n\n45 DIALOG 11, 31, 201, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Vlg drev\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Drev:\",245,\"Static\",SS_LEFTNOWORDWRAP,5,5,19,10\n    LISTBOX         222,5,16,140,60,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,155,6,40,14\n    PUSHBUTTON      \"Annuller\",2,155,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,155,44,40,14\nEND\n\n46 DIALOG 11, 28, 250, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Vlg filnavn\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Stien passer ikke med FAT-formatet for filnavne. Skriv et nyt navn.\",99,5,4,169,24,NOT WS_GROUP\n    RTEXT           \"&Nyt navn:\",-1,5,56,50,11,NOT WS_GROUP\n    EDITTEXT        103,57,55,130,12\n    RTEXT           \"Oprindelig sti:\",-1,5,28,50,11,NOT WS_GROUP\n    EDITTEXT        102,57,28,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \"Til mappe:\",-1,5,42,50,11,NOT WS_GROUP\n    EDITTEXT        101,57,42,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"OK\",1,205,4,40,14\n    PUSHBUTTON      \"Annuller\",2,205,20,40,14\n    PUSHBUTTON      \"&Hjlp\",254,205,36,40,14\nEND\n\n48 DIALOG 23, 13, 250, 119\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Egenskaber for %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,194,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Annuller\",2,194,23,50,14\n    PUSHBUTTON      \"&Hjlp\",254,194,43,50,14\n    CONTROL         \"&Filnavn:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,55,10\n    EDITTEXT        201,65,5,128,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"S&ti:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,12,10\n    EDITTEXT        101,65,16,127,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Seneste ndring:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,59,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,65,27,97,10\n    CONTROL         \"Strrelse:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,38,32,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,65,38,90,10\n    GROUPBOX        \"Attributter\",-1,4,52,120,52\n    CONTROL         \"&Skrivebeskyttet\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,64,64,12\n    CONTROL         \"Skj&ult\",216,\"Button\",BS_AUTOCHECKBOX,78,64,39,12\n    CONTROL         \"A&rkiv\",217,\"Button\",BS_AUTOCHECKBOX,9,76,40,12\n    CONTROL         \"Syst&em\",218,\"Button\",BS_AUTOCHECKBOX,78,76,39,12\n    CONTROL         \"K&omprimeret\",267,\"Button\",BS_AUTOCHECKBOX,9,88,65,12\nEND\n\n49 DIALOG 13, 54, 264, 161\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Skrifttype\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Skrifttype:\",1088,6,3,35,9\n    COMBOBOX        1136,6,13,94,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Typografi:\",1089,108,3,34,9\n    COMBOBOX        1137,108,13,64,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"St&rrelse:\",1090,179,3,32,9\n    COMBOBOX        1138,179,13,32,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Effekter\",1072,6,73,94,61,WS_GROUP\n    CONTROL         \"&Gennemstreget\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,83,62,10\n    CONTROL         \"&Understreget\",1041,\"Button\",BS_AUTOCHECKBOX,10,95,55,10\n    CONTROL         \"Brug sm bogsta&ver for FAT-drev\",1042,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,136,252,10\n    CONTROL         \"Brug sm bogstaver for alle &drev\",1043,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,148,252,10\n    LTEXT           \"&Farve:\",1091,10,107,30,9\n    COMBOBOX        1139,10,117,75,50,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"OK\",1,218,6,40,14,WS_GROUP\n    PUSHBUTTON      \"Annuller\",2,218,23,40,14,WS_GROUP\n    PUSHBUTTON      \"&Anvend\",1026,218,40,40,14,WS_GROUP\n    PUSHBUTTON      \"&Hjlp\",1038,218,57,40,14,WS_GROUP\n    GROUPBOX        \"Eksempel\",1073,107,73,151,49,WS_GROUP\n    CTEXT           \"\",1093,10,137,1,2,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBb\",1092,113,84,140,34,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 77, 27, 160, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formaterer diskette\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\",100,15,36,131,8\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,15,10,131,22\n    PUSHBUTTON      \"Skjul\",110,38,48,40,14\n    PUSHBUTTON      \"Annuller\",2,82,48,40,14\nEND\n\n51 DIALOG 10, 20, 260, 70\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekrft: Ignorer fil eller mappe, og fortst\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Adgang ngtet, ignorer:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,13,80,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,108,13,122,10\n    CONTROL         \"Du har ikke tilladelse, eller filen er i brug.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,25,230,10\n    CONTROL         \"Vlg Ja for at ignorere denne fil og fortstte.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,35,180,10\n    DEFPUSHBUTTON   \"&Ja\",6,40,50,40,14\n    PUSHBUTTON      \"J&a til alle\",107,86,50,40,14\n    PUSHBUTTON      \"&Nej\",7,132,50,40,14\n    PUSHBUTTON      \"Annuller\",2,178,50,40,14\nEND\n\n52 DIALOG 10, 20, 268, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekrft: Ignorer fil eller mappe, og fortst\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Der er ikke adgang til destinationen, ignorer:\",202,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,13,147,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,176,13,92,10\n    CONTROL         \"Klik p Ja for at ignorere denne fil og fortstte.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,23,154,10\n    DEFPUSHBUTTON   \"&Ja\",6,41,42,40,14\n    PUSHBUTTON      \"J&a til alle\",107,87,42,40,14\n    PUSHBUTTON      \"&Nej\",7,133,42,40,14\n    PUSHBUTTON      \"Annuller\",2,179,42,40,14\nEND\n\n53 DIALOG 77, 109, 177, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Sger p disken\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Sg efter:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,5,34,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,57,5,120,10\n    CONTROL         \"Startende fra:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,46,10\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,57,15,120,10\n    CONTROL         \"Lste mapper:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,25,60,10\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,65,25,101,10\n    CONTROL         \"Fundne filer:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,35,42,10\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,68,35,100,10\n    PUSHBUTTON      \"Skjul\",110,45,48,40,14\n    PUSHBUTTON      \"Annuller\",2,89,48,40,14\nEND\n\n54 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kopier til Udklipsholder\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Nuvrende mappe: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"Kopier til &Udklipsholder:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,79,10\n    EDITTEXT        102,81,19,112,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,200,6,40,14\n    PUSHBUTTON      \"Annuller\",2,200,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,200,43,40,14\nEND\n\n55 DIALOG 18, 14, 298, 224\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ndring af filtype\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Filtype:\",302,5,6,25,8\n    EDITTEXT        301,43,5,95,12,ES_AUTOHSCROLL\n    GROUPBOX        \"H&andling: \",-1,5,22,246,126,WS_GROUP\n    COMBOBOX        306,43,22,48,61,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Kommando:\",313,9,42,38,8\n    EDITTEXT        304,48,39,111,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"&Gennemse...\",318,167,38,48,14\n    CONTROL         \"&Benytter DDE\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,8,57,57,10\n    LTEXT           \"&DDE-meddelelse:\",320,20,72,57,8\n    EDITTEXT        309,122,70,100,12,ES_AUTOHSCROLL\n    LTEXT           \"Hv&is DDE-serveren ikke krer:\",322,20,89,100,9\n    LTEXT           \"(valgfri)\",324,224,90,26,8\n    EDITTEXT        311,122,88,100,12,ES_AUTOHSCROLL\n    LTEXT           \"&Program:\",321,21,109,39,8\n    EDITTEXT        310,122,107,100,12,ES_AUTOHSCROLL\n    LTEXT           \"E&mne:\",323,22,127,21,8\n    EDITTEXT        312,122,125,100,12,ES_AUTOHSCROLL\n    LTEXT           \"&Nyt filtypenavn:\",-1,11,184,52,8\n    EDITTEXT        315,64,183,32,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"&Tilfj ->\",303,101,174,41,14\n    PUSHBUTTON      \"<- Fj&ern\",219,101,191,41,14\n    LTEXT           \"Fi&ltyper:\",-1,157,162,27,8\n    LISTBOX         317,157,172,65,40,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Filtyper associeret med denne type af filer:\",316,5,153,246,66\n    DEFPUSHBUTTON   \"OK\",1,254,6,40,14\n    PUSHBUTTON      \"Annuller\",2,254,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,254,40,40,14\nEND\n\n57 DIALOG 123, 60, 207, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Filkomprimeringsforlb\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Komprimerer fil:\",-1,6,8,51,8\n    LTEXT           \"filnavn.xxx\",341,86,8,90,8\n    LTEXT           \"Mappe:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,43,20,150,8\n    LTEXT           \"Komprimerede mapper:\",-1,6,32,85,8\n    LTEXT           \"1,888,888,999\",343,134,32,68,8\n    LTEXT           \"Komprimerede filer:\",-1,6,44,63,8\n    LTEXT           \"1,888,888,999\",344,134,44,68,8\n    LTEXT           \"Total filmngde fr komprimering:\",-1,6,56,111,8\n    LTEXT           \"9,999,999,999,999\",345,134,56,68,8\n    LTEXT           \"Samlet filmngde efter komprimering:\",-1,6,68,118,8\n    LTEXT           \"9,999,999,999,999\",346,134,69,68,8\n    LTEXT           \"Filkomprimeringsforhold:\",-1,6,80,79,8\n    LTEXT           \"100%\",347,91,80,27,8\n    PUSHBUTTON      \"Annuller\",2,76,97,55,14\nEND\n\n58 DIALOG 114, 62, 197, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Fildekomprimeringsforlb\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Dekomprimerer fil:\",-1,6,8,60,8\n    LTEXT           \"filnavn.xxx\",351,93,8,66,8\n    LTEXT           \"Mappe:\",-1,6,20,32,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\",352,45,20,144,8\n    LTEXT           \"Dekomprimerede mapper:\",-1,6,32,94,8\n    LTEXT           \"1,999,999,999\",353,103,32,70,8\n    LTEXT           \"Dekomprimerede filer:\",-1,6,44,72,8\n    LTEXT           \"1,999,999,999\",354,103,44,70,8\n    PUSHBUTTON      \"Annuller\",2,74,64,49,14\nEND\n\n59 DIALOG 11, 28, 245, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Komprimeringsfejl\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,8,8,21,20\n    LTEXT           \"\",100,35,8,190,20\n    DEFPUSHBUTTON   \"&Ignorer\",5,33,47,43,14,WS_GROUP\n    PUSHBUTTON      \"I&gnorer alle\",112,79,47,43,14\n    PUSHBUTTON      \"&Forsg igen\",4,125,47,43,14\n    PUSHBUTTON      \"&Afbryd\",3,171,47,43,14\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY, SHIFT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT\n    VK_F4,          1702,                   VIRTKEY, SHIFT\n    VK_F5,          1704,                   VIRTKEY \n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII   \n    VK_ADD,         301,                    VIRTKEY \n    \"*\",            302,                    ASCII   \n    VK_MULTIPLY,    302,                    VIRTKEY \n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL\n    \"-\",            304,                    ASCII   \n    VK_SUBTRACT,    304,                    VIRTKEY \n    VK_RETURN,      110,                    VIRTKEY, ALT\n    VK_F2,          2000,                   VIRTKEY \nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"CUR300.CUR\"\n\n\n301                     CURSOR                  \"CUR301.CUR\"\n\n\n302                     CURSOR                  \"CUR302.CUR\"\n\n\n303                     CURSOR                  \"CUR303.CUR\"\n\n\n306                     CURSOR                  \"CUR306.CUR\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ICO200.ICO\"\n\n\n201                     ICON                    \"ICO201.ICO\"\n\n\n202                     ICON                    \"ICO202.ICO\"\n\n\n204                     ICON                    \"ICO204.ICO\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,318\n PRODUCTVERSION 4,0,1381,318\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"040604B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"Filhndtering\"\n            VALUE \"FileVersion\", \"4.00\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"Copyright (C) Microsoft Corp. 1981-1996\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"Microsoft(R) Windows NT(TM) Operativsystem\"\n            VALUE \"ProductVersion\", \"4.00\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0x406, 1200\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"Kopier diskette\"\n    51                      \"Indst destinationsdiskette.\"\n    52                      \"Indst kildediskette.\"\n    53                      \"Indst kilde- og destinationsdisketterne.\"\n    54                      \"Formaterer destinationsdisketten\"\n    55                      \"Fejl under kopiering af diskette\"\n    56                      \"Kan ikke kopiere diskette.\"\n    58                      \"Kilde- og destinationsdisketterne er ikke kompatible.\"\n    60                      \"%d%% fuldfrt\"\n    61                      \"Opretter rodmappe...\"\n    62                      \"Kopierer systemfiler...\"\n    63                      \"Fejl under formatering af diskette\"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \"Formatering fuldfrt\"\n    67                      \"%ld byte disketteplads i alt\\n%ld byte til rdighed p disketten.\\n\\nVil du formatere en anden diskette?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"Netvrksfejl\"\n    83                      \"Dette drev indeholder Windows-systemfilerne og kan ikke frakobles.\"\n    91                      \"Filhndtering kan ikke ndre attributterne. \"\n    92                      \"Filhndtering kan ikke oprette mappen. \"\n    93                      \"Filhndtering kan ikke navngive disketten.\\n\\nKontroller, at disketten ikke er skrivebeskyttet, ikke er et netvrksdrev, og at navnet er gyldigt.\\nNavnet kan ikke indeholde flgende tegn:\\n[mellemrum] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n    95                      \"Kan ikke finde nogen matchende filer.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \"Indholdet af dette drev er blevet ndret. Vil du opdatere vinduet med sgeresultater?\"\n    98                      \"Du skal vre logget p arbejdsstationen som administrator for at kunne udfre denne operation p harddiske.\"\n    101                     \"Drev %c:%c\"\n    110                     \"Kan ikke kre program\"\n    111                     \"Uventet fejl: %d.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"Der er ikke hukommelse nok til at starte det angivne program.\\n\\nAfslut et eller flere programmer, og prv igen.\"\n    113                     \"Filhndtering kan ikke finde filen (eller en af dens komponenter).\\n\\nKontroller, at stien og filnavnet er korrekte, og at de ndvendige mapper er tilgngelige.\"\n    114                     \"Den angivne sti er forkert.\"\n    116                     \"Der er ikke associeret noget program med denne fil.\\n\\nVlg Associer i menuen Filer for at oprette en association.\"\n    118                     \"Filhndtering kan ikke bne eller udskrive filen.\\n\\nStart det program, som blev brugt til at oprette denne fil, og bn eller udskriv den derfra.\"\n    120                     \"Bekrft handlinger med musen\"\n    121                     \"Skal de valgte filer og/eller mapper kopieres til %s?\"\n    122                     \"Skal de valgte filer og/eller mapper flyttes til %s?\"\n    123                     \"Skal %s startes med %s som initialiseringsfil?\"\n    124                     \"Filhndtering\"\n    126                     \"Mappetr\"\n    127                     \"Sgeresultater: \"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \"For mange filer\"\n    133                     \"Filhndtering - Der er ikke mere hukommelse\"\n    134                     \"Hele mappen kunne ikke lses.  Der vil kun blive vist en delvis liste.\"\n    140                     \"Nuvrende mappe: %s\"\n    141                     \"Kopier\"\n    143                     \"Omdb\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"Formater diskette\"\n    146                     \"Vlg disketten, der skal formateres.\"\n    150                     \"Opretter:\"\n    151                     \"Fjerner...\"\n    152                     \"Kopierer:\"\n    153                     \"Omdber...\"\n    154                     \"Flytter...\"\n    155                     \"Sletter...\"\n    156                     \"Udskriver: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"Kopierer...\"\n    170                     \"Fjerner:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \"I alt %d fil(er) (%s)\"\n    181                     \"Lste mapper: %d \"\n    182                     \"%c: %s fri, %s i alt\"\n    183                     \"%d fil(er) fundet\"\n    185                     \"de markerede filer\"\n    186                     \"Filhndtering kan ikke koble dette netvrksdrev fra.\\n\\nDer er bne filer p drevet.\"\n    187                     \"%d markerede fil(er) (%s)\"\n    188                     \"Der er ingen diskette i drev %c.\\n\\nIndst en diskette, og prv igen.\"\n    189                     \"Disketten i drev %c er ikke formateret.\\n\\nVil du formatere den nu?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"Der er ikke diskplads nok til at udskrive.\\n\\nSlet en eller flere filer for at gre plads, og prv igen.\"\n    193                     \"Der er ikke hukommelse nok til at udskrive.\\n\\nAfslut et eller flere programmer, og prv igen.\"\n    194                     \"Der opstod en fejl under udskrivningen.\\n\\nKontroller, at printeren er korrekt konfigureret og valgt.\"\n    195                     \"Der vises et ikke-komplet mappetr\"\n    197                     \"Der er ikke mere plads p destinationsdisketten.Indst en ny diskette for at fortstte.\"\n    198                     \"Dette er en systemfil, skjult eller skrivebeskyttet fil.\"\n    199                     \"Filhndtering kan ikke udfre en ekspresformatering.\\n\\nSkal der fortsttes med normal formatering?\"\n    203                     \"Der opstod en fejl, da kommandoen blev sendt til programmet.\"\n    204                     \"En mappe, som er ndvendig for denne operation, kan ikke indlses.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \"&Delte mapper...\"\n    210                     \"Formatering vil slette ALLE data fra din diskette. Vil du formatere disketten i drev %c?\"\n    211                     \"Bekrft formatering af diskette\"\n    212                     \"Denne operation vil slette ALLE data fra distinationsdisketten.Vil du fortstte?\"\n    213                     \"Bekrft kopiering af diskette\"\n    214                     \"&Luk\"\n    215                     \"Luk\"\n    218                     \"Mappen %s findes ikke.\\n\\nVil du oprette det?\"\n    219                     \"Programmer#*.exe;*.pif;*.com;*.bat#Alle filer (*.*)#*.*#\"\n    220                     \"Gennemse\"\n    221                     \"Kr\"\n    222                     \"Filen kan ikke udskrives\"\n    223                     \"Kan ikke vise Hjlp-information.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"Filer med filtypenavnet %s er programmer og kan ikke associeres med andre programmer.\"\n    225                     \"%s er ikke et program og kan ikke associeres med et filtypenavn.\"\n    226                     \"(ingen)\"\n    227                     \"Ingen filer fundet.\"\n    228                     \"Filhndtering kan ikke udskrive flere filer samtidigt.\\n\\nMarker en enkelt fil, og prv igen.\"\n    230                     \"En af de biblioteksfiler, som er ndvendige for at kre dette program, er beskadiget. Geninstaller programmet.\"\n    231                     \"Denne fil bruges i jeblikket af et andet program.\"\n    232                     \"Filhndtering vil muligvis ikke kunne f adgang til filer i mappen \"\"%s\"\".\\n\\nVil du fortstte?\"\n    233                     \"Opret mappe\"\n    234                     \"%ld byte\"\n    235                     \"%s byte\"\n    236                     \"Filhndtering kan ikke kopiere flere filer eller mapper til Udklipsbog samtidigt.\\n\\nMarker en enkelt fil, og prv igen.\"\n    237                     \"%s - %s\"\n    238                     \"Drev:\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"Tilslut netvrksdrev\"\n    241                     \"Afbryd forbindelse til netvrksdrev\"\n    242                     \"Netvrkstilslutninger\"\n    243                     \"Del mappe\"\n    244                     \"Ophv deling af mappe\"\n    245                     \"Vis alle filinformationer\"\n    246                     \"Vis kun filnavn\"\n    247                     \"Sorter efter navn\"\n    248                     \"Sorter efter type\"\n    249                     \"Sorter efter strrelse\"\n    250                     \"Sorter efter dato\"\n    251                     \"Nyt vindue\"\n    252                     \"Kopier filer\"\n    253                     \"Flyt filer\"\n    254                     \"&Mappenavn:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"Netvrksdrevet er ikke tilgngeligt.\"\n    259                     \"Sharenavn: %s\"\n    260                     \"Ikke delt\"\n    261                     \"Slet filer\"\n    262                     \" - COMPRESSED\"\n    263                     \"Kopierer filer til %s\"\n    264                     \"Flytter filer til %s\"\n    265                     \"Krer filer med %s\"\n    266                     \"%s byte\"\n    267                     \"%s KB\"\n    268                     \"%s MB\"\n    269                     \"%s GB\"\n    270                     \"%s TB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \"Du har ikke tilladelse til at benytte denne mappe.\"\n    281                     \"Du har ikke tilladelse til at benytte denne fil.\"\n    283                     \"Drev %c: er optaget og kan ikke benyttes.\\nFilhndtering udfrer diskkopiering.\"\n    284                     \"Drev %c: er optaget og kan ikke benyttes.\\nFilhndtering formaterer denne disk.\"\n    285                     \"Operationen er ikke fuldfrt\"\n    286                     \"Kan ikke fuldfre operationen p alle filer og mapper.\"\n    287                     \"Kan ikke lse mappen\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"Mappen eksisterer ikke.\"\n    289                     \"Kan ikke tilslutte netvrksdrevet\"\n    290                     \"Kan ikke finde netvrksnavnet.\"\n    292                     \"Ja til alle vedrrer alle filer, inkl. systemfiler, skjulte og skrivebeskyttede filer.\"\n    294                     \"bn\"\n    295                     \"Udskriv\"\n    298                     \"Tilfj filtypenavn\"\n    299                     \"Filtypenavnet \"\"%s\"\" er i jeblikket associeret med \"\"%s\"\". Skal denne association overskrives?\"\n    300                     \"Filassocieringseditor\"\n    301                     \"Kan ikke associere filtypenavnet. \"\n    302                     \"Kan ikke slette filtypenavnet. \"\n    303                     \"Kan ikke tilfje filtype. \"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"Kan ikke slette filtype. \"\n    305                     \"Kan ikke lse filtype. \"\n    306                     \"Filtypebeskrivelsen kan ikke vre tom. Indtast en ny filtype.\"\n    307                     \"Kan ikke generere en unik identifikation p grundlag af din filtype. Indtast en ny filtype.\"\n    308                     \"Slet filtype\"\n    309                     \"Dette vil slette filtypen og alle associerede filtypenavne. Vil du slette %s?\"\n    312                     \"Filtypen skal have en kommando til mindst en af dens handlinger. Indtast et programnavn i kommandofeltet.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"Ny filtype\"\n    321                     \"Kopierer diskette\"\n    322                     \"Sger...\"\n    324                     \"Filhndtering formaterer i jeblikket en disk. Denne operation vil blive afbrudt, hvis du afslutter Filhndtering.\"\n    325                     \"Filhndtering kopierer i jeblikket en disk. Denne operation vil blive afbrudt, hvis du afslutter Filhndtering.\"\n    326                     \"Procent udfrt\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360 KB\"\n    354                     \"1%s2 MB\"\n    355                     \"720 KB\"\n    356                     \"1%s44 MB\"\n    357                     \"2%s88 MB\"\n    358                     \"Drevkapacitet\"\n    359                     \"Filhndtering kan ikke f adgang til diskinformationen.\\n\\nKontroller, at disketten er sat i drevet.\"\n    360                     \"20%s8 MB\"\n    361                     \"Ukendt disktype\"\n    362                     \"Ukendt disktype\"\n    363                     \"Disktypen i drev %s kan ikke formateres med Filhndtering. Benyt Diskadministrator til at formatere denne disk.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"Inkompatibelt filsystem.\"\n    401                     \"Adgang ngtet.\"\n    402                     \"Disketten er skrivebeskyttet.\"\n    403                     \"Filhndtering kan ikke lse enheden.\"\n    404                     \"Filhndtering kan ikke ekspresformatere disketten.\\n\\nKontroller, at disketten har den rette datatthed.\"\n    405                     \"IO-fejl p kildedisketten.\"\n    406                     \"IO-fejl p destinationsdisketten.\"\n    407                     \"IO-fejl p bde kilde- og destinationsdisketten.\"\n    408                     \"Der opstod en IO-fejl.\"\n    411                     \"Filhndtering kan ikke formatere disketten.\\n\\nKontroller, at disketten er sat i drevet og ikke er skrivebeskyttet, beskadiget eller har forkert datatthed.\"\n    412                     \"Filhndtering kan ikke navngive disken.\\n\\nDet angivne disknavn er ugyldigt. Kontroller, at disknavnet ikke indeholder flgende tegn:\\n\\n[blank] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \"bner...\"\n    421                     \"Lukker...\"\n    422                     \"Der er for mange bne mappevinduer.\\n\\nLuk et eller flere vinduer, og prv igen.\"\n    423                     \"Ekspresformaterer...\"\n    424                     \"Kan ikke initialisere understttelse af opdatering i baggrunden. Filhndtering afslutter. \"\n    425                     \"Initialisering af Filhndtering\"\n    426                     \"Lser mappe, vent...\"\n    427                     \"Vil du ogs komprimere alle filer og undermapper i %s ?\"\n    428                     \"Vil du ogs dekomprimere alle filer og undermapper i %s ?\"\n    429                     \"Filstyring kan ikke ndre komprimeringsattributter for %s.\"\n    430                     \"Filen %s vil ikke blive komprimeret. Kompression af denne fil kan gre det umuligt at boote din computer.\"\n    431                     \"Filhndtering komprimerer eller dekomprimerer filer for jeblikket.\\nDu bliver nd til at vente indtil dette er overstet, fr du kan komprimere eller dekomprimere yderligere filer.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"Kommentarer\"\n    501                     \"Firmanavn\"\n    502                     \"Filbeskrivelse\"\n    503                     \"Internt navn\"\n    504                     \"Registrerede varemrker\"\n    505                     \"Oprindeligt filnavn\"\n    506                     \"Privat build-beskrivelse\"\n    507                     \"Produktnavn\"\n    508                     \"Produktversion\"\n    509                     \"Speciel build-beskrivelse\"\n    510                     \"Sprog\"\n    511                     \"Sprog\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"&Tilslut netvrksdrev...\"\n    801                     \"Afb&ryd forbindelse til netvrksdrev...\"\n    802                     \"&Netvrkstilslutninger...\"\n    803                     \"&Del som...\"\n    804                     \"&Ophv deling...\"\n    805                     \"&Vis delte mapper...\"\n    806                     \"Fo&rtryd sletning...\"\n    807                     \"&bn nyt vindue ved tilslutning\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \"Fejl under flytning af fil\"\n    1002                    \"Fejl under kopiering af fil\"\n    1003                    \"Fejl under sletning af fil\"\n    1004                    \"Fejl under omdbning af fil\"\n    1005                    \"Fejl under valg af drev\"\n    1006                    \"Fejl under lsning af mappe\"\n    1007                    \"Fejl under navngivning af disk\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"Filhndtering kan ikke flytte %s: %s\"\n    1012                    \"Filhndtering kan ikke kopiere %s: %s\"\n    1013                    \"Filhndtering kan ikke slette %s: %s\"\n    1014                    \"Filhndtering kan ikke omdbe %s: %s\"\n    1021                    \"Filhndtering kan ikke oprette mappen %s: %s\"\n    1022                    \"Filhndtering kan ikke fjerne mappen %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"Filhndtering kan ikke oprette eller erstatte %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"Kilde og destination er det samme.\"\n    1102                    \"Marker kun en fil, som skal omdbes, eller brug jokertegn (f.eks. *.TXT) for at omdbe en gruppe af filer med beslgtede navne.\"\n    1103                    \"Kan ikke omdbe til en anden mappe eller en anden disk.\\nBrug i stedet kommandoen Flyt .\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"Du kan ikke omdbe rodmappen.\"\n    1105                    \"Destinationsmappen er en undermappe til kildemappen.\"\n    1106                    \"Filen benyttes i jeblikket af Windows.\"\n    1107                    \"Angiv kun en fil eller en mappe i boksen Til. Brug jokertegn, hvis du vil angive en gruppe af filer (f.eks. *.TXT).\"\n    1108                    \"Der eksisterer allerede en fil eller en mappe med dette navn. I en mappe skal fil- og mappenavne vre unikke.\"\n    1109                    \"Kontroller, at der er angivet korrekt sti og filnavn.\"\n    1110                    \"Kontroller, at der er angivet korrekt sti.\"\n    1111                    \"Afslut et eller flere programmer, og prv igen. Brug eventuelt indstillingen System i Kontrolpanel til at forge din virtuelle hukommelse.\"\n    1113                    \"Sl skrivebeskyttelsen p denne diskette fra, og prv igen.\"\n    1114                    \"Kontroller, at du har korrekte netvrkstilladelser til at udfre denne operation.\"\n    1115                    \"Slet en eller flere filer for at gre plads, og prv igen.\"\n    1116                    \"Der blev ikke fundet data p dette medie.\"\n    1117                    \"Mappen findes allerede.\"\n    1118                    \"Det angivne navn bruges allerede af en fil.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"Forkert diskette i drevet.\"\n    1151                    \"Programmet kan ikke kres i Windows NT-tilstand.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \"Operativsystemet kan ikke kre denne komponent.\"\n    1153                    \"Komponenten kan ikke kres i Windows NT-tilstand.\"\n    1154                    \"Dette program er ikke et gyldigt Windows NT-program.\"\n    1155                    \"Der opstod en fejl. Der er ingen meddelelse til denne fejl.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \"Rs[(&F):\"\n    2001                    \"Rs[(&T):\"\n    2002                    \"̖O(&F):\"\n    2003                    \"VO(&T):\"\n    2004                    \"Rs[:\"\n    2005                    \"̃tHg?gpƊ?̕\\\\?\\nłȂȂ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"Kommandoer til arbejde med filer\"\n    3985                    \"Kommandoer til arbejde med disketter\"\n    3986                    \"Kommandoer til arbejde i tr-vinduet\"\n    3987                    \"Kommandoer, som bestemmer, hvordan informationen skal vises\"\n    3988                    \"Kommandoer, som stter indstillingerne\"\n    3989                    \"Kommandoer til styring af fil- og mappesikkerhed\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"Kommandoer til arrangering af vinduer\"\n    4001                    \"Kommandoer til visning af hjlp\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"Sger efter et emne i Hjlp til Filhndtering\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \"bner det markerede objekt\"\n    4102                    \"Udskriver et dokument\"\n    4103                    \"Associerer en fil med et program\"\n    4104                    \"Sger efter filer og mapper\"\n    4105                    \"Starter et program eller bner et dokument\"\n    4106                    \"Flytter det markerede element\"\n    4107                    \"Kopierer filer og mapper\"\n    4108                    \"Sletter filer og mapper\"\n    4109                    \"Omdber en fil eller mappe\"\n    4110                    \"Stter filattributter og viser egenskaber\"\n    4111                    \"Opretter en mappe\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"Afslutter Filhndtering\"\n    4116                    \"Markerer filer og mapper\"\n    4117                    \"Genkalder tidligere slettede filer\"\n    4118                    \"Kopierer en fil til Udklipsbog\"\n    4119                    \"Komprimerer en fil eller mappe\"\n    4120                    \"Dekomprimerer en fil eller mappe\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"Kopierer indholdet af en diskette\"\n    4202                    \"Tildeler eller ndrer en disks navn\"\n    4203                    \"Formaterer en diskette\"\n    4205                    \"Slutter til et netvrksdrev\"\n    4206                    \"Kobler fra et netvrksdrev\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"Vlger et andet drev\"\n    4254                    \"Deler en mappe\"\n    4255                    \"Ophver deling af en mappe\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"Viser et niveau mere af en mappe\"\n    4302                    \"Viser alle niveauer af en mappe\"\n    4303                    \"Viser alle niveauer af alle mapper\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \"Skjuler alle undermapper i en markeret mappe\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \"Viser kun filnavne\"\n    4402                    \"Viser alle data om filerne\"\n    4403                    \"Viser udvalgte filoplysninger\"\n    4404                    \"Sorterer filerne efter navn\"\n    4405                    \"Sorterer filerne efter filtype\"\n    4406                    \"Sorterer filerne efter strrelse\"\n    4407                    \"Sorterer filerne efter dato\"\n    4409                    \"Viser filer af specificeret type\"\n    4411                    \"Viser mappetret\"\n    4412                    \"Viser indholdet af den nuvrende mappe\"\n    4413                    \"Viser mappetret og indholdet af den nuvrende mappe\"\n    4414                    \"Opdeler et mappevindue eller flytter delelinjen\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"Kontrollerer, hvilke meddelelser der skal bekrftes\"\n    4503                    \"Viser eller skjuler statuslinjen\"\n    4504                    \"Formindsker Filhndtering til et ikon ved start\"\n    4505                    \"Indikerer mapper, som har undermapper\"\n    4507                    \"Viser eller skjuler drevlinjen\"\n    4508                    \"Viser eller skjuler vrktjslinjen\"\n    4509                    \"bner et nyt vindue, nr du tilslutter\"\n    4510                    \"ndrer  skrifttypen i Filhndtering\"\n    4511                    \"Gemmer indstillingerne, nr du afslutter Filhndtering\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"Tilpasser vrktjslinjen\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"Viser eller indstiller information om tilladelserne for de(t) markerede element(er)\"\n    4606                    \"Viser eller indstiller information om overvgning af de(t) markerede element(er)\"\n    4607                    \"Viser eller overtager ejerskabet af de(t) markerede element(er)\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"Vinduer overlappet\"\n    5702                    \"Arrangerer vinduer lodret side om side\"\n    5703                    \"Arrangerer vinduer vandret side om side\"\n    5704                    \"Opdaterer indholdet af et vindue\"\n    5705                    \"Arrangerer ikoner\"\n    5706                    \"bner et nyt vindue\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"Viser indhold af Hjlp til Filhndtering\"\n    5802                    \"Viser information om brug af Hjlp\"\n    5803                    \"Viser information om Filhndtering\"\nEND\n\n#endif    // Danish (Denmark) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/origrc/winfile.de-DE.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// German (Germany) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)\nLANGUAGE LANG_GERMAN, SUBLANG_GERMAN\n#pragma code_page(1252)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"bmp100.bmp\"\n\n\n101                     BITMAP                  \"bmp101.bmp\"\n\n\n102                     BITMAP                  \"bmp102.bmp\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"&Datei\"\n    BEGIN\n        MENUITEM \"&ffnen\\tEingabetaste\",       101\n        MENUITEM \"&Verschieben...\\tF7\",         106\n        MENUITEM \"&Kopieren...\\tF8\",            107\n        MENUITEM \"&In Zwischenablage...\\tF9\",   118\n        MENUITEM \"&Lschen...\\tEntf\",           108\n        MENUITEM \"&Umbenennen...\",              109\n        MENUITEM \"&Eigenschaften...\\tAlt+Eingabetaste\", 110\n        MENUITEM SEPARATOR\n        MENUITEM \"K&omprimieren...\",            119\n        MENUITEM \"Deko&mprimieren...\",          120\n        MENUITEM SEPARATOR\n        MENUITEM \"&Ausfhren...\",               105\n        MENUITEM \"&Drucken...\",                 102\n        MENUITEM \"Zuord&nen...\",                103\n        MENUITEM SEPARATOR\n        MENUITEM \"Ver&zeichnis erstellen...\",   111\n        MENUITEM \"&Suchen...\",                  104\n        MENUITEM \"Dateien aus&whlen...\",       116\n        MENUITEM SEPARATOR\n        MENUITEM \"&Beenden\",                    115\n    END\n    POPUP \"Da&tentrger\"\n    BEGIN\n        MENUITEM \"Datentrger &kopieren...\",    201\n        MENUITEM \"Datentrger &benennen...\",    202\n        MENUITEM SEPARATOR\n        MENUITEM \"Datentrger &formatieren...\", 203\n        MENUITEM SEPARATOR\n        MENUITEM \"Laufwerk aus&whlen...\",      251\n    END\n    POPUP \"&Verzeichnisse\"\n    BEGIN\n        MENUITEM \"&Nchste Ebene einblenden\\t+\", 301\n        MENUITEM \"&Zweig einblenden\\t*\",        302\n        MENUITEM \"Alle &Ebenen einblenden\\tStrg+*\", 303\n        MENUITEM \"Zweig &ausblenden\\t-\",        304\n        MENUITEM SEPARATOR\n        MENUITEM \"&Verzweigungen kennzeichnen\", 505\n    END\n    POPUP \"&Ansicht\"\n    BEGIN\n        MENUITEM \"Struktur &und Verzeichnis\",   413\n        MENUITEM \"Nur &Struktur\",               411\n        MENUITEM \"Nur &Verzeichnis\",            412\n        MENUITEM SEPARATOR\n        MENUITEM \"Tei&len\",                     414\n        MENUITEM SEPARATOR\n        MENUITEM \"&Name\",                       401\n        MENUITEM \"Alle &Dateiangaben\",          402, CHECKED\n        MENUITEM \"&Bestimmte Dateiangaben...\",  403\n        MENUITEM SEPARATOR\n        MENUITEM \"Nach N&ame\",                  404\n        MENUITEM \"Nach &Typ\",                   405\n        MENUITEM \"Nach &Gre\",                 406\n        MENUITEM \"Nach Datu&m\",                 407\n        MENUITEM SEPARATOR\n        MENUITEM \"Angaben aus&whlen...\",       409\n    END\n    POPUP \"&Optionen\"\n    BEGIN\n        MENUITEM \"&Besttigen...\",              501\n        MENUITEM \"Schrift&art...\",              510\n        MENUITEM \"Symbolleiste &definieren...\", 512\n        MENUITEM SEPARATOR\n        MENUITEM \"Sy&mbolleiste\",               508\n        MENUITEM \"Lauf&werkleiste\",             507\n        MENUITEM \"Status&leiste\",               503\n        MENUITEM SEPARATOR\n        MENUITEM \"&Symbol nach Programmstart\",  504\n        MENUITEM \"&Einstellungen beim Beenden speichern\", 511\n    END\n    POPUP \"&Sicherheit\"\n    BEGIN\n        MENUITEM \"&Berechtigungen...\",          605\n        MENUITEM \"ber&wachen...\",              606\n        MENUITEM \"Besi&tzer...\",                607\n    END\n    POPUP \"&Fenster\"\n    BEGIN\n        MENUITEM \"Neues &Fenster\",              1706\n        MENUITEM \"ber&lappend\\tUmschalt+F5\",   1701\n        MENUITEM \"&Untereinander\",              1703\n        MENUITEM \"&Nebeneinander\\tUmschalt+F4\", 1702\n        MENUITEM \"&Symbole anordnen\",           1705\n        MENUITEM \"&Aktualisieren\\tF5\",          1704\n    END\n    POPUP \"&?\"\n    BEGIN\n        MENUITEM \"&Hilfethemen\",                1801\n        MENUITEM \"&Suchen...\",                  30\n        MENUITEM \"Hilfe &verwenden\",            1802\n        MENUITEM SEPARATOR\n        MENUITEM \"Inf&o...\",                    1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 13, 210, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Ausfhren\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,162,10\n    CONTROL         \"Befehls&zeile:\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,3,18,60,10\n    EDITTEXT        201,3,29,134,12,ES_AUTOHSCROLL\n    CONTROL         \"Als &Symbol\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,3,45,71,12\n    DEFPUSHBUTTON   \"OK\",1,158,6,47,14\n    PUSHBUTTON      \"Abbrechen\",2,158,23,47,14\n    PUSHBUTTON      \"&Hilfe\",254,158,43,47,14\nEND\n\n11 DIALOG 20, 20, 246, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Drucken\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,193,10\n    CONTROL         \"&Drucken:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,31,10\n    EDITTEXT        102,35,18,152,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,36,190,22\n    DEFPUSHBUTTON   \"OK\",1,195,6,47,14\n    PUSHBUTTON      \"Abbrechen\",2,195,23,47,14\n    PUSHBUTTON      \"&Hilfe\",254,195,43,47,14\nEND\n\n12 DIALOG 57, 12, 257, 121\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Zuordnen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Dateien mit &Erweiterung:\",-1,5,7,81,8\n    COMBOBOX        315,89,5,44,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Zuordnen zu Dateityp:\",-1,5,27,81,10\n    EDITTEXT        304,6,42,172,12,ES_AUTOHSCROLL\n    LISTBOX         314,11,54,167,62,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"&Durchsuchen...\",318,117,23,61,14\n    DEFPUSHBUTTON   \"OK\",1,187,6,66,14,WS_GROUP\n    PUSHBUTTON      \"Abbrechen\",2,187,23,66,14\n    PUSHBUTTON      \"&Neuer Dateityp...\",300,187,44,66,14\n    PUSHBUTTON      \"&Typ bearbeiten...\",251,187,61,66,14\n    PUSHBUTTON      \"Typ &lschen\",219,187,78,66,14\n    PUSHBUTTON      \"&Hilfe\",254,187,99,66,14\nEND\n\n13 DIALOG 20, 20, 270, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Suchen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Suchen nach:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,6,45,12\n    EDITTEXT        201,52,5,160,12,ES_AUTOHSCROLL\n    CONTROL         \"Beginnen &in:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,21,45,12\n    EDITTEXT        101,52,20,160,12,ES_AUTOHSCROLL\n    CONTROL         \"Alle &Unterverzeichnisse durchsuchen\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,52,34,135,12\n    DEFPUSHBUTTON   \"OK\",1,217,6,47,14\n    PUSHBUTTON      \"Abbrechen\",2,217,23,47,14\n    PUSHBUTTON      \"&Hilfe\",254,217,40,47,14\nEND\n\n14 DIALOG 47, 59, 232, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Verschieben\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Aktuelles Verzeichnis: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,172,10\n    CONTROL         \"&Nach:\",2001,\"Static\",SS_LEFTNOWORDWRAP,3,33,20,10\n    EDITTEXT        103,37,32,138,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,49,57,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,58,49,115,10\n    DEFPUSHBUTTON   \"OK\",1,180,6,47,14\n    PUSHBUTTON      \"Abbrechen\",2,180,23,47,14\n    PUSHBUTTON      \"&Hilfe\",254,180,40,47,14\n    CONTROL         \"&Von:\",2002,\"Static\",SS_LEFTNOWORDWRAP,3,19,20,10\n    EDITTEXT        102,37,18,138,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 252, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Lschen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Aktuelles Verzeichnis: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"&Lschen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,35,10\n    EDITTEXT        102,40,19,155,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,35,35,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,40,35,155,10\n    DEFPUSHBUTTON   \"OK\",1,200,6,47,14\n    PUSHBUTTON      \"Abbrechen\",2,200,23,47,14\n    PUSHBUTTON      \"&Hilfe\",254,200,40,47,14\nEND\n\n16 DIALOG 23, 13, 266, 229\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Eigenschaften von %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,203,6,60,14,WS_GROUP\n    PUSHBUTTON      \"Abbrechen\",2,203,23,60,14\n    PUSHBUTTON      \"&Hilfe\",254,203,40,60,14\n    CONTROL         \"&Dateiname:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,60,10\n    EDITTEXT        201,74,5,122,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Pfad:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,74,16,122,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Letzte nderung:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,58,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,74,27,122,10\n    CONTROL         \"Version:\",258,\"Static\",SS_LEFTNOWORDWRAP,5,38,56,10\n    CONTROL         \"Nicht gekennzeichnet\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,74,38,122,10\n    LTEXT           \"&Copyright:\",-1,5,49,56,10\n    EDITTEXT        265,74,49,122,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Gre:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,60,56,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,74,60,122,10\n    CONTROL         \"Komprimierte Gre:\",268,\"Static\",SS_LEFTNOWORDWRAP,5,71,67,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,74,71,122,10\n    CONTROL         \"Komprimierungsrate:\",270,\"Static\",SS_LEFTNOWORDWRAP,5,82,67,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,74,82,122,10\n    GROUPBOX        \"Attribute\",-1,4,96,146,54\n    CONTROL         \"&Schreibgeschtzt\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,108,69,12\n    CONTROL         \"&Versteckt\",216,\"Button\",BS_AUTOCHECKBOX,92,108,49,12\n    CONTROL         \"&Archiv\",217,\"Button\",BS_AUTOCHECKBOX,9,120,52,12\n    CONTROL         \"Sys&tem\",218,\"Button\",BS_AUTOCHECKBOX,92,120,49,12\n    CONTROL         \"&Komprimiert\",267,\"Button\",BS_AUTOCHECKBOX,9,132,52,12\n    GROUPBOX        \"&Informationen zur Version\",262,4,155,257,72\n    LISTBOX         263,9,166,91,58,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,103,166,153,58,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 211, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Verzeichnis erstellen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,151,10\n    CONTROL         \"&Name:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,23,20,10\n    EDITTEXT        201,30,22,119,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,46,150,10\n    DEFPUSHBUTTON   \"OK\",1,158,6,47,14\n    PUSHBUTTON      \"Abbrechen\",2,158,23,47,14\n    PUSHBUTTON      \"&Hilfe\",254,158,40,47,14\nEND\n\n19 DIALOG 20, 20, 169, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Datentrger kopieren\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Quelldatentrger in:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,68,10\n    COMBOBOX        245,72,6,38,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Zieldatentrger in:\",206,\"Static\",SS_LEFTNOWORDWRAP,5,22,65,10\n    COMBOBOX        222,72,20,38,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,115,6,47,14\n    PUSHBUTTON      \"Abbrechen\",2,115,23,47,14\n    PUSHBUTTON      \"&Hilfe\",254,115,40,47,14\nEND\n\n22 DIALOG 30, 30, 130, 58\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Datentrger kopieren\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"wird kopiert.\",-1,0,16,130,10,NOT WS_GROUP\n    CTEXT           \"Der Datentrger in Laufwerk A:\",222,0,6,130,10,NOT WS_GROUP\n    CTEXT           \"Der Quelldatentrger wird gelesen.\",243,0,26,130,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Abbrechen\",2,41,38,50,14\nEND\n\n23 DIALOG 20, 20, 168, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Datentrger benennen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Datentrgerbezeichnung:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,88,10\n    EDITTEXT        201,5,26,100,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,115,6,47,14\n    PUSHBUTTON      \"Abbrechen\",2,115,23,47,14\n    PUSHBUTTON      \"&Hilfe\",254,115,40,47,14\nEND\n\n24 DIALOG 11, 28, 191, 88\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Datentrger formatieren\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,138,6,47,14\n    PUSHBUTTON      \"Abbrechen\",2,138,23,47,14\n    PUSHBUTTON      \"&Hilfe\",254,138,40,47,14\n    CONTROL         \"&Datentrger in:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,7,49,10\n    COMBOBOX        222,69,4,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Speicherkapazitt:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,20,62,10\n    COMBOBOX        241,69,19,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Optionen\",102,5,39,129,44,WS_GROUP\n    CONTROL         \"&Bezeichnung:\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,51,48,10\n    EDITTEXT        201,58,49,73,12\n    CONTROL         \"Quick&Format\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,66,52,12\nEND\n\n26 DIALOG 30, 30, 150, 50\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Datentrger formatieren\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Der Datentrger wird formatiert.\",-1,0,5,150,10,NOT WS_GROUP\n    CTEXT           \"Das Laufwerk wird initialisiert...\",243,0,16,150,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Abbrechen\",2,50,30,50,14\nEND\n\n30 DIALOG 15, 8, 184, 95\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bestimmte Dateiangaben\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Angaben\",-1,6,6,119,81\n    CONTROL         \"&Gre\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,18,113,13\n    CONTROL         \"&Datum der letzten nderung\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,31,113,13\n    CONTROL         \"&Uhrzeit der letzten nderung\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,44,113,13\n    CONTROL         \"Datei&attribute\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,57,113,13\n    CONTROL         \"&MS-DOS-Dateinamen\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,70,100,12\n    DEFPUSHBUTTON   \"OK\",1,132,10,47,14\n    PUSHBUTTON      \"Abbrechen\",2,132,27,47,14\n    PUSHBUTTON      \"&Hilfe\",254,132,73,47,14\nEND\n\n32 DIALOG 20, 20, 162, 102\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Angaben auswhlen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Name:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,23,10\n    EDITTEXT        201,34,6,65,12,ES_AUTOHSCROLL\n    GROUPBOX        \"Dateityp\",-1,5,20,94,62\n    CONTROL         \"&Verzeichnisse\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,31,60,12\n    CONTROL         \"&Programme\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,43,60,12\n    CONTROL         \"&Dokumente\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,55,60,12\n    CONTROL         \"&Andere Dateien\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,65,12\n    CONTROL         \"Vers&teckte/Systemdateien anzeigen\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,5,85,130,12\n    DEFPUSHBUTTON   \"OK\",1,109,6,47,14\n    PUSHBUTTON      \"Abbrechen\",2,109,23,47,14\n    PUSHBUTTON      \"&Hilfe\",254,109,40,47,14\nEND\n\n33 DIALOG 54, 42, 290, 97\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Besttigen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Besttigung einholen vor\",-1,7,3,229,89,WS_TABSTOP\n    CONTROL         \"Lschen von &Dateien\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,13,15,115,12\n    CONTROL         \"Lschen von &Verzeichnissen\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,13,27,112,12\n    CONTROL         \"&berschreiben von Dateien\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,13,39,112,12\n    CONTROL         \"Ausfhren von &Mausaktionen\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,13,51,121,12\n    CONTROL         \"Ausfhren von Da&tentrgerbefehlen\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,13,63,129,12\n    CONTROL         \"ndern von &System-, versteckten, schreibgeschtzten Dateien\",215,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,13,75,219,12\n    DEFPUSHBUTTON   \"OK\",1,239,6,47,14\n    PUSHBUTTON      \"Abbrechen\",2,239,23,47,14\n    PUSHBUTTON      \"&Hilfe\",254,239,40,47,14\nEND\n\n35 DIALOG 20, 21, 250, 46\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Verschieben...\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,5,67,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,72,5,175,10\n    CONTROL         \"Nach:\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,15,25,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,72,15,175,10\n    DEFPUSHBUTTON   \"Abbrechen\",2,190,28,50,14,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 120, 58\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Datei wird gedruckt...\",-1,0,6,120,12\n    CTEXT           \"\",-1,0,20,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"Abbrechen\",2,35,38,50,14,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 242, 88\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Eigenschaften\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"%d Dateien ausgewhlt\",100,\"Static\",SS_LEFTNOWORDWRAP,5,5,180,10\n    CONTROL         \"%s Bytes insgesamt\",111,\"Static\",SS_LEFTNOWORDWRAP,5,16,180,10\n    GROUPBOX        \"Attribute\",-1,5,29,137,54\n    CONTROL         \"&Schreibgeschtzt\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,40,69,12\n    CONTROL         \"&Versteckt\",216,\"Button\",BS_AUTOCHECKBOX,87,40,44,12\n    CONTROL         \"&Archiv\",217,\"Button\",BS_AUTOCHECKBOX,10,52,52,12\n    CONTROL         \"Sys&tem\",218,\"Button\",BS_AUTOCHECKBOX,87,52,36,12\n    CONTROL         \"&Komprimiert\",267,\"Button\",BS_AUTOCHECKBOX,10,64,52,12\n    DEFPUSHBUTTON   \"OK\",1,187,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Abbrechen\",2,187,23,50,14\n    PUSHBUTTON      \"&Hilfe\",254,187,40,50,14\nEND\n\n39 DIALOG 18, 28, 288, 100\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"berschreiben besttigen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,4,22,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,26,3,254,10\n    CONTROL         \"berschreibe Datei:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,16,67,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,94,16,161,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,94,27,161,10\n    CONTROL         \"Mit Datei:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,38,49,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,94,38,161,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,94,48,161,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,62,238,10\n    DEFPUSHBUTTON   \"&Ja\",6,15,80,46,14\n    PUSHBUTTON      \"&Alle berschreiben\",107,74,80,72,14\n    PUSHBUTTON      \"&Nein\",7,159,80,46,14\n    PUSHBUTTON      \"Abbrechen\",2,218,80,46,14\nEND\n\n40 DIALOG 1, 16, 296, 72\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Lschen besttigen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,21,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,9,266,11\n    CONTROL         \"Lsche Datei:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,24,47,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,73,24,218,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,37,266,10\n    DEFPUSHBUTTON   \"&Ja\",6,26,52,49,14\n    PUSHBUTTON      \"&Alle lschen\",107,91,52,49,14\n    PUSHBUTTON      \"&Nein\",7,156,52,49,14\n    PUSHBUTTON      \"Abbrechen\",2,221,52,49,14\nEND\n\n41 DIALOG 10, 20, 303, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Lschen besttigen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,269,10\n    CONTROL         \"Lsche Verzeichnis:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,67,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,93,18,205,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,31,275,10\n    DEFPUSHBUTTON   \"&Ja\",6,27,45,50,14\n    PUSHBUTTON      \"&Alle lschen\",107,93,45,50,14\n    PUSHBUTTON      \"&Nein\",7,159,45,50,14\n    PUSHBUTTON      \"Abbrechen\",2,225,45,50,14\nEND\n\n42 DIALOG 10, 22, 304, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Verschieben besttigen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,273,10\n    CONTROL         \"Verschiebe Datei:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,59,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,83,18,157,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,30,275,10\n    DEFPUSHBUTTON   \"&Ja\",6,28,45,45,14\n    PUSHBUTTON      \"&Alle verschieben\",107,89,45,64,14\n    PUSHBUTTON      \"&Nein\",7,169,45,45,14\n    PUSHBUTTON      \"Abbrechen\",2,230,45,45,14\nEND\n\n43 DIALOG 10, 22, 303, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Umbenennen besttigen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,273,10\n    CONTROL         \"Umbenennen der Datei:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,17,84,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,110,17,189,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,30,275,10\n    DEFPUSHBUTTON   \"&Ja\",6,25,44,50,14\n    PUSHBUTTON      \"&Alle umbenennen\",107,88,44,65,14\n    PUSHBUTTON      \"&Nein\",7,166,44,50,14\n    PUSHBUTTON      \"Abbrechen\",2,232,44,50,14\nEND\n\n44 DIALOG 15, 12, 146, 83\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Dateien auswhlen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Datei(en):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,60,10\n    EDITTEXT        201,5,29,60,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"Aus&whlen\",1,71,6,69,14\n    PUSHBUTTON      \"&Auswahl aufheben\",6,71,23,69,14\n    PUSHBUTTON      \"Abbrechen\",2,71,40,69,14\n    PUSHBUTTON      \"&Hilfe\",254,71,63,69,14\nEND\n\n45 DIALOG 11, 31, 206, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Laufwerk auswhlen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Laufwerke:\",245,\"Static\",SS_LEFTNOWORDWRAP,5,5,41,10\n    LISTBOX         222,5,16,140,60,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,153,6,47,14\n    PUSHBUTTON      \"Abbrechen\",2,153,23,47,14\n    PUSHBUTTON      \"&Hilfe\",254,153,40,47,14\nEND\n\n46 DIALOG 18, 22, 265, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Dateiname auswhlen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Die Pfadangabe entspricht nicht dem FAT-Format fr Dateinamen. Bitte geben Sie einen neuen Namen ein.\",99,7,4,190,24,NOT WS_GROUP\n    RTEXT           \"&Neuer Name:\",-1,5,58,44,12,NOT WS_GROUP\n    EDITTEXT        103,76,57,114,12\n    RTEXT           \"Ursprnglicher Pfad:\",-1,5,30,68,10,NOT WS_GROUP\n    EDITTEXT        102,76,26,114,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \"Nach Verzeichnis:\",-1,11,42,62,11,NOT WS_GROUP\n    EDITTEXT        101,76,40,115,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"OK\",1,212,6,47,14\n    PUSHBUTTON      \"Abbrechen\",2,212,23,47,14\n    PUSHBUTTON      \"&Hilfe\",254,212,40,47,14\nEND\n\n48 DIALOG 23, 13, 250, 119\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Eigenschaften von %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,197,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Abbrechen\",2,197,23,50,14\n    PUSHBUTTON      \"&Hilfe\",254,197,40,50,14\n    CONTROL         \"&Dateiname:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,59,10\n    EDITTEXT        201,65,5,127,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Pfad:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,65,16,128,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Letzte nderung:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,56,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,65,27,128,10\n    CONTROL         \"Gre:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,38,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,65,38,128,10\n    GROUPBOX        \"Attribute\",-1,4,52,128,54\n    CONTROL         \"&Schreibgeschtzt\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,64,69,12\n    CONTROL         \"&Versteckt\",216,\"Button\",BS_AUTOCHECKBOX,82,64,44,12\n    CONTROL         \"&Archiv\",217,\"Button\",BS_AUTOCHECKBOX,9,76,47,12\n    CONTROL         \"Sys&tem\",218,\"Button\",BS_AUTOCHECKBOX,82,76,47,12\n    CONTROL         \"&Komprimiert\",267,\"Button\",BS_AUTOCHECKBOX,9,89,52,12\nEND\n\n49 DIALOG 18, 21, 266, 150\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Schriftart\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Schriftart:\",1088,6,3,40,9\n    COMBOBOX        1136,6,13,94,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"Schriftst&il:\",1089,108,3,44,9\n    COMBOBOX        1137,108,13,64,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Gre:\",1090,177,3,30,9\n    COMBOBOX        1138,177,13,32,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Effekte\",1072,6,73,84,61,WS_GROUP\n    CONTROL         \"Durchgestrichen (&y)\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,52,95,1,10\n    CONTROL         \"&Unterstrichen\",1041,\"Button\",BS_AUTOCHECKBOX,39,101,3,10\n    CONTROL         \"Kleinschreibung fr &FAT-Laufwerke\",1042,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,7,139,127,10\n    CONTROL         \"Kleinschreibung fr &alle Laufwerke\",1043,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,136,139,126,10\n    LTEXT           \"Farbe: (&x)\",1091,54,103,1,9\n    COMBOBOX        1139,72,88,4,2,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"OK\",1,213,6,47,14,WS_GROUP\n    PUSHBUTTON      \"Abbrechen\",2,213,23,47,14,WS_GROUP\n    PUSHBUTTON      \"&Zuweisen\",1026,213,40,47,14,WS_GROUP\n    PUSHBUTTON      \"&Hilfe\",1038,213,57,47,14,WS_GROUP\n    GROUPBOX        \"Muster\",1073,8,71,252,63,WS_GROUP\n    CTEXT           \"\",1093,10,137,1,2,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaZz\",1092,11,84,244,46,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 67, 14, 160, 72\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Datentrger formatieren\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\",100,0,36,160,8\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,15,10,131,22\n    PUSHBUTTON      \"Hintergrund\",110,24,52,50,14\n    PUSHBUTTON      \"Abbrechen\",2,88,52,50,14\nEND\n\n51 DIALOG 10, 22, 260, 103\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Zugriff verweigert\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,5,17,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,16,228,16\n    CONTROL         \"Ignorieren der Datei:\",202,\"Static\",SS_LEFTNOWORDWRAP,26,6,71,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,97,6,156,10\n    CONTROL         \"Sie haben keine ausreichenden Berechtigungen oder die Datei\\n ist in Verwendung.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,35,212,16\n    CONTROL         \"Klicken Sie auf \"\"Ja\"\", um diese Datei zu ignorieren und fortzusetzen.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,61,222,10\n    DEFPUSHBUTTON   \"&Ja\",6,13,83,47,14\n    PUSHBUTTON      \"&Alle ignorieren\",107,72,83,56,14\n    PUSHBUTTON      \"&Nein\",7,140,83,47,14\n    PUSHBUTTON      \"Abbrechen\",2,199,83,47,14\nEND\n\n52 DIALOG 10, 20, 245, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kein Zugriff auf Ziel\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Ignorieren der Datei:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,19,68,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,94,26,136,10\n    CONTROL         \"Klicken Sie auf \"\"Ja\"\", um diese Datei zu ignorieren und fortzusetzen.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,18,37,222,10\n    DEFPUSHBUTTON   \"&Ja\",6,10,61,45,14\n    PUSHBUTTON      \"&Alle ignorieren\",107,65,61,60,14\n    PUSHBUTTON      \"&Nein\",7,135,61,45,14\n    PUSHBUTTON      \"Abbrechen\",2,190,61,45,14\nEND\n\n53 DIALOG 33, 21, 200, 75\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Suchen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Suchen nach:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,5,51,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,5,120,10\n    CONTROL         \"Beginnen in:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,43,10\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,16,120,11\n    CONTROL         \"Verzeichnisse gelesen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,75,10\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,83,27,82,10\n    CONTROL         \"Treffer:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,38,36,10\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,38,91,10\n    PUSHBUTTON      \"Hintergrund\",110,44,55,50,14\n    PUSHBUTTON      \"Abbrechen\",2,108,55,50,14\nEND\n\n54 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"In Zwischenablage\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Aktuelles Verzeichnis: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,186,10\n    CONTROL         \"In &Zwischenablage:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,67,10\n    EDITTEXT        102,70,19,121,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,195,6,47,14\n    PUSHBUTTON      \"Abbrechen\",2,195,23,47,14\n    PUSHBUTTON      \"&Hilfe\",254,195,40,47,14\nEND\n\n55 DIALOG 35, 18, 295, 224\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Dateitypeditor\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Datei&typ:\",302,5,6,33,8\n    EDITTEXT        301,41,5,95,12,ES_AUTOHSCROLL\n    GROUPBOX        \"&Vorgang:\",-1,6,22,235,126,WS_GROUP\n    COMBOBOX        306,42,21,65,35,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Befehl:\",313,9,42,29,8\n    EDITTEXT        304,47,39,111,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"Durch&suchen...\",318,164,38,60,14\n    CONTROL         \"Verwendet &DDE\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,57,64,10\n    LTEXT           \"DDE-Na&chricht:\",320,22,72,52,8\n    EDITTEXT        309,94,70,100,12,ES_AUTOHSCROLL\n    LTEXT           \"DDE Anwendung &nicht gestartet:\",322,22,84,59,19\n    LTEXT           \"(optional)\",324,200,90,32,8\n    EDITTEXT        311,94,88,100,12,ES_AUTOHSCROLL\n    LTEXT           \"&Anwendung:\",321,22,109,41,8\n    EDITTEXT        310,94,107,100,12,ES_AUTOHSCROLL\n    LTEXT           \"The&ma:\",323,23,127,25,8\n    EDITTEXT        312,94,125,100,12,ES_AUTOHSCROLL\n    LTEXT           \"Neue E&rweiterung:\",-1,11,184,61,8\n    EDITTEXT        315,73,182,31,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"Hin&zufgen ->\",303,109,174,53,14\n    PUSHBUTTON      \"<- &Entfernen\",219,109,191,53,14\n    LTEXT           \"Er&weiterung:\",-1,168,162,41,8\n    LISTBOX         317,169,172,65,40,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Diesem Dateityp zugeordnete Erweiterungen:\",316,6,152,235,66\n    DEFPUSHBUTTON   \"OK\",1,244,6,47,14\n    PUSHBUTTON      \"Abbrechen\",2,244,23,47,14\n    PUSHBUTTON      \"&Hilfe\",254,244,40,47,14\nEND\n\n57 DIALOG 123, 60, 269, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Komprimierungsstatus\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Datei:\",-1,6,8,79,8\n    LTEXT           \"filename.xxx\",341,97,8,168,8\n    LTEXT           \"Verzeichnis:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,97,20,168,8\n    LTEXT           \"Verzeichnisse komprimiert:\",-1,6,32,102,8\n    LTEXT           \"1,888,888,999\",343,97,32,168,8\n    LTEXT           \"Dateien komprimiert:\",-1,6,44,68,8\n    LTEXT           \"1,888,888,999\",344,97,44,168,8\n    LTEXT           \"Gesamtgre vor Komprimierung:\",-1,6,56,124,8\n    LTEXT           \"9,999,999,999,999\",345,134,56,68,8\n    LTEXT           \"Gesamtgre nach Komprimierung:\",-1,6,68,123,8\n    LTEXT           \"9,999,999,999,999\",346,134,69,68,8\n    LTEXT           \"Dateikomprimierungsrate:\",-1,6,80,83,8\n    LTEXT           \"100%\",347,134,80,27,8\n    PUSHBUTTON      \"Abbrechen\",2,107,97,55,14\nEND\n\n58 DIALOG 114, 62, 200, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Dekomprimierungsstatus\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Datei:\",-1,6,8,21,8\n    LTEXT           \"filename.xxx\",351,53,8,144,8\n    LTEXT           \"Verzeichnis:\",-1,6,20,41,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\",352,53,20,144,8\n    LTEXT           \"Verzeichnisse dekomprimiert:\",-1,6,32,95,8\n    LTEXT           \"1,999,999,999\",353,106,32,70,8\n    LTEXT           \"Dateien dekomprimiert:\",-1,6,44,76,8\n    LTEXT           \"1,999,999,999\",354,106,44,78,8\n    PUSHBUTTON      \"Abbrechen\",2,75,64,49,14\nEND\n\n59 DIALOG 11, 28, 245, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Komprimierungsfehler\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,8,8,21,20\n    LTEXT           \"\",100,35,8,202,33\n    DEFPUSHBUTTON   \"&Ignorieren\",5,8,47,45,14,WS_GROUP\n    PUSHBUTTON      \"A&lles ignorieren\",112,61,47,61,14\n    PUSHBUTTON      \"&Wiederholen\",4,130,47,52,14\n    PUSHBUTTON      \"&Abbrechen\",3,190,47,47,14\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY, SHIFT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT\n    VK_F4,          1702,                   VIRTKEY, SHIFT\n    VK_F5,          1704,                   VIRTKEY \n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII   \n    VK_ADD,         301,                    VIRTKEY \n    \"*\",            302,                    ASCII   \n    VK_MULTIPLY,    302,                    VIRTKEY \n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL\n    \"-\",            304,                    ASCII   \n    VK_SUBTRACT,    304,                    VIRTKEY \n    VK_RETURN,      110,                    VIRTKEY, ALT\n    VK_F2,          2000,                   VIRTKEY \nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"cur300.cur\"\n\n\n301                     CURSOR                  \"cur301.cur\"\n\n\n302                     CURSOR                  \"cur302.cur\"\n\n\n303                     CURSOR                  \"cur303.cur\"\n\n\n306                     CURSOR                  \"cur306.cur\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ico200.ico\"\n\n\n201                     ICON                    \"ico201.ico\"\n\n\n202                     ICON                    \"ico202.ico\"\n\n\n204                     ICON                    \"ico204.ico\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,318\n PRODUCTVERSION 4,0,1381,318\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"040704B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"Datei-Manager\"\n            VALUE \"FileVersion\", \"4.00\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"Copyright (C) Microsoft Corp. 1981-1996\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"Betriebssystem Microsoft(R) Windows NT(TM)\"\n            VALUE \"ProductVersion\", \"4.00\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0x407, 1200\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"Datentrger kopieren\"\n    51                      \"Legen Sie den Zieldatentrger ein.\"\n    52                      \"Legen Sie den Quelldatentrger ein.\"\n    53                      \"Legen Sie den Quell- und den Zieldatentrger ein.\"\n    54                      \"Formatiert den Zieldatentrger.\"\n    55                      \"Fehler beim Kopieren\"\n    56                      \"Das Kopieren des Datentrgers ist nicht mglich.\"\n    58                      \"Das Quell- und das Ziellaufwerk sind zueinander inkompatibel.\"\n    60                      \"%d %% bearbeitet\"\n    61                      \"Das Stammverzeichnis wird angelegt...\"\n    62                      \"Die Systemdateien werden kopiert...\"\n    63                      \"Fehler beim Formatieren\"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \"Formatieren abgeschlossen\"\n    67                      \"%ld Bytes Speicherplatz insgesamt\\n%ld Bytes Speicherplatz frei\\n\\nMchten Sie eine weitere Diskette formatieren?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"Netzwerkfehler\"\n    83                      \"Dieses Laufwerk enthlt die Windows-Systemdateien und kann nicht getrennt werden.\"\n    91                      \"Attribute knnen nicht gendert werden. \"\n    92                      \"Verzeichnis kann nicht erstellt werden. \"\n    93                      \"Datentrger& kann nicht benannt werden.\\n\\nStellen Sie sicher, da der Datentrger nicht schreibgeschtzt, kein Netzlaufwerk und die Bezeichnung gltig ist.\\nBezeichnungen drfen die folgenden Zeichen nicht enthalten:\\n[Leerzeichen] * ? / \\\\ | . , ; : + = [ ] ( )  ^ < > \"\" \"\n    95                      \"Es wurden keine entsprechenden Dateien gefunden.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \"Der Inhalt des Laufwerks wurde gendert. Mchten Sie eine Aktualisierung des Suchergebnisses?\"\n    98                      \"Sie mssen als Administrator an die Arbeitsstation angemeldet sein, um diesen Vorgang auszufhren.\"\n    101                     \"Laufwerk %c:%c\"\n    110                     \"Programmausfhrungsfehler\"\n    111                     \"Unerwarteter Fehler: %d.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"Nicht gengend Arbeitsspeicher, um die ausgewhlte Anwendung zu starten.\\n\\nSchlieen Sie eine oder mehrere Anwendungen, und versuchen Sie es dann erneut.\"\n    113                     \"Datei bzw. Komponente nicht gefunden.\\n\\nberprfen Sie, ob Pfad- und Dateiname richtig und alle Bibliotheken verfgbar sind.\"\n    114                     \"Der angegebene Pfad ist ungltig.\"\n    116                     \"Dieser Datendatei ist keine Anwendung zugeordnet.\\n\\nKlicken Sie im Men 'Datei' auf den Befehl 'Zuordnen', um eine Zuordnung zu erstellen.\"\n    118                     \"Die Datei kann nicht geffnet oder gedruckt werden.\\n\\nVerwenden Sie die Anwendung, mit der die Datei erstellt wurde.\"\n    120                     \"Mausaktion besttigen\"\n    121                     \"Sind Sie sicher, da Sie die ausgewhlten Dateien oder Verzeichnisse nach %s kopieren mchten?\"\n    122                     \"Sind Sie sicher, da Sie die ausgewhlten Dateien oder Verzeichnisse nach %s verschieben mchten?\"\n    123                     \"Sind Sie sicher, da Sie %s mit %s als Dokument ausfhren mchten?\"\n    124                     \"Datei - Manager\"\n    126                     \"Verzeichnisstruktur\"\n    127                     \"Suchergebnis: \"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \"Zu viele Dateien\"\n    133                     \"Datei-Manager - Nicht gengend Arbeitsspeicher!\"\n    134                     \"Das vollstndige Verzeichnis kann nicht gelesen werden. Es wird nur ein Teil der Liste angezeigt.\"\n    140                     \"Aktuelles Verzeichnis: %s\"\n    141                     \"Kopieren\"\n    143                     \"Umbenennen\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"Datentrger formatieren\"\n    146                     \"Whlen Sie den Datentrger aus, den Sie formatieren mchten.\"\n    150                     \"Legt an:\"\n    151                     \"Lscht:\"\n    152                     \"Kopiert:\"\n    153                     \"Benennt um:\"\n    154                     \"Verschieben...\"\n    155                     \"Lscht:\"\n    156                     \"Druckt: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"Kopieren...\"\n    170                     \"Entfernen:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \"%d Datei(en) (%s)\"\n    181                     \"%d Verzeichnisse gelesen\"\n    182                     \"%c: %s von  %s frei\"\n    183                     \"%d Datei(en) gefunden\"\n    185                     \"die ausgewhlten Dateien\"\n    186                     \"Die Verbindung zum Netzlaufwerk kann nicht getrennt werden.\\n\\nAuf diesem Netzlaufwerk sind Dateien geffnet.\"\n    187                     \"%d Datei(en) (%s) ausgewhlt\"\n    188                     \"In Laufwerk %c: ist kein Datentrger eingelegt.\\n\\nLegen Sie einen Datentrger ein, und versuchen Sie es erneut.\"\n    189                     \"Der Datentrger in Laufwerk %c: ist nicht formatiert.\\n\\nMchten Sie ihn jetzt formatieren?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"Nicht gengend Speicherplatz auf dem Datentrger, um zu drucken.\\n\\nLschen Sie mehrere Dateien, und versuchen Sie es erneut.\"\n    193                     \"Nicht gengend Arbeitsspeicher, um zu drucken.\\n\\nSchlieen Sie eine oder mehrere Anwendungen, und versuchen Sie es erneut.\"\n    194                     \"Fehler whrend des Druckens.\\n\\nVergewissern Sie sich, da der Drucker richtig konfiguriert und ausgewhlt ist.\"\n    195                     \"Unvollstndige Anzeige der Verzeichnisstruktur\"\n    197                     \"Die Speicherkapazitt des Ziellaufwerks ist erschpft.  Legen Sie einen neuen Datentrger ein, um fortzusetzen.\"\n    198                     \"Dies ist eine System-, eine versteckte oder eine schreibgeschtzte Datei.\"\n    199                     \"Der Datentrger kann nicht mit QuickFormat formatiert werden. \\n\\nMchten Sie, da mit vollstndigem Formatieren fortgesetzt wird?\"\n    203                     \"Fehler beim Senden des Befehls an die Anwendung.\"\n    204                     \"Eine fr diese Funktion bentigte Bibliothek ist nicht verfgbar.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \"&Freigegebene Verzeichnisse...\"\n    210                     \"Formatieren lscht ALLE Dateien auf dem Datentrger.\\nSind Sie sicher, da Sie den Datentrger %c: formatieren mchten?\"\n    211                     \"Datentrgerformatieren besttigen\"\n    212                     \"Dieser Vorgang lscht ALLE Daten auf der Zieldiskette.\\nSind Sie sicher, da Sie fortsetzen mchten?\"\n    213                     \"Datentrgerkopieren besttigen\"\n    214                     \"&Schlieen\"\n    215                     \"Schlieen\"\n    218                     \"Verzeichnis %s existiert nicht.\\n\\nMchten Sie es erzeugen?\"\n    219                     \"Programme#*.exe;*.pif;*.com;*.bat#Alle Dateien (*.*)#*.*#\"\n    220                     \"Durchsuchen\"\n    221                     \"Ausfhren\"\n    222                     \"Fehler beim Drucken\"\n    223                     \"Die Hilfeinformation kann nicht angezeigt werden.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"Dateien mit der Dateinamenerweiterung %s sind Programme und knnen nicht einer anderen Anwendung zugeordnet werden.\"\n    225                     \"%s ist kein Programm und kann nicht einer Dateinamenerweiterung zugeordnet werden.\"\n    226                     \"(Keine)\"\n    227                     \"Keine Dateien gefunden.\"\n    228                     \"Mehrere Dateien knnen nicht gedruckt werden.\\n\\nWhlen Sie eine einzelne Datei aus, und versuchen Sie es erneut.\"\n    230                     \"Eine der zur Ausfhrung dieser Anwendung bentigten Bibliotheksdateien ist beschdigt. Installieren Sie diese Anwendung neu.\"\n    231                     \"Diese Datei wird von einer anderen Anwendung bearbeitet.\"\n    232                     \"Der Datei-Manager kann auf die Dateien, die in  Verzeichnis \"\"%s\"\" erstellt werden, eventuell nicht zugreifen.\\n\\nMchten Sie fortsetzen?\"\n    233                     \"Verzeichnis erstellen\"\n    234                     \"%ld Bytes\"\n    235                     \"%s Bytes\"\n    236                     \"Mehrere Dateien oder Verzeichnisse knnen nicht gleichzeitig in die Zwischenablage kopiert werden.\\n\\nMarkieren Sie eine einzelne Datei und versuchen Sie es erneut.\"\n    237                     \"%s - %s\"\n    238                     \"Laufwerk:\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"Netzlaufwerk verbinden\"\n    241                     \"Netzlaufwerk trennen\"\n    242                     \"Netzwerkverbindungen\"\n    243                     \"Verzeichnis freigeben\"\n    244                     \"Verzeichnisfreigabe beenden\"\n    245                     \"Alle Dateiangaben anzeigen\"\n    246                     \"Nur den Dateinamen anzeigen\"\n    247                     \"Nach Name\"\n    248                     \"Nach Typ\"\n    249                     \"Nach Gre\"\n    250                     \"Nach Datum\"\n    251                     \"Neues Fenster\"\n    252                     \"Dateien kopieren\"\n    253                     \"Dateien verschieben\"\n    254                     \"Ver&zeichnisname:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"Netzwerklaufwerk ist nicht verfgbar.\"\n    259                     \"Freigegeben als %s\"\n    260                     \"Nicht freigegeben\"\n    261                     \"Dateien lschen\"\n    262                     \" - KOMPRIMIERT\"\n    263                     \"Datei(en) kopieren nach %s\"\n    264                     \"Datei(en) verschieben nach %s\"\n    265                     \"Starten von Datei(en) mit %s\"\n    266                     \"%s Bytes\"\n    267                     \"%s KB\"\n    268                     \"%s MB\"\n    269                     \"%s GB\"\n    270                     \"%s TB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \"Sie haben keine Berechtigung auf dieses Verzeichnis zuzugreifen.\"\n    281                     \"Sie haben keine Berechtigung auf diese Datei zuzugreifen.\"\n    283                     \"Auf Laufwerk %c: kann nicht zugegriffen werden, da es beschftigt ist.\\nEs wird eine Diskette kopiert.\"\n    284                     \"Auf Laufwerk %c: kann nicht zugegriffen werden, da es beschftigt ist.\\nEs wird eine Diskette formatiert.\"\n    285                     \"Funktion nicht vollstndig ausgefhrt\"\n    286                     \"Vorgang kann nicht fr alle Dateien und Verzeichnisse ausgefhrt werden.\"\n    287                     \"Verzeichnis kann nicht gelesen werden\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"Verzeichnis existiert nicht.\"\n    289                     \"Netzlaufwerk kann nicht verbunden werden.\"\n    290                     \"Netzwerkname kann nicht gefunden werden.\"\n    292                     \"'Alle...' betrifft auch System-, versteckte und schreibgeschtzte Dateien.\"\n    294                     \"Datei ffnen\"\n    295                     \"Drucken\"\n    298                     \"Erweiterung hinzufgen\"\n    299                     \"Die Erweiterung '%s' ist momentan '%s.' zugeordnet. Fortsetzen und diese Zuordnung berschreiben?\"\n    300                     \"Dateizuordnungs-Editor\"\n    301                     \"Erweiterung kann nicht zugeordnet werden.\"\n    302                     \"Erweiterung konnte nicht gelscht werden.\"\n    303                     \"Dateityp kann nicht hinzugefgt werden.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"Dateityp kann nicht gelscht werden.\"\n    305                     \"Dateityp kann nicht gelesen werden.\"\n    306                     \"Die Beschreibung darf nicht leer sein. Bitte geben Sie eine Beschreibung ein.\"\n    307                     \"Es konnte keine einmalige ID unter Verwendung Ihrer Beschreibung erzeugt werden. Bitte geben Sie eine neue Beschreibung ein.\"\n    308                     \"Dateityp lschen\"\n    309                     \"Hiermit lschen Sie den Dateityp und alle zugeordneten Erweiterungen.  Sind Sie sicher, da Sie '%s' lschen mchten?\"\n    312                     \"Fr einen Dateityp mu mindestens ein Befehl fr einen Vorgang angegeben sein. Bitte geben Sie den Namen einer Anwendung ein.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"Dateitypeditor\"\n    321                     \"Datentrger wird kopiert\"\n    322                     \"Suche...\"\n    324                     \"Momentan wird ein Datentrger vom Datei-Manager formatiert. Wenn Sie den Datei-Manager beenden, wird dieser Vorgang abgebrochen.\"\n    325                     \"Momentan wird ein Datentrger vom Datei-Manager kopiert. Wenn Sie den Datei-Manager beenden, wird dieser Vorgang abgebrochen.\"\n    326                     \"Prozent bearbeitet\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360 KB\"\n    354                     \"1%s2 MB\"\n    355                     \"720 KB\"\n    356                     \"1%s44 MB\"\n    357                     \"2%s88 MB\"\n    358                     \"Laufwerkkapazitt\"\n    359                     \"Datentrgerinformationen sind nicht lesbar.\\n\\nVergewissern Sie sich, da eine Diskette im Laufwerk ist.\"\n    360                     \"20%s8 MB\"\n    361                     \"Unbekannter Datentrgertyp\"\n    362                     \"Unbekannter Datentrgertyp\"\n    363                     \"Die Art von Datentrgern in Laufwerk %s: kann mit Datei-Manager nicht formatiert werden. Verwenden Sie den Festplatten-Manager.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"Inkompatibles Dateisystem.\"\n    401                     \"Der Zugriff wird verweigert.\"\n    402                     \"Der Datentrger ist schreibgeschtzt.\"\n    403                     \"Datentrger kann nicht gesperrt werden.\"\n    404                     \"QuickFormat kann nicht durchgefhrt werden.\\n\\nStellen Sie sicher, da die richtige Speicherkapazitt angegeben ist.\"\n    405                     \"Ein-/Ausgabefehler auf der Quelldiskette\"\n    406                     \"Ein-/Ausgabefehler auf der Zieldiskette\"\n    407                     \"Ein-/Ausgabefehler sowohl auf der Quell- als auch auf der Zieldiskette\"\n    408                     \"Eingabe/Ausgabe (E/A)-Fehler\"\n    411                     \"Der Datentrger kann nicht formatiert werden.\\n\\nVergewissern Sie sich, da der Datentrger eingelegt und nicht schreibgeschtzt oder beschdigt ist, und nicht die falsche Speicherdichte angegeben wurde.\"\n    412                     \"Der Datentrger kann nicht benannt werden.\\n\\nDie angegebene Bezeichnung ist ungltig. Stellen Sie sicher, da die Bezeichnung keine der folgenden Zeichen enthlt\\n[Leerzeichen] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \"ffnen...\"\n    421                     \"Schlieen...\"\n    422                     \"Es sind zu viele Verzeichnisfenster geffnet.\\n\\nSchlieen Sie ein oder mehrere Fenster, und versuchen Sie es erneut.\"\n    423                     \"QuickFormat...\"\n    424                     \"Hintergrundaktualisierung konnte nicht initialisiert werden. Der Datei-Manager wird beendet.\"\n    425                     \"Initialisierung des Datei-Managers\"\n    426                     \"Verzeichnis wird gelesen, warten Sie...\"\n    427                     \"Mchten Sie alle Dateien und Unterverzeichnisse in %s auch komprimieren?\"\n    428                     \"Mchten Sie alle Dateien und Unterverzeichnisse in %s auch dekomprimieren?\"\n    429                     \"Komprimierungsattribut von \"\"%s\"\" kann nicht gendert werden.\"\n    430                     \"Die Datei \"\"%s\"\" wird nicht komprimiert. Komprimieren dieser Datei knnte Ihr System unstartbar machen.\"\n    431                     \"Der Datei-Manager komprimiert bzw. dekomprimiert momentan Dateien.\\nWarten Sie bitte, bis dieser Vorgang beendet ist, bevor Sie weitere Dateien komprimieren bzw. dekomprimieren.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"Kommentare\"\n    501                     \"Firmenname\"\n    502                     \"Dateibeschreibung\"\n    503                     \"Interner Name\"\n    504                     \"Geschtzte Marken\"\n    505                     \"Originaler Dateiname\"\n    506                     \"Beschreibung\"\n    507                     \"Produktname\"\n    508                     \"Produktversion\"\n    509                     \"Spezielle Beschreibung\"\n    510                     \"Sprache\"\n    511                     \"Sprachen\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"Netzlaufwerk &verbinden...\"\n    801                     \"Netzlaufwerk &trennen...\"\n    802                     \"&Netzwerk-Verbindungen\"\n    803                     \"F&reigeben als...\"\n    804                     \"Freigabe been&den...\"\n    805                     \"Freigegeben Verzeichnisse &anzeigen...\"\n    806                     \"&Wiederherstellen...\"\n    807                     \"Neues Fenster beim &Verbinden ffnen\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \"Fehler beim Verschieben einer Datei\"\n    1002                    \"Fehler beim Kopieren einer Datei\"\n    1003                    \"Fehler beim Lschen einer Datei\"\n    1004                    \"Fehler beim Umbenennen einer Datei\"\n    1005                    \"Fehler beim Auswhlen des Laufwerks\"\n    1006                    \"Fehler beim Lesen eines Verzeichnisses\"\n    1007                    \"Fehler beim Benennen des Datentrgers\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"%s kann nicht verschoben werden.\\n%s\"\n    1012                    \"%s kann nicht kopiert werden.\\n%s\"\n    1013                    \"%s kann nicht gelscht werden.\\n%s\"\n    1014                    \"%s kann nicht umbenannt werden.\\n%s\"\n    1021                    \"Verzeichnis %s kann nicht erzeugt werden.\\n%s\"\n    1022                    \"Verzeichnis %s kann nicht gelscht werden.\\n%s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"%s kann nicht erstellt oder ersetzt werden.\\n%s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"Quelle und Ziel sind gleich.\"\n    1102                    \"Whlen Sie nur eine Datei oder verwenden Sie Platzhalter (z.B. *.TXT), um eine Dateigruppe umzubenennen.\"\n    1103                    \"Es kann nicht zu einem anderen Verzeichnis oder Laufwerk umbenannt werden.\\nVerwenden Sie 'Verschieben' aus dem Men 'Datei'.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"Stammverzeichnis (interner Fehler)\"\n    1105                    \"Zielverzeichnis ist eine Unterverzeichnis der Quelle.\"\n    1106                    \"Diese Datei wird von Windows momentan bearbeitet.\"\n    1107                    \"Geben Sie nur eine Datei oder ein Verzeichnis an. Wenn Sie eine Dateigruppe mit hnlichen Namen angeben mchten, knnen Sie einen Platzhalter (z.B. *.TXT) verwenden.\"\n    1108                    \"Ein gleicher Datei- oder Verzeichnisname besteht bereits. Innerhalb eines Verzeichnisses mssen Datei- und Verzeichnisnamen eindeutig sein.\"\n    1109                    \"Stellen Sie sicher, da der richtige Pfad und Dateiname angegeben sind.\"\n    1110                    \"Stellen Sie sicher, da der richtige Pfad angegeben ist.\"\n    1111                    \"Beenden Sie eine oder mehrere Anwendungen, und versuchen Sie es erneut. Oder verwenden Sie die Systemsteuerung, um den virtuellen Speicher zu erhhen.\"\n    1113                    \"Heben Sie den Schreibschutz fr den Datentrger auf, oder verwenden Sie einen anderen und versuchen Sie es erneut.\"\n    1114                    \"Stellen Sie sicher, da Sie die passenden Netzwerkberechtigungen haben, um diesen Vorgang auszufhren.\"\n    1115                    \"Lschen Sie eine oder mehrere Dateien, und versuchen Sie es erneut.\"\n    1116                    \"Auf diesem Speichermedium wurden keine Daten erkannt.\"\n    1117                    \"Das Verzeichnis besteht bereits.\"\n    1118                    \"Der ausgewhlte Dateiname ist bereits vergeben.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"Es ist ein falscher Datentrger im Laufwerk eingelegt.\"\n    1151                    \"Die Anwendung kann nicht im Windows NT-Modus gestartet werden.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \"Das Betriebssystem kann diese Komponente nicht starten.\"\n    1153                    \"Die Komponente kann nicht im Windows NT-Modus gestartet werden.\"\n    1154                    \"Das Programm ist keine gltige Anwendung fr Windows NT.\"\n    1155                    \"Ein Fehler ist aufgetreten und es gibt keine Nachricht dafr.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \"Rs[(&F):\"\n    2001                    \"Rs[(&T):\"\n    2002                    \"̖O(&F):\"\n    2003                    \"VO(&T):\"\n    2004                    \"Rs[:\"\n    2005                    \"̃tHg?gpƊ?̕\\\\?\\nłȂȂ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"Befehle zum Arbeiten mit Dateien\"\n    3985                    \"Befehle zum Arbeiten mit Datentrgern\"\n    3986                    \"Befehle zum Arbeiten in dem Strukturfenster\"\n    3987                    \"Befehle zum Bestimmen der Informationsanzeige\"\n    3988                    \"Befehle zum Einstellen von Optionen\"\n    3989                    \"Befehle zum Einstellen der Datei- und Verzeichnissicherheit\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"Befehle zum Anordnen der Fenster\"\n    4001                    \"Befehle zum Anzeigen der Hilfe zu Datei-Manager\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"Suchen nach einem Thema in der Hilfe zum Datei-Manager\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \"Ausgewhltes Objekt ffnen\"\n    4102                    \"Drucken eines Dokuments\"\n    4103                    \"Zuordnen einer Datei zu einer Anwendung\"\n    4104                    \"Suchen nach Dateien und Verzeichnissen\"\n    4105                    \"Starten oder ffnen einer Anwendung oder eines Dokuments\"\n    4106                    \"Verschieben des ausgewhlten Objekts\"\n    4107                    \"Kopieren von Dateien und Verzeichnissen\"\n    4108                    \"Lschen von Dateien und Verzeichnissen\"\n    4109                    \"Umbenennen von Dateien und Verzeichnissen\"\n    4110                    \"Anzeige der Eigenschaften und Setzen von Dateiattributen\"\n    4111                    \"Erstellen eines Verzeichnisses\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"Beenden von Datei-Manager\"\n    4116                    \"Auswhlen einer Datei oder eines Verzeichnisses\"\n    4117                    \"Wiederherstellen gelschter Verzeichnisse\"\n    4118                    \"Kopieren einer Datei in die Zwischenablage\"\n    4119                    \"Komprimieren einer Datei oder eines Verzeichnisses\"\n    4120                    \"Dekomprimieren einer Datei oder eines Verzeichnisses\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"Inhalt eines Datentrgers kopieren\"\n    4202                    \"Zuweisen oder ndern der Datentrgerbezeichnung\"\n    4203                    \"Formatieren einer Diskette\"\n    4205                    \"Verbinden zu einem Netzlaufwerk\"\n    4206                    \"Netzlaufwerk trennen\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"Auswhlen eines Laufwerks\"\n    4254                    \"Freigeben eines Verzeichnisses\"\n    4255                    \"Freigabe eines Verzeichnisses beenden\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"Nchste Verzeichnisebene einblenden\"\n    4302                    \"Zweig einblenden\"\n    4303                    \"Alles einblenden\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \"Zweig ausblenden\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \"Nur Anzeige der Dateinamen\"\n    4402                    \"Anzeige aller Dateiangaben\"\n    4403                    \"Anzeige bestimmter Dateiangaben\"\n    4404                    \"Nach Name sortiert\"\n    4405                    \"Nach Typ sortiert\"\n    4406                    \"Nach Gre sortiert\"\n    4407                    \"Nach Datum sortiert\"\n    4409                    \"Nur Dateien des ausgewhlten Typs anzeigen\"\n    4411                    \"Nur Struktur anzeigen\"\n    4412                    \"Inhalt des aktuellen Verzeichnisses anzeigen\"\n    4413                    \"Verzeichnisstruktur und Inhalt des aktuellen Verzeichnisses anzeigen\"\n    4414                    \"Teilen des Verzeichnisfensters oder bewegen der Teilungsleiste\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"Einstellung der Besttigungsabfragen\"\n    4503                    \"Ein- oder Ausblenden der Statusleiste\"\n    4504                    \"Minimiert den Datei-Manager zum Symbol nach Programmstart\"\n    4505                    \"Hinweis auf Verzeichnisse mit Unterverzeichnissen\"\n    4507                    \"Ein- oder Ausblenden der Laufwerksleiste.\"\n    4508                    \"Ein- oder Ausblenden der Symbolleiste\"\n    4509                    \"Neues Fenster beim Verbinden ffnen\"\n    4510                    \"ndern der Schriftart im Datei-Manager\"\n    4511                    \"Einstellungen beim Beenden von Datei-Manager speichern\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"Definieren des Aussehens der Symbolleiste\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"Anzeigen und ndern der Berechtigungen fr ausgewhlte Elemente\"\n    4606                    \"Anzeigen und ndern der berwachungseinstellungen fr ausgewhlte Elemente\"\n    4607                    \"Anzeigen und ndern des Besitzers fr ausgewhlte Elemente\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"Anordnen der Fenster berlappend\"\n    5702                    \"Anordnen der Fenster vertikal\"\n    5703                    \"Anordnen der Fenster horizontal\"\n    5704                    \"Aktualisieren des Fensterinhalts\"\n    5705                    \"Symbole anordnen\"\n    5706                    \"ffnen eines neuen Fensters\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"Inhalt der Hilfe anzeigen\"\n    5802                    \"Hilfe ber Benutzen von Hilfe\"\n    5803                    \"Anzeige von Informationen ber Datei-Manager\"\nEND\n\n#endif    // German (Germany) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/origrc/winfile.en-US.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"bmp100.bmp\"\n\n\n101                     BITMAP                  \"bmp101.bmp\"\n\n\n102                     BITMAP                  \"bmp102.bmp\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"&File\"\n    BEGIN\n        MENUITEM \"&Open\\tEnter\",                101\n        MENUITEM \"&Move...\\tF7\",                106\n        MENUITEM \"&Copy...\\tF8\",                107\n        MENUITEM \"Copy to Clip&board...\\tF9\",   118\n        MENUITEM \"&Delete...\\tDel\",             108\n        MENUITEM \"Re&name...\",                  109\n        MENUITEM \"Proper&ties...\\tAlt+Enter\",   110\n        MENUITEM SEPARATOR\n        MENUITEM \"Compre&ss...\",                119\n        MENUITEM \"&Uncompress...\",              120\n        MENUITEM SEPARATOR\n        MENUITEM \"&Run...\",                     105\n        MENUITEM \"&Print...\",                   102\n        MENUITEM \"&Associate...\",               103\n        MENUITEM SEPARATOR\n        MENUITEM \"Cr&eate Directory...\",        111\n        MENUITEM \"Searc&h...\",                  104\n        MENUITEM \"Select &Files...\",            116\n        MENUITEM SEPARATOR\n        MENUITEM \"E&xit\",                       115\n    END\n    POPUP \"&Disk\"\n    BEGIN\n        MENUITEM \"&Copy Disk...\",               201\n        MENUITEM \"&Label Disk...\",              202\n        MENUITEM SEPARATOR\n        MENUITEM \"&Format Disk...\",             203\n        MENUITEM SEPARATOR\n        MENUITEM \"&Select Drive...\",            251\n    END\n    POPUP \"&Tree\"\n    BEGIN\n        MENUITEM \"E&xpand One Level\\t+\",        301\n        MENUITEM \"Expand &Branch\\t*\",           302\n        MENUITEM \"Expand &All\\tCtrl+*\",         303\n        MENUITEM \"&Collapse Branch\\t-\",         304\n        MENUITEM SEPARATOR\n        MENUITEM \"&Indicate Expandable Branches\", 505\n    END\n    POPUP \"&View\"\n    BEGIN\n        MENUITEM \"T&ree and Directory\",         413\n        MENUITEM \"Tr&ee Only\",                  411\n        MENUITEM \"Directory &Only\",             412\n        MENUITEM SEPARATOR\n        MENUITEM \"Sp&lit\",                      414\n        MENUITEM SEPARATOR\n        MENUITEM \"&Name\",                       401\n        MENUITEM \"&All File Details\",           402, CHECKED\n        MENUITEM \"&Partial Details...\",         403\n        MENUITEM SEPARATOR\n        MENUITEM \"&Sort by Name\",               404\n        MENUITEM \"Sort &by Type\",               405\n        MENUITEM \"Sort by Si&ze\",               406\n        MENUITEM \"Sort by &Date\",               407\n        MENUITEM SEPARATOR\n        MENUITEM \"By File &Type...\",            409\n    END\n    POPUP \"&Options\"\n    BEGIN\n        MENUITEM \"&Confirmation...\",            501\n        MENUITEM \"&Font...\",                    510\n        MENUITEM \"Customize Tool&bar...\",       512\n        MENUITEM SEPARATOR\n        MENUITEM \"&Toolbar\",                    508\n        MENUITEM \"&Drivebar\",                   507\n        MENUITEM \"&Status Bar\",                 503\n        MENUITEM SEPARATOR\n        MENUITEM \"&Minimize on Use\",            504\n        MENUITEM \"Save Settings on &Exit\",      511\n    END\n    POPUP \"&Security\"\n    BEGIN\n        MENUITEM \"&Permissions...\",             605\n        MENUITEM \"&Auditing...\",                606\n        MENUITEM \"&Owner...\",                   607\n    END\n    POPUP \"&Window\"\n    BEGIN\n        MENUITEM \"&New Window\",                 1706\n        MENUITEM \"&Cascade\\tShift+F5\",          1701\n        MENUITEM \"Tile &Horizontally\",          1703\n        MENUITEM \"&Tile Vertically\\tShift+F4\",  1702\n        MENUITEM \"&Arrange Icons\",              1705\n        MENUITEM \"&Refresh\\tF5\",                1704\n    END\n    POPUP \"&Help\"\n    BEGIN\n        MENUITEM \"&Contents\",                   1801\n        MENUITEM \"&Search for Help on...\",      30\n        MENUITEM \"&How to Use Help\",            1802\n        MENUITEM SEPARATOR\n        MENUITEM \"&About File Manager...\",      1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 12, 210, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Run\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,162,10\n    CONTROL         \"&Command Line:\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,3,18,60,10\n    EDITTEXT        201,3,29,134,12,ES_AUTOHSCROLL\n    CONTROL         \"Run &Minimized\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,3,45,71,12\n    DEFPUSHBUTTON   \"OK\",1,165,6,40,14\n    PUSHBUTTON      \"Cancel\",2,165,23,40,14\n    PUSHBUTTON      \"&Help\",254,165,43,40,14\nEND\n\n11 DIALOG 20, 20, 240, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Print\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,193,10\n    CONTROL         \"&Print:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,23,10\n    EDITTEXT        102,27,18,160,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,36,190,10\n    DEFPUSHBUTTON   \"OK\",1,197,6,40,14\n    PUSHBUTTON      \"Cancel\",2,197,23,40,14\n    PUSHBUTTON      \"&Help\",254,197,43,40,14\nEND\n\n12 DIALOG 20, 20, 255, 118\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Associate\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Files with Extension:\",-1,6,7,68,8\n    COMBOBOX        315,76,5,44,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Associate With:\",-1,6,30,92,10\n    EDITTEXT        304,6,42,172,12,ES_AUTOHSCROLL\n    LISTBOX         314,11,54,167,62,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"&Browse...\",318,130,24,47,14\n    DEFPUSHBUTTON   \"OK\",1,187,6,62,14,WS_GROUP\n    PUSHBUTTON      \"Cancel\",2,187,23,62,14\n    PUSHBUTTON      \"&New Type...\",300,187,42,62,14\n    PUSHBUTTON      \"&Change Type...\",251,187,59,62,14\n    PUSHBUTTON      \"&Delete Type\",219,187,76,62,14\n    PUSHBUTTON      \"&Help\",254,187,95,62,14\nEND\n\n13 DIALOG 20, 20, 263, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Search\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Search For:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,6,45,12\n    EDITTEXT        201,52,5,160,12,ES_AUTOHSCROLL\n    CONTROL         \"Start &From:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,21,45,12\n    EDITTEXT        101,52,20,160,12,ES_AUTOHSCROLL\n    CONTROL         \"S&earch All Subdirectories\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,52,34,100,12\n    DEFPUSHBUTTON   \"OK\",1,217,6,40,14\n    PUSHBUTTON      \"Cancel\",2,217,23,40,14\n    PUSHBUTTON      \"&Help\",254,217,43,40,14\nEND\n\n14 DIALOG 47, 59, 231, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Move\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Current Directory: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,182,10\n    CONTROL         \"&To:\",2001,\"Static\",SS_LEFTNOWORDWRAP,3,33,20,10\n    EDITTEXT        103,37,32,138,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,49,40,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,45,49,140,10\n    DEFPUSHBUTTON   \"OK\",1,185,6,40,14\n    PUSHBUTTON      \"Cancel\",2,185,23,40,14\n    PUSHBUTTON      \"&Help\",254,185,40,40,14\n    CONTROL         \"&From:\",2002,\"Static\",SS_LEFTNOWORDWRAP,3,19,20,10\n    EDITTEXT        102,37,18,138,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Delete\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Current Directory: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"De&lete:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,35,10\n    EDITTEXT        102,40,19,155,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,35,35,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,40,35,155,10\n    DEFPUSHBUTTON   \"OK\",1,200,6,40,14\n    PUSHBUTTON      \"Cancel\",2,200,23,40,14\n    PUSHBUTTON      \"&Help\",254,200,40,40,14\nEND\n\n16 DIALOG 23, 13, 259, 229\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Properties for %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,204,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Cancel\",2,204,23,50,14\n    PUSHBUTTON      \"&Help\",254,204,40,50,14\n    CONTROL         \"&File Name:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,55,10\n    EDITTEXT        201,72,5,132,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Path:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,72,16,132,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Last Change:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,62,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,72,27,132,10\n    CONTROL         \"Version:\",258,\"Static\",SS_LEFTNOWORDWRAP,5,38,45,10\n    CONTROL         \"Not marked\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,72,38,132,10\n    LTEXT           \"Cop&yright:\",-1,5,49,45,10\n    EDITTEXT        265,72,49,132,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Size:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,60,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,72,60,132,10\n    CONTROL         \"Compressed Size:\",268,\"Static\",SS_LEFTNOWORDWRAP,5,71,62,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,72,71,132,10\n    CONTROL         \"Compression Ratio:\",270,\"Static\",SS_LEFTNOWORDWRAP,5,82,62,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,72,82,132,10\n    GROUPBOX        \"Attributes\",-1,4,96,120,54\n    CONTROL         \"&Read Only\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,108,52,12\n    CONTROL         \"H&idden\",216,\"Button\",BS_AUTOCHECKBOX,71,108,49,12\n    CONTROL         \"&Archive\",217,\"Button\",BS_AUTOCHECKBOX,9,120,52,12\n    CONTROL         \"&System\",218,\"Button\",BS_AUTOCHECKBOX,71,120,49,12\n    CONTROL         \"&Compressed\",267,\"Button\",BS_AUTOCHECKBOX,9,132,52,12\n    GROUPBOX        \"&Version Information\",262,4,155,250,70\n    LISTBOX         263,9,168,91,58,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,110,168,138,58,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 200, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Create Directory\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,154,10\n    CONTROL         \"&Name:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,23,20,10\n    EDITTEXT        201,30,22,90,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,46,150,10\n    DEFPUSHBUTTON   \"OK\",1,157,6,40,14\n    PUSHBUTTON      \"Cancel\",2,157,23,40,14\n    PUSHBUTTON      \"&Help\",254,157,43,40,14\nEND\n\n19 DIALOG 20, 20, 157, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Copy Disk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Source In:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,50,10\n    COMBOBOX        245,55,6,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Destination In:\",206,\"Static\",SS_LEFTNOWORDWRAP,5,22,50,10\n    COMBOBOX        222,55,20,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Cancel\",2,110,23,40,14\n    PUSHBUTTON      \"&Help\",254,110,43,40,14\nEND\n\n22 DIALOG 30, 30, 130, 55\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Copying Disk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Now Copying disk in \",-1,0,5,130,10,NOT WS_GROUP\n    CTEXT           \"Drive A:\",222,0,15,130,10,NOT WS_GROUP\n    CTEXT           \"Reading the source disk\",243,0,26,130,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Cancel\",2,44,39,44,14\nEND\n\n23 DIALOG 20, 20, 161, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Label Disk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Label:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,30,10\n    EDITTEXT        201,5,26,100,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,115,6,40,14\n    PUSHBUTTON      \"Cancel\",2,115,23,40,14\n    PUSHBUTTON      \"&Help\",254,115,43,40,14\nEND\n\n24 DIALOG 11, 28, 183, 96\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Format Disk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,140,6,40,14\n    PUSHBUTTON      \"Cancel\",2,140,23,40,14\n    PUSHBUTTON      \"&Help\",254,140,43,40,14\n    CONTROL         \"&Disk In:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,7,49,10\n    COMBOBOX        222,55,4,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Capacity:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,20,49,10\n    COMBOBOX        241,55,19,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Options\",102,5,39,115,53,WS_GROUP\n    CONTROL         \"&Label:\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,51,39,10\n    EDITTEXT        201,40,49,63,12\n    CONTROL         \"&Quick Format\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,62,90,12\nEND\n\n26 DIALOG 30, 30, 150, 50\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formatting Disk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Now formatting disk\",-1,0,5,150,10,NOT WS_GROUP\n    CTEXT           \"Initializing Drive...\",243,0,17,150,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Cancel\",2,54,30,44,14\nEND\n\n30 DIALOG 20, 20, 174, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Partial Details\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Details\",-1,4,4,121,74\n    CONTROL         \"&Size\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,15,100,12\n    CONTROL         \"Last &Modification Date\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,27,100,12\n    CONTROL         \"Last Modification &Time\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,39,100,12\n    CONTROL         \"&File Attributes\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,51,100,12\n    CONTROL         \"MS-&DOS file names\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,63,100,12\n    DEFPUSHBUTTON   \"OK\",1,130,6,40,14\n    PUSHBUTTON      \"Cancel\",2,130,23,40,14\n    PUSHBUTTON      \"&Help\",254,130,60,40,14\nEND\n\n32 DIALOG 20, 20, 157, 102\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"By File Type\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Name:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,23,10\n    EDITTEXT        201,34,6,65,12,ES_AUTOHSCROLL\n    GROUPBOX        \"File Type\",-1,5,20,94,62\n    CONTROL         \"&Directories\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,31,60,12\n    CONTROL         \"&Programs\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,43,60,12\n    CONTROL         \"Docu&ments\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,55,60,12\n    CONTROL         \"&Other Files\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,60,12\n    CONTROL         \"Show Hidden/&System Files\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,5,85,100,12\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Cancel\",2,110,23,40,14\n    PUSHBUTTON      \"&Help\",254,110,43,40,14\nEND\n\n33 DIALOG 20, 20, 214, 92\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmation\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Confirm On\",-1,5,3,158,85,WS_TABSTOP\n    CONTROL         \"File &Delete\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,15,80,12\n    CONTROL         \"D&irectory Delete\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,27,80,12\n    CONTROL         \"File &Replace\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,39,80,12\n    CONTROL         \"&Mouse Action\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,51,80,12\n    CONTROL         \"Dis&k Commands\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,63,80,12\n    CONTROL         \"Modifying &System, Hidden, Read Only files\",215,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,75,150,12\n    DEFPUSHBUTTON   \"OK\",1,168,6,40,14\n    PUSHBUTTON      \"Cancel\",2,168,23,40,14\n    PUSHBUTTON      \"&Help\",254,168,44,40,14\nEND\n\n35 DIALOG 20, 20, 250, 46\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Moving...\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,5,49,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,5,192,10\n    CONTROL         \"To:\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,15,25,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,15,192,10\n    DEFPUSHBUTTON   \"Cancel\",2,200,28,40,14,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 120, 58\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Printing File...\",-1,4,6,120,12\n    CTEXT           \"\",-1,4,20,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"Cancel\",2,44,40,32,14,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 206, 88\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Properties\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"%d Files Selected\",100,\"Static\",SS_LEFTNOWORDWRAP,5,5,144,10\n    CONTROL         \"Total %s bytes\",111,\"Static\",SS_LEFTNOWORDWRAP,5,16,144,10\n    GROUPBOX        \"Attributes\",-1,5,29,120,54\n    CONTROL         \"&Read Only\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,40,52,12\n    CONTROL         \"H&idden\",216,\"Button\",BS_AUTOCHECKBOX,72,40,52,12\n    CONTROL         \"&Archive\",217,\"Button\",BS_AUTOCHECKBOX,10,52,52,12\n    CONTROL         \"&System\",218,\"Button\",BS_AUTOCHECKBOX,72,52,52,12\n    CONTROL         \"&Compressed\",267,\"Button\",BS_AUTOCHECKBOX,10,64,52,12\n    DEFPUSHBUTTON   \"OK\",1,150,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Cancel\",2,150,23,50,14\n    PUSHBUTTON      \"&Help\",254,150,43,50,14\nEND\n\n39 DIALOG 10, 20, 245, 95\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirm File Replace\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Replace File:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,12,49,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,12,165,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,75,22,170,10\n    CONTROL         \"With File:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,34,49,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,34,165,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,75,44,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,54,203,10\n    DEFPUSHBUTTON   \"&Yes\",6,33,73,40,14\n    PUSHBUTTON      \"Yes to &All\",107,79,73,40,14\n    PUSHBUTTON      \"&No\",7,125,73,40,14\n    PUSHBUTTON      \"Cancel\",2,171,73,40,14\nEND\n\n40 DIALOG 10, 20, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirm File Delete\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Delete File:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,44,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Yes\",6,33,42,40,14\n    PUSHBUTTON      \"Yes to &All\",107,79,42,40,14\n    PUSHBUTTON      \"&No\",7,125,42,40,14\n    PUSHBUTTON      \"Cancel\",2,171,42,40,14\nEND\n\n41 DIALOG 10, 20, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirm Directory Delete\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Delete Directory:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,55,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Yes\",6,33,42,40,14\n    PUSHBUTTON      \"Yes to &All\",107,79,42,40,14\n    PUSHBUTTON      \"&No\",7,125,42,40,14\n    PUSHBUTTON      \"Cancel\",2,171,42,40,14\nEND\n\n42 DIALOG 10, 22, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirm File Move\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Move File:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,44,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Yes\",6,33,42,40,14\n    PUSHBUTTON      \"Yes to &All\",107,79,42,40,14\n    PUSHBUTTON      \"&No\",7,125,42,40,14\n    PUSHBUTTON      \"Cancel\",2,171,42,40,14\nEND\n\n43 DIALOG 10, 22, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirm File Rename\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Rename File:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,54,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Yes\",6,33,42,40,14\n    PUSHBUTTON      \"Yes to &All\",107,79,42,40,14\n    PUSHBUTTON      \"&No\",7,125,42,40,14\n    PUSHBUTTON      \"Cancel\",2,171,42,40,14\nEND\n\n44 DIALOG 15, 12, 116, 83\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Select Files\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&File(s):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,60,10\n    EDITTEXT        201,5,29,60,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"&Select\",1,70,6,40,14\n    PUSHBUTTON      \"&Deselect\",6,70,23,40,14\n    PUSHBUTTON      \"Cancel\",2,70,40,40,14\n    PUSHBUTTON      \"&Help\",254,70,63,40,14\nEND\n\n45 DIALOG 11, 31, 201, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Select Drive\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Drives:\",245,\"Static\",SS_LEFTNOWORDWRAP,5,5,41,10\n    LISTBOX         222,5,16,140,60,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,155,6,40,14\n    PUSHBUTTON      \"Cancel\",2,155,23,40,14\n    PUSHBUTTON      \"&Help\",254,155,44,40,14\nEND\n\n46 DIALOG 11, 28, 250, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Select Filename\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"This path does not match the FAT format for filenames.  Please enter a new name.\",99,5,4,190,24,NOT WS_GROUP\n    RTEXT           \"&New Name:\",-1,5,56,50,12,NOT WS_GROUP\n    EDITTEXT        103,57,55,130,12\n    RTEXT           \"Original Path:\",-1,5,28,50,11,NOT WS_GROUP\n    EDITTEXT        102,57,28,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \"To Directory:\",-1,5,42,50,11,NOT WS_GROUP\n    EDITTEXT        101,57,42,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"OK\",1,205,4,40,14\n    PUSHBUTTON      \"Cancel\",2,205,20,40,14\n    PUSHBUTTON      \"&Help\",254,205,36,40,14\nEND\n\n48 DIALOG 23, 13, 250, 119\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Properties for %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,194,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Cancel\",2,194,23,50,14\n    PUSHBUTTON      \"&Help\",254,194,43,50,14\n    CONTROL         \"&File Name:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,55,10\n    EDITTEXT        201,60,5,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Path:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,60,16,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Last Change:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,62,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,60,27,97,10\n    CONTROL         \"Size:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,38,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,60,38,90,10\n    GROUPBOX        \"Attributes\",-1,4,52,120,54\n    CONTROL         \"&Read Only\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,64,52,12\n    CONTROL         \"H&idden\",216,\"Button\",BS_AUTOCHECKBOX,71,64,49,12\n    CONTROL         \"&Archive\",217,\"Button\",BS_AUTOCHECKBOX,9,76,52,12\n    CONTROL         \"&System\",218,\"Button\",BS_AUTOCHECKBOX,71,76,49,12\n    CONTROL         \"&Compressed\",267,\"Button\",BS_AUTOCHECKBOX,9,88,52,12\nEND\n\n49 DIALOG 13, 54, 264, 154\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Font\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Font:\",1088,6,3,40,9\n    COMBOBOX        1136,6,13,94,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"Font St&yle:\",1089,108,3,44,9\n    COMBOBOX        1137,108,13,64,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Size:\",1090,179,3,30,9\n    COMBOBOX        1138,179,13,32,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Effects\",1072,6,73,84,61,WS_GROUP\n    CONTROL         \"Stri&keout\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,83,49,10\n    CONTROL         \"&Underline\",1041,\"Button\",BS_AUTOCHECKBOX,10,95,51,10\n    CONTROL         \"Display &Lowercase for FAT Drives\",1042,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,127,252,10\n    CONTROL         \"Display Lowercase for All &Drives\",1043,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,139,252,10\n    LTEXT           \"&Color:\",1091,10,107,30,9\n    COMBOBOX        1139,10,117,75,50,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"OK\",1,218,6,40,14,WS_GROUP\n    PUSHBUTTON      \"Cancel\",2,218,23,40,14,WS_GROUP\n    PUSHBUTTON      \"&Apply\",1026,218,40,40,14,WS_GROUP\n    PUSHBUTTON      \"&Help\",1038,218,57,40,14,WS_GROUP\n    GROUPBOX        \"Sample\",1073,6,72,252,49,WS_GROUP\n    CTEXT           \"\",1093,10,137,1,2,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBbYyZz\",1092,10,81,243,37,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 77, 27, 160, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formatting Disk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\",100,15,36,131,8\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,15,10,131,22\n    PUSHBUTTON      \"Hide\",110,38,48,40,14\n    PUSHBUTTON      \"Cancel\",2,82,48,40,14\nEND\n\n51 DIALOG 10, 20, 260, 70\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirm: Ignore file or directory and continue\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Access is denied, ignore:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,10,203,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,108,10,122,10\n    CONTROL         \"You do not have permission or the file is in use.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,25,230,10\n    CONTROL         \"Choose yes to ignore this file and continue operation.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,35,180,10\n    DEFPUSHBUTTON   \"&Yes\",6,33,52,40,14\n    PUSHBUTTON      \"Yes to &All\",107,79,52,40,14\n    PUSHBUTTON      \"&No\",7,125,52,40,14\n    PUSHBUTTON      \"Cancel\",2,171,52,40,14\nEND\n\n52 DIALOG 10, 20, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirm: Ignore file or directory and continue\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"No access on target, ignore:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,13,203,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,124,13,106,10\n    CONTROL         \"Click yes to ignore this file and continue operation.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,23,180,10\n    DEFPUSHBUTTON   \"&Yes\",6,33,42,40,14\n    PUSHBUTTON      \"Yes to &All\",107,79,42,40,14\n    PUSHBUTTON      \"&No\",7,125,42,40,14\n    PUSHBUTTON      \"Cancel\",2,171,42,40,14\nEND\n\n53 DIALOG 77, 109, 174, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Searching Disk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Search for:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,5,60,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,50,5,120,10\n    CONTROL         \"Starting from:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,70,10\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,50,15,120,10\n    CONTROL         \"Directories read:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,25,60,10\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,66,25,100,10\n    CONTROL         \"Matches found:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,35,60,10\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,66,35,100,10\n    PUSHBUTTON      \"Hide\",110,45,48,40,14\n    PUSHBUTTON      \"Cancel\",2,89,48,40,14\nEND\n\n54 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Copy to Clipboard\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Current Directory: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"Copy to Clip&board:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,67,10\n    EDITTEXT        102,70,19,125,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,200,6,40,14\n    PUSHBUTTON      \"Cancel\",2,200,23,40,14\n    PUSHBUTTON      \"&Help\",254,200,43,40,14\nEND\n\n55 DIALOG 18, 14, 290, 224\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Change File Type\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&File Type:\",302,5,6,33,8\n    EDITTEXT        301,42,5,95,12,ES_AUTOHSCROLL\n    GROUPBOX        \"&Action: \",-1,5,22,235,126,WS_GROUP\n    COMBOBOX        306,36,22,48,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Command:\",313,9,42,38,8\n    EDITTEXT        304,47,39,111,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"&Browse...\",318,164,38,40,14\n    CONTROL         \"&Uses DDE\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,57,50,10\n    LTEXT           \"DDE &Message:\",320,22,72,50,8\n    EDITTEXT        309,105,70,100,12,ES_AUTOHSCROLL\n    LTEXT           \"DDE Message Application &Not Running:\",322,22,84,82,19\n    LTEXT           \"(optional)\",324,207,90,32,8\n    EDITTEXT        311,105,88,100,12,ES_AUTOHSCROLL\n    LTEXT           \"A&pplication:\",321,22,109,39,8\n    EDITTEXT        310,105,107,100,12,ES_AUTOHSCROLL\n    LTEXT           \"&Topic:\",323,23,127,21,8\n    EDITTEXT        312,105,125,100,12,ES_AUTOHSCROLL\n    LTEXT           \"Ne&w Extension:\",-1,11,184,52,8\n    EDITTEXT        315,64,183,32,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"A&dd ->\",303,102,174,44,14\n    PUSHBUTTON      \"<- &Remove\",219,102,191,44,14\n    LTEXT           \"&Extensions:\",-1,157,162,41,8\n    LISTBOX         317,157,172,65,40,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Extensions Associated with this File Type:\",316,5,154,235,66\n    DEFPUSHBUTTON   \"OK\",1,244,6,40,14\n    PUSHBUTTON      \"Cancel\",2,244,23,40,14\n    PUSHBUTTON      \"&Help\",254,244,40,40,14\nEND\n\n57 DIALOG 123, 60, 207, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Compress Files Progress\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"File being compressed:\",-1,6,8,79,8\n    LTEXT           \"filename.xxx\",341,86,8,90,8\n    LTEXT           \"Directory:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,43,20,150,8\n    LTEXT           \"Directories compressed:\",-1,6,32,102,8\n    LTEXT           \"1,888,888,999\",343,90,32,60,8\n    LTEXT           \"Files compressed:\",-1,6,44,62,8\n    LTEXT           \"1,888,888,999\",344,74,44,58,8\n    LTEXT           \"Total size of files before compression:\",-1,6,56,124,8\n    LTEXT           \"9,999,999,999,999\",345,134,56,68,8\n    LTEXT           \"Total size of files after compression:\",-1,6,68,123,8\n    LTEXT           \"9,999,999,999,999\",346,134,69,68,8\n    LTEXT           \"File compression ratio:\",-1,6,80,78,8\n    LTEXT           \"100%\",347,91,80,27,8\n    PUSHBUTTON      \"Cancel\",2,76,97,55,14\nEND\n\n58 DIALOG 114, 62, 197, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Uncompress Files Progress\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"File being uncompressed:\",-1,6,8,83,8\n    LTEXT           \"filename.xxx\",351,93,8,66,8\n    LTEXT           \"Directory:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\",352,45,20,144,8\n    LTEXT           \"Directories uncompressed:\",-1,6,32,91,8\n    LTEXT           \"1,999,999,999\",353,99,32,70,8\n    LTEXT           \"Files uncompressed:\",-1,6,44,86,8\n    LTEXT           \"1,999,999,999\",354,92,44,78,8\n    PUSHBUTTON      \"Cancel\",2,74,64,49,14\nEND\n\n59 DIALOG 11, 28, 245, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Compression Error\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,8,8,21,20\n    LTEXT           \"\",100,35,8,190,20\n    DEFPUSHBUTTON   \"&Ignore\",5,33,47,40,14,WS_GROUP\n    PUSHBUTTON      \"I&gnore All\",112,79,47,40,14\n    PUSHBUTTON      \"&Retry\",4,125,47,40,14\n    PUSHBUTTON      \"&Abort\",3,171,47,40,14\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY, NOINVERT\n    VK_RETURN,      101,                    VIRTKEY, NOINVERT\n    VK_RETURN,      101,                    VIRTKEY, SHIFT, NOINVERT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT, NOINVERT\n    VK_F4,          1702,                   VIRTKEY, SHIFT, NOINVERT\n    VK_F5,          1704,                   VIRTKEY, NOINVERT\n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII,  NOINVERT\n    VK_ADD,         301,                    VIRTKEY, NOINVERT\n    \"*\",            302,                    ASCII,  NOINVERT\n    VK_MULTIPLY,    302,                    VIRTKEY, NOINVERT\n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL, NOINVERT\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL, NOINVERT\n    \"-\",            304,                    ASCII,  NOINVERT\n    VK_SUBTRACT,    304,                    VIRTKEY, NOINVERT\n    VK_RETURN,      110,                    VIRTKEY, ALT, NOINVERT\n    VK_F2,          2000,                   VIRTKEY, NOINVERT\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"cur300.cur\"\n\n\n301                     CURSOR                  \"cur301.cur\"\n\n\n302                     CURSOR                  \"cur302.cur\"\n\n\n303                     CURSOR                  \"cur303.cur\"\n\n\n306                     CURSOR                  \"cur306.cur\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ico200.ico\"\n\n\n201                     ICON                    \"ico201.ico\"\n\n\n202                     ICON                    \"ico202.ico\"\n\n\n204                     ICON                    \"ico204.ico\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,318\n PRODUCTVERSION 4,0,1381,318\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"040904B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"File Manager\"\n            VALUE \"FileVersion\", \"4.00\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"Copyright (C) Microsoft Corp. 1981-1996\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"Microsoft(R) Windows NT(TM) Operating System\"\n            VALUE \"ProductVersion\", \"4.00\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0x409, 1200\n    END\nEND\n\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"Copy Disk\"\n    51                      \"Insert destination disk.\"\n    52                      \"Insert source disk.\"\n    53                      \"Insert source and destination disks.\"\n    54                      \"Formatting Destination Disk\"\n    55                      \"Copy Disk Error\"\n    56                      \"Unable to copy disk.\"\n    58                      \"Source and destination disks are incompatible.\"\n    60                      \"%d%% completed\"\n    61                      \"Creating root directory...\"\n    62                      \"Copying system files...\"\n    63                      \"Format Disk Error\"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \"Format Complete\"\n    67                      \"%ld bytes total disk space\\n%ld bytes available on disk\\n\\nDo you want to format another disk?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"Network Error\"\n    83                      \"This drive contains the Windows system files and cannot be disconnected.\"\n    91                      \"File Manager cannot change attributes.  \"\n    92                      \"File Manager cannot create directory.  \"\n    93                      \"File Manager cannot label disk.\\n\\nMake sure the disk is not write-protected, is not a network drive, and that the label is valid.Labels cannot contain the following characters:\\n[space] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n    95                      \"No matching files were found.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \"The contents of this drive have changed. Do you want to update the Search Results window?\"\n    98                      \"You must be logged onto this workstation as an administrator to perform this operation on hard disks.\"\n    101                     \"Drive %c:%c\"\n    110                     \"Cannot Run Program\"\n    111                     \"Unexpected error: %d.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"Not enough memory to start the specified application.\\n\\nQuit one or more applications, and then try again.\"\n    113                     \"File Manager cannot find file (or one of its components).\\n\\nMake sure the path and filename are correct and that all required libraries are available.\"\n    114                     \"The specified path is invalid.\"\n    116                     \"No application is associated with this file.\\n\\nChoose Associate from the File menu to create an association.\"\n    118                     \"File Manager cannot open or print file.\\n\\nStart the application used to create this file and open or print it from there.\"\n    120                     \"Confirm Mouse Operation\"\n    121                     \"Are you sure you want to copy the selected files or directories to %s?\"\n    122                     \"Are you sure you want to move the selected files or directories to %s?\"\n    123                     \"Are you sure you want to start %s using %s as the initial file?\"\n    124                     \"File Manager\"\n    126                     \"Directory Tree\"\n    127                     \"Search Results: \"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \"Too Many Files\"\n    133                     \"File Manager - Out of Memory\"\n    134                     \"Unable to read entire directory.  Only a partial listing will be displayed.\"\n    140                     \"Current Directory: %s\"\n    141                     \"Copy\"\n    143                     \"Rename\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"Format Disk\"\n    146                     \"Select the disk to format.\"\n    150                     \"Creating:\"\n    151                     \"Removing...\"\n    152                     \"Copying:\"\n    153                     \"Renaming...\"\n    154                     \"Moving...\"\n    155                     \"Deleting...\"\n    156                     \"Printing: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"Copying...\"\n    170                     \"Removing:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \"Total %d file(s) (%s)\"\n    181                     \"Directories read: %d \"\n    182                     \"%c: %s free,  %s total\"\n    183                     \"%d file(s) found\"\n    185                     \"the selected files\"\n    186                     \"File Manager cannot disconnect network drive.\\n\\nFiles are open on this drive.\"\n    187                     \"Selected %d file(s) (%s)\"\n    188                     \"There is no disk in drive %c.\\n\\nInsert a disk, and then try again.\"\n    189                     \"The disk in drive %c is not formatted.\\n\\nDo you want to format it now?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"Not enough disk space to print.\\n\\nDelete one or more files to increase disk space, and then try again.\"\n    193                     \"Not enough memory to print.\\n\\nQuit one or more applications, and then try again.\"\n    194                     \"An error has occurred while printing.\\n\\nMake sure the printer is properly configured and selected.\"\n    195                     \"Incomplete directory tree displayed\"\n    197                     \"The destination disk is full.  Please insert another disk to continue.\"\n    198                     \"This is a system, hidden, or read-only file.\"\n    199                     \"File Manager cannot perform a quick format.\\n\\nContinue with normal format?\"\n    203                     \"An error occurred in sending the command to the application.\"\n    204                     \"Unable to load a library required for this operation.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \"S&hared Directories...\"\n    210                     \"Formatting will erase ALL data from your disk. Are you sure that you want to format the disk in drive %c?\"\n    211                     \"Confirm Format Disk\"\n    212                     \"This operation will erase ALL data from the destination disk. Are you sure you want to continue?\"\n    213                     \"Confirm Copy Disk\"\n    214                     \"&Close\"\n    215                     \"Close\"\n    218                     \"Directory %s does not exist.\\n\\nDo you want to create it?\"\n    219                     \"Programs#*.exe;*.pif;*.com;*.bat#All Files (*.*)#*.*#\"\n    220                     \"Browse\"\n    221                     \"Run\"\n    222                     \"Cannot Print File\"\n    223                     \"Unable to show Help information.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"Files with the extension %s are programs and cannot be associated with another application.\"\n    225                     \"%s is not a program and cannot be associated with a file extension.\"\n    226                     \"(None)\"\n    227                     \"No files found.\"\n    228                     \"File Manager cannot print multiple files.\\n\\nSelect only one file, and then try again.\"\n    230                     \"One of the library files needed to run this application is damaged. Please reinstall this application.\"\n    231                     \"This file is in use by some other application.\"\n    232                     \"File Manager may not be able to access files created in the directory '%s.'\\n\\nDo you want to continue?\"\n    233                     \"Create Directory\"\n    234                     \"%ld bytes\"\n    235                     \"%s bytes\"\n    236                     \"File manager cannot copy multiple files or directories to the Clipboard.\\n\\nSelect a single file, and then try again.\"\n    237                     \"%s - %s\"\n    238                     \"Drive:\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"Connect network drive\"\n    241                     \"Disconnect network drive\"\n    242                     \"Network connections\"\n    243                     \"Share directory\"\n    244                     \"Stop sharing directory\"\n    245                     \"View all file details\"\n    246                     \"View name only\"\n    247                     \"Sort by name\"\n    248                     \"Sort by type\"\n    249                     \"Sort by size\"\n    250                     \"Sort by date\"\n    251                     \"New window\"\n    252                     \"Copy files\"\n    253                     \"Move files\"\n    254                     \"&Directory Name:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"Network drive is not available.\"\n    259                     \"Shared as %s\"\n    260                     \"Not shared\"\n    261                     \"Delete files\"\n    262                     \" - COMPRESSED\"\n    263                     \"Copying files to %s\"\n    264                     \"Moving files to %s\"\n    265                     \"Running files with %s\"\n    266                     \"%s bytes\"\n    267                     \"%sKB\"\n    268                     \"%sMB\"\n    269                     \"%sGB\"\n    270                     \"%sTB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \"You do not have permission to access this directory.\"\n    281                     \"You do not have permission to access this file.\"\n    283                     \"Drive %c: is busy and cannot be accessed.\\nFile Manager is performing a disk copy.\"\n    284                     \"Drive %c: is busy and cannot be accessed.\\nFile Manager is formatting this disk.\"\n    285                     \"Operation not fully completed\"\n    286                     \"Unable to finish operation on all files and directories.\"\n    287                     \"Cannot read directory\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"Directory does not exist.\"\n    289                     \"Cannot connect network drive\"\n    290                     \"The network name cannot be found.\"\n    292                     \"'Yes to all' affects all files, including system, hidden, read-only.\"\n    294                     \"Open\"\n    295                     \"Print\"\n    298                     \"Add Extension\"\n    299                     \"The extension '%s' is currently associated with '%s.'  Continue and overwrite this association?\"\n    300                     \"File Association Editor\"\n    301                     \"Unable to associate extension.  \"\n    302                     \"Unable to delete extension.  \"\n    303                     \"Unable to add File Type.  \"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"Unable to delete File Type.  \"\n    305                     \"Unable to read File Type.  \"\n    306                     \"The File Type description cannot be empty.  Please type in a new File Type.\"\n    307                     \"Unable to generate unique identifier based on your File Type.  Please type in a new File Type.\"\n    308                     \"Delete File Type\"\n    309                     \"This will delete the File Type and all associated extensions.  Are you sure you want to delete '%s'?\"\n    312                     \"The File Type must have a command for at least one of its Actions.  Please type in an application in the command field.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"New File Type\"\n    321                     \"Copying Disk\"\n    322                     \"Searching...\"\n    324                     \"File Manager is currently formatting a disk.  Exiting File Manager will abort this operation.\"\n    325                     \"File Manager is currently copying a disk.  Exiting File Manager will abort this operation.\"\n    326                     \"Percent Complete\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360K\"\n    354                     \"1%s2 MB\"\n    355                     \"720K\"\n    356                     \"1%s44 MB\"\n    357                     \"2%s88 MB\"\n    358                     \"Drive Capacity\"\n    359                     \"File manager cannot obtain disk information.\\n\\nMake sure the disk is in the drive.\"\n    360                     \"20%s8 MB\"\n    361                     \"Unknown Disk Type\"\n    362                     \"Unknown Disk Type\"\n    363                     \"The type of disk in drive %s can not be formatted with the File Manager.  Please use the Disk Administrator to format this disk.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"Incompatible file system.\"\n    401                     \"Access denied.\"\n    402                     \"The disk is write-protected.\"\n    403                     \"File Manager cannot lock volume.\"\n    404                     \"File Manager cannot quick format disk.\\n\\nMake sure the disk is the correct density rating.\"\n    405                     \"IO error on the source disk.\"\n    406                     \"IO error on the destination disk.\"\n    407                     \"IO error on both the source and destination disks.\"\n    408                     \"An IO error has occurred.\"\n    411                     \"File Manager cannot format disk.\\n\\nMake sure the disk is in the drive and not write-protected, damaged, or of wrong density rating.\"\n    412                     \"File Manager cannot label the disk.\\n\\nThe specified label is invalid.  Make sure the label does not contain any of the following characters\\n[space] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \"Opening...\"\n    421                     \"Closing...\"\n    422                     \"Too many directory windows are open.\\n\\nClose one or more windows, and then try again.\"\n    423                     \"Quick Formatting...\"\n    424                     \"Unable to initialize background update support.  File Manager will exit.  \"\n    425                     \"File Manager Initialization\"\n    426                     \"Reading directory, please wait...\"\n    427                     \"Do you want to Compress all of the files and sub-directories in %s also?\"\n    428                     \"Do you want to Uncompress all of the files and sub-directories in %s also?\"\n    429                     \"File Manager cannot change compress attributes for %s.\"\n    430                     \"The file %s will not be compressed.  Compressing this file may render your system unbootable.\"\n    431                     \"File Manager is currently in the process of compressing/uncompressing files.\\nYou must wait until this is complete before attempting to compress/uncompress additional files.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"Comments\"\n    501                     \"Company Name\"\n    502                     \"File Description\"\n    503                     \"Internal Name\"\n    504                     \"Legal Trademarks\"\n    505                     \"Original Filename\"\n    506                     \"Private Build Description\"\n    507                     \"Product Name\"\n    508                     \"Product Version\"\n    509                     \"Special Build Description\"\n    510                     \"Language\"\n    511                     \"Languages\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"Connect &Network Drive...\"\n    801                     \"&Disconnect Network Drive...\"\n    802                     \"&Network Connections...\"\n    803                     \"Share &As...\"\n    804                     \"S&top Sharing...\"\n    805                     \"View S&hared Directories...\"\n    806                     \"&Undelete...\"\n    807                     \"&Open New Window on Connect\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \"Error Moving File\"\n    1002                    \"Error Copying File\"\n    1003                    \"Error Deleting File\"\n    1004                    \"Error Renaming File\"\n    1005                    \"Error Selecting Drive\"\n    1006                    \"Error Reading Directory\"\n    1007                    \"Error Labeling Disk\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"File Manager cannot move %s: %s\"\n    1012                    \"File Manager cannot copy %s: %s\"\n    1013                    \"File Manager cannot delete %s: %s\"\n    1014                    \"File Manager cannot rename %s: %s\"\n    1021                    \"File Manager cannot create directory %s: %s\"\n    1022                    \"File Manager cannot remove directory %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"File Manager cannot create or replace %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"Source and destination are the same.\"\n    1102                    \"Select only one file to rename, or use wildcards (for example, *.TXT) to rename a group of files with similar names.\"\n    1103                    \"Cannot rename to a different directory or disk.\\nUse the File Move command instead.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"You cannot rename the root directory.\"\n    1105                    \"The destination directory is a subdirectory of the source.\"\n    1106                    \"File in use by Windows.\"\n    1107                    \"Specify only one file or directory in the To box. Or, if you want to specify a group of files, use wildcards (for example, *.TXT).\"\n    1108                    \"A file or directory by this name already exists.  Within a directory, file and directory names must be unique.\"\n    1109                    \"Make sure the correct path and filename are specified.\"\n    1110                    \"Make sure the correct path is specified.\"\n    1111                    \"Quit one or more applications, and then try again.  Or, use the Systems option in Control Panel to increase your virtual memory.\"\n    1113                    \"Disable the write-protection on this disk or use another disk, and then try again.\"\n    1114                    \"Be sure you have the correct network permissions to perform this operation.\"\n    1115                    \"Delete one or more files to increase disk space, and then try again.\"\n    1116                    \"No data detected on this medium.\"\n    1117                    \"The directory already exists.\"\n    1118                    \"The specified name is already used by a file.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"The wrong disk is in the drive.\"\n    1151                    \"The application cannot be run in Windows NT mode.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \"The operating system cannot run this component.\"\n    1153                    \"The component cannot be run in Windows NT mode.\"\n    1154                    \"This program is not a valid Windows NT application.\"\n    1155                    \"An error occurred.  There is no message text for this error.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \"Rs[(&F):\"\n    2001                    \"Rs[(&T):\"\n    2002                    \"̖O(&F):\"\n    2003                    \"VO(&T):\"\n    2004                    \"Rs[:\"\n    2005                    \"̃tHg?gpƊ?̕\\\\?\\nłȂȂ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"Commands for working with files\"\n    3985                    \"Commands for working with disks\"\n    3986                    \"Commands for working in the tree window\"\n    3987                    \"Commands for determining how information is displayed\"\n    3988                    \"Commands for setting options\"\n    3989                    \"Commands for manipulating file and directory security\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"Commands for arranging windows\"\n    4001                    \"Commands for displaying File Manager Help\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"Searches for a topic in File Manager Help\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \"Opens selected item\"\n    4102                    \"Prints a document\"\n    4103                    \"Associates a file with an application\"\n    4104                    \"Searches for files and directories\"\n    4105                    \"Starts or opens an application or document\"\n    4106                    \"Moves selected item\"\n    4107                    \"Copies files and directories\"\n    4108                    \"Deletes files and directories\"\n    4109                    \"Renames a file or directory\"\n    4110                    \"Sets file attributes and displays properties\"\n    4111                    \"Creates a directory\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"Quits File Manager\"\n    4116                    \"Selects files and directories\"\n    4117                    \"Retrieves previously deleted files\"\n    4118                    \"Copies a file to the clipboard\"\n    4119                    \"Compresses a file or directory\"\n    4120                    \"Uncompresses a file or directory\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"Copies the contents of a floppy disk\"\n    4202                    \"Assigns or changes a disk's volume label\"\n    4203                    \"Formats a floppy disk\"\n    4205                    \"Connects to a network drive\"\n    4206                    \"Disconnects from a network drive\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"Selects a different drive\"\n    4254                    \"Shares a directory\"\n    4255                    \"Stops sharing a directory\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"Displays another level of a directory\"\n    4302                    \"Displays all levels of a directory\"\n    4303                    \"Displays all levels of all directories\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \"Collapses all directories of a selected directory\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \"Shows filenames only\"\n    4402                    \"Shows all file details\"\n    4403                    \"Shows partial file details\"\n    4404                    \"Sorts files by name\"\n    4405                    \"Sorts files by type\"\n    4406                    \"Sorts files by size\"\n    4407                    \"Sorts files by date\"\n    4409                    \"Shows files of a specified type\"\n    4411                    \"Displays the directory tree\"\n    4412                    \"Displays the contents of the current directory\"\n    4413                    \"Displays the directory tree and the contents of the current directory\"\n    4414                    \"Splits a directory window or moves the split bar\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"Controls confirmation messages\"\n    4503                    \"Displays or hides the status bar\"\n    4504                    \"Reduces File Manager to an icon at startup\"\n    4505                    \"Indicates directories that have subdirectories\"\n    4507                    \"Displays or hides the drivebar\"\n    4508                    \"Displays or hides the toolbar\"\n    4509                    \"Opens a new window when you connect\"\n    4510                    \"Changes the File Manager font\"\n    4511                    \"Saves settings when you quit File Manager\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"Customizes the toolbar\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"View or set permission information on the selected item(s)\"\n    4606                    \"View or set auditing information on the selected item(s)\"\n    4607                    \"View or take ownership of the selected item(s)\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"Cascades windows\"\n    5702                    \"Tiles windows vertically\"\n    5703                    \"Tiles windows horizontally\"\n    5704                    \"Updates the contents of a window\"\n    5705                    \"Arranges icons\"\n    5706                    \"Opens a new window\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"Displays contents for File Manager Help\"\n    5802                    \"Displays information about using Help\"\n    5803                    \"Displays information about File Manager\"\nEND\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/origrc/winfile.es-ES.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// Spanish (Spain, International Sort) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ESN)\nLANGUAGE LANG_SPANISH, SUBLANG_SPANISH_MODERN\n#pragma code_page(1252)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"BMP100.BMP\"\n\n\n101                     BITMAP                  \"BMP101.BMP\"\n\n\n102                     BITMAP                  \"BMP102.BMP\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"&Archivo\"\n    BEGIN\n        MENUITEM \"A&brir\\tEntrar\",              101\n        MENUITEM \"&Mover...\\tF7\",               106\n        MENUITEM \"&Copiar...\\tF8\",              107\n        MENUITEM \"Copiar a&l Portapapeles...\\tF9\", 118\n        MENUITEM \"Elimin&ar...\\tSupr\",          108\n        MENUITEM \"Cambiar &nombre...\",          109\n        MENUITEM \"&Propiedades...\\tAlt+Entrar\", 110\n        MENUITEM SEPARATOR\n        MENUITEM \"Comp&rimir...\",               119\n        MENUITEM \"D&escomprimir...\",            120\n        MENUITEM SEPARATOR\n        MENUITEM \"E&jecutar...\",                105\n        MENUITEM \"&Imprimir...\",                102\n        MENUITEM \"As&ociar...\",                 103\n        MENUITEM SEPARATOR\n        MENUITEM \"Crear &directorio...\",        111\n        MENUITEM \"B&uscar...\",                  104\n        MENUITEM \"Seleccionar arc&hivos...\",    116\n        MENUITEM SEPARATOR\n        MENUITEM \"&Salir\",                      115\n    END\n    POPUP \"&Disco\"\n    BEGIN\n        MENUITEM \"&Copiar disco...\",            201\n        MENUITEM \"&Asignar nombre al disco...\", 202\n        MENUITEM SEPARATOR\n        MENUITEM \"Dar &formato al disco...\",    203\n        MENUITEM SEPARATOR\n        MENUITEM \"&Seleccionar unidad...\",      251\n    END\n    POPUP \"&rbol\"\n    BEGIN\n        MENUITEM \"Expandir &un nivel\\t+\",       301\n        MENUITEM \"Expandir &rama\\t*\",           302\n        MENUITEM \"Expandir &todo\\tCtrl+*\",      303\n        MENUITEM \"&Contraer rama\\t-\",           304\n        MENUITEM SEPARATOR\n        MENUITEM \"&Indicar ramas expansibles\",  505\n    END\n    POPUP \"&Ver\"\n    BEGIN\n        MENUITEM \"rbol y &directorio\",         413\n        MENUITEM \"S&lo rbol\",                 411\n        MENUITEM \"Slo d&irectorio\",            412\n        MENUITEM SEPARATOR\n        MENUITEM \"Dividi&r\",                    414\n        MENUITEM SEPARATOR\n        MENUITEM \"&Nombre\",                     401\n        MENUITEM \"&Todos los detalles de los archivos\", 402, CHECKED\n        MENUITEM \"D&etalles parciales...\",      403\n        MENUITEM SEPARATOR\n        MENUITEM \"&Ordenar por nombre\",         404\n        MENUITEM \"Ordenar &por tipo\",           405\n        MENUITEM \"Orden&ar por tamao\",         406\n        MENUITEM \"Ordenar por &fecha\",          407\n        MENUITEM SEPARATOR\n        MENUITEM \"Por tipo de arc&hivo...\",     409\n    END\n    POPUP \"&Opciones\"\n    BEGIN\n        MENUITEM \"&Confirmacin...\",            501\n        MENUITEM \"&Fuente...\",                  510\n        MENUITEM \"&Personalizar barra de herramientas...\", 512\n        MENUITEM SEPARATOR\n        MENUITEM \"Barra de &herramientas\",      508\n        MENUITEM \"Barra de &unidades\",          507\n        MENUITEM \"&Barra de estado\",            503\n        MENUITEM SEPARATOR\n        MENUITEM \"&Minimizar Administrador de archivos\", 504\n        MENUITEM \"&Guardar configuracin al salir\", 511\n    END\n    POPUP \"&Seguridad\"\n    BEGIN\n        MENUITEM \"&Permisos...\",                605\n        MENUITEM \"&Auditora...\",               606\n        MENUITEM \"P&ropietario...\",             607\n    END\n    POPUP \"Ve&ntana\"\n    BEGIN\n        MENUITEM \"&Nueva ventana\",              1706\n        MENUITEM \"&Cascada\\tMays+F5\",          1701\n        MENUITEM \"Mosaico &horizontal\",         1703\n        MENUITEM \"Mosaico &vertical\\tMays+F4\", 1702\n        MENUITEM \"&Organizar iconos\",           1705\n        MENUITEM \"&Actualizar\\tF5\",             1704\n    END\n    POPUP \"Ay&uda\"\n    BEGIN\n        MENUITEM \"nd&ice\",                     1801\n        MENUITEM \"&Buscar ayuda sobre...\",      30\n        MENUITEM \"&Uso de la Ayuda\",            1802\n        MENUITEM SEPARATOR\n        MENUITEM \"&Acerca del Administrador de archivos...\", 1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 12, 216, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Ejecutar\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,9,6,162,10\n    CONTROL         \"&Lnea de comandos:\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,9,18,134,10\n    EDITTEXT        201,9,29,134,12,ES_AUTOHSCROLL\n    CONTROL         \"Ejecutar &minimizado\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,9,45,133,12\n    DEFPUSHBUTTON   \"Aceptar\",1,171,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,171,23,40,14\n    PUSHBUTTON      \"Ay&uda\",254,171,43,40,14\nEND\n\n11 DIALOG 20, 20, 249, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Imprimir\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,9,6,193,10\n    CONTROL         \"&Imprimir:\",-1,\"Static\",SS_LEFTNOWORDWRAP,9,20,28,10\n    EDITTEXT        102,45,18,151,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,12,36,190,10\n    DEFPUSHBUTTON   \"Aceptar\",1,206,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,206,23,40,14\n    PUSHBUTTON      \"Ay&uda\",254,206,40,40,14\nEND\n\n12 DIALOG 20, 20, 287, 118\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Asociar\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Archivos con extensin:\",-1,11,7,79,8\n    COMBOBOX        315,94,5,44,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"A&sociar con:\",-1,11,28,42,10\n    EDITTEXT        304,11,42,201,12,ES_AUTOHSCROLL\n    LISTBOX         314,11,54,201,62,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"E&xaminar...\",318,165,24,47,14\n    DEFPUSHBUTTON   \"Aceptar\",1,223,8,57,14,WS_GROUP\n    PUSHBUTTON      \"Cancelar\",2,223,25,57,14\n    PUSHBUTTON      \"&Nuevo tipo...\",300,223,42,57,14\n    PUSHBUTTON      \"&Cambiar tipo...\",251,223,60,57,14\n    PUSHBUTTON      \"&Eliminar tipo\",219,223,77,57,14\n    PUSHBUTTON      \"Ay&uda\",254,223,95,57,14\nEND\n\n13 DIALOG 20, 20, 270, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Buscar\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Buscar:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,6,26,12\n    EDITTEXT        201,69,5,151,12,ES_AUTOHSCROLL\n    CONTROL         \"&Comenzar desde:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,21,57,12\n    EDITTEXT        101,69,20,151,12,ES_AUTOHSCROLL\n    CONTROL         \"Buscar en &todos los subdirectorios\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,69,35,124,12\n    DEFPUSHBUTTON   \"Aceptar\",1,224,5,40,14\n    PUSHBUTTON      \"Cancelar\",2,224,22,40,14\n    PUSHBUTTON      \"Ay&uda\",254,224,40,40,14\nEND\n\n14 DIALOG 47, 59, 240, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Mover\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Directorio actual: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,12,6,180,10\n    CONTROL         \"&A:\",2001,\"Static\",SS_LEFTNOWORDWRAP,12,33,8,10\n    EDITTEXT        103,46,32,138,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,12,49,72,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,85,49,107,10\n    DEFPUSHBUTTON   \"Aceptar\",1,194,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,194,23,40,14\n    PUSHBUTTON      \"Ay&uda\",254,194,40,40,14\n    CONTROL         \"&Desde:\",2002,\"Static\",SS_LEFTNOWORDWRAP,12,19,24,10\n    EDITTEXT        102,46,18,138,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 253, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Eliminar\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Directorio actual: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,10,5,193,10\n    CONTROL         \"&Eliminar:\",-1,\"Static\",SS_LEFTNOWORDWRAP,9,20,29,10\n    EDITTEXT        102,47,19,155,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,10,37,46,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,60,37,142,10\n    DEFPUSHBUTTON   \"Aceptar\",1,207,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,207,23,40,14\n    PUSHBUTTON      \"Ay&uda\",254,207,40,40,14\nEND\n\n16 DIALOG 23, 13, 299, 241\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Propiedades de %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"Aceptar\",1,243,5,50,14,WS_GROUP\n    PUSHBUTTON      \"Cancelar\",2,243,22,50,14\n    PUSHBUTTON      \"Ay&uda\",254,243,42,50,14\n    CONTROL         \"Nombre del arc&hivo:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,4,67,10\n    EDITTEXT        201,90,4,149,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Ruta de acceso:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,14,55,10\n    EDITTEXT        101,90,14,149,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"ltimo cambio:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,26,49,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,90,26,149,10\n    CONTROL         \"Versin:\",258,\"Static\",SS_LEFTNOWORDWRAP,5,37,28,10\n    CONTROL         \"No existe\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,90,37,149,10\n    LTEXT           \"Copyrigh&t:\",-1,5,48,34,10\n    EDITTEXT        265,90,48,149,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Tamao:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,60,30,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,90,59,149,10\n    CONTROL         \"Tamao comprimido:\",268,\"Static\",SS_LEFTNOWORDWRAP,5,71,68,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,90,71,149,10\n    CONTROL         \"Relacin de compresin:\",270,\"Static\",SS_LEFTNOWORDWRAP,5,82,82,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,90,82,149,10\n    GROUPBOX        \"Atributos\",-1,4,96,138,54\n    CONTROL         \"S&lo lectura\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,12,110,52,12\n    CONTROL         \"&Oculto\",216,\"Button\",BS_AUTOCHECKBOX,89,110,34,12\n    CONTROL         \"&Modificado\",217,\"Button\",BS_AUTOCHECKBOX,12,122,48,12\n    CONTROL         \"Si&stema\",218,\"Button\",BS_AUTOCHECKBOX,89,122,38,12\n    CONTROL         \"&Comprimido\",267,\"Button\",BS_AUTOCHECKBOX,12,132,50,12\n    GROUPBOX        \"Informacin de la &versin\",262,10,162,283,72\n    LISTBOX         263,16,174,103,58,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,123,174,165,59,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 200, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Crear directorio\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,10,6,145,10\n    CONTROL         \"&Nombre:\",-1,\"Static\",SS_LEFTNOWORDWRAP,10,23,28,10\n    EDITTEXT        201,49,22,90,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,10,46,130,10\n    DEFPUSHBUTTON   \"Aceptar\",1,155,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,155,23,40,14\n    PUSHBUTTON      \"Ay&uda\",254,155,43,40,14\nEND\n\n19 DIALOG 20, 20, 137, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Copiar disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Origen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,8,25,10\n    COMBOBOX        245,43,6,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Destino:\",206,\"Static\",SS_LEFTNOWORDWRAP,11,25,28,10\n    COMBOBOX        222,43,23,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"Aceptar\",1,93,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,93,23,40,14\n    PUSHBUTTON      \"Ay&uda\",254,93,40,40,14\nEND\n\n22 DIALOG 30, 30, 130, 59\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Copiar el disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Copiar ahora el disco en \",-1,13,6,103,10,NOT WS_GROUP\n    CTEXT           \"unidad A:\",222,50,15,32,10,NOT WS_GROUP\n    CTEXT           \"Leyendo el disco de origen\",243,19,25,89,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Cancelar\",2,44,39,40,14\nEND\n\n23 DIALOG 20, 20, 167, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Asignar nombre al disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Nombre:\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,15,28,10\n    EDITTEXT        201,11,26,100,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"Aceptar\",1,121,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,121,23,40,14\n    PUSHBUTTON      \"Ay&uda\",254,121,40,40,14\nEND\n\n24 DIALOG 11, 28, 203, 99\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Dar formato al disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"Aceptar\",1,157,8,40,14\n    PUSHBUTTON      \"Cancelar\",2,157,25,40,14\n    PUSHBUTTON      \"Ay&uda\",254,157,45,40,14\n    CONTROL         \"Disco inserta&do en:\",-1,\"Static\",SS_LEFTNOWORDWRAP,10,10,63,10\n    COMBOBOX        222,88,8,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Capacidad:\",-1,\"Static\",SS_LEFTNOWORDWRAP,10,23,38,10\n    COMBOBOX        241,88,22,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Opciones\",102,10,39,115,52,WS_GROUP\n    CONTROL         \"&Nombre:\",-1,\"Static\",SS_LEFTNOWORDWRAP,15,55,28,10\n    EDITTEXT        201,48,53,57,12\n    CONTROL         \"&Formato rpido\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,16,71,61,12\nEND\n\n26 DIALOG 30, 30, 137, 50\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Dando formato al disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Dando formato al disco\",-1,27,4,79,10,NOT WS_GROUP\n    CTEXT           \"Inicializando la unidad...\",243,29,17,81,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Cancelar\",2,44,30,44,14\nEND\n\n30 DIALOG 20, 20, 223, 91\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Detalles parciales\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Detalles\",-1,9,5,148,74\n    CONTROL         \"&Tamao\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,18,20,39,9\n    CONTROL         \"&Fecha de la ltima modificacin\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,18,30,115,9\n    CONTROL         \"&Hora de la ltima modificacin\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,18,40,111,9\n    CONTROL         \"Atri&butos de los archivos\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,18,50,93,9\n    CONTROL         \"&Nombres de archivos de MS-DOS\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,18,60,121,9\n    DEFPUSHBUTTON   \"Aceptar\",1,178,9,40,14\n    PUSHBUTTON      \"Cancelar\",2,178,30,40,14\n    PUSHBUTTON      \"Ay&uda\",254,178,52,40,14\nEND\n\n32 DIALOG 20, 20, 162, 102\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Por tipo de archivo\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Nombre:\",-1,\"Static\",SS_LEFTNOWORDWRAP,10,8,28,10\n    EDITTEXT        201,42,6,62,12,ES_AUTOHSCROLL\n    GROUPBOX        \"Tipo de archivo\",-1,10,20,94,62\n    CONTROL         \"&Directorios\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,15,31,48,12\n    CONTROL         \"&Programas\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,15,43,47,12\n    CONTROL         \"Do&cumentos\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,15,55,53,12\n    CONTROL         \"&Otros archivos\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,15,67,60,12\n    CONTROL         \"&Mostrar archivos ocultos/sistema\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,85,120,12\n    DEFPUSHBUTTON   \"Aceptar\",1,115,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,115,23,40,14\n    PUSHBUTTON      \"Ay&uda\",254,115,43,40,14\nEND\n\n33 DIALOG 20, 20, 274, 101\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmacin\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Confirmar\",-1,5,3,208,88,WS_TABSTOP\n    CONTROL         \"&Eliminar archivo\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,17,15,64,12\n    CONTROL         \"Eliminar &directorio\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,17,27,71,12\n    CONTROL         \"&Reemplazar archivo\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,17,39,77,12\n    CONTROL         \"Accin del &mouse\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,17,51,70,12\n    CONTROL         \"&Comandos de disco\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,17,63,76,12\n    CONTROL         \"M&odificar archivos de sistema, ocultos, de slo lectura\",215,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,17,75,190,12\n    DEFPUSHBUTTON   \"Aceptar\",1,229,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,229,23,40,14\n    PUSHBUTTON      \"Ay&uda\",254,229,44,40,14\nEND\n\n35 DIALOG 20, 20, 256, 46\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Moviendo...\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,11,5,49,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,61,5,192,10\n    CONTROL         \"A:\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,11,15,8,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,61,15,192,10\n    DEFPUSHBUTTON   \"Cancelar\",2,206,28,40,14,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 125, 58\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Imprimiendo archivo...\",-1,25,6,73,12\n    CTEXT           \"\",-1,4,20,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"Cancelar\",2,44,40,40,14,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 210, 109\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Propiedades\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"%d archivos seleccionados\",100,\"Static\",SS_LEFTNOWORDWRAP,10,4,91,10\n    CONTROL         \"Total: %s bytes\",111,\"Static\",SS_LEFTNOWORDWRAP,5,16,53,10\n    GROUPBOX        \"Atributos\",-1,6,48,140,52\n    CONTROL         \"S&lo lectura\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,15,58,52,12\n    CONTROL         \"&Oculto\",216,\"Button\",BS_AUTOCHECKBOX,86,58,34,12\n    CONTROL         \"&Modificado\",217,\"Button\",BS_AUTOCHECKBOX,15,71,48,12\n    CONTROL         \"Si&stema\",218,\"Button\",BS_AUTOCHECKBOX,86,71,38,12\n    CONTROL         \"&Comprimido\",267,\"Button\",BS_AUTOCHECKBOX,15,84,50,12\n    DEFPUSHBUTTON   \"Aceptar\",1,155,53,50,14,WS_GROUP\n    PUSHBUTTON      \"Cancelar\",2,155,69,50,14\n    PUSHBUTTON      \"Ay&uda\",254,155,85,50,14\nEND\n\n39 DIALOG 10, 20, 250, 107\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmar Reemplazar archivo\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,30,3,203,10\n    CONTROL         \"Reemplazar el archivo:\",-1,\"Static\",SS_LEFTNOWORDWRAP,30,14,76,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,106,14,139,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,98,24,147,10\n    CONTROL         \"Con:\",-1,\"Static\",SS_LEFTNOWORDWRAP,34,36,16,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,98,36,147,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,98,46,147,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,30,58,203,25\n    DEFPUSHBUTTON   \"&S\",6,38,86,40,14\n    PUSHBUTTON      \"S a &todo\",107,84,86,40,14\n    PUSHBUTTON      \"&No\",7,130,86,40,14\n    PUSHBUTTON      \"Cancelar\",2,176,86,40,14\nEND\n\n40 DIALOG 10, 20, 249, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmar Eliminar archivo\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,29,6,203,10\n    CONTROL         \"Eliminar archivo:\",-1,\"Static\",SS_LEFTNOWORDWRAP,29,21,59,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,91,21,153,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,29,33,203,23\n    DEFPUSHBUTTON   \"&S\",6,37,60,40,14\n    PUSHBUTTON      \"S a &todo\",107,83,60,40,14\n    PUSHBUTTON      \"&No\",7,129,60,40,14\n    PUSHBUTTON      \"Cancelar\",2,175,60,40,14\nEND\n\n41 DIALOG 10, 20, 250, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmar Eliminar directorio\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,30,6,203,10\n    CONTROL         \"Eliminar directorio:\",-1,\"Static\",SS_LEFTNOWORDWRAP,30,21,66,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,99,21,146,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,30,33,211,24\n    DEFPUSHBUTTON   \"&S\",6,38,63,40,14\n    PUSHBUTTON      \"S a &todo\",107,84,63,40,14\n    PUSHBUTTON      \"&No\",7,130,63,40,14\n    PUSHBUTTON      \"Cancelar\",2,176,63,40,14\nEND\n\n42 DIALOG 10, 22, 248, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmar Mover archivo\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,29,7,203,10\n    CONTROL         \"Mover archivo:\",-1,\"Static\",SS_LEFTNOWORDWRAP,29,22,50,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,83,22,161,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,29,34,203,23\n    DEFPUSHBUTTON   \"&S\",6,36,63,40,14\n    PUSHBUTTON      \"S a &todo\",107,82,63,40,14\n    PUSHBUTTON      \"&No\",7,128,63,40,14\n    PUSHBUTTON      \"Cancelar\",2,174,63,40,14\nEND\n\n43 DIALOG 10, 22, 249, 68\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmar Cambiar nombre de archivo\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,29,3,203,10\n    CONTROL         \"Cambiar el nombre de:\",-1,\"Static\",SS_LEFTNOWORDWRAP,29,15,78,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,110,15,134,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,29,30,203,16\n    DEFPUSHBUTTON   \"&S\",6,37,49,40,14\n    PUSHBUTTON      \"S a &todo\",107,83,49,40,14\n    PUSHBUTTON      \"&No\",7,129,49,40,14\n    PUSHBUTTON      \"Cancelar\",2,175,49,40,14\nEND\n\n44 DIALOG 15, 12, 163, 83\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Seleccionar archivos\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"A&rchivos:\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,9,36,10\n    EDITTEXT        201,11,23,67,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"&Seleccionar\",1,88,6,70,14\n    PUSHBUTTON      \"A&nular seleccin\",6,88,23,70,14\n    PUSHBUTTON      \"Cancelar\",2,88,40,70,14\n    PUSHBUTTON      \"Ay&uda\",254,88,58,70,14\nEND\n\n45 DIALOG 11, 31, 205, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Seleccionar unidad\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"U&nidades:\",245,\"Static\",SS_LEFTNOWORDWRAP,9,5,54,10\n    LISTBOX         222,9,16,140,60,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"Aceptar\",1,159,16,40,14\n    PUSHBUTTON      \"Cancelar\",2,159,33,40,14\n    PUSHBUTTON      \"Ay&uda\",254,159,54,40,14\nEND\n\n46 DIALOG 11, 28, 253, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Seleccionar un nombre de archivo\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"La ruta de acceso no cumple con el formato FAT para nombres de archivo. Escriba un nuevo nombre.\",99,8,4,190,24,NOT WS_GROUP\n    RTEXT           \"&Nuevo nombre:\",-1,7,56,51,12,NOT WS_GROUP\n    EDITTEXT        103,61,55,130,12\n    RTEXT           \"Ruta de acceso original:\",-1,6,30,82,12,NOT WS_GROUP\n    EDITTEXT        102,92,28,110,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \"Directorio:\",-1,7,42,35,11,NOT WS_GROUP\n    EDITTEXT        101,61,41,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"Aceptar\",1,208,4,40,14\n    PUSHBUTTON      \"Cancelar\",2,208,20,40,14\n    PUSHBUTTON      \"Ay&uda\",254,208,36,40,14\nEND\n\n48 DIALOG 23, 13, 325, 119\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Propiedades de %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"Aceptar\",1,267,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Cancelar\",2,267,23,50,14\n    PUSHBUTTON      \"Ay&uda\",254,267,40,50,14\n    CONTROL         \"Nombre del &archivo:\",261,\"Static\",SS_LEFTNOWORDWRAP,11,5,83,10\n    EDITTEXT        201,99,5,117,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Ruta de acceso:\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,16,55,10\n    EDITTEXT        101,99,16,161,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"ltimo cambio:\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,27,49,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,99,27,97,10\n    CONTROL         \"Tamao:\",260,\"Static\",SS_LEFTNOWORDWRAP,11,38,30,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,99,38,90,10\n    GROUPBOX        \"Atributos\",-1,11,52,145,53\n    CONTROL         \"S&lo lectura\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,15,64,52,12\n    CONTROL         \"&Oculto\",216,\"Button\",BS_AUTOCHECKBOX,98,64,34,12\n    CONTROL         \"&Modificado\",217,\"Button\",BS_AUTOCHECKBOX,15,76,48,12\n    CONTROL         \"Si&stema\",218,\"Button\",BS_AUTOCHECKBOX,98,76,38,12\n    CONTROL         \"&Comprimido\",267,\"Button\",BS_AUTOCHECKBOX,15,88,50,12\nEND\n\n49 DIALOG 13, 54, 272, 160\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Fuente\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Fuente:\",1088,14,3,26,9\n    COMBOBOX        1136,14,13,95,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Estilo de fuente:\",1089,116,3,55,9\n    COMBOBOX        1137,116,13,64,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Tamao:\",1090,187,3,30,9\n    COMBOBOX        1138,187,13,32,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Efectos\",1072,18,79,91,44,WS_GROUP\n    CONTROL         \"Tac&hado\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,21,81,42,10\n    CONTROL         \"&Subrayado\",1041,\"Button\",BS_AUTOCHECKBOX,21,93,47,10\n    CONTROL         \"&Mostrar las unidades FAT en minsculas\",1042,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,15,132,143,10\n    CONTROL         \"M&ostrar todas las unidades en minsculas\",1043,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,15,143,148,10\n    LTEXT           \"&Color:\",1091,21,109,20,9\n    COMBOBOX        1139,42,108,60,50,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"Aceptar\",1,226,6,40,14,WS_GROUP\n    PUSHBUTTON      \"Cancelar\",2,226,23,40,14,WS_GROUP\n    PUSHBUTTON      \"Aplic&ar\",1026,226,40,40,14,WS_GROUP\n    PUSHBUTTON      \"Ay&uda\",1038,226,57,40,14,WS_GROUP\n    GROUPBOX        \"Muestra\",1073,14,72,252,56,WS_GROUP\n    CTEXT           \"\",1093,16,137,1,2,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBbYyZz\",1092,18,82,243,42,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 77, 27, 160, 73\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Dando formato al disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\",100,46,36,68,8\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,15,10,131,22\n    PUSHBUTTON      \"Ocultar\",110,32,51,40,14\n    PUSHBUTTON      \"Cancelar\",2,88,51,40,14\nEND\n\n51 DIALOG 10, 20, 244, 75\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmar: ignorar archivo o directorio y continuar\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,31,3,203,10\n    CONTROL         \"Acceso denegado, ignorar:\",202,\"Static\",SS_LEFTNOWORDWRAP,31,15,89,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,122,15,122,10\n    CONTROL         \"No tiene permiso o el archivo est en uso.\",-1,\"Static\",SS_LEFTNOWORDWRAP,31,30,139,10\n    CONTROL         \"Elija 'S' para ignorar este archivo y continuar la operacin.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,31,40,195,10\n    DEFPUSHBUTTON   \"&S\",6,39,57,40,14\n    PUSHBUTTON      \"S a &todo\",107,85,57,40,14\n    PUSHBUTTON      \"&No\",7,131,57,40,14\n    PUSHBUTTON      \"Cancelar\",2,177,57,40,14\nEND\n\n52 DIALOG 10, 20, 254, 72\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmar: ignorar archivo o directorio y continuar\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,34,3,203,10\n    CONTROL         \"No se puede acceder al destino, ignorar:\",202,\"Static\",SS_LEFTNOWORDWRAP,34,15,134,12\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,24,123,10\n    CONTROL         \"Elija 'S' para ignorar este archivo y continuar la operacin.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,34,34,195,10\n    DEFPUSHBUTTON   \"&S\",6,42,53,40,14\n    PUSHBUTTON      \"S a &todo\",107,88,53,40,14\n    PUSHBUTTON      \"&No\",7,134,53,40,14\n    PUSHBUTTON      \"Cancelar\",2,180,53,40,14\nEND\n\n53 DIALOG 77, 109, 204, 70\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Buscando en el disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Buscar:\",-1,\"Static\",SS_LEFTNOWORDWRAP,9,5,26,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,71,5,120,10\n    CONTROL         \"Comenzar desde:\",-1,\"Static\",SS_LEFTNOWORDWRAP,9,16,57,10\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,71,16,120,10\n    CONTROL         \"Directorios ledos:\",-1,\"Static\",SS_LEFTNOWORDWRAP,9,27,61,10\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,71,27,100,10\n    CONTROL         \"Encontrados:\",-1,\"Static\",SS_LEFTNOWORDWRAP,9,37,44,10\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,71,35,100,10\n    PUSHBUTTON      \"Ocultar\",110,49,50,40,14\n    PUSHBUTTON      \"Cancelar\",2,135,50,40,14\nEND\n\n54 DIALOG 20, 20, 253, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Copiar al Portapapeles\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Directorio actual: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,10,5,193,10\n    CONTROL         \"&Copiar al Portapapeles:\",-1,\"Static\",SS_LEFTNOWORDWRAP,10,20,77,10\n    EDITTEXT        102,90,19,112,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"Aceptar\",1,207,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,207,23,40,14\n    PUSHBUTTON      \"Ay&uda\",254,207,41,40,14\nEND\n\n55 DIALOG 18, 14, 307, 224\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Cambiar tipo de archivo\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Tipo de arc&hivo:\",302,8,6,55,8\n    EDITTEXT        301,63,4,95,12,ES_AUTOHSCROLL\n    GROUPBOX        \"A&ccin: \",-1,8,22,235,126,WS_GROUP\n    COMBOBOX        306,39,22,48,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"Co&mando:\",313,14,39,34,8\n    EDITTEXT        304,57,39,111,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"E&xaminar...\",318,179,38,53,14\n    CONTROL         \"Utili&zar DDE\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,14,53,52,10\n    LTEXT           \"Mensaje de &DDE:\",320,25,70,58,8\n    EDITTEXT        309,88,68,144,12,ES_AUTOHSCROLL\n    LTEXT           \"Me&nsajes de DDE cuando no se est ejecutando la aplicacin:\",322,25,84,206,10\n    LTEXT           \"(opcional)\",324,25,96,34,8\n    EDITTEXT        311,88,95,144,12,ES_AUTOHSCROLL\n    LTEXT           \"Aplic&acin:\",321,25,113,38,8\n    EDITTEXT        310,88,112,144,12,ES_AUTOHSCROLL\n    LTEXT           \"&Tema:\",323,25,132,22,8\n    EDITTEXT        312,88,131,144,12,ES_AUTOHSCROLL\n    LTEXT           \"Nueva exten&sin:\",-1,23,186,58,9\n    EDITTEXT        315,83,184,32,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"A&gregar ->\",303,121,176,44,14\n    PUSHBUTTON      \"<- &Quitar\",219,121,193,44,14\n    LTEXT           \"&Extensiones:\",-1,173,162,45,8\n    LISTBOX         317,173,172,65,40,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Extensiones asociadas con este tipo de archivo:\",316,8,153,236,64\n    DEFPUSHBUTTON   \"Aceptar\",1,249,5,53,14\n    PUSHBUTTON      \"Cancelar\",2,249,22,53,14\n    PUSHBUTTON      \"Ay&uda\",254,249,41,53,14\nEND\n\n57 DIALOG 123, 60, 241, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Proceso de compresin de archivos\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Archivo en proceso:\",-1,7,8,67,8\n    LTEXT           \"filename.xxx\",341,87,8,41,8\n    LTEXT           \"Directorio:\",-1,7,20,35,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,44,20,82,8\n    LTEXT           \"Directorios comprimidos:\",-1,7,32,80,8\n    LTEXT           \"1,888,888,999\",343,91,32,48,8\n    LTEXT           \"Archivos comprimidos:\",-1,7,44,74,8\n    LTEXT           \"1,888,888,999\",344,91,44,48,8\n    LTEXT           \"Tamao total de archivos antes de comprimir:\",-1,7,56,149,8\n    LTEXT           \"9,999,999,999,999\",345,170,56,63,8\n    LTEXT           \"Tamao total de archivos despus de comprimir:\",-1,7,68,158,8\n    LTEXT           \"9,999,999,999,999\",346,170,69,63,8\n    LTEXT           \"Relacin de compresin:\",-1,7,80,82,8\n    LTEXT           \"100%\",347,96,80,19,8\n    PUSHBUTTON      \"Cancelar\",2,90,97,40,14\nEND\n\n58 DIALOG 114, 62, 197, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Proceso de descompresin de archivos\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Archivo en proceso:\",-1,6,8,67,8\n    LTEXT           \"filename.xxx\",351,93,8,41,8\n    LTEXT           \"Directorio:\",-1,6,20,35,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",352,45,20,82,8\n    LTEXT           \"Directorios descomprimidos:\",-1,6,32,92,8\n    LTEXT           \"1,999,999,999\",353,99,32,48,8\n    LTEXT           \"Archivos descomprimidos:\",-1,6,44,85,8\n    LTEXT           \"1,999,999,999\",354,92,44,48,8\n    PUSHBUTTON      \"Cancelar\",2,74,64,40,14\nEND\n\n59 DIALOG 11, 28, 245, 85\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Error de compresin\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,8,10,21,20\n    LTEXT           \"\",100,35,15,190,41\n    DEFPUSHBUTTON   \"&Ignorar\",5,33,65,40,14,WS_GROUP\n    PUSHBUTTON      \"Ignorar &todos\",112,76,65,50,14\n    PUSHBUTTON      \"&Reintentar\",4,129,65,40,14\n    PUSHBUTTON      \"&Anular\",3,171,65,40,14\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY, SHIFT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT\n    VK_F4,          1702,                   VIRTKEY, SHIFT\n    VK_F5,          1704,                   VIRTKEY \n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII   \n    VK_ADD,         301,                    VIRTKEY \n    \"*\",            302,                    ASCII   \n    VK_MULTIPLY,    302,                    VIRTKEY \n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL\n    \"-\",            304,                    ASCII   \n    VK_SUBTRACT,    304,                    VIRTKEY \n    VK_RETURN,      110,                    VIRTKEY, ALT\n    VK_F2,          2000,                   VIRTKEY \nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"CUR300.CUR\"\n\n\n301                     CURSOR                  \"CUR301.CUR\"\n\n\n302                     CURSOR                  \"CUR302.CUR\"\n\n\n303                     CURSOR                  \"CUR303.CUR\"\n\n\n306                     CURSOR                  \"CUR306.CUR\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ICO200.ICO\"\n\n\n201                     ICON                    \"ICO201.ICO\"\n\n\n202                     ICON                    \"ICO202.ICO\"\n\n\n204                     ICON                    \"ICO204.ICO\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,318\n PRODUCTVERSION 4,0,1381,318\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"0C0A04B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"Administrador de archivos\"\n            VALUE \"FileVersion\", \"4.00\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"Copyright (C) Microsoft Corp. 1981-1996\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"Sistema operativo Microsoft(R) Windows NT(TM)\"\n            VALUE \"ProductVersion\", \"4.00\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0xc0a, 1200\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"Copiar disco\"\n    51                      \"Inserte el disco de destino.\"\n    52                      \"Inserte el disco de origen.\"\n    53                      \"Inserte los discos de origen y de destino.\"\n    54                      \"Dando formato al disco de destino\"\n    55                      \"Error al copiar el disco\"\n    56                      \"No se puede copiar el disco.\"\n    58                      \"Los controladores de origen y de destino no son compatibles.\"\n    60                      \"%d%% terminado\"\n    61                      \"Creando el directorio raz...\"\n    62                      \"Copiar los archivos de sistema...\"\n    63                      \"Error de formato de disco\"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \"Se termin de dar formato\"\n    67                      \"Espacio total en el disco %ld bytes\\n%ld bytes disponibles en el disco.\\n\\nDar formato a otro disco?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"Error de la red\"\n    83                      \"Esta unidad contiene los archivos de sistema de Windows y no se puede desconectar.\"\n    91                      \"No se puede cambiar los atributos.  \"\n    92                      \"No se puede crear directorio.  \"\n    93                      \"No se puede dar nombre al disco.\\n\\nAsegrese de que el disco no est protegido contra escritura, que no sea una unidad de red y que la etiqueta sea vlida. Las etiquetas no pueden contener:\\n[espacio]* ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n    95                      \"No se han encontrado archivos coincidentes.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \"El contenido de esta unidad ha cambiado. Actualizar la ventana 'Resultado de la bsqueda'?\"\n    98                      \"Debe iniciar la sesin en esta estacin de trabajo como administrador para realizar esta operacin en los discos duros.\"\n    101                     \"Unidad %c:%c\"\n    110                     \"No se puede ejecutar el programa\"\n    111                     \"Error inesperado: %d.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"No hay memoria suficiente para iniciar la aplicacin especificada.\\n\\nCierre una o ms aplicaciones y vuelva a intentar la operacin.\"\n    113                     \"El Administrador de archivos no puede encontrar el archivo (o uno de los componentes).\\n\\nAsegrese de que la ruta de acceso y el nombre de archivo sean correctos y que todas las bibliotecas requeridas estn disponibles.\"\n    114                     \"La ruta de acceso especificada no es vlida.\"\n    116                     \"No hay aplicacin asociada con este archivo.\\n\\nElija Asociar en el men Archivo para crear una asociacin.\"\n    118                     \"No se puede abrir o imprimir el archivo.\\n\\nInicie la aplicacin utilizada para crear dicho archivo y bralo o imprmalo desde all.\"\n    120                     \"Confirmar Accin del mouse\"\n    121                     \"Est seguro de que desea copiar los archivos o directorios seleccionados a %s?\"\n    122                     \"Est seguro de que desea mover los archivos o directorios seleccionados a %s?\"\n    123                     \"Est seguro de que desea iniciar %s utilizando %s como archivo de inicio?\"\n    124                     \"Administrador de archivos\"\n    126                     \"rbol de directorios\"\n    127                     \"Resultado de la bsqueda: \"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \"Demasiados archivos\"\n    133                     \"Administrador de archivos - Memoria insuficiente\"\n    134                     \"No se puede leer el directorio. Slo se mostrar una lista parcial.\"\n    140                     \"Directorio actual: %s\"\n    141                     \"Copiar\"\n    143                     \"Cambiar nombre\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"Formatear el disco\"\n    146                     \"Seleccione el disco a dar formato.\"\n    150                     \"Creando:\"\n    151                     \"Quitando...\"\n    152                     \"Copiando:\"\n    153                     \"Cambiando el nombre...\"\n    154                     \"Moviendo...\"\n    155                     \"Eliminando...\"\n    156                     \"Imprimiendo: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"Copiando...\"\n    170                     \"Quitando:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \"Total %d archivos %s\"\n    181                     \"Directorios ledos: %d \"\n    182                     \"%c: %s libres, %s en total\"\n    183                     \"%d archivos encontrados\"\n    185                     \"los archivos seleccionados\"\n    186                     \"El Administrador de archivos no puede desconectar la unidad de red.\\n\\nHay archivos abiertos en esta unidad.\"\n    187                     \"%d archivos elegidos (%s)\"\n    188                     \"No hay disco en la unidad %c.\\n\\nInserte un disco y vuelva a intentar la operacin.\"\n    189                     \"El disco en la unidad %c no tiene formato.\\n\\n dar formato ahora?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"No hay espacio suficiente para imprimir.\\n\\nElimine uno o ms archivos para incrementar espacio en el disco y vuelva a intentar la operacin.\"\n    193                     \"No hay memoria suficiente para imprimir.\\n\\nCierre una o ms aplicaciones y vuelva a intentar la operacin.\"\n    194                     \"Ha ocurrido un error al imprimir.\\n\\nAsegrese de que la impresora est configurada y seleccionada adecuadamente.\"\n    195                     \"Se ha presentado un rbol de directorio incompleto\"\n    197                     \"La unidad de destino est llena. Inserte un nuevo disco para continuar.\"\n    198                     \"Esto es un archivo de sistema, oculto o de slo lectura.\"\n    199                     \"El Administrador de archivos no puede realizar un formato rpido.\\n\\nContinuar con el formato normal?\"\n    203                     \"Ha ocurrido un error al enviar el comando a la aplicacin.\"\n    204                     \"No se puede cargar una biblioteca requerida para esta operacin.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \"C&ompartir directorio...\"\n    210                     \"Al dar formato se borrar TODA la informacin del disco. Est seguro de que desea dar formato al disco en la unidad %c?\"\n    211                     \"Confirmacin de formato de disco\"\n    212                     \"Esta operacin borrar TODOS los datos del disco de destino. Est seguro que desea continuar?\"\n    213                     \"Confirmar Copiar disco\"\n    214                     \"&Cerrar\"\n    215                     \"Cerrar\"\n    218                     \"El directorio %s no existe.\\n\\nCrearlo?\"\n    219                     \"Programas#*.exe;*.pif;*.com;*.bat#Todos los archivos (*.*)#*.*#\"\n    220                     \"Examinar\"\n    221                     \"Ejecutar\"\n    222                     \"No se puede imprimir el archivo\"\n    223                     \"No se puede mostrar la informacin de Ayuda.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"Los archivos con la extensin %s son programas y no pueden ser asociados con otra aplicacin.\"\n    225                     \"%s no es un programa y no puede ser asociado con una extensin de archivo.\"\n    226                     \"(Ninguno)\"\n    227                     \"No se ha encontrado ningn archivo.\"\n    228                     \"No se pueden imprimir mltiples archivos.\\n\\nSeleccione slo un archivo y vuelva a intentar la operacin.\"\n    230                     \"Uno de los archivos de la biblioteca necesarios para ejecutar esta aplicacin est daado. Vuelva a instalar la aplicacin.\"\n    231                     \"Este archivo est siendo utilizado por otra aplicacin.\"\n    232                     \"Es posible que el Administrador de archivos no pueda acceder a los archivos creados en el directorio \"\"%s\"\".\\n\\nContinuar?\"\n    233                     \"Crear directorio\"\n    234                     \"%ld bytes\"\n    235                     \"%s bytes\"\n    236                     \"El Administrador de archivo no puede copiar archivos o directorios mltiples al Portapapeles.\\n\\nSeleccione slo un archivo y vuelva a intentar la operacin.\"\n    237                     \"%s - %s\"\n    238                     \"Unidad:\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"Conectar a unidad de red\"\n    241                     \"Desconectar unidad de red\"\n    242                     \"Conexiones de red\"\n    243                     \"Compartir directorio\"\n    244                     \"Dejar de compartir directorios\"\n    245                     \"Ver todos los detalles de los archivos\"\n    246                     \"Ver slo nombre\"\n    247                     \"Ordenar por nombre\"\n    248                     \"Ordenar por tipo\"\n    249                     \"Ordenar por tamao\"\n    250                     \"Ordenar por fecha\"\n    251                     \"Nueva ventana\"\n    252                     \"Copiar archivos\"\n    253                     \"Mover archivos\"\n    254                     \"&Nombre del directorio:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"La unidad de red no est disponible.\"\n    259                     \"Compartido como %s\"\n    260                     \"No compartido\"\n    261                     \"Eliminar archivos\"\n    262                     \" - COMPRIMIDO\"\n    263                     \"Copiar archivos a %s\"\n    264                     \"Moviendo archivos a %s\"\n    265                     \"Ejecutando archivos con %s\"\n    266                     \"%s bytes\"\n    267                     \"%sKB\"\n    268                     \"%sMB\"\n    269                     \"%sGB\"\n    270                     \"%sTB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \"No tiene permisos para acceder a este directorio.\"\n    281                     \"No tiene permisos para acceder a este archivo.\"\n    283                     \"La unidad %c: est ocupada y no se puede acceder.\\nEl Administrador de archivos est haciendo una copia de disco.\"\n    284                     \"La unidad %c: est ocupada y no se puede acceder.\\nEl Administrador de archivos est dando formato al disco.\"\n    285                     \"La operacin no se ha completado totalmente\"\n    286                     \"No se ha podido finalizar esta operacin en todos los archivos y directorios.\"\n    287                     \"No se puede leer el directorio\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"El directorio no existe.\"\n    289                     \"No se puede conectar a la unidad de red\"\n    290                     \"No se puede encontrar el nombre de red.\"\n    292                     \"S a todo' afecta a todos los archivos, incluyendo archivos de sistema, ocultos y de slo lectura.\"\n    294                     \"Abrir\"\n    295                     \"Imprimir\"\n    298                     \"Agregar extensin\"\n    299                     \"La extensin '%s' est asociado actualmente con '%s'.  Continuar y reemplazar esta asociacin?\"\n    300                     \"Editor de asociacin de archivos\"\n    301                     \"No se puede asociar la extensin.  \"\n    302                     \"No se puede eliminar la extensin.  \"\n    303                     \"No se puede agregar el tipo de archivo.  \"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"No se puede eliminar el tipo de archivo.  \"\n    305                     \"No se puede leer el tipo de archivo.  \"\n    306                     \"La descripcin no puede estar vaca. Escriba una nueva descripcin.\"\n    307                     \"No se puede generar un identificador exclusivo basado en su descripcin. Escriba una nueva descripcin.\"\n    308                     \"Eliminar tipo de archivo\"\n    309                     \"Esta operacin eliminar el tipo de archivo y todas las extensiones asociadas. Est seguro de que desea eliminar '%s'?\"\n    312                     \"El tipo de archivo debe tener un comando para una de las acciones como mnima.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"Nuevo tipo de archivo\"\n    321                     \"Copiar el disco\"\n    322                     \"Buscando...\"\n    324                     \"El Administrador de archivos est procesando un disco actualmente. Si sale, se cancelar esta operacin.\"\n    325                     \"El Administrador de archivos est copiando un disco actualmente. Si sale, se cancelar esta operacin.\"\n    326                     \"porcentaje finalizado\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360 KB\"\n    354                     \"1%s2 MB\"\n    355                     \"720 KB\"\n    356                     \"1%s44 MB\"\n    357                     \"2%s88 MB\"\n    358                     \"Capacidad de la unidad\"\n    359                     \"No se puede obtener la informacin del disco.\\n\\nAsegrese de que el disco est en la unidad.\"\n    360                     \"20%s8 MB\"\n    361                     \"Tipo de disco desconocido\"\n    362                     \"Tipo de disco desconocido\"\n    363                     \"Imposible dar formato al tipo de disco en la unidad %s con el Administrador de archivos. Utilice el Administrador de discos para dar formato al disco.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"Archivos de sistema incompatibles.\"\n    401                     \"Denegado el acceso.\"\n    402                     \"El disco est protegido contra escritura.\"\n    403                     \"El Administrador de archivos no puede bloquear el volumen.\"\n    404                     \"El Administrador de archivos no puede dar formato rpido al disco.\\n\\nAsegrese de que el disco sea de densidad apropiada.\"\n    405                     \"Error de E/S en el disco de origen.\"\n    406                     \"Error de E/S en el disco de destino.\"\n    407                     \"Error de E/S en el disco de origen y de destino.\"\n    408                     \"Ha ocurrido un error de E/S.\"\n    411                     \"El Administrador de archivos no puede dar formato al disco.\\n\\nAsegrese de que el disco est en la unidad, de densidad apropiada y que no est protegido contra escritura.\"\n    412                     \"El Administrador de archivos no puede dar un nombre al disco.\\n\\nLa etiqueta especificada no es vlida. Asegrese de que la etiqueta no contenga ninguno de los siguientes caracteres:\\n[espacio] * ? / \\\\ | . , : ; + = [ ] ( ) & ^ < > \"\" \"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \"Abriendo...\"\n    421                     \"Cerrando...\"\n    422                     \"Hay demasiadas ventanas de directorios abiertas.\\n\\nCierre una o ms ventanas y vuelva a intentar la operacin.\"\n    423                     \"Dando formato rpido...\"\n    424                     \"No se puede inicializar la compatibilidad de actualizacin en segundo plano. Se cerrar el Administrador de archivos.  \"\n    425                     \"Inicializacin del Administrador de archivos\"\n    426                     \"Leyendo el directorio, espere...\"\n    427                     \"Comprimir todos los archivos y subdirectorios en %s tambin?\"\n    428                     \"Descomprimir todos los archivos y subdirectorios en %s tambin?\"\n    429                     \"Administrador de archivos no puede cambiar los atributos de compresin para %s.\"\n    430                     \"El archivo %s no ser comprimido. Si comprime este archivo puede tener inconvenientes para iniciar el sistema.\"\n    431                     \"El Administrador de archivos est comprimiendo/descompromiendo archivos.\\nDebe esperar hasta que termine antes de comprimir descomprimir archivos adicionales.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"Comentarios\"\n    501                     \"Nombre de la empresa\"\n    502                     \"Descripcin del archivo\"\n    503                     \"Nombre interno\"\n    504                     \"Marcas registradas\"\n    505                     \"Nombre original del archivo\"\n    506                     \"Descripcin\"\n    507                     \"Nombre del producto\"\n    508                     \"Versin del producto\"\n    509                     \"Descripcin especial\"\n    510                     \"Idioma\"\n    511                     \"Idiomas\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"Co&nectar a unidad de red...\"\n    801                     \"Desconectar &unidad de red...\"\n    802                     \"Cone&xiones de red...\"\n    803                     \"Compa&rtir directorio...\"\n    804                     \"Dejar de c&ompartir...\"\n    805                     \"&Ver directorios compartidos...\"\n    806                     \"&Recuperar...\"\n    807                     \"&Abrir nueva ventana al conectar\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \"Error al mover el archivo\"\n    1002                    \"Error al copiar el archivo\"\n    1003                    \"Error al eliminar el archivo\"\n    1004                    \"Error al cambiar el nombre del archivo\"\n    1005                    \"Error al seleccionar la unidad\"\n    1006                    \"Error al leer el directorio\"\n    1007                    \"Error al asignar un nombre al disco\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"El Administrador de archivos no puede mover %s: %s\"\n    1012                    \"El Administrador de archivos no puede copiar %s: %s\"\n    1013                    \"El Administrador de archivos no puede eliminar %s: %s\"\n    1014                    \"El Administrador de archivos no puede cambiar el nombre de %s: %s\"\n    1021                    \"El Administrador de archivos no puede crear el directorio %s: %s\"\n    1022                    \"El Administrador de archivos no puede eliminar el directorio %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"El Administrador de archivos no puede crear o reemplazar %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"El origen y destino son iguales.\"\n    1102                    \"Seleccione slo un archivo para cambiar el nombre o utilice comodines (por ejemplo, *.TXT) para cambiar el nombre de un grupo de archivos con nombres similares.\"\n    1103                    \"No se puede cambiar el nombre a un directorio o disco diferente.\\nUtilice el comando Mover en el men Archivo.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"No puede cambiar el nombre del directorio raz.\"\n    1105                    \"El directorio de destino es un subdirectorio del origen.\"\n    1106                    \"Archivo en uso por Windows.\"\n    1107                    \"Especifique slo un archivo o directorio en el cuadro A; o bien, si desea especificar un grupo de archivos, utilice comodines (por ejemplo, *.TXT).\"\n    1108                    \"El nombre de archivo o de directorio ya existe. El nombre debe ser exclusivo dentro de un mismo directorio.\"\n    1109                    \"Asegrese de que la ruta de acceso y el nombre de archivo estn especificados.\"\n    1110                    \"Asegrese de que tenga una ruta de acceso correctamente especificada.\"\n    1111                    \"Cierre una o ms aplicaciones y vuelva a intentar la operacin. Tambin puede utilizar la opcin Sistema en el Panel de control para incrementar la memoria virtual.\"\n    1113                    \"Desactive la proteccin contra escritura en este disco o utilice otro disco y vuelva a intentar la operacin.\"\n    1114                    \"Asegrese de que tenga los permisos de red para realizar esta operacin.\"\n    1115                    \"Elimine uno o ms archivos para incrementar espacio en disco y vuelva a intentar la operacin.\"\n    1116                    \"No hay datos detectados en este medio.\"\n    1117                    \"El directorio ya existe.\"\n    1118                    \"El nombre especificado ya est en uso por un archivo.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"Hay un disco incorrecto en la unidad.\"\n    1151                    \"No se puede ejecutar la aplicacin en el modo de Windows NT.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \"El sistema operativo no puede ejecutar este componente.\"\n    1153                    \"No se puede ejecutar el componente en el modo de Windows NT.\"\n    1154                    \"Este programa no es una aplicacin vlida para Windows NT.\"\n    1155                    \"Ha ocurrido un error. No hay mensaje para este error.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \"Rs[(&F):\"\n    2001                    \"Rs[(&T):\"\n    2002                    \"̖O(&F):\"\n    2003                    \"VO(&T):\"\n    2004                    \"Rs[:\"\n    2005                    \"̃tHg?gpƊ?̕\\\\?\\nłȂȂ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"Comandos para trabajar con archivos\"\n    3985                    \"Comandos para trabajar con discos\"\n    3986                    \"Comandos para trabajar en la ventana del rbol\"\n    3987                    \"Comandos para mostrar informacin\"\n    3988                    \"Comandos para configurar opciones\"\n    3989                    \"Comandos para controlar la seguridad de archivos y directorios\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"Comandos para organizar ventanas\"\n    4001                    \"Comandos para mostrar la Ayuda del Administrador de archivos\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"Busca un tema en la Ayuda del Administrador de archivos\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \"Abre un elemento seleccionado\"\n    4102                    \"Imprime un documento\"\n    4103                    \"Asocia un archivo con una aplicacin\"\n    4104                    \"Busca archivos y directorios\"\n    4105                    \"Inicia o abre una aplicacin o documento\"\n    4106                    \"Mueve el elemento seleccionado\"\n    4107                    \"Copia archivos y directorios\"\n    4108                    \"Elimina archivos y directorios\"\n    4109                    \"Cambia el nombre de un archivo o directorio\"\n    4110                    \"Establece los atributos de archivos y mostrar las propiedades\"\n    4111                    \"Crea un directorio\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"Sale del Administrador de archivos\"\n    4116                    \"Selecciona archivos y directorios\"\n    4117                    \"Recupera archivos eliminados anteriormente\"\n    4118                    \"Copia un archivo al Portapapeles\"\n    4119                    \"Comprime un archivo o directorio\"\n    4120                    \"Descomprime un archivo o directorio\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"Copia el contenido de un disco\"\n    4202                    \"Asigna o cambia la etiqueta del volumen de disco\"\n    4203                    \"Da formato a un disco\"\n    4205                    \"Conecta a una unidad de red\"\n    4206                    \"Desconecta una unidad de red\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"Selecciona una unidad diferente\"\n    4254                    \"Comparte un directorio\"\n    4255                    \"Deja de compartir un directorio\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"Muestra otro nivel de un directorio\"\n    4302                    \"Muestra todos los niveles de un directorio\"\n    4303                    \"Muestra todos los niveles de todos los directorios\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \"Contrae todos los directorios de un directorio seleccionado\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \"Muestra slo los nombres de archivos\"\n    4402                    \"Muestra todos los detalles de los archivos\"\n    4403                    \"Muestra detalles parciales de los archivos\"\n    4404                    \"Ordena archivos por nombre\"\n    4405                    \"Ordena archivos por tipo\"\n    4406                    \"Ordena archivos por tamao\"\n    4407                    \"Ordena archivos por fecha\"\n    4409                    \"Muestra archivos del tipo especificado\"\n    4411                    \"Muestra el rbol de directorios\"\n    4412                    \"Muestra el contenido del directorio actual\"\n    4413                    \"Muestra el rbol de directorios y el contenido del directorio actual\"\n    4414                    \"Divide la ventana de directorios o mover la barra de separacin\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"Controla la confirmacin de mensajes\"\n    4503                    \"Muestra u ocultar la barra de estado\"\n    4504                    \"Reduce el Administrador de archivos a un icono al inicio\"\n    4505                    \"Indica directorios que contienen subdirectorios\"\n    4507                    \"Muestra u ocultar la barra de unidades\"\n    4508                    \"Muestra u ocultar la barra de herramientas\"\n    4509                    \"Abre una ventana nueva al conectarse a la red\"\n    4510                    \"Cambia la fuente del Administrador de archivos\"\n    4511                    \"Guarda configuraciones al salir del Administrador de archivos\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"Personaliza la barra de herramientas\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"Ver o establecer informacin de permisos en los elementos seleccionados\"\n    4606                    \"Ver o establecer informacin de auditora en los elementos seleccionados\"\n    4607                    \"Ver o tomar posesin de los elementos seleccionados\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"Dispone las ventanas en cascada\"\n    5702                    \"Dispone las ventanas en mosaico vertical\"\n    5703                    \"Dispone las ventanas en mosaico horizontal\"\n    5704                    \"Actualiza el contenido de una ventana\"\n    5705                    \"Ordena iconos\"\n    5706                    \"Abre una nueva ventana\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"Muestra el contenido de Ayuda del Administrador de archivos\"\n    5802                    \"Muestra informacin acerca del uso de la Ayuda\"\n    5803                    \"Muestra informacin acerca del Administrador de archivos\"\nEND\n\n#endif    // Spanish (Spain, International Sort) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/origrc/winfile.fi-FI.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// Finnish (Finland) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FIN)\nLANGUAGE LANG_FINNISH, SUBLANG_DEFAULT\n#pragma code_page(1252)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"BMP100.BMP\"\n\n\n101                     BITMAP                  \"BMP101.BMP\"\n\n\n102                     BITMAP                  \"BMP102.BMP\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"&Tiedosto\"\n    BEGIN\n        MENUITEM \"&Avaa\\tEnter\",                101\n        MENUITEM \"Siirr&...\\tF7\",              106\n        MENUITEM \"&Kopioi...\\tF8\",              107\n        MENUITEM \"Kop&ioi Leikepydlle...\\tF9\", 118\n        MENUITEM \"Pois&ta...\\tDel\",             108\n        MENUITEM \"&Nime uudelleen...\",         109\n        MENUITEM \"O&minaisuudet...\\tAlt+Enter\", 110\n        MENUITEM SEPARATOR\n        MENUITEM \"&Pakkaa...\",                  119\n        MENUITEM \"Pu&ra pakkaus...\",            120\n        MENUITEM SEPARATOR\n        MENUITEM \"&Suorita...\",                 105\n        MENUITEM \"Tul&osta...\",                 102\n        MENUITEM \"K&ytke...\",                   103\n        MENUITEM SEPARATOR\n        MENUITEM \"L&uo kansio...\",              111\n        MENUITEM \"&Etsi...\",                    104\n        MENUITEM \"&Valitse tiedostot...\",       116\n        MENUITEM SEPARATOR\n        MENUITEM \"&Lopeta\",                     115\n    END\n    POPUP \"&Levy\"\n    BEGIN\n        MENUITEM \"&Kopioi levyke...\",           201\n        MENUITEM \"&Nime levy...\",              202\n        MENUITEM SEPARATOR\n        MENUITEM \"&Alusta levyke...\",           203\n        MENUITEM SEPARATOR\n        MENUITEM \"Va&litse asema...\",           251\n    END\n    POPUP \"&Kansiopuu\"\n    BEGIN\n        MENUITEM \"Laajenna &yksi taso\\t+\",      301\n        MENUITEM \"&Laajenna haara\\t*\",          302\n        MENUITEM \"Laajenna &kaikki\\tCtrl+*\",    303\n        MENUITEM \"Kutista &haara\\t-\",           304\n        MENUITEM SEPARATOR\n        MENUITEM \"&Merkitse laajennettavat haarat\", 505\n    END\n    POPUP \"&Nyt\"\n    BEGIN\n        MENUITEM \"&Puu ja kansio\",              413\n        MENUITEM \"&Vain puu\",                   411\n        MENUITEM \"V&ain kansio\",                412\n        MENUITEM SEPARATOR\n        MENUITEM \"&Jaa\",                        414\n        MENUITEM SEPARATOR\n        MENUITEM \"&Nimi\",                       401\n        MENUITEM \"&Kaikki tiedostotiedot\",      402, CHECKED\n        MENUITEM \"&Osittaiset tiedot...\",       403\n        MENUITEM SEPARATOR\n        MENUITEM \"Laj&ittele nimen mukaan\",     404\n        MENUITEM \"Laji&ttele tyypin mukaan\",    405\n        MENUITEM \"Lajittele koon &mukaan\",      406\n        MENUITEM \"Lajittele p&ivyksen mukaan\", 407\n        MENUITEM SEPARATOR\n        MENUITEM \"Tiedostot&yypin mukaan...\",   409\n    END\n    POPUP \"&Asetukset\"\n    BEGIN\n        MENUITEM \"&Vahvistus...\",               501\n        MENUITEM \"&Fontti...\",                  510\n        MENUITEM \"&Mukauta tykalurivi...\",     512\n        MENUITEM SEPARATOR\n        MENUITEM \"T&ykalurivi\",                508\n        MENUITEM \"A&semarivi\",                  507\n        MENUITEM \"T&ilarivi\",                   503\n        MENUITEM SEPARATOR\n        MENUITEM \"&Pienenn kytettess\",      504\n        MENUITEM \"&Tallenna asetukset lopetettaessa\", 511\n    END\n    POPUP \"&Suojaus\"\n    BEGIN\n        MENUITEM \"&Kyttoikeudet...\",          605\n        MENUITEM \"&Valvonta...\",                606\n        MENUITEM \"&Omistaja...\",                607\n    END\n    POPUP \"&Ikkuna\"\n    BEGIN\n        MENUITEM \"&Uusi ikkuna\",                1706\n        MENUITEM \"&Limittin\\tVaihto+F5\",       1701\n        MENUITEM \"&Allekkain\",                  1703\n        MENUITEM \"&Vierekkin\\tVaihto+F4\",      1702\n        MENUITEM \"&Jrjest kuvakkeet\",         1705\n        MENUITEM \"P&ivit\\tF5\",                1704\n    END\n    POPUP \"&Ohje\"\n    BEGIN\n        MENUITEM \"&Sisllys\",                   1801\n        MENUITEM \"&Etsi ohje aiheesta...\",      30\n        MENUITEM \"&Ohjeen kytt\",              1802\n        MENUITEM SEPARATOR\n        MENUITEM \"&Tietoja Tiedostonhallinnasta...\", 1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 12, 210, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Suorita\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,162,10\n    CONTROL         \"&Komentorivi:\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,3,18,60,10\n    EDITTEXT        201,3,29,134,12,ES_AUTOHSCROLL\n    CONTROL         \"&Suorita kuvakkeena\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,3,45,87,12\n    DEFPUSHBUTTON   \"OK\",1,165,6,40,14\n    PUSHBUTTON      \"Peruuta\",2,165,23,40,14\n    PUSHBUTTON      \"&Ohje\",254,165,43,40,14\nEND\n\n11 DIALOG 20, 20, 240, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Tulosta\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,193,10\n    CONTROL         \"&Tulosta:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,28,10\n    EDITTEXT        102,35,18,154,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,36,190,10\n    DEFPUSHBUTTON   \"OK\",1,197,6,40,14\n    PUSHBUTTON      \"Peruuta\",2,197,23,40,14\n    PUSHBUTTON      \"&Ohje\",254,197,43,40,14\nEND\n\n12 DIALOG 20, 20, 255, 118\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kytke\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Tiedostot, joiden tunniste on:\",-1,6,7,103,8\n    COMBOBOX        315,133,5,44,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Kytke sovellukseen:\",-1,6,30,92,10\n    EDITTEXT        304,6,42,172,12,ES_AUTOHSCROLL\n    LISTBOX         314,11,54,167,62,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"&Selaa...\",318,130,24,47,14\n    DEFPUSHBUTTON   \"OK\",1,187,6,62,14,WS_GROUP\n    PUSHBUTTON      \"Peruuta\",2,187,23,62,14\n    PUSHBUTTON      \"&Uusi tyyppi...\",300,187,42,62,14\n    PUSHBUTTON      \"&Muuta tyyppi...\",251,187,59,62,14\n    PUSHBUTTON      \"&Poista tyyppi\",219,187,76,62,14\n    PUSHBUTTON      \"&Ohje\",254,187,95,62,14\nEND\n\n13 DIALOG 20, 20, 263, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Etsi\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Etsittv:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,6,45,12\n    EDITTEXT        201,52,5,160,12,ES_AUTOHSCROLL\n    CONTROL         \"&Aloita mist:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,21,45,12\n    EDITTEXT        101,52,20,160,12,ES_AUTOHSCROLL\n    CONTROL         \"Etsi &kaikista alikansioista\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,52,34,105,12\n    DEFPUSHBUTTON   \"OK\",1,217,6,40,14\n    PUSHBUTTON      \"Peruuta\",2,217,23,40,14\n    PUSHBUTTON      \"&Ohje\",254,217,43,40,14\nEND\n\n14 DIALOG 47, 59, 231, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Siirr\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Nykyinen kansio: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,180,10\n    CONTROL         \"Mi&hin:\",2001,\"Static\",SS_LEFTNOWORDWRAP,3,33,20,10\n    EDITTEXT        103,37,32,138,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,49,172,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,75,49,108,10\n    DEFPUSHBUTTON   \"OK\",1,185,6,40,14\n    PUSHBUTTON      \"Peruuta\",2,185,23,40,14\n    PUSHBUTTON      \"&Ohje\",254,185,40,40,14\n    CONTROL         \"&Mist:\",2002,\"Static\",SS_LEFTNOWORDWRAP,3,19,20,10\n    EDITTEXT        102,37,18,138,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Poista\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Nykyinen kansio: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"&Poista:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,35,10\n    EDITTEXT        102,40,19,155,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,35,192,14\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,45,35,150,10\n    DEFPUSHBUTTON   \"OK\",1,200,6,40,14\n    PUSHBUTTON      \"Peruuta\",2,200,23,40,14\n    PUSHBUTTON      \"&Ohje\",254,200,40,40,14\nEND\n\n16 DIALOG 23, 13, 260, 233\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Tiedoston %s ominaisuudet\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,204,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Peruuta\",2,204,23,50,14\n    PUSHBUTTON      \"&Ohje\",254,204,40,50,14\n    CONTROL         \"Tiedosto&nimi:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,44,10\n    EDITTEXT        201,67,5,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Polku:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,22,10\n    EDITTEXT        101,67,16,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Viimeisin muutos:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,57,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,67,27,134,10\n    CONTROL         \"Versio:\",258,\"Static\",SS_LEFTNOWORDWRAP,5,38,24,10\n    CONTROL         \"Ei merkitty\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,67,38,134,10\n    LTEXT           \"&Tekijnoikeus:\",-1,5,49,49,12\n    EDITTEXT        265,67,49,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Koko:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,60,20,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,67,60,134,10\n    CONTROL         \"Pakattu koko:\",268,\"Static\",SS_LEFTNOWORDWRAP,5,71,47,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,67,71,90,10\n    CONTROL         \"Pakkaussuhde:\",270,\"Static\",SS_LEFTNOWORDWRAP,5,82,51,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,67,82,90,10\n    GROUPBOX        \"Mritteet\",-1,4,97,120,54\n    CONTROL         \"&Vain luku\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,109,52,12\n    CONTROL         \"P&iilotettu\",216,\"Button\",BS_AUTOCHECKBOX,71,109,49,12\n    CONTROL         \"&Arkisto\",217,\"Button\",BS_AUTOCHECKBOX,9,122,52,12\n    CONTROL         \"&Jrjestelm\",218,\"Button\",BS_AUTOCHECKBOX,71,122,49,12\n    CONTROL         \"Pa&kattu\",267,\"Button\",BS_AUTOCHECKBOX,9,135,52,12\n    GROUPBOX        \"Ve&rsiotiedot\",262,4,158,252,72\n    LISTBOX         263,9,169,96,58,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,108,169,143,58,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 200, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Luo kansio\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,154,10\n    CONTROL         \"&Nimi:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,23,20,10\n    EDITTEXT        201,25,22,95,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,46,150,10\n    DEFPUSHBUTTON   \"OK\",1,157,6,40,14\n    PUSHBUTTON      \"Peruuta\",2,157,23,40,14\n    PUSHBUTTON      \"&Ohje\",254,157,43,40,14\nEND\n\n19 DIALOG 20, 20, 157, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kopioi levyke\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Lhde:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,23,10\n    COMBOBOX        245,55,6,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Kohde:\",206,\"Static\",SS_LEFTNOWORDWRAP,5,22,24,10\n    COMBOBOX        222,55,20,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Peruuta\",2,110,23,40,14\n    PUSHBUTTON      \"&Ohje\",254,110,43,40,14\nEND\n\n22 DIALOG 30, 30, 130, 55\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kopioidaan levy\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Kopioidaan levy asemassa \",-1,0,5,130,10,NOT WS_GROUP\n    CTEXT           \"Asema A:\",222,0,15,130,10,NOT WS_GROUP\n    CTEXT           \"Luetaan lhdelevy\",243,0,26,130,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Peruuta\",2,44,39,44,14\nEND\n\n23 DIALOG 20, 20, 161, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Nime levy\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Levyn nimi:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,38,10\n    EDITTEXT        201,5,26,100,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,115,6,40,14\n    PUSHBUTTON      \"Peruuta\",2,115,23,40,14\n    PUSHBUTTON      \"&Ohje\",254,115,43,40,14\nEND\n\n24 DIALOG 11, 28, 183, 96\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Alusta levyke\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,140,6,40,14\n    PUSHBUTTON      \"Peruuta\",2,140,23,40,14\n    PUSHBUTTON      \"&Ohje\",254,140,43,40,14\n    CONTROL         \"&Levyasema:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,7,49,10\n    COMBOBOX        222,55,4,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"Levy&koko:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,22,35,10\n    COMBOBOX        241,55,19,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Asetukset\",102,5,39,115,53,WS_GROUP\n    CONTROL         \"Levyn &nimi:\",-1,\"Static\",SS_LEFTNOWORDWRAP,10,51,39,10\n    EDITTEXT        201,50,49,65,12\n    CONTROL         \"&Pika-alustus\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,62,90,12\nEND\n\n26 DIALOG 30, 30, 150, 50\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Alustetaan levyke\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Alustetaan levyke\",-1,0,5,150,10,NOT WS_GROUP\n    CTEXT           \"Valmistellaan asemaa...\",243,0,17,150,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Peruuta\",2,54,30,44,14\nEND\n\n30 DIALOG 20, 20, 195, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Osittaiset tiedot\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Tiedot\",-1,4,4,131,74\n    CONTROL         \"&Koko\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,15,30,12\n    CONTROL         \"Viimeisimmn muutoksen &pivys\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,27,119,12\n    CONTROL         \"Viimeisimmn muutoksen &aika\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,39,108,12\n    CONTROL         \"&Tiedostomritteet\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,51,79,12\n    CONTROL         \"&MS-DOS-tiedostonimet\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,63,86,12\n    DEFPUSHBUTTON   \"OK\",1,150,6,40,14\n    PUSHBUTTON      \"Peruuta\",2,150,23,40,14\n    PUSHBUTTON      \"&Ohje\",254,150,60,40,14\nEND\n\n32 DIALOG 20, 20, 157, 102\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Tiedostotyypin mukaan\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Nimi:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,23,10\n    EDITTEXT        201,34,6,65,12,ES_AUTOHSCROLL\n    GROUPBOX        \"Tiedostotyyppi\",-1,5,20,94,62\n    CONTROL         \"&Kansiot\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,31,60,12\n    CONTROL         \"Ohj&elmat\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,43,60,12\n    CONTROL         \"&Tiedostot\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,55,60,12\n    CONTROL         \"&Muut tiedostot\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,60,12\n    CONTROL         \"N&yt piilo- ja jrjestelmtiedostot\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,5,85,144,14\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Peruuta\",2,110,23,40,14\n    PUSHBUTTON      \"&Ohje\",254,110,43,40,14\nEND\n\n33 DIALOG 20, 20, 254, 95\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Vahvistus\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Vahvista\",-1,5,3,195,85,WS_TABSTOP\n    CONTROL         \"&Tiedoston poisto\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,15,80,12\n    CONTROL         \"&Kansion poisto\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,27,80,12\n    CONTROL         \"Tie&doston korvaus\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,39,80,12\n    CONTROL         \"Hii&ritoiminnot\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,51,80,12\n    CONTROL         \"&Levykomennot\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,63,80,12\n    CONTROL         \"&Jrjestelm-, piilo- ja vain luku -tiedostojen muokkaus\",215,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,75,186,12\n    DEFPUSHBUTTON   \"OK\",1,208,6,40,14\n    PUSHBUTTON      \"Peruuta\",2,208,23,40,14\n    PUSHBUTTON      \"&Ohje\",254,208,44,40,14\nEND\n\n35 DIALOG 20, 20, 250, 46\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Siirretn...\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,5,49,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,5,192,10\n    CONTROL         \"Mihin:\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,15,25,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,15,192,10\n    DEFPUSHBUTTON   \"Peruuta\",2,200,28,40,14,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 120, 58\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Tulostetaan tiedostoa...\",-1,0,6,120,12\n    CTEXT           \"\",-1,4,20,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"Peruuta\",2,43,40,34,14,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 248, 88\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Ominaisuudet\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"%d tiedostoa valittu\",100,\"Static\",SS_LEFTNOWORDWRAP,5,5,184,20\n    CONTROL         \"Yhteens %s tavua\",111,\"Static\",SS_LEFTNOWORDWRAP,5,16,144,10\n    GROUPBOX        \"Mritteet\",-1,5,28,120,55\n    CONTROL         \"&Vain luku\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,39,52,12\n    CONTROL         \"P&iilotettu\",216,\"Button\",BS_AUTOCHECKBOX,72,39,52,12\n    CONTROL         \"&Arkisto\",217,\"Button\",BS_AUTOCHECKBOX,10,51,52,12\n    CONTROL         \"&Jrjestelm\",218,\"Button\",BS_AUTOCHECKBOX,72,51,52,12\n    CONTROL         \"&Pakattu\",267,\"Button\",BS_AUTOCHECKBOX,10,64,52,12\n    DEFPUSHBUTTON   \"OK\",1,190,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Peruuta\",2,190,23,50,14\n    PUSHBUTTON      \"&Ohje\",254,190,43,50,14\nEND\n\n39 DIALOG 10, 20, 270, 119\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Vahvista tiedoston korvaus\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,223,10\n    CONTROL         \"Korvaa tiedosto:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,17,57,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,95,17,170,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,95,28,170,10\n    CONTROL         \"Tiedostolla:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,47,49,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,95,47,170,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,95,58,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,79,223,18\n    DEFPUSHBUTTON   \"&Kyll\",6,26,98,40,14\n    PUSHBUTTON      \"Kyll k&aikkiin\",107,80,98,53,14\n    PUSHBUTTON      \"&Ei\",7,148,98,40,14\n    PUSHBUTTON      \"Peruuta\",2,204,98,40,14\nEND\n\n40 DIALOG 10, 20, 255, 76\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Vahvista tiedoston poisto\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,27,3,213,10\n    CONTROL         \"Poista tiedosto:\",-1,\"Static\",SS_LEFTNOWORDWRAP,27,18,52,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,82,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,27,30,213,22\n    DEFPUSHBUTTON   \"&Kyll\",6,11,56,50,14\n    PUSHBUTTON      \"Kyll k&aikkiin\",107,72,56,50,14\n    PUSHBUTTON      \"&Ei\",7,133,56,50,14\n    PUSHBUTTON      \"Peruuta\",2,194,56,50,14\nEND\n\n41 DIALOG 10, 20, 257, 72\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Vahvista kansion poisto\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,27,3,213,10\n    CONTROL         \"Poista kansio:\",-1,\"Static\",SS_LEFTNOWORDWRAP,27,18,61,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,92,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,27,30,213,19\n    DEFPUSHBUTTON   \"&Kyll\",6,12,53,50,14\n    PUSHBUTTON      \"Kyll k&aikkiin\",107,73,53,50,14\n    PUSHBUTTON      \"&Ei\",7,134,53,50,14\n    PUSHBUTTON      \"Peruuta\",2,195,53,50,14\nEND\n\n42 DIALOG 10, 22, 255, 72\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Vahvista tiedoston siirto\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,27,3,213,10\n    CONTROL         \"Siirr tiedosto:\",-1,\"Static\",SS_LEFTNOWORDWRAP,27,18,52,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,82,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,27,29,213,20\n    DEFPUSHBUTTON   \"&Kyll\",6,11,54,50,14\n    PUSHBUTTON      \"Kyll k&aikkiin\",107,72,54,50,14\n    PUSHBUTTON      \"&Ei\",7,133,54,50,14\n    PUSHBUTTON      \"Peruuta\",2,194,54,50,14\nEND\n\n43 DIALOG 10, 22, 255, 72\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Vahvista tiedoston nimen vaihto\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,27,3,213,10\n    CONTROL         \"Nime uudelleen tiedosto:\",-1,\"Static\",SS_LEFTNOWORDWRAP,27,18,54,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,82,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,27,30,213,19\n    DEFPUSHBUTTON   \"&Kyll\",6,11,54,50,14\n    PUSHBUTTON      \"Kyll k&aikkiin\",107,72,54,50,14\n    PUSHBUTTON      \"&Ei\",7,133,54,50,14\n    PUSHBUTTON      \"Peruuta\",2,194,54,50,14\nEND\n\n44 DIALOG 15, 12, 136, 83\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Valitse tiedostot\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Tiedosto(t):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,60,10\n    EDITTEXT        201,5,29,60,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"&Valitse\",1,70,6,60,14\n    PUSHBUTTON      \"&Peruuta valinta\",6,70,23,60,14\n    PUSHBUTTON      \"Peruuta\",2,70,40,60,14\n    PUSHBUTTON      \"&Ohje\",254,70,63,60,14\nEND\n\n45 DIALOG 11, 31, 201, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Valitse asema\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Asemat:\",245,\"Static\",SS_LEFTNOWORDWRAP,5,5,41,10\n    LISTBOX         222,5,16,140,60,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,155,6,40,14\n    PUSHBUTTON      \"Peruuta\",2,155,23,40,14\n    PUSHBUTTON      \"&Ohje\",254,155,44,40,14\nEND\n\n46 DIALOG 11, 28, 270, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Valitse tiedostonimi\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Polku ei ole hyvksyttv FAT-nimi. Anna uusi nimi.\",99,5,5,210,24,NOT WS_GROUP\n    RTEXT           \"&Uusi nimi:\",-1,24,56,50,12,NOT WS_GROUP\n    EDITTEXT        103,80,55,130,12\n    RTEXT           \"Alkuperinen polku:\",-1,5,28,69,12,NOT WS_GROUP\n    EDITTEXT        102,80,28,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \"Kansioon:\",-1,5,42,69,11,NOT WS_GROUP\n    EDITTEXT        101,80,42,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"OK\",1,225,4,40,14\n    PUSHBUTTON      \"Peruuta\",2,225,20,40,14\n    PUSHBUTTON      \"&Ohje\",254,225,36,40,14\nEND\n\n48 DIALOG 23, 13, 260, 119\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Tiedoston %s ominaisuudet\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,204,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Peruuta\",2,204,23,50,14\n    PUSHBUTTON      \"&Ohje\",254,204,43,50,14\n    CONTROL         \"Tiedosto&nimi:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,57,10\n    EDITTEXT        201,67,5,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Polku:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,67,16,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Viimeisin muutos:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,59,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,67,27,134,10\n    CONTROL         \"Koko:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,38,57,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,67,38,134,10\n    GROUPBOX        \"Mritteet\",-1,4,52,120,54\n    CONTROL         \"&Vain luku\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,64,52,12\n    CONTROL         \"P&iilotettu\",216,\"Button\",BS_AUTOCHECKBOX,71,64,49,12\n    CONTROL         \"&Arkisto\",217,\"Button\",BS_AUTOCHECKBOX,9,76,52,12\n    CONTROL         \"&Jrjestelm\",218,\"Button\",BS_AUTOCHECKBOX,71,76,49,12\n    CONTROL         \"Pa&kattu\",267,\"Button\",BS_AUTOCHECKBOX,9,88,52,12\nEND\n\n49 DIALOG 13, 54, 295, 154\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Fontti\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Fontti:\",1088,4,3,40,9\n    COMBOBOX        1136,4,13,112,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Tyyli:\",1089,123,3,44,9\n    COMBOBOX        1137,122,13,75,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Koko:\",1090,204,3,30,9\n    COMBOBOX        1138,205,13,32,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Korostus\",1072,4,72,112,61,WS_GROUP\n    CONTROL         \"&Yliviivattu\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,8,83,49,10\n    CONTROL         \"&Alleviivattu\",1041,\"Button\",BS_AUTOCHECKBOX,8,95,51,10\n    CONTROL         \"&Nyt FAT-asemien tiedot pienin kirjaimin\",1042,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,4,127,252,10\n    CONTROL         \"Nyt kaikki&en asemien tiedot pienin kirjaimin\",1043,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,4,139,252,10\n    LTEXT           \"&Vri:\",1091,8,107,30,9\n    COMBOBOX        1139,8,117,96,50,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"OK\",1,246,6,40,14,WS_GROUP\n    PUSHBUTTON      \"Peruuta\",2,246,23,40,14,WS_GROUP\n    PUSHBUTTON      \"K&yt\",1026,246,40,40,14,WS_GROUP\n    PUSHBUTTON      \"&Ohje\",1038,246,57,40,14,WS_GROUP\n    GROUPBOX        \"Malli\",1073,4,72,281,49,WS_GROUP\n    CTEXT           \"\",1093,157,127,8,8,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBb\",1092,8,81,272,37,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 77, 27, 160, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Alustetaan levyke\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\",100,15,36,131,8\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,15,10,131,22\n    PUSHBUTTON      \"Piilota\",110,38,48,40,14\n    PUSHBUTTON      \"Peruuta\",2,82,48,40,14\nEND\n\n51 DIALOG 10, 20, 260, 80\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Vahvista: Ohita tiedosto tai kansio ja jatka\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Kytt estetty, ohita:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,18,68,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,108,18,122,10\n    CONTROL         \"Sinulla ei ole tarvittavia oikeuksia, tai tiedosto on kytss.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,33,230,10\n    CONTROL         \"Ohita tiedosto ja jatka toimintoa valitsemalla Kyll.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,43,232,10\n    DEFPUSHBUTTON   \"&Kyll\",6,12,60,50,14\n    PUSHBUTTON      \"Kyll k&aikkiin\",107,74,60,50,14\n    PUSHBUTTON      \"&Ei\",7,136,60,50,14\n    PUSHBUTTON      \"Peruuta\",2,198,60,50,14\nEND\n\n52 DIALOG 10, 20, 264, 70\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Vahvista: Ohita tiedosto tai kansio ja jatka\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Kohteen kytt estetty, ohita:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,18,95,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,126,18,106,10\n    CONTROL         \"Ohita tiedosto ja jatka toimintoa valitsemalla Kyll.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,28,213,10\n    DEFPUSHBUTTON   \"&Kyll\",6,14,50,50,14\n    PUSHBUTTON      \"Kyll k&aikkiin\",107,76,50,50,14\n    PUSHBUTTON      \"&Ei\",7,138,50,50,14\n    PUSHBUTTON      \"Peruuta\",2,200,50,50,14\nEND\n\n53 DIALOG 77, 109, 210, 70\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Etsitn levylt\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Etsittv:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,5,60,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,81,5,120,10\n    CONTROL         \"Aloituskansio:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,70,10\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,81,15,120,10\n    CONTROL         \"Luettuja kansioita:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,25,72,10\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,81,25,120,10\n    CONTROL         \"Lydetty:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,35,38,10\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,81,35,120,10\n    PUSHBUTTON      \"Piilota\",110,57,53,40,14\n    PUSHBUTTON      \"Peruuta\",2,113,53,40,14\nEND\n\n54 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kopioi Leikepydlle\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Nykyinen kansio: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"&Kopioi Leikepydlle:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,71,10\n    EDITTEXT        102,76,19,120,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,200,6,40,14\n    PUSHBUTTON      \"Peruuta\",2,200,23,40,14\n    PUSHBUTTON      \"&Ohje\",254,200,43,40,14\nEND\n\n55 DIALOG 18, 14, 314, 224\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Muuta tiedostotyyppi\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Tiedostotyyppi:\",302,5,6,51,8\n    EDITTEXT        301,58,5,95,12,ES_AUTOHSCROLL\n    GROUPBOX        \"To&iminto: \",-1,5,22,255,126,WS_GROUP\n    COMBOBOX        306,58,22,48,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"Ko&mento:\",313,9,42,38,8\n    EDITTEXT        304,58,39,111,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"&Selaa...\",318,176,38,40,14\n    CONTROL         \"K&ytt DDE:t\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,57,66,10\n    LTEXT           \"&DDE-komento:\",320,21,72,50,8\n    EDITTEXT        309,112,70,100,12,ES_AUTOHSCROLL\n    LTEXT           \"DD&E-komento, jos sovellus ei ole kynniss:\",322,21,85,85,19\n    LTEXT           \"(valinnainen)\",324,214,90,44,8\n    EDITTEXT        311,112,88,100,12,ES_AUTOHSCROLL\n    LTEXT           \"So&vellus:\",321,21,109,39,8\n    EDITTEXT        310,112,107,100,12,ES_AUTOHSCROLL\n    LTEXT           \"&Aihe:\",323,22,127,21,8\n    EDITTEXT        312,112,125,100,12,ES_AUTOHSCROLL\n    LTEXT           \"&Uusi tunniste:\",-1,11,184,50,8\n    EDITTEXT        315,64,183,32,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"&Lis ->\",303,105,174,44,14\n    PUSHBUTTON      \"<- &Poista\",219,105,191,44,14\n    LTEXT           \"Tu&nnisteet:\",-1,159,162,41,8\n    LISTBOX         317,159,172,65,40,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Tiedostotyyppiin kytketyt tunnisteet\",316,5,152,255,66\n    DEFPUSHBUTTON   \"OK\",1,267,6,40,14\n    PUSHBUTTON      \"Peruuta\",2,267,23,40,14\n    PUSHBUTTON      \"&Ohje\",254,267,40,40,14\nEND\n\n57 DIALOG 123, 60, 207, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Tiedostojen pakkaus kynniss\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Pakattava tiedosto:\",-1,6,8,65,8\n    LTEXT           \"filename.xxx\",341,77,8,90,8\n    LTEXT           \"Kansio:\",-1,6,20,38,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,50,20,150,8\n    LTEXT           \"Kansioita pakattu:\",-1,6,32,70,8\n    LTEXT           \"1,888,888,999\",343,84,32,60,8\n    LTEXT           \"Tiedostoja pakattu:\",-1,6,44,64,8\n    LTEXT           \"1,888,888,999\",344,77,44,58,8\n    LTEXT           \"Tiedostojen koko ennen pakkausta:\",-1,6,56,118,8\n    LTEXT           \"9,999,999,999,999\",345,137,56,68,8\n    LTEXT           \"Tiedostojen koko pakkauksen jlkeen:\",-1,6,68,127,8\n    LTEXT           \"9,999,999,999,999\",346,137,69,68,8\n    LTEXT           \"Pakkaussuhde:\",-1,6,80,51,8\n    LTEXT           \"100%\",347,67,80,27,8\n    PUSHBUTTON      \"Peruuta\",2,76,97,55,14\nEND\n\n58 DIALOG 114, 62, 197, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Tiedostojen pakkauksen purkaminen kynniss\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Purettava tiedosto:\",-1,6,8,63,8\n    LTEXT           \"filename.xxx\",351,78,8,66,8\n    LTEXT           \"Kansio:\",-1,6,20,38,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\",352,52,20,144,8\n    LTEXT           \"Kansioita purettu:\",-1,6,32,68,8\n    LTEXT           \"1,999,999,999\",353,85,32,70,8\n    LTEXT           \"Tiedostoja purettu:\",-1,6,44,63,8\n    LTEXT           \"1,999,999,999\",354,78,44,78,8\n    PUSHBUTTON      \"Peruuta\",2,74,64,49,14\nEND\n\n59 DIALOG 11, 28, 245, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Pakkausvirhe\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,8,8,21,20\n    LTEXT           \"\",100,35,8,190,32\n    DEFPUSHBUTTON   \"&Ohita\",5,32,47,40,14,WS_GROUP\n    PUSHBUTTON      \"Ohita &kaikki\",112,78,47,45,14\n    PUSHBUTTON      \"&Uudelleen\",4,129,47,40,14\n    PUSHBUTTON      \"K&eskeyt\",3,175,47,40,14\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY, SHIFT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT\n    VK_F4,          1702,                   VIRTKEY, SHIFT\n    VK_F5,          1704,                   VIRTKEY \n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII   \n    VK_ADD,         301,                    VIRTKEY \n    \"*\",            302,                    ASCII   \n    VK_MULTIPLY,    302,                    VIRTKEY \n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL\n    \"-\",            304,                    ASCII   \n    VK_SUBTRACT,    304,                    VIRTKEY \n    VK_RETURN,      110,                    VIRTKEY, ALT\n    VK_F2,          2000,                   VIRTKEY \nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"CUR300.CUR\"\n\n\n301                     CURSOR                  \"CUR301.CUR\"\n\n\n302                     CURSOR                  \"CUR302.CUR\"\n\n\n303                     CURSOR                  \"CUR303.CUR\"\n\n\n306                     CURSOR                  \"CUR306.CUR\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ICO200.ICO\"\n\n\n201                     ICON                    \"ICO201.ICO\"\n\n\n202                     ICON                    \"ICO202.ICO\"\n\n\n204                     ICON                    \"ICO204.ICO\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,318\n PRODUCTVERSION 4,0,1381,318\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"040B04B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"Tiedostonhallinta\"\n            VALUE \"FileVersion\", \"4.00\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"Copyright (C) Microsoft Corp. 1981-1996\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"Microsoft(R) Windows NT(TM) -kyttjrjestelm\"\n            VALUE \"ProductVersion\", \"4.00\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0x40b, 1200\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"Kopioi levyke\"\n    51                      \"Aseta kohdelevyke asemaan.\"\n    52                      \"Aseta lhdelevyke asemaan.\"\n    53                      \"Aseta kohde- ja lhdelevykkeet asemiin.\"\n    54                      \"Alustetaan kohdelevyke\"\n    55                      \"Levykkeen kopiointivirhe\"\n    56                      \"Levykett ei voi kopioida.\"\n    58                      \"Lhde- ja kohdelevykkeet ovat erilaisia.\"\n    60                      \"%d %% valmiina\"\n    61                      \"Luodaan pkansiota...\"\n    62                      \"Kopioidaan jrjestelmtiedostoja...\"\n    63                      \"Levykkeen alustusvirhe\"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \"Alustus suoritettu\"\n    67                      \"Yhteens %ld tavua levytilaa\\n%ld tavua kytettviss levyll\\n\\nHaluatko alustaa toisen levykkeen?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"Verkkovirhe\"\n    83                      \"Asema sislt Windowsin jrjestelmtiedostot, eik yhteytt siihen voi katkaista.\"\n    91                      \"Mritteit ei voi muuttaa. \"\n    92                      \"Ei voi luoda kansiota. \"\n    93                      \"Levy ei voi nimet.\\n\\nVarmista, ett levy ei ole kirjoitussuojattu, ettei se ole verkkoasema ja ett annettava nimi on oikean muotoinen. Levynimiss ei saa olla seuraavia merkkej:\\n[vli] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n    95                      \"Mritettyj tiedostoja ei lytynyt.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \"Aseman sisllys on muuttunut. Haluatko pivitt Etsinnn tulokset -ikkunan?\"\n    98                      \"Sinun on kirjauduttava tyaseman valvojana, ennen kuin voit suorittaa tmn toiminnon kiintolevylle.\"\n    101                     \"Asema %c:%c\"\n    110                     \"Ohjelmaa ei voi suorittaa\"\n    111                     \"Odottamaton virhe: %d.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"Liian vhn muistia mritetyn sovelluksen kynnistmiseen.\\n\\nLopeta sovelluksia ja yrit uudelleen.\"\n    113                     \"Tiedostoa (tai jotakin sen osaa) ei lydy.\\n\\nVarmista, ett kansiopolku ja tiedostonimi ovat oikein ja ett kaikki tarvittavat kirjastotiedostot ovat kytettviss.\"\n    114                     \"Mritetty polku ei kelpaa.\"\n    116                     \"Tiedostoon ei ole kytkettyn mitn sovellusta.\\n\\nLuo yhteys sovellukseen valitsemalla Tiedosto-valikosta Kytke.\"\n    118                     \"Tiedostoa ei voi avata tai tulostaa.\\n\\nKynnist tiedoston luomiseen kytetty sovellus ja avaa tai tulosta tiedosto siit.\"\n    120                     \"Vahvista hiiritoiminto\"\n    121                     \"Haluatko varmasti kopioida valitut tiedostot tai kansiot kansioon %s?\"\n    122                     \"Haluatko varmasti siirt valitut tiedostot tai kansiot kansioon %s?\"\n    123                     \"Haluatko varmasti kynnist ohjelman %s kytten tiedostoa %s ensimmiseksi?\"\n    124                     \"Tiedostonhallinta\"\n    126                     \"Kansiopuu\"\n    127                     \"Etsinnn tulokset: \"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \"Liian monta tiedostoa\"\n    133                     \"Tiedostonhallinta - Muisti lopussa.\"\n    134                     \"Koko kansiota ei voi lukea. Luettelosta esitetn vain osa.\"\n    140                     \"Nykyinen kansio: %s\"\n    141                     \"Kopioi\"\n    143                     \"Nime uudelleen\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"Alusta levyke\"\n    146                     \"Valitse alustettava levyke.\"\n    150                     \"Luodaan:\"\n    151                     \"Poistetaan...\"\n    152                     \"Kopioidaan:\"\n    153                     \"Nimetn uudelleen...\"\n    154                     \"Siirretn...\"\n    155                     \"Poistetaan...\"\n    156                     \"Tulostetaan: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"Kopioidaan...\"\n    170                     \"Poistetaan:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \"Yhteens %d tiedosto(a) (%s)\"\n    181                     \"Luetut kansiot: %d \"\n    182                     \"%c: %s vapaana, %s yhteens\"\n    183                     \"%d tiedosto(a) lydetty\"\n    185                     \"valitut tiedostot\"\n    186                     \"Yhteytt verkkoasemaan ei voi katkaista.\\n\\nAsemassa on avoimia tiedostoja.\"\n    187                     \"Valittu %d tiedosto(a) (%s)\"\n    188                     \"Asemassa %c ei ole levy.\\n\\nAseta levy asemaan ja yrit uudelleen.\"\n    189                     \"Levy asemassa %c ei ole alustettu.\\n\\nHaluatko alustaa sen nyt?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"Liian vhn levytilaa tulostukseen.\\n\\nVapauta levytilaa poistamalla tiedostoja ja yrit uudelleen.\"\n    193                     \"Liian vhn muistia tulostamiseen.\\n\\nLopeta sovelluksia ja yrit uudelleen.\"\n    194                     \"Virhe tulostuksessa.\\n\\nVarmista, ett kirjoitinasetukset ovat oikein ja ett kirjoitin on valittu.\"\n    195                     \"Kansiopuu ei ny kokonaisuudessaan\"\n    197                     \"Kohdeasema on tynn. Jatka asettamalla uusi levyke asemaan.\"\n    198                     \"Tiedosto on jrjestelm-, piilo- tai vain luku -tyyppi.\"\n    199                     \"Pika-alustusta ei voi suorittaa.\\n\\nTehdnk normaalialustus?\"\n    203                     \"Virhe lhetettess komentoa sovellukselle.\"\n    204                     \"Tmn toiminnon tarvitsemaa kirjastoa ei voi ladata.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \"&Jaetut kansiot...\"\n    210                     \"Alustus poistaa KAIKKI tiedot levylt. Haluatko varmasti alustaa levyn asemassa %c?\"\n    211                     \"Vahvista levykkeen alustus\"\n    212                     \"Toiminto poistaa KAIKKI tiedot kohdelevylt. Haluatko varmasti jatkaa?\"\n    213                     \"Vahvista levykkeen kopiointi\"\n    214                     \"&Sulje\"\n    215                     \"Sulje\"\n    218                     \"Kansiota %s ei ole olemassa.\\n\\nLuodaanko kansio?\"\n    219                     \"Ohjelmat#*.exe;*.pif;*.com;*.bat#Kaikki tiedostot (*.*)#*.*#\"\n    220                     \"Selaa\"\n    221                     \"Suorita\"\n    222                     \"Tiedostoa ei voi tulostaa\"\n    223                     \"Ohjetietoja ei voi nytt.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"Tiedostot, joiden tunniste on %s, ovat ohjelmia eik niit voi kytke toisiin sovelluksiin.\"\n    225                     \"%s ei ole ohjelma eik sit voi kytke tunnisteeseen.\"\n    226                     \"(Ei mitn)\"\n    227                     \"Ei tiedostoja.\"\n    228                     \"Ei voi tulostaa useita tiedostoja.\\n\\nValitse yksi tiedosto ja yrit uudelleen.\"\n    230                     \"Jokin sovelluksen kyttmist kirjastotiedostoista on vioittunut. Asenna sovellus uudelleen.\"\n    231                     \"Tiedosto on toisen sovelluksen kytss.\"\n    232                     \"Kansioon '%s' luodut tiedostot eivt ehk ole kytettviss Tiedostonhallinnasta.\\n\\nHaluatko jatkaa?\"\n    233                     \"Luo kansio\"\n    234                     \"%ld tavua\"\n    235                     \"%s tavua\"\n    236                     \"Ei voi kopioida useita tiedostoja tai kansioita Leikepydlle.\\n\\nValitse yksi tiedosto ja yrit uudelleen.\"\n    237                     \"%s - %s\"\n    238                     \"Asema:\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"Yhdist verkkoasemaan\"\n    241                     \"Katkaise yhteys verkkoasemaan\"\n    242                     \"Verkkoyhteydet\"\n    243                     \"Jaa kansio\"\n    244                     \"Lopeta kansion jakaminen\"\n    245                     \"Nyt kaikki tiedoston tiedot\"\n    246                     \"Nyt vain nimi\"\n    247                     \"Lajittele nimen mukaan\"\n    248                     \"Lajittele tyypin mukaan\"\n    249                     \"Lajittele koon mukaan\"\n    250                     \"Lajittele pivyksen mukaan\"\n    251                     \"Uusi ikkuna\"\n    252                     \"Kopioi tiedostot\"\n    253                     \"Siirr tiedostot\"\n    254                     \"&Kansionimi:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"Verkkoasema ei ole kytettviss.\"\n    259                     \"Jaettu nimell %s\"\n    260                     \"Ei jaettu\"\n    261                     \"Poista tiedostot\"\n    262                     \" - TIIVISTETTY\"\n    263                     \"Kopioidaan tiedostoja kansioon %s.\"\n    264                     \"Siirretn tiedostoja kansioon %s.\"\n    265                     \"Suoritetaan tiedostoja ohjelmalla %s.\"\n    266                     \"%s tavua\"\n    267                     \"%s kt\"\n    268                     \"%s Mt\"\n    269                     \"%s Gt\"\n    270                     \"%s Tt\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \"Sinulla ei ole oikeuksia tmn kansion kyttmiseen.\"\n    281                     \"Sinulla ei ole oikeuksia tmn tiedoston kyttmiseen.\"\n    283                     \"Asema %c: on varattu eik sit voi kytt.\\nTiedostonhallinta kopioi levy.\"\n    284                     \"Asema %c: on varattu eik sit voi kytt.\\nTiedostonhallinta alustaa levy.\"\n    285                     \"Toimintoa ei ole saatettu loppuun\"\n    286                     \"Toimintoa ei voi suorittaa loppuun kaikille tiedostoille ja kansioille.\"\n    287                     \"Kansiota ei voi lukea\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"Kansiota ei ole olemassa.\"\n    289                     \"Ei voi yhdist verkkoasemaan\"\n    290                     \"Verkkonime ei lydy.\"\n    292                     \"Valinta 'Kyll kaikkiin' koskee kaikkia tiedostoja, mukaan lukien\\njrjestelm-, piilo- ja vain luku -tyyppiset tiedostot.\"\n    294                     \"Avaa\"\n    295                     \"Tulosta\"\n    298                     \"Lis tunniste\"\n    299                     \"Tunniste '%s' on kytketty ohjelmatyyppiin '%s'. Korvataanko kytkent?\"\n    300                     \"Tiedostokytkenteditori\"\n    301                     \"Tunnistetta ei voi kytke. \"\n    302                     \"Tunnistetta ei voi poistaa. \"\n    303                     \"Tiedostotyyppi ei voi list. \"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"Tiedostotyyppi ei voi poistaa. \"\n    305                     \"Tiedostotyyppi ei voi lukea. \"\n    306                     \"Tiedostotyyppi ei voi olla tyhj. Anna uusi tiedostotyyppi.\"\n    307                     \"Ei voi luoda yksilllist tunnistinta annetun tiedostotyypin perusteella. Anna uusi tiedostotyyppi.\"\n    308                     \"Poista tiedostotyyppi\"\n    309                     \"Toiminto poistaa tiedostotyypin ja kaikki kytketyt tunnisteet. Haluatko varmasti poistaa tiedostotyypin '%s'?\"\n    312                     \"Ainakin yhteen tiedostotyypin toimintoon tytyy liitty komento. Kirjoita sovelluksen nimi Komento-ruutuun.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"Uusi tiedostotyyppi\"\n    321                     \"Kopioidaan levy\"\n    322                     \"Etsitn...\"\n    324                     \"Tiedostonhallinta alustaa levykett. Jos lopetat Tiedostonhallinnan, alustus keskeytetn.\"\n    325                     \"Tiedostonhallinta kopioi levykett. Jos lopetat Tiedostonhallinnan, kopiointi keskeytetn.\"\n    326                     \"% valmiina\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360 kt\"\n    354                     \"1%s2 Mt\"\n    355                     \"720 kt\"\n    356                     \"1%s44 Mt\"\n    357                     \"2%s88 Mt\"\n    358                     \"Levykoko\"\n    359                     \"Levyn tietoja ei voida lukea.\\n\\nVarmista, ett levy on asemassa.\"\n    360                     \"20%s8 Mt\"\n    361                     \"Tuntematon levytyyppi\"\n    362                     \"Tuntematon levytyyppi\"\n    363                     \"Asemassa %s olevaa levytyyppi ei voida alustaa Tiedostonhallinnassa. Kyt Levynhallintaa tmn levyn alustamiseen.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"Tiedostojrjestelm ei ole yhteensopiva.\"\n    401                     \"Kytt estetty.\"\n    402                     \"Levy on kirjoitussuojattu.\"\n    403                     \"Levy ei voi lukita.\"\n    404                     \"Levy ei voi pika-alustaa.\\n\\nVarmista, ett levyn tiheys on oikea.\"\n    405                     \"I/O-virhe lhdelevyll.\"\n    406                     \"I/O-virhe kohdelevyll.\"\n    407                     \"I/O-virhe sek lhde- ett kohdelevyll.\"\n    408                     \"I/O-virhe.\"\n    411                     \"Levy ei voi alustaa.\\n\\nVarmista, ett levy on asemassa, vahingoittumaton ja tiheydeltn oikea ja ett sit ei ole kirjoitussuojattu.\"\n    412                     \"Levy ei voi nimet.\\n\\nMritetty nimi ei ole kelvollinen. Levynimess ei saa olla seuraavia merkkej:\\n[vli] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \"Avataan...\"\n    421                     \"Suljetaan...\"\n    422                     \"Liian monta kansioikkunaa avoinna.\\n\\nSulje ikkunoita ja yrit uudelleen.\"\n    423                     \"Pika-alustetaan...\"\n    424                     \"Tukea taustapivitykselle ei voi alustaa. Tiedostonhallinta lopetetaan. \"\n    425                     \"Tiedostonhallinnan alustus\"\n    426                     \"Odota, luetaan kansio...\"\n    427                     \"Haluatko pakata mys kaikki tiedostot ja alikansiot kansiossa %s?\"\n    428                     \"Haluatko purkaa mys kaikkien tiedostojen ja alikansioiden pakkauksen kansiossa %s?\"\n    429                     \"Tiedostonhallinta ei voi muuttaa tiedoston %s pakkausmritteit.\"\n    430                     \"Tiedostoa %s ei pakata, sill sen pakkaaminen saattaa est jrjestelmn kynnistmisen uudelleen.\"\n    431                     \"Tiedostonhallinta pakkaa tiedostoja tai purkaa niiden pakkausta.\\nOdota kunnes toiminto on suoritettu loppuun, ennen kuin pakkaat tai purat lis tiedostoja.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"Kommentit\"\n    501                     \"Yrityksen nimi\"\n    502                     \"Tiedostokuvaus\"\n    503                     \"Sisinen nimi\"\n    504                     \"Lailliset tavaramerkit\"\n    505                     \"Alkuperinen tiedostonimi\"\n    506                     \"Yksityinen koontiknnskuvaus\"\n    507                     \"Tuotenimi\"\n    508                     \"Tuoteversio\"\n    509                     \"Erityinen koontiknnskuvaus\"\n    510                     \"Kieli\"\n    511                     \"Kielet\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"&Yhdist verkkoasemaan...\"\n    801                     \"Katkaise yhteys &verkkoasemaan...\"\n    802                     \"&Verkkoyhteydet...\"\n    803                     \"&Jaa nimell...\"\n    804                     \"L&opeta jakaminen...\"\n    805                     \"&Nyt jaetut kansiot...\"\n    806                     \"&Palauta tiedosto...\"\n    807                     \"Avaa &uusi ikkuna yhdistettess\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \"Virhe tiedoston siirrossa\"\n    1002                    \"Virhe tiedoston kopioinnissa\"\n    1003                    \"Virhe tiedoston poistossa\"\n    1004                    \"Virhe tiedoston uudelleennimemisess\"\n    1005                    \"Virhe aseman valinnassa\"\n    1006                    \"Virhe luettaessa kansiota\"\n    1007                    \"Virhe levyn nimemisess\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"Ei voi siirt tiedostoa %s: %s\"\n    1012                    \"Ei voi kopioida tiedostoa %s: %s\"\n    1013                    \"Ei voi poistaa tiedostoa %s: %s\"\n    1014                    \"Ei voi nimet uudelleen tiedostoa %s: %s\"\n    1021                    \"Ei voi luoda kansiota %s: %s\"\n    1022                    \"Ei voi poistaa kansiota %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"Ei voi luoda tai korvata tiedostoa %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"Lhde ja kohde ovat samat.\"\n    1102                    \"Valitse vain yksi tiedosto nimettvksi uudelleen tai anna useille tiedostoille samankaltainen nimi kyttmll yleismerkkej (esimerkiksi *.TXT).\"\n    1103                    \"Ei voi nimet uudelleen toiseen kansioon tai levylle.\\nKyt Tiedosto Siirr -komentoa.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"Pkansiota ei voi nimet uudelleen.\"\n    1105                    \"Kohdekansio on lhteen alikansio.\"\n    1106                    \"Tiedosto on Windowsin kytss.\"\n    1107                    \"Mrit vain yksi tiedosto tai kansio Mihin-ruutuun. Jos haluat mritt useita tiedostoja, kyt yleismerkkej (esimerkiksi *.TXT).\"\n    1108                    \"Mritetty tiedosto tai kansio on jo olemassa. Kansion tiedostojen ja kansioiden nimien on oltava yksilllisi.\"\n    1109                    \"Varmista, ett kansiopolku ja tiedostonimi ovat oikein.\"\n    1110                    \"Varmista, ett kansiopolku on oikein.\"\n    1111                    \"Lopeta sovelluksia ja yrit uudelleen tai lis nennismuistin mr Ohjauspaneelista.\"\n    1113                    \"Poista levyn kirjoitussuojaus tai kyt toista levy ja yrit uudelleen.\"\n    1114                    \"Varmista, ett sinulla on oikeat verkko-oikeudet tmn toiminnon suorittamiseen.\"\n    1115                    \"Vapauta levytilaa poistamalla tiedostoja ja yrit uudelleen.\"\n    1116                    \"Laitteella ei havaittu dataa.\"\n    1117                    \"Kansio on jo olemassa.\"\n    1118                    \"Mritetty nimi on jo tiedoston kytss.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"Asemassa on vr levyke.\"\n    1151                    \"Sovellusta ei voi suorittaa Windows NT -tilassa.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \"Kyttjrjestelm ei voi suorittaa tt komponenttia.\"\n    1153                    \"Komponenttia ei voi suorittaa Windows NT -tilassa.\"\n    1154                    \"Ohjelma ei ole kelvollinen Windows NT -sovellus.\"\n    1155                    \"Virhe. Tlle virheelle ei ole sanomaa.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \"Rs[(&F):\"\n    2001                    \"Rs[(&T):\"\n    2002                    \"̖O(&F):\"\n    2003                    \"VO(&T):\"\n    2004                    \"Rs[:\"\n    2005                    \"̃tHg?gpƊ?̕\\\\?\\nłȂȂ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"Tiedostojen ksittelykomennot\"\n    3985                    \"Levyjen ksittelykomennot\"\n    3986                    \"Kansiopuuikkunan ksittelykomennot\"\n    3987                    \"Tietojen nytn komennot\"\n    3988                    \"Asetusten komennot\"\n    3989                    \"Tiedostojen ja kansioiden suojauksen komennot\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"Ikkunoiden jrjestmiskomennot\"\n    4001                    \"Tiedostonhallinnan Ohjeen komennot\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"Etsii aiheita Tiedostonhallinnan Ohjeesta.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \"Avaa valitun kohteen.\"\n    4102                    \"Tulostaa tiedoston.\"\n    4103                    \"Kytkee tiedoston sovellukseen.\"\n    4104                    \"Etsii tiedostoja ja kansioita.\"\n    4105                    \"Kynnist tai avaa sovelluksen tai tiedoston.\"\n    4106                    \"Siirt valitun kohteen.\"\n    4107                    \"Kopioi tiedostoja ja kansioita.\"\n    4108                    \"Poistaa tiedostoja ja kansioita.\"\n    4109                    \"Nime tiedoston tai kansion uudelleen.\"\n    4110                    \"Asettaa tiedoston mritteet ja nytt sen ominaisuudet.\"\n    4111                    \"Luo kansion.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"Lopettaa Tiedostonhallinnan.\"\n    4116                    \"Valitsee tiedostoja ja kansioita.\"\n    4117                    \"Palauttaa aiemmin poistettuja tiedostoja.\"\n    4118                    \"Kopioi tiedoston Leikepydlle.\"\n    4119                    \"Pakkaa tiedoston tai kansion.\"\n    4120                    \"Purkaa tiedoston tai kansion pakkauksen.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"Kopioi levykkeen sislln.\"\n    4202                    \"Nime levyn tai muuttaa levyn nimen.\"\n    4203                    \"Alustaa levykkeen.\"\n    4205                    \"Luo yhteyden verkkoasemaan.\"\n    4206                    \"Katkaisee yhteyden verkkoasemaan.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"Valitsee aseman.\"\n    4254                    \"Jakaa kansion verkossa.\"\n    4255                    \"Lopettaa kansion jakamisen.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"Nytt kansion seuraavan tason.\"\n    4302                    \"Nytt kansion kaikki tasot.\"\n    4303                    \"Nytt kaikkien kansioiden kaikki tasot.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \"Piilottaa kaikkien kansioiden kaikki tasot.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \"Nytt vain tiedostonimet.\"\n    4402                    \"Nytt kaikki tiedot tiedostoista.\"\n    4403                    \"Nytt osittaiset tiedot tiedostoista.\"\n    4404                    \"Jrjest tiedostot nimen mukaan.\"\n    4405                    \"Jrjest tiedostot tyypin mukaan.\"\n    4406                    \"Jrjest tiedostot koon mukaan.\"\n    4407                    \"Jrjest tiedostot pivyksen mukaan.\"\n    4409                    \"Nytt mritetyn tyyppiset tiedostot.\"\n    4411                    \"Nytt kansiopuun.\"\n    4412                    \"Nytt nykyisen kansion sislln.\"\n    4413                    \"Nytt kansiopuun ja nykyisen kansion sislln.\"\n    4414                    \"Jakaa kansioikkunan tai siirt jakopalkkia.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"Muuttaa vahvistussanomien asetuksia.\"\n    4503                    \"Nytt tai piilottaa tilarivin.\"\n    4504                    \"Pienent Tiedostonhallinnan kuvakkeeksi kynnistettess.\"\n    4505                    \"Osoittaa kansiot, joilla on alikansioita.\"\n    4507                    \"Nytt tai piilottaa asemarivin.\"\n    4508                    \"Nytt tai piilottaa tykalurivin.\"\n    4509                    \"Avaa uuden ikkunan yhdistettess verkkoasemaan.\"\n    4510                    \"Muuttaa Tiedostonhallinnan fontin.\"\n    4511                    \"Tallentaa asetukset Tiedostonhallinnan lopetuksen yhteydess.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"Mukauttaa tykalurivin.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"Nytt tai asettaa valittujen kohteiden kyttoikeusasetukset.\"\n    4606                    \"Nytt tai asettaa valittujen kohteiden valvonnan asetukset.\"\n    4607                    \"Nytt valittujen kohteiden omistustiedot tai ottaa kohteet omistukseen.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"Jrjest ikkunat limittin.\"\n    5702                    \"Jrjest ikkunat vierekkin.\"\n    5703                    \"Jrjest ikkunat allekkain.\"\n    5704                    \"Pivitt ikkunan sislln.\"\n    5705                    \"Jrjest kuvakkeet.\"\n    5706                    \"Avaa uuden ikkunan.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"Nytt Tiedostonhallinnan Ohjeen sislln.\"\n    5802                    \"Antaa tietoja Ohjeen kytst.\"\n    5803                    \"Nytt tietoja Tiedostonhallinnasta.\"\nEND\n\n#endif    // Finnish (Finland) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/origrc/winfile.fr-FR.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// French (France) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_FRA)\nLANGUAGE LANG_FRENCH, SUBLANG_FRENCH\n#pragma code_page(1252)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"BMP100.BMP\"\n\n\n101                     BITMAP                  \"BMP101.BMP\"\n\n\n102                     BITMAP                  \"BMP102.BMP\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"&Fichier\"\n    BEGIN\n        MENUITEM \"&Ouvrir\\tEntre\",             101\n        MENUITEM \"&Dplacer...\\tF7\",            106\n        MENUITEM \"&Copier...\\tF8\",              107\n        MENUITEM \"Copier vers le &Presse-papiers...\\tF9\", 118\n        MENUITEM \"Suppri&mer...\\tSuppr\",        108\n        MENUITEM \"Re&nommer...\",                109\n        MENUITEM \"Propri&ts...\\tAlt+Entre\",  110\n        MENUITEM SEPARATOR\n        MENUITEM \"Compre&sser...\",              119\n        MENUITEM \"D&compresser...\",            120\n        MENUITEM SEPARATOR\n        MENUITEM \"E&xcuter...\",                105\n        MENUITEM \"&Imprimer...\",                102\n        MENUITEM \"&Associer...\",                103\n        MENUITEM SEPARATOR\n        MENUITEM \"Cr&er un rpertoire...\",     111\n        MENUITEM \"&Rechercher...\",              104\n        MENUITEM \"Slectionner des &fichiers...\", 116\n        MENUITEM SEPARATOR\n        MENUITEM \"&Quitter\",                    115\n    END\n    POPUP \"&Disque\"\n    BEGIN\n        MENUITEM \"&Copier une disquette...\",    201\n        MENUITEM \"&Nommer le volume...\",        202\n        MENUITEM SEPARATOR\n        MENUITEM \"&Formater une disquette...\",  203\n        MENUITEM SEPARATOR\n        MENUITEM \"&Slectionner un lecteur...\", 251\n    END\n    POPUP \"Ar&bre\"\n    BEGIN\n        MENUITEM \"Dvelopper u&n niveau\\t+\",    301\n        MENUITEM \"Dvelopper une &branche\\t*\",  302\n        MENUITEM \"Dvelopper &tout\\tCtrl+*\",    303\n        MENUITEM \"&Rduire une branche\\t-\",     304\n        MENUITEM SEPARATOR\n        MENUITEM \"&Indiquer l'arborescence\",    505\n    END\n    POPUP \"&Affichage\"\n    BEGIN\n        MENUITEM \"Arbor&escence et rpertoire\", 413\n        MENUITEM \"&Arborescence seulement\",     411\n        MENUITEM \"&Rpertoire seulement\",       412\n        MENUITEM SEPARATOR\n        MENUITEM \"&Fractionner\",                414\n        MENUITEM SEPARATOR\n        MENUITEM \"&Nom\",                        401\n        MENUITEM \"Dtail&s des fichiers\",       402, CHECKED\n        MENUITEM \"A&utres dtails...\",          403\n        MENUITEM SEPARATOR\n        MENUITEM \"Trier par n&om\",              404\n        MENUITEM \"&Trier par type\",             405\n        MENUITEM \"Trier par tai&lle\",           406\n        MENUITEM \"Trier par &date\",             407\n        MENUITEM SEPARATOR\n        MENUITEM \"&Par type de fichier...\",     409\n    END\n    POPUP \"&Options\"\n    BEGIN\n        MENUITEM \"&Confirmation...\",            501\n        MENUITEM \"&Police...\",                  510\n        MENUITEM \"Per&sonnaliser la barre d'outils...\", 512\n        MENUITEM SEPARATOR\n        MENUITEM \"Barre d'&outils\",             508\n        MENUITEM \"Barre de &lecteurs\",          507\n        MENUITEM \"&Barre d'tat\",               503\n        MENUITEM SEPARATOR\n        MENUITEM \"&Rduire  l'utilisation\",    504\n        MENUITEM \"&Enregistrer la configuration en quittant\", 511\n    END\n    POPUP \"&Scurit\"\n    BEGIN\n        MENUITEM \"&Permissions...\",             605\n        MENUITEM \"&Audit...\",                   606\n        MENUITEM \"P&ropritaire...\",            607\n    END\n    POPUP \"Fe&ntre\"\n    BEGIN\n        MENUITEM \"&Nouvelle fentre\",           1706\n        MENUITEM \"&Cascade\\tMaj+F5\",            1701\n        MENUITEM \"Mosaque &horizontale\",       1703\n        MENUITEM \"Mosaque &verticale\\tMaj+F4\", 1702\n        MENUITEM \"&Rorganiser les icnes\",     1705\n        MENUITEM \"&Actualiser\\tF5\",             1704\n    END\n    POPUP \"&?\"\n    BEGIN\n        MENUITEM \"Somma&ire\",                   1801\n        MENUITEM \"Aide su&r...\",                30\n        MENUITEM \"Comment &utiliser l'aide\",    1802\n        MENUITEM SEPARATOR\n        MENUITEM \"&A propos du Gestionnaire de fichiers...\", 1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 12, 210, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Excuter\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,149,10\n    CONTROL         \"&Ligne de commande:\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,3,18,71,10\n    EDITTEXT        201,3,29,149,12,ES_AUTOHSCROLL\n    CONTROL         \"Rd&uire  l'utilisation\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,3,45,149,12\n    DEFPUSHBUTTON   \"OK\",1,165,6,40,14\n    PUSHBUTTON      \"Annuler\",2,165,23,40,14\n    PUSHBUTTON      \"&Aide\",254,165,43,40,14\nEND\n\n11 DIALOG 20, 20, 240, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Imprimer\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,185,10\n    CONTROL         \"&Imprimer:\",-1,\"Static\",SS_LEFTNOWORDWRAP,2,20,33,10\n    EDITTEXT        102,36,19,151,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,39,190,10\n    DEFPUSHBUTTON   \"OK\",1,197,6,40,14\n    PUSHBUTTON      \"Annuler\",2,197,23,40,14\n    PUSHBUTTON      \"&Aide\",254,197,43,40,14\nEND\n\n12 DIALOG 20, 20, 257, 118\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Associer\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Fichiers avec extension:\",-1,3,8,83,8\n    COMBOBOX        315,88,6,44,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"Ass&ocier :\",-1,6,30,92,10\n    EDITTEXT        304,6,42,172,12,ES_AUTOHSCROLL\n    LISTBOX         314,11,54,167,62,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"&Parcourir...\",318,130,24,47,14\n    DEFPUSHBUTTON   \"OK\",1,187,6,66,14,WS_GROUP\n    PUSHBUTTON      \"Annuler\",2,187,23,66,14\n    PUSHBUTTON      \"&Nouveau type...\",300,187,42,66,14\n    PUSHBUTTON      \"&Modifier le type...\",251,187,59,66,14\n    PUSHBUTTON      \"&Supprimer le type\",219,187,76,66,14\n    PUSHBUTTON      \"&Aide\",254,187,95,66,14\nEND\n\n13 DIALOG 20, 20, 263, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Rechercher\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Rechercher:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,6,45,12\n    EDITTEXT        201,52,5,160,12,ES_AUTOHSCROLL\n    CONTROL         \"A par&tir de:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,21,45,12\n    EDITTEXT        101,52,20,160,12,ES_AUTOHSCROLL\n    CONTROL         \"Rechercher dans tous les &sous-rpertoires\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,52,34,160,12\n    DEFPUSHBUTTON   \"OK\",1,217,6,40,14\n    PUSHBUTTON      \"Annuler\",2,217,23,40,14\n    PUSHBUTTON      \"&Aide\",254,217,43,40,14\nEND\n\n14 DIALOG 47, 59, 231, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Dplacer\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Rpertoire courant: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,172,10\n    CONTROL         \"&Vers:\",2001,\"Static\",SS_LEFTNOWORDWRAP,3,33,20,10\n    EDITTEXT        103,37,32,138,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,49,40,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,45,49,140,10\n    DEFPUSHBUTTON   \"OK\",1,185,6,40,14\n    PUSHBUTTON      \"Annuler\",2,185,23,40,14\n    PUSHBUTTON      \"&Aide\",254,185,40,40,14\n    CONTROL         \"&De:\",2002,\"Static\",SS_LEFTNOWORDWRAP,3,19,20,10\n    EDITTEXT        102,37,18,138,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Supprimer\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Rpertoire courant: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"&Supprimer:\",-1,\"Static\",SS_LEFTNOWORDWRAP,1,20,38,10\n    EDITTEXT        102,40,19,155,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,35,51,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,54,35,141,10\n    DEFPUSHBUTTON   \"OK\",1,200,6,40,14\n    PUSHBUTTON      \"Annuler\",2,200,23,40,14\n    PUSHBUTTON      \"&Aide\",254,200,40,40,14\nEND\n\n16 DIALOG 23, 13, 274, 228\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Proprits pour  %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,222,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Annuler\",2,222,23,50,14\n    PUSHBUTTON      \"&Aide\",254,222,40,50,14\n    CONTROL         \"&Nom du fichier:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,74,10\n    EDITTEXT        201,82,5,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"C&hemin d'accs:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,74,10\n    EDITTEXT        101,82,15,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Dernire modification:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,25,75,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,82,25,134,10\n    CONTROL         \"Version:\",258,\"Static\",SS_LEFTNOWORDWRAP,5,35,74,10\n    CONTROL         \"Non indique\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,82,35,134,10\n    LTEXT           \"Copy&right:\",-1,5,45,74,11\n    EDITTEXT        265,82,45,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Taille:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,56,74,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,82,55,134,10\n    CONTROL         \"Taille compresse:\",268,\"Static\",SS_LEFTNOWORDWRAP,5,66,74,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,82,65,134,10\n    CONTROL         \"Ratio de compression:\",270,\"Static\",SS_LEFTNOWORDWRAP,5,76,76,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,82,75,134,10\n    GROUPBOX        \"Attributs\",-1,4,88,136,54\n    CONTROL         \"&Lecture seule\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,100,57,12\n    CONTROL         \"&Fichier cach\",216,\"Button\",BS_AUTOCHECKBOX,75,100,57,12\n    CONTROL         \"Fichier archi&ves\",217,\"Button\",BS_AUTOCHECKBOX,9,112,64,12\n    CONTROL         \"Fichier &systme\",218,\"Button\",BS_AUTOCHECKBOX,75,112,63,12\n    CONTROL         \"&Compress\",267,\"Button\",BS_AUTOCHECKBOX,9,124,52,12\n    GROUPBOX        \"&Informations sur la version\",262,4,146,242,76\n    LISTBOX         263,9,158,91,58,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,103,158,138,58,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 200, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Cration d'un rpertoire\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,152,10\n    CONTROL         \"&Nom:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,23,22,10\n    EDITTEXT        201,30,22,90,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,46,150,10\n    DEFPUSHBUTTON   \"OK\",1,157,6,40,14\n    PUSHBUTTON      \"Annuler\",2,157,23,40,14\n    PUSHBUTTON      \"&Aide\",254,157,43,40,14\nEND\n\n19 DIALOG 20, 20, 157, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Copier une disquette\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Source:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,50,10\n    COMBOBOX        245,55,6,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Destination:\",206,\"Static\",SS_LEFTNOWORDWRAP,5,22,50,10\n    COMBOBOX        222,55,20,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Annuler\",2,110,23,40,14\n    PUSHBUTTON      \"&Aide\",254,110,43,40,14\nEND\n\n22 DIALOG 30, 30, 130, 59\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Copie de la disquette en cours\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Copie de la disquette en cours dans \",-1,0,5,130,10,NOT WS_GROUP\n    CTEXT           \"Lecteur A:\",222,0,15,130,10,NOT WS_GROUP\n    CTEXT           \"Lecture du disque source\",243,0,26,130,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Annuler\",2,43,40,44,14\nEND\n\n23 DIALOG 20, 20, 161, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Nommer un volume\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Nom de volume:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,56,10\n    EDITTEXT        201,5,26,100,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,115,6,40,14\n    PUSHBUTTON      \"Annuler\",2,115,23,40,14\n    PUSHBUTTON      \"&Aide\",254,115,43,40,14\nEND\n\n24 DIALOG 11, 28, 185, 85\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formater une disquette\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,139,6,40,14\n    PUSHBUTTON      \"Annuler\",2,139,23,40,14\n    PUSHBUTTON      \"&Aide\",254,139,43,40,14\n    CONTROL         \"&Disquette:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,7,37,10\n    COMBOBOX        222,46,4,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Capacit:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,20,35,10\n    COMBOBOX        241,46,19,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Options\",102,5,39,128,41,WS_GROUP\n    CONTROL         \"&Nom de volume:\",-1,\"Static\",SS_LEFTNOWORDWRAP,9,51,56,10\n    EDITTEXT        201,66,49,63,12\n    CONTROL         \"&Formatage rapide\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,9,62,90,12\nEND\n\n26 DIALOG 30, 30, 150, 50\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formatage du disque en cours\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Formatage en cours\",-1,0,5,150,10,NOT WS_GROUP\n    CTEXT           \"Formatage du lecteur en cours...\",243,0,17,150,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Annuler\",2,54,30,44,14\nEND\n\n30 DIALOG 20, 20, 183, 83\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Autres dtails\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Dtails\",-1,4,4,130,74\n    CONTROL         \"Tai&lle\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,8,15,120,12\n    CONTROL         \"Date de la dernire &modification\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,8,27,120,12\n    CONTROL         \"Heure de la dernire modifica&tion\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,8,39,120,12\n    CONTROL         \"Attributs de &fichier\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,8,51,120,12\n    CONTROL         \"&Noms de fichier MS-DOS\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,8,63,120,12\n    DEFPUSHBUTTON   \"OK\",1,139,6,40,14\n    PUSHBUTTON      \"Annuler\",2,139,23,40,14\n    PUSHBUTTON      \"&Aide\",254,139,60,40,14\nEND\n\n32 DIALOG 20, 20, 157, 102\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Par type de fichier\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Nom:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,23,10\n    EDITTEXT        201,34,6,65,12,ES_AUTOHSCROLL\n    GROUPBOX        \"Type de fichier\",-1,5,20,94,62\n    CONTROL         \"&Rpertoires\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,31,60,12\n    CONTROL         \"&Programmes\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,43,60,12\n    CONTROL         \"Docu&ments\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,55,60,12\n    CONTROL         \"A&utres fichiers\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,60,12\n    CONTROL         \"Vi&sualisation des fichiers systme/cachs\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,5,85,150,12\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Annuler\",2,110,23,40,14\n    PUSHBUTTON      \"&Aide\",254,110,43,40,14\nEND\n\n33 DIALOG 20, 20, 254, 92\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmation\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Confirmer\",-1,5,3,198,85,WS_TABSTOP\n    CONTROL         \"&Suppression de fichiers\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,15,189,12\n    CONTROL         \"S&uppression de rpertoires\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,27,189,12\n    CONTROL         \"&Remplacements de fichiers\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,39,189,12\n    CONTROL         \"&Opration de la souris\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,51,189,12\n    CONTROL         \"&Commandes disque\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,63,189,12\n    CONTROL         \"&Modification de fichiers systme, cachs, lecture seule\",215,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,75,191,12\n    DEFPUSHBUTTON   \"OK\",1,208,6,40,14\n    PUSHBUTTON      \"Annuler\",2,208,23,40,14\n    PUSHBUTTON      \"&Aide\",254,208,44,40,14\nEND\n\n35 DIALOG 20, 20, 250, 46\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Dplacement...\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,5,49,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,5,192,10\n    CONTROL         \"Vers:\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,16,25,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,16,192,10\n    DEFPUSHBUTTON   \"Annuler\",2,200,28,40,14,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 125, 56\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Impression du fichier en cours...\",-1,4,6,120,12\n    CTEXT           \"\",-1,4,20,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"Annuler\",2,42,36,40,14,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 219, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Proprits\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"%d fichiers slectionns\",100,\"Static\",SS_LEFTNOWORDWRAP,5,5,153,10\n    CONTROL         \"Total %s octets\",111,\"Static\",SS_LEFTNOWORDWRAP,5,17,153,10\n    GROUPBOX        \"Attributs\",-1,4,28,143,50\n    CONTROL         \"&Lecture seule\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,39,64,12\n    CONTROL         \"&Fichier cach\",216,\"Button\",BS_AUTOCHECKBOX,79,39,64,12\n    CONTROL         \"Fichier archi&ves\",217,\"Button\",BS_AUTOCHECKBOX,9,51,64,12\n    CONTROL         \"Fichier &systme\",218,\"Button\",BS_AUTOCHECKBOX,79,51,64,12\n    CONTROL         \"&Compress\",267,\"Button\",BS_AUTOCHECKBOX,9,63,52,12\n    DEFPUSHBUTTON   \"OK\",1,163,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Annuler\",2,163,23,50,14\n    PUSHBUTTON      \"&Aide\",254,163,43,50,14\nEND\n\n39 DIALOG 10, 20, 245, 96\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmation du remplacement du fichier\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Remplacer:\",-1,\"Static\",SS_LEFTNOWORDWRAP,34,12,40,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,12,165,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,75,22,170,10\n    CONTROL         \"Par:\",-1,\"Static\",SS_LEFTNOWORDWRAP,34,34,39,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,34,165,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,75,44,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,33,56,177,18\n    DEFPUSHBUTTON   \"&Oui\",6,33,79,40,14\n    PUSHBUTTON      \"&Tout\",107,79,79,40,14\n    PUSHBUTTON      \"&Non\",7,125,79,40,14\n    PUSHBUTTON      \"Annuler\",2,171,79,40,14\nEND\n\n40 DIALOG 10, 20, 245, 71\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmation de la suppression du fichier\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Supprimer:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,44,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,33,30,178,18\n    DEFPUSHBUTTON   \"&Oui\",6,33,53,40,14\n    PUSHBUTTON      \"&Tout\",107,79,53,40,14\n    PUSHBUTTON      \"&Non\",7,125,53,40,14\n    PUSHBUTTON      \"Annuler\",2,171,53,40,14\nEND\n\n41 DIALOG 10, 20, 245, 71\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmation de la suppression du rpertoire\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Supprimer:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,44,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,33,30,178,18\n    DEFPUSHBUTTON   \"&Oui\",6,33,53,40,14\n    PUSHBUTTON      \"&Tout\",107,79,53,40,14\n    PUSHBUTTON      \"&Non\",7,125,53,40,14\n    PUSHBUTTON      \"Annuler\",2,171,53,40,14\nEND\n\n42 DIALOG 10, 22, 245, 71\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmation du dplacement de fichier\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Dplacer:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,44,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,33,30,178,18\n    DEFPUSHBUTTON   \"&Oui\",6,33,53,40,14\n    PUSHBUTTON      \"&Tout\",107,79,53,40,14\n    PUSHBUTTON      \"&Non\",7,125,53,40,14\n    PUSHBUTTON      \"Annuler\",2,171,53,40,14\nEND\n\n43 DIALOG 10, 22, 245, 71\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmation du nouveau nom du fichier\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Renommer:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,44,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,33,30,178,18\n    DEFPUSHBUTTON   \"&Oui\",6,33,53,40,14\n    PUSHBUTTON      \"&Tout\",107,79,53,40,14\n    PUSHBUTTON      \"&Non\",7,125,53,40,14\n    PUSHBUTTON      \"Annuler\",2,171,53,40,14\nEND\n\n44 DIALOG 15, 12, 131, 83\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Slectionner\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Fichier(s):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,60,10\n    EDITTEXT        201,5,29,60,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"&Slectionner\",1,70,6,58,14\n    PUSHBUTTON      \"&Dslectionner\",6,70,23,58,14\n    PUSHBUTTON      \"Annuler\",2,70,40,58,14\n    PUSHBUTTON      \"&Aide\",254,70,63,58,14\nEND\n\n45 DIALOG 11, 31, 201, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Slectionner un lecteur\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Lecteurs:\",245,\"Static\",SS_LEFTNOWORDWRAP,5,5,41,10\n    LISTBOX         222,5,16,140,60,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,155,6,40,14\n    PUSHBUTTON      \"Annuler\",2,155,23,40,14\n    PUSHBUTTON      \"&Aide\",254,155,44,40,14\nEND\n\n46 DIALOG 11, 28, 256, 67\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Slectionner le nom de fichier\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Ce chemin ne correspond pas  un nom de fichier FAT. Entrez un nouveau nom.\",99,5,4,190,17,NOT WS_GROUP\n    RTEXT           \"&Nouveau nom:\",-1,5,24,51,11,NOT WS_GROUP\n    EDITTEXT        103,68,23,130,12\n    RTEXT           \"Chemin d'origine:\",-1,5,38,59,11,NOT WS_GROUP\n    EDITTEXT        102,68,38,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \"Vers le rpertoire:\",-1,5,51,62,11,NOT WS_GROUP\n    EDITTEXT        101,68,51,130,11,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"OK\",1,211,4,40,14\n    PUSHBUTTON      \"Annuler\",2,211,20,40,14\n    PUSHBUTTON      \"&Aide\",254,211,36,40,14\nEND\n\n48 DIALOG 23, 13, 258, 110\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Proprits pour %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,202,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Annuler\",2,202,23,50,14\n    PUSHBUTTON      \"&Aide\",254,202,43,50,14\n    CONTROL         \"&Nom du fichier:\",261,\"Static\",SS_LEFTNOWORDWRAP,3,5,65,10\n    EDITTEXT        201,78,5,119,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"C&hemin d'accs:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,16,57,10\n    EDITTEXT        101,78,16,119,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Dernire modification:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,27,75,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,78,27,119,10\n    CONTROL         \"Taille:\",260,\"Static\",SS_LEFTNOWORDWRAP,3,38,26,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,78,38,119,10\n    GROUPBOX        \"Attributs\",-1,4,52,140,52\n    CONTROL         \"&Lecture seule\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,64,59,12\n    CONTROL         \"&Fichier cach\",216,\"Button\",BS_AUTOCHECKBOX,76,64,59,12\n    CONTROL         \"Fichier archi&ves\",217,\"Button\",BS_AUTOCHECKBOX,9,76,63,12\n    CONTROL         \"Fichier &systme\",218,\"Button\",BS_AUTOCHECKBOX,76,76,65,12\n    CONTROL         \"&Compress\",267,\"Button\",BS_AUTOCHECKBOX,9,88,52,12\nEND\n\n49 DIALOG 13, 54, 264, 163\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Police\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Police:\",1088,6,3,40,9\n    COMBOBOX        1136,6,13,94,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Style de police:\",1089,108,3,57,9\n    COMBOBOX        1137,108,13,64,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Taille:\",1090,179,3,30,9\n    COMBOBOX        1138,179,13,32,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Effets\",1072,6,72,91,61,WS_GROUP\n    CONTROL         \"&Barr\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,13,84,80,10\n    CONTROL         \"So&ulign\",1041,\"Button\",BS_AUTOCHECKBOX,13,95,80,10\n    CONTROL         \"Affichage des lecteurs &FAT en minuscules\",1042,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,136,254,10\n    CONTROL         \"Affichage de t&ous les lecteurs en minuscules\",1043,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,150,254,10\n    LTEXT           \"&Couleur:\",1091,13,106,80,9\n    COMBOBOX        1139,13,117,80,50,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"OK\",1,218,6,40,14,WS_GROUP\n    PUSHBUTTON      \"Annuler\",2,218,23,40,14,WS_GROUP\n    PUSHBUTTON      \"App&liquer\",1026,218,40,40,14,WS_GROUP\n    PUSHBUTTON      \"&Aide\",1038,218,57,40,14,WS_GROUP\n    GROUPBOX        \"Exemple\",1073,6,72,252,49,WS_GROUP\n    CTEXT           \"\",1093,4,69,1,1,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBbYyZz\",1092,9,82,244,34,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 77, 27, 160, 73\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formatage de la disquette en cours\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\",100,50,38,59,8\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,15,10,131,22\n    PUSHBUTTON      \"Masquer\",110,32,53,40,14\n    PUSHBUTTON      \"Annuler\",2,88,53,40,14\nEND\n\n51 DIALOG 10, 20, 260, 80\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmation: Ignorer le fichier ou le rpertoire et continuer\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Accs refus, ignorer:\",202,\"Static\",SS_LEFTNOWORDWRAP,27,11,227,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,100,11,156,10\n    CONTROL         \"Vous n'avez pas les permissions appropries ou le fichier\\n est en cours d'utilisation.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,27,26,227,17\n    CONTROL         \"Choisissez Oui pour ignorer ce fichier et continuer l'opration.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,27,44,227,10\n    DEFPUSHBUTTON   \"&Oui\",6,26,60,40,14\n    PUSHBUTTON      \"&Tout\",107,82,60,40,14\n    PUSHBUTTON      \"&Non\",7,138,60,40,14\n    PUSHBUTTON      \"Annuler\",2,194,60,40,14\nEND\n\n52 DIALOG 10, 20, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmation: Ignorer le fichier ou le rpertoire et continuer\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Aucun accs sur cible, ignorer:\",202,\"Static\",SS_LEFTNOWORDWRAP,24,13,105,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,124,13,106,10\n    CONTROL         \"Choisissez Oui pour ignorer ce fichier et continuer l'opration.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,24,24,207,10\n    DEFPUSHBUTTON   \"&Oui\",6,33,42,40,14\n    PUSHBUTTON      \"&Tout\",107,79,42,40,14\n    PUSHBUTTON      \"&Non\",7,125,42,40,14\n    PUSHBUTTON      \"Annuler\",2,171,42,40,14\nEND\n\n53 DIALOG 77, 109, 185, 69\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Recherche sur le disque\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Rechercher:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,5,44,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,53,5,128,10\n    CONTROL         \"A partir de:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,40,10\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,49,15,135,10\n    CONTROL         \"Rpertoires lus:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,25,55,10\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,63,25,116,10\n    CONTROL         \"Occurrences trouves:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,35,78,10\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,86,35,96,10\n    PUSHBUTTON      \"Masquer\",110,44,49,40,14\n    PUSHBUTTON      \"Annuler\",2,100,49,40,14\nEND\n\n54 DIALOG 20, 20, 254, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Copie vers le Presse-papiers\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Rpertoire courant: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,2,5,202,10\n    CONTROL         \"&Vers le Presse-papiers:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,78,10\n    EDITTEXT        102,82,19,122,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,208,6,40,14\n    PUSHBUTTON      \"Annuler\",2,208,23,40,14\n    PUSHBUTTON      \"&Aide\",254,208,43,40,14\nEND\n\n55 DIALOG 18, 14, 290, 224\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Modification du type de fichier\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Type de fichier:\",302,5,6,55,8\n    EDITTEXT        301,62,5,95,12,ES_AUTOHSCROLL\n    GROUPBOX        \"Act&ion: \",-1,5,22,235,126,WS_GROUP\n    COMBOBOX        306,37,22,48,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Commande:\",313,9,42,41,8\n    EDITTEXT        304,51,39,110,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"&Parcourir...\",318,167,38,47,14\n    CONTROL         \"&Utiliser le DDE\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,57,65,10\n    LTEXT           \"&Message DDE:\",320,18,72,52,8\n    EDITTEXT        309,97,70,100,12,ES_AUTOHSCROLL\n    LTEXT           \"L'application Message DDE &ne s'excute pas:\",322,18,84,78,19\n    LTEXT           \"(optionnel)\",324,200,90,36,8\n    EDITTEXT        311,97,88,100,12,ES_AUTOHSCROLL\n    LTEXT           \"App&lication:\",321,18,109,42,8\n    EDITTEXT        310,97,107,100,12,ES_AUTOHSCROLL\n    LTEXT           \"&Sujet:\",323,19,127,23,8\n    EDITTEXT        312,97,125,100,12,ES_AUTOHSCROLL\n    LTEXT           \"Nouvelle e&xtension:\",-1,9,184,68,8\n    EDITTEXT        315,78,183,32,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"Aj&outer ->\",303,113,174,50,14\n    PUSHBUTTON      \"<- Supp&rimer\",219,113,191,50,14\n    LTEXT           \"&Extensions:\",-1,167,162,41,8\n    LISTBOX         317,167,172,65,40,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Extensions associes avec ce type de fichier:\",316,5,154,235,66\n    DEFPUSHBUTTON   \"OK\",1,244,6,40,14\n    PUSHBUTTON      \"Annuler\",2,244,23,40,14\n    PUSHBUTTON      \"&Aide\",254,244,40,40,14\nEND\n\n57 DIALOG 123, 60, 224, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Avancement de la compression de fichiers\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Fichier en cours de compression:\",-1,6,8,111,8\n    LTEXT           \"nom_de_fichier.xxx\",341,118,8,90,8\n    LTEXT           \"Rpertoire:\",-1,6,20,40,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,51,20,165,8\n    LTEXT           \"Rpertoires compresss:\",-1,6,31,83,8\n    LTEXT           \"1,888,888,999\",343,93,31,128,8\n    LTEXT           \"Fichiers compresss:\",-1,6,43,71,8\n    LTEXT           \"1,888,888,999\",344,83,43,127,8\n    LTEXT           \"Taille totale des fichiers avant compression:\",-1,6,56,147,8\n    LTEXT           \"9,999,999,999,999\",345,156,56,68,8\n    LTEXT           \"Taille totale des fichiers aprs compression:\",-1,6,68,146,8\n    LTEXT           \"9,999,999,999,999\",346,156,69,68,8\n    LTEXT           \"Ratio de compression de fichier:\",-1,6,80,108,8\n    LTEXT           \"100%\",347,118,80,27,8\n    PUSHBUTTON      \"Annuler\",2,84,97,55,14\nEND\n\n58 DIALOG 114, 62, 197, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Avancement de la dcompression de fichiers\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Fichier en cours de dcompression:\",-1,6,8,119,8\n    LTEXT           \"nom_de_fichier.xxx\",351,126,8,66,8\n    LTEXT           \"Rpertoire:\",-1,6,20,40,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",352,47,20,144,8\n    LTEXT           \"Rpertoires dcompresss:\",-1,6,32,91,8\n    LTEXT           \"1,999,999,999\",353,99,32,96,8\n    LTEXT           \"Fichiers dcompresss:\",-1,6,44,86,8\n    LTEXT           \"1,999,999,999\",354,99,44,96,8\n    PUSHBUTTON      \"Annuler\",2,74,64,49,14\nEND\n\n59 DIALOG 11, 28, 245, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Erreur de compression\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,8,8,21,20\n    LTEXT           \"\",100,35,8,202,32\n    DEFPUSHBUTTON   \"&Ignorer\",5,4,47,57,14,WS_GROUP\n    PUSHBUTTON      \"Ignorer &tout\",112,64,47,57,14\n    PUSHBUTTON      \"&Recommencer\",4,124,47,57,14\n    PUSHBUTTON      \"A&bandonner\",3,184,47,57,14\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY, SHIFT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT\n    VK_F4,          1702,                   VIRTKEY, SHIFT\n    VK_F5,          1704,                   VIRTKEY \n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII   \n    VK_ADD,         301,                    VIRTKEY \n    \"*\",            302,                    ASCII   \n    VK_MULTIPLY,    302,                    VIRTKEY \n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL\n    \"-\",            304,                    ASCII   \n    VK_SUBTRACT,    304,                    VIRTKEY \n    VK_RETURN,      110,                    VIRTKEY, ALT\n    VK_F2,          2000,                   VIRTKEY \nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"CUR300.CUR\"\n\n\n301                     CURSOR                  \"CUR301.CUR\"\n\n\n302                     CURSOR                  \"CUR302.CUR\"\n\n\n303                     CURSOR                  \"CUR303.CUR\"\n\n\n306                     CURSOR                  \"CUR306.CUR\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ICO200.ICO\"\n\n\n201                     ICON                    \"ICO201.ICO\"\n\n\n202                     ICON                    \"ICO202.ICO\"\n\n\n204                     ICON                    \"ICO204.ICO\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,318\n PRODUCTVERSION 4,0,1381,318\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"040C04B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"Gestionnaire de fichiers\"\n            VALUE \"FileVersion\", \"4.00\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"Copyright (C) Microsoft Corp. 1981-1996\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"Systme d'exploitation Microsoft(R) Windows NT(TM)\"\n            VALUE \"ProductVersion\", \"4.00\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0x40c, 1200\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"Copier une disquette\"\n    51                      \"Insrez la disquette destination.\"\n    52                      \"Insrez la disquette source.\"\n    53                      \"Insrez les disquettes source et destination.\"\n    54                      \"Formatage de la disquette destination\"\n    55                      \"Erreur de copie de disquette\"\n    56                      \"Impossible de copier la disquette.\"\n    58                      \"Les disquettes source et destination sont incompatibles.\"\n    60                      \"%d%% effectus\"\n    61                      \"Cration du rpertoire racine...\"\n    62                      \"Copie des fichiers systme...\"\n    63                      \"Erreur de formatage de disquette\"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \"Formatage termin\"\n    67                      \"%ld octets sur la disquette.\\n%ld octets disponibles.\\n\\nVoulez-vous formater une autre disquette?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"Erreur rseau\"\n    83                      \"Ce lecteur contient les fichiers systme Windows NT et ne peut tre dconnect.\"\n    91                      \"Impossible de modifier les attributs.  \"\n    92                      \"Impossible de crer le rpertoire.  \"\n    93                      \"Le gestionnaire de fichiers n'a pas pu nommer le disque.\\n\\nVrifiez qu'il n'est pas protg en criture, que ce n'est pas un lecteur rseau, et que le nom est valide.\\nLes caractres interdits sont:\\n[espace] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n    95                      \"Aucun fichier n'a t trouv.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \"Le contenu de ce lecteur a chang. Voulez-vous mettre  jour la fentre Rsultats de la recherche?\"\n    98                      \"Vous devez conduire une session en tant qu'Administrateur pour accomplir cette opration sur les disques durs.\"\n    101                     \"Lecteur %c:%c\"\n    110                     \"Impossible d'excuter le programme\"\n    111                     \"Erreur inattendue: %d.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"Mmoire insuffisante pour lancer l'application spcifie.\\n\\nQuittez une ou plusieurs applications et essayez  nouveau.\"\n    113                     \"Impossible de trouver le fichier (ou l'un de ses composants).\\n\\nVrifiez que le chemin d'accs et le nom du fichier sont corrects et que toutes les bibliothques sont disponibles.\"\n    114                     \"Le chemin d'accs spcifi n'est pas valide.\"\n    116                     \"Aucune application n'est associe avec ce fichier.\\n\\nChoisissez la commande Associer du menu Fichier pour crer une association.\"\n    118                     \"Impossible d'ouvrir ou d'imprimer le fichier.\\n\\nLancez l'application utilise pour crer ce fichier, et ouvrez-le ou imprimez-le depuis celle-ci.\"\n    120                     \"Confirmer l'opration de la souris\"\n    121                     \"Etes-vous sr de vouloir copier les fichiers slectionns ou les rpertoires vers %s?\"\n    122                     \"Etes-vous sr de vouloir dplacer les fichiers ou les rpertoires slectionns vers %s?\"\n    123                     \"Etes-vous sr de vouloir excuter %s avec %s comme fichier initial?\"\n    124                     \"Gestionnaire de fichiers\"\n    126                     \"Arborescence de rpertoires\"\n    127                     \"Rsultats de la recherche sur: \"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \"Trop de fichiers\"\n    133                     \"Gestionnaire de fichiers - Mmoire insuffisante\"\n    134                     \"Impossible de lire entirement le rpertoire. Une partie seulement sera affiche.\"\n    140                     \"Rpertoire courant: %s\"\n    141                     \"Copier\"\n    143                     \"Renommer\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"Formater une disquette\"\n    146                     \"Slectionnez la disquette  formater.\"\n    150                     \"Cration:\"\n    151                     \"Suppression...\"\n    152                     \"Copie:\"\n    153                     \"Changement de nom...\"\n    154                     \"Dplacement...\"\n    155                     \"Suppression...\"\n    156                     \"Impression: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"Copie...\"\n    170                     \"Suppression:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \"Total %d fichier(s) (%s)\"\n    181                     \"Rpertoires lus: %d \"\n    182                     \"%c: %s libre,  %s total\"\n    183                     \"%d fichier(s) trouv(s)\"\n    185                     \"les fichiers slectionns\"\n    186                     \"Impossible de dconnecter le lecteur rseau.\\n\\nDes fichiers de ce lecteur sont ouverts.\"\n    187                     \"%d fichiers slectionns (%s)\"\n    188                     \"Il n'y a pas de disque dans le lecteur %c.\\n\\nInsrez un disque et essayez  nouveau.\"\n    189                     \"Le disque dans le lecteur %c n'est pas format.\\n\\nVoulez-vous le formater maintenant?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"Espace disque insuffisant pour imprimer.\\n\\nSupprimez un ou plusieurs fichiers pour librer de l'espace disque et essayez  nouveau.\"\n    193                     \"Mmoire insuffisante pour imprimer.\\n\\nQuittez une ou plusieurs applications, puis essayez  nouveau.\"\n    194                     \"Erreur pendant l'impression.\\n\\nAssurez-vous que l'imprimante est correctement configure et slectionne.\"\n    195                     \"L'arborescence affiche est incomplte.\"\n    197                     \"Le lecteur destination est plein.  Insrez un nouveau disque pour continuer.\"\n    198                     \"Ce fichier est un fichier systme, cach ou en lecture seule.\"\n    199                     \"Le Gestionnaire de fichiers ne peut effectuer un formatage rapide.\\n\\nVoulez-vous continuer avec un formatage normal?\"\n    203                     \"Une erreur est survenue lors de l'envoi de la commande  l'application.\"\n    204                     \"Impossible de charger la bibliothque ncessaire pour cette opration.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \"&Afficher les rpertoires partags...\"\n    210                     \"Le formatage dtruira TOUTES les donnes de la disquette. Etes-vous sr de vouloir formater la disquette dans le lecteur %c?\"\n    211                     \"Confirmer le formatage de la disquette\"\n    212                     \"Cette opration va effacer TOUTES les donnes de la disquette destination. Etes-vous sr de vouloir continuer?\"\n    213                     \"Confirmer la copie de la disquette\"\n    214                     \"Fe&rmer\"\n    215                     \"Fermer\"\n    218                     \"Le rpertoire %s n'existe pas.\\n\\nVoulez-vous le crer?\"\n    219                     \"Programmes#*.exe;*.pif;*.com;*.bat#Tous (*.*)#*.*#\"\n    220                     \"Parcourir\"\n    221                     \"Excuter\"\n    222                     \"Impossible d'imprimer le fichier\"\n    223                     \"Impossible d'afficher les informations de l'aide.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"Les fichiers avec une extension %s sont des programmes et ne peuvent pas tre associs  une autre application.\"\n    225                     \"%s n'est pas un programme et ne peut pas tre associ  une extension de fichier.\"\n    226                     \"(Aucun)\"\n    227                     \"Pas de fichier trouv.\"\n    228                     \"Impossible d'imprimer plusieurs fichiers en mme temps.\\n\\nSlectionnez un seul fichier et essayez  nouveau.\"\n    230                     \"Une des bibliothques ncessaires  l'excution de cette application est endommage. Rinstallez cette application.\"\n    231                     \"Ce fichier est utilis par une autre application.\"\n    232                     \"Le Gestionnaire de fichiers ne peut pas accder aux fichiers crs dans le rpertoire '%s'.\\n\\nVoulez-vous continuer?\"\n    233                     \"Crer un rpertoire\"\n    234                     \"%ld octets\"\n    235                     \"%s octets\"\n    236                     \"Impossible de copier plusieurs fichiers ou des rpertoires dans le Presse-papiers.\\n\\nSlectionnez un seul fichier et essayez  nouveau.\"\n    237                     \"%s - %s\"\n    238                     \"Lecteur:\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"Connexion au lecteur rseau\"\n    241                     \"Dconnexion du lecteur rseau...\"\n    242                     \"Connexions rseau\"\n    243                     \"Partager le rpertoire\"\n    244                     \"Cesser de partager le rpertoire\"\n    245                     \"Afficher tous les dtails de fichiers\"\n    246                     \"Afficher le nom seulement\"\n    247                     \"Trier par nom\"\n    248                     \"Trier par type\"\n    249                     \"Trier par taille\"\n    250                     \"Trier par date\"\n    251                     \"Nouvelle fentre\"\n    252                     \"Copier les fichiers\"\n    253                     \"Dplacer les fichiers\"\n    254                     \"&Nom du rpertoire:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"Le lecteur rseau n'est pas disponible.\"\n    259                     \"Nom de partage: %s\"\n    260                     \"Non partag(e)\"\n    261                     \"Supprimer les fichiers\"\n    262                     \" - COMPRESSE\"\n    263                     \"Copie les fichiers vers %s\"\n    264                     \"Dplace les fichiers vers %s\"\n    265                     \"Lance les fichiers avec %s\"\n    266                     \"%s octets\"\n    267                     \"%sKo\"\n    268                     \"%sMo\"\n    269                     \"%sGo\"\n    270                     \"%sTo\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \"Vous n'avez pas la permission d'accs  ce rpertoire.\"\n    281                     \"Vous n'avez pas la permission d'accs  ce fichier.\"\n    283                     \"Le lecteur %c: est occup et ne peut tre accd.\\nLe Gestionnaire de fichiers effectue une copie de disque.\"\n    284                     \"Le lecteur %c: est occup et ne peut tre accd.\\nLe Gestionnaire de fichiers effectue un formatage.\"\n    285                     \"Opration non compltement excute\"\n    286                     \"Impossible de terminer l'opration sur tous les fichiers et rpertoires.\"\n    287                     \"Impossible de lire le rpertoire\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"Le rpertoire n'existe pas.\"\n    289                     \"Impossible de se connecter au lecteur rseau\"\n    290                     \"Le nom rseau ne peut tre trouv.\"\n    292                     \"Tout affecte tous les fichiers, y compris les \\nfichiers systme, cachs ou lecture seule.\"\n    294                     \"Ouvrir\"\n    295                     \"Imprimer\"\n    298                     \"Ajouter l'extension\"\n    299                     \"L'extension '%s' est actuellement associe avec '%s.'  Continuer et remplacer cette association?\"\n    300                     \"Editeur d'associations\"\n    301                     \"Impossible d'associer l'extension.  \"\n    302                     \"Impossible de supprimer l'extension.  \"\n    303                     \"Impossible d'ajouter le type de fichier.  \"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"Impossible de supprimer le type de fichier.  \"\n    305                     \"Impossible de lire le type de fichier.  \"\n    306                     \"Le type de fichier ne peut tre vide.  Veuillez indiquer un nouveau type.\"\n    307                     \"Impossible de gnrer un identificateur unique fond sur votre type de fichier.  Veuillez indiquer un nouveau type.\"\n    308                     \"Supprimer un type de fichier\"\n    309                     \"Ceci va supprimer le type de fichier et toutes les extensions associes.  Etes-vous sr de vouloir supprimer '%s'?\"\n    312                     \"Le type de fichier doit comporter une commande pour au moins l'une de ses actions.  Veuillez indiquer une application dans la zone Commande.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"Nouveau type de fichier\"\n    321                     \"Copie de la disquette en cours\"\n    322                     \"Recherche...\"\n    324                     \"Le Gestionnaire de fichiers est en train de formater une disquette.  Quitter va annuler cette opration.\"\n    325                     \"Le Gestionnaire de fichiers est en train de copier une disquette.  Quitter va annuler cette opration.\"\n    326                     \"% effectus\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360Ko\"\n    354                     \"1%s2 Mo\"\n    355                     \"720Ko\"\n    356                     \"1%s44 Mo\"\n    357                     \"2%s88 Mo\"\n    358                     \"Capacit du lecteur\"\n    359                     \"Impossible d'obtenir l'information sur la disquette.\\n\\nVrifiez que la disquette est dans le lecteur.\"\n    360                     \"20%s8 Mo\"\n    361                     \"Type de disquette inconnu\"\n    362                     \"Type de disquette inconnu\"\n    363                     \"Le type de disquette dans le lecteur %s ne peut pas tre format avec le gestionnaire de fichiers. Veuillez utiliser l'administrateur de disque pour formater cette disquette\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"Systme de fichiers incompatible.\"\n    401                     \"Accs refus.\"\n    402                     \"La disquette est protge en criture.\"\n    403                     \"Impossible de verrouiller ce volume.\"\n    404                     \"Impossible d'effectuer un formatage rapide.\\n\\nAssurez-vous que la densit de la disquette est correcte.\"\n    405                     \"Erreur d'E/S sur le disque source.\"\n    406                     \"Erreur d'E/S sur le disque destination.\"\n    407                     \"Erreur d'E/S  la fois sur le disque source et le disque destination.\"\n    408                     \"Erreur d'entre/sortie.\"\n    411                     \"Impossible de formater la disquette.\\n\\nVrifiez que la disquette est dans le lecteur et n'est pas protge en criture, endommage, ou de densit incorrecte.\"\n    412                     \"Le gestionnaire de fichiers ne peut pas nommer le volume.\\n\\nLe nom n'est pas valide.  Vrifiez que le nom ne contient aucun des caractres suivants\\n\\n[espace] *? / \\\\ | . , ;: + = [ ] ( )  ^ < > \"\" \"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \"Ouverture...\"\n    421                     \"Fermeture...\"\n    422                     \"Trop de fentres de rpertoire sont ouvertes.\\n\\nFermez une ou plusieurs fentres puis essayez  nouveau.\"\n    423                     \"Formatage rapide...\"\n    424                     \"Impossible d'initialiser la mise  jour.  Le Gestionnaire de fichiers va quitter.  \"\n    425                     \"Initialisation du Gestionnaire de fichiers\"\n    426                     \"Lecture du rpertoire, veuillez patienter...\"\n    427                     \"Voulez-vous galement compresser tous les fichiers et sous-rpertoires dans %s? \"\n    428                     \"Voulez-vous galement dcompresser tous les fichiers et sous-rpertoires dans %s? \"\n    429                     \"Le gestionnaire fichiers ne peut pas modifier les attributs de compression pour %s.\"\n    430                     \"Le fichier %s ne sera pas compress. La compression de ce fichier peut rendre le systme inamorable.\"\n    431                     \"Le gestionnaire de fichiers est actuellement en train de compresser/dcompresser des fichiers.\\nVous devez attendre qu'il ait termin avant d'essayer de compresser/dcompresser des fichiers supplmentaires.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"Commentaires\"\n    501                     \"Organisation\"\n    502                     \"Description du fichier\"\n    503                     \"Nom interne\"\n    504                     \"Marques lgales\"\n    505                     \"Nom d'origine du fichier\"\n    506                     \"Description personnelle de compilation\"\n    507                     \"Nom du produit\"\n    508                     \"Version du produit\"\n    509                     \"Description spciale de compilation\"\n    510                     \"Langue\"\n    511                     \"Langues\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"C&onnecter un lecteur rseau...\"\n    801                     \"&Dconnecter un lecteur rseau...\"\n    802                     \"Conne&xions rseau...\"\n    803                     \"&Partager...\"\n    804                     \"C&esser de partager...\"\n    805                     \"&Afficher les rpertoires partags...\"\n    806                     \"&Annuler la suppression...\"\n    807                     \"&Nouvelle fentre lors de connexion\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \"Erreur de dplacement de fichier\"\n    1002                    \"Erreur de copie de fichier\"\n    1003                    \"Erreur de suppression de fichier\"\n    1004                    \"Erreur en renommant le fichier\"\n    1005                    \"Erreur de slection du lecteur\"\n    1006                    \"Erreur de lecture du rpertoire\"\n    1007                    \"Erreur en nommant le volume\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"Impossible de dplacer %s: %s\"\n    1012                    \"Impossible de copier %s: %s\"\n    1013                    \"Impossible de supprimer %s: %s\"\n    1014                    \"Impossible de renommer %s: %s\"\n    1021                    \"Impossible de crer le rpertoire %s: %s\"\n    1022                    \"Impossible de supprimer le rpertoire %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"Impossible de crer ou de remplacer %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"Les lecteurs source et destination sont les mmes .\"\n    1102                    \"Slectionnez seulement un fichier  renommer ou utilisez les caractres gnriques pour renommer un groupe de fichiers avec des noms similaires (Ex: *.txt).\"\n    1103                    \"Impossible de renommer sur un disque ou rpertoire diffrent.\\nUtilisez plutt la commande Dplacer du menu Fichier.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"Impossible de renommer le rpertoire racine.\"\n    1105                    \"Le rpertoire destination est un sous-rpertoire du rpertoire source.\"\n    1106                    \"Fichier actuellement utilis par Windows.\"\n    1107                    \"Spcifiez seulement un fichier ou un rpertoire dans la zone Vers. Pour spcifier un groupe de fichiers, utilisez les caractres gnriques (Ex: *.txt).\"\n    1108                    \"Un fichier ou un rpertoire porte dj ce nom.  Dans un rpertoire, les noms de fichiers et de rpertoires doivent tre uniques.\"\n    1109                    \"Assurez-vous que le chemin et le nom de fichier spcifis sont corrects.\"\n    1110                    \"Assurez-vous que le chemin d'accs correct est spcifi.\"\n    1111                    \"Quittez une ou plusieurs applications et essayez  nouveau. Vous pouvez aussi utiliser l'option Systme du Panneau de configuration pour augmenter la mmoire virtuelle.\"\n    1113                    \"Enlevez la protection en criture sur ce disque ou utilisez un autre disque, puis essayez  nouveau.\"\n    1114                    \"Assurez-vous que vous avez les permissions rseau correctes pour accomplir cette opration.\"\n    1115                    \"Supprimez un ou plusieurs fichiers pour librer de l'espace disque puis essayez  nouveau.\"\n    1116                    \"Pas de donnes dtectes sur ce mdia.\"\n    1117                    \"Le rpertoire existe dj.\"\n    1118                    \"Le nom spcifi est dj utilis par un fichier.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"La mauvaise disquette est dans le lecteur.\"\n    1151                    \"Cette application ne peut pas s'excuter en mode Windows NT.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \"Le systme d'exploitation ne peut pas excuter ce composant.\"\n    1153                    \"Ce composant ne peut pas s'excuter en mode Windows NT.\"\n    1154                    \"Ce programme n'est pas une application Windows NT valide.\"\n    1155                    \"Une erreur s'est produite.  Pas de message pour cette erreur.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \"Rs[(&F):\"\n    2001                    \"Rs[(&T):\"\n    2002                    \"̖O(&F):\"\n    2003                    \"VO(&T):\"\n    2004                    \"Rs[:\"\n    2005                    \"̃tHg?gpƊ?̕\\\\?\\nłȂȂ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"Commandes de traitement des fichiers\"\n    3985                    \"Commandes de traitement des disques\"\n    3986                    \"Commandes de modification de l'arborescence\"\n    3987                    \"Commandes de dfinition de l'affichage\"\n    3988                    \"Commandes de modification des options\"\n    3989                    \"Commandes de manipulation de la scurit des fichiers et rpertoires\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"Commandes de disposition des fentres\"\n    4001                    \"Commandes d'accs  l'aide\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"Recherche une rubrique dans l'aide du Gestionnaire de fichiers\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \"Ouvre l'lment slectionn\"\n    4102                    \"Imprime un document\"\n    4103                    \"Associe un fichier  une application\"\n    4104                    \"Recherche des fichiers et des rpertoires\"\n    4105                    \"Excute ou ouvre une application ou un document\"\n    4106                    \"Dplace l'lment slectionn\"\n    4107                    \"Copie des fichiers et des rpertoires\"\n    4108                    \"Supprime des fichiers et des rpertoires\"\n    4109                    \"Renomme un fichier ou rpertoire\"\n    4110                    \"Modifie les attributs de fichiers et affiche les proprits\"\n    4111                    \"Cre un rpertoire\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"Quitte le Gestionnaire de fichiers\"\n    4116                    \"Slectionne des fichiers et des rpertoires\"\n    4117                    \"Rcupre des fichiers supprims\"\n    4118                    \"Copie un fichier vers le Presse-papiers\"\n    4119                    \"Compresse un fichier ou un rpertoire\"\n    4120                    \"Dcompresse un fichier ou un rpertoire\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"Copie le contenu d'une disquette\"\n    4202                    \"Affecte ou modifie le nom de volume d'un disque\"\n    4203                    \"Formate une disquette\"\n    4205                    \"Se connecte  un lecteur rseau\"\n    4206                    \"Se dconnecte d'un lecteur rseau\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"Slectionne un autre lecteur\"\n    4254                    \"Partage un rpertoire\"\n    4255                    \"Cesse de partager un rpertoire\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"Affiche un autre niveau d'un rpertoire\"\n    4302                    \"Affiche tous les niveaux d'un rpertoire\"\n    4303                    \"Affiche tous les niveaux de tous les rpertoires\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \"Rduit tous les rpertoires d'un rpertoire slectionn\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \"N'affiche que les noms de fichier\"\n    4402                    \"Affiche tous les dtails des fichiers\"\n    4403                    \"Affiche des dtails partiels des fichiers\"\n    4404                    \"Trie les fichiers par nom\"\n    4405                    \"Trie les fichiers par type\"\n    4406                    \"Trie les fichiers par taille\"\n    4407                    \"Trie les fichiers par date\"\n    4409                    \"Affiche les fichiers d'un certain type\"\n    4411                    \"Affiche l'arborescence\"\n    4412                    \"Affiche le contenu du rpertoire courant\"\n    4413                    \"Affiche l'arborescence et le contenu du rpertoire courant\"\n    4414                    \"Fractionne la fentre de rpertoire ou dplace la barre de fractionnement\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"Contrle les messages de confirmation\"\n    4503                    \"Affiche ou masque la barre d'tat\"\n    4504                    \"Rduit le Gestionnaire de fichiers en une icne au dmarrage\"\n    4505                    \"Indique les rpertoires qui ont des sous-rpertoires\"\n    4507                    \"Affiche ou masque la barre de lecteurs\"\n    4508                    \"Afficher ou masque la barre d'outils\"\n    4509                    \"Ouvre une nouvelle fentre lorsque vous vous connectez\"\n    4510                    \"Modifie la police utilise par le Gestionnaire de fichiers\"\n    4511                    \"Enregistre la configuration lorsque vous quittez le Gestionnaire de fichiers\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"Personnalise la barre d'outils\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"Affiche ou affecte les permissions du ou des objets slectionns\"\n    4606                    \"Affiche ou affecte les informations d'audit du ou des objets slectionns\"\n    4607                    \"Affiche ou affecte la proprit du ou des objets slectionns\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"Dispose les fentres en cascade\"\n    5702                    \"Dispose les fentres en mosaque verticale\"\n    5703                    \"Dispose les fentres en mosaque horizontale\"\n    5704                    \"Met  jour le contenu d'une fentre\"\n    5705                    \"Rorganise les icnes\"\n    5706                    \"Ouvre une nouvelle fentre\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"Affiche le sommaire de l'aide du Gestionnaire de fichiers\"\n    5802                    \"Affiche l'aide sur l'aide\"\n    5803                    \"Affiche des informations  propos du Gestionnaire de fichiers\"\nEND\n\n#endif    // French (France) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/origrc/winfile.hu-HU.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Hungarian (Hungary) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_HUN)\nLANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT\n#pragma code_page(1250)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"BMP100.BMP\"\n\n\n101                     BITMAP                  \"BMP101.BMP\"\n\n\n102                     BITMAP                  \"BMP102.BMP\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"&Fjl\"\n    BEGIN\n        MENUITEM \"Me&gnyits\\tEnter\",           101\n        MENUITEM \"t&helyezs...\\tF7\",          106\n        MENUITEM \"&Msols...\\tF8\",             107\n        MENUITEM \"Msols a &Vglapra...\\tF9\", 118\n        MENUITEM \"&Trls...\\tDel\",             108\n        MENUITEM \"t&nevezs...\",               109\n        MENUITEM \"T&ulajdonsgok...\\tAlt+Enter\", 110\n        MENUITEM SEPARATOR\n        MENUITEM \"Tmrt&s...\",               119\n        MENUITEM \"Ki&bonts...\",                120\n        MENUITEM SEPARATOR\n        MENUITEM \"&Futtats...\",                105\n        MENUITEM \"N&yomtats...\",               102\n        MENUITEM \"T&rsts...\",                103\n        MENUITEM SEPARATOR\n        MENUITEM \"Knyvtr ltreho&zsa...\",    111\n        MENUITEM \"&Keress...\",                 104\n        MENUITEM \"F&jlok kijellse...\",       116\n        MENUITEM SEPARATOR\n        MENUITEM \"Kil&ps\",                    115\n    END\n    POPUP \"&Lemez\"\n    BEGIN\n        MENUITEM \"Leme&zmsols...\",            201\n        MENUITEM \"Lemez &cmkzse...\",         202\n        MENUITEM SEPARATOR\n        MENUITEM \"Lemez&formzs...\",           203\n        MENUITEM SEPARATOR\n        MENUITEM \"Lemezmegh&ajt...\",           251\n    END\n    POPUP \"&Knyvtrfa\"\n    BEGIN\n        MENUITEM \"&Egy szint kibontsa\\t+\",     301\n        MENUITEM \"g &kibontsa\\t*\",            302\n        MENUITEM \"&Mindet kibontja\\tCtrl+*\",    303\n        MENUITEM \"g &bezrsa\\t-\",             304\n        MENUITEM SEPARATOR\n        MENUITEM \"Kib&onthat gak jellse\",   505\n    END\n    POPUP \"&Nzet\"\n    BEGIN\n        MENUITEM \"&Fa s tartalom\",             413\n        MENUITEM \"&Csak a fa\",                  411\n        MENUITEM \"C&sak knyvtrat\",            412\n        MENUITEM SEPARATOR\n        MENUITEM \"&Kettoszts\",                414\n        MENUITEM SEPARATOR\n        MENUITEM \"N&v\",                        401\n        MENUITEM \"&Minden adat\",                402, CHECKED\n        MENUITEM \"Az adatok egy &rsze...\",     403\n        MENUITEM SEPARATOR\n        MENUITEM \"&Nv szerinti rendezs\",      404\n        MENUITEM \"&Tpus szerinti rendezs\",    405\n        MENUITEM \"Mret s&zerinti rendezs\",    406\n        MENUITEM \"&Dtum szerinti rendezs\",    407\n        MENUITEM SEPARATOR\n        MENUITEM \"M&utatott fjltpusok...\",    409\n    END\n    POPUP \"&Belltsok\"\n    BEGIN\n        MENUITEM \"&Jvhagys...\",              501\n        MENUITEM \"&Bettpus...\",               510\n        MENUITEM \"Eszkz&tr testreszabsa...\", 512\n        MENUITEM SEPARATOR\n        MENUITEM \"&Eszkztr\",                  508\n        MENUITEM \"&Lemezmeghajtsor\",           507\n        MENUITEM \"llapot&sor\",                 503\n        MENUITEM SEPARATOR\n        MENUITEM \"Kis mret &hasznlat\",       504\n        MENUITEM \"llapot &mentse kilpskor\", 511\n    END\n    POPUP \"A&datbiztonsg\"\n    BEGIN\n        MENUITEM \"&Engedlyek...\",              605\n        MENUITEM \"&Naplzs...\",                606\n        MENUITEM \"&Tulajdonos...\",              607\n    END\n    POPUP \"&Ablak\"\n    BEGIN\n        MENUITEM \"j &ablak\",                   1706\n        MENUITEM \"&Lpcszetes elrendezs\\tShift+F5\", 1701\n        MENUITEM \"&Vzszintes mozaik elrendezs\", 1703\n        MENUITEM \"Fggleges &mozaik elrendezs\\tShift+F4\", 1702\n        MENUITEM \"&Ikonok elrendezse\",         1705\n        MENUITEM \"&Frissts\\tF5\",              1704\n    END\n    POPUP \"&Sg\"\n    BEGIN\n        MENUITEM \"&Tartalom\",                   1801\n        MENUITEM \"Tma&krk keresse...\",      30\n        MENUITEM \"&Hasznlat\",                  1802\n        MENUITEM SEPARATOR\n        MENUITEM \"&Nvjegy...\",                 1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 12, 210, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Futtats\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,162,10\n    CONTROL         \"&Parancssor:\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,3,18,60,10\n    EDITTEXT        201,3,29,134,12,ES_AUTOHSCROLL\n    CONTROL         \"&Indts kis mretben\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,3,45,86,12\n    DEFPUSHBUTTON   \"OK\",1,165,6,40,14\n    PUSHBUTTON      \"Mgse\",2,165,23,40,14\n    PUSHBUTTON      \"&Sg\",254,165,43,40,14\nEND\n\n11 DIALOG 20, 20, 275, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Nyomtats\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,218,10\n    CONTROL         \"&Nyomtatand fjl:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,59,10\n    EDITTEXT        102,62,18,160,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,38,36,190,10\n    DEFPUSHBUTTON   \"OK\",1,232,6,40,14\n    PUSHBUTTON      \"Mgse\",2,232,23,40,14\n    PUSHBUTTON      \"&Sg\",254,232,43,40,14\nEND\n\n12 DIALOG 20, 20, 280, 118\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Trsts\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Adott kiterjeszts &fjlok:\",-1,6,7,85,8\n    COMBOBOX        315,93,5,44,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"Trstott &alkalmazs:\",-1,6,30,92,10\n    EDITTEXT        304,6,42,172,12,ES_AUTOHSCROLL\n    LISTBOX         314,11,54,167,62,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"&Tallzs...\",318,130,24,47,14\n    DEFPUSHBUTTON   \"OK\",1,187,6,87,14,WS_GROUP\n    PUSHBUTTON      \"Mgse\",2,187,23,87,14\n    PUSHBUTTON      \"j tp&us...\",300,187,42,87,14\n    PUSHBUTTON      \"Tpus &megvltoztatsa...\",251,187,59,87,14\n    PUSHBUTTON      \"Tpus t&rlse\",219,187,76,87,14\n    PUSHBUTTON      \"&Sg\",254,187,95,87,14\nEND\n\n13 DIALOG 20, 20, 269, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Keress\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Fjlnv:\",-1,\"Static\",SS_LEFTNOWORDWRAP,4,6,45,12\n    EDITTEXT        201,58,5,160,12,ES_AUTOHSCROLL\n    CONTROL         \"&Kezd knyvtr:\",-1,\"Static\",SS_LEFTNOWORDWRAP,4,21,53,12\n    EDITTEXT        101,58,20,160,12,ES_AUTOHSCROLL\n    CONTROL         \"&Alknyvtrakban is keres\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,58,34,107,12\n    DEFPUSHBUTTON   \"OK\",1,223,6,40,14\n    PUSHBUTTON      \"Mgse\",2,223,23,40,14\n    PUSHBUTTON      \"&Sg\",254,223,43,40,14\nEND\n\n14 DIALOG 47, 59, 231, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"thelyezs\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Aktulis knyvtr: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,182,10\n    CONTROL         \"&Cl:\",2001,\"Static\",SS_LEFTNOWORDWRAP,3,33,20,10\n    EDITTEXT        103,37,32,138,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,49,40,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,45,49,140,10\n    DEFPUSHBUTTON   \"OK\",1,185,6,40,14\n    PUSHBUTTON      \"Mgse\",2,185,23,40,14\n    PUSHBUTTON      \"&Sg\",254,185,40,40,14\n    CONTROL         \"&Forrs:\",2002,\"Static\",SS_LEFTNOWORDWRAP,3,19,26,10\n    EDITTEXT        102,37,18,138,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Trls\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Aktulis knyvtr: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"&Trlend:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,35,10\n    EDITTEXT        102,40,19,155,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,35,35,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,40,35,155,10\n    DEFPUSHBUTTON   \"OK\",1,200,6,40,14\n    PUSHBUTTON      \"Mgse\",2,200,23,40,14\n    PUSHBUTTON      \"&Sg\",254,200,40,40,14\nEND\n\n16 DIALOG 23, 13, 268, 229\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"%s tulajdonsgai\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,214,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Mgse\",2,214,23,50,14\n    PUSHBUTTON      \"&Sg\",254,214,40,50,14\n    CONTROL         \"&Fjlnv:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,55,10\n    EDITTEXT        201,78,5,126,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"E&lrsi t:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,78,16,126,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Legutbbi mdosts:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,68,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,78,27,126,10\n    CONTROL         \"Verzi:\",258,\"Static\",SS_LEFTNOWORDWRAP,5,38,45,10\n    CONTROL         \"Nincs megjellve\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,78,38,132,10\n    LTEXT           \"&Copyright:\",-1,5,49,45,10\n    EDITTEXT        265,78,49,132,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Mret:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,60,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,78,60,132,10\n    CONTROL         \"Tmrtett mret:\",268,\"Static\",SS_LEFTNOWORDWRAP,5,71,62,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,78,71,132,10\n    CONTROL         \"Tmrtsi arny:\",270,\"Static\",SS_LEFTNOWORDWRAP,5,82,62,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,78,82,132,10\n    GROUPBOX        \"Attribtumok\",-1,4,96,120,54\n    CONTROL         \"rs&vdett\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,108,52,12\n    CONTROL         \"&Rejtett\",216,\"Button\",BS_AUTOCHECKBOX,71,108,49,12\n    CONTROL         \"&Archivland\",217,\"Button\",BS_AUTOCHECKBOX,9,120,56,12\n    CONTROL         \"R&endszer\",218,\"Button\",BS_AUTOCHECKBOX,71,120,49,12\n    CONTROL         \"&Tmrtve\",267,\"Button\",BS_AUTOCHECKBOX,9,132,52,12\n    GROUPBOX        \"Verz&iinformci\",262,4,155,250,70\n    LISTBOX         263,9,168,91,58,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,110,168,138,58,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 200, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Knyvtr ltrehozsa\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,154,10\n    CONTROL         \"&Nv:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,23,20,10\n    EDITTEXT        201,30,22,90,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,46,150,10\n    DEFPUSHBUTTON   \"OK\",1,157,6,40,14\n    PUSHBUTTON      \"Mgse\",2,157,23,40,14\n    PUSHBUTTON      \"&Sg\",254,157,43,40,14\nEND\n\n19 DIALOG 20, 20, 157, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Lemezmsols\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Forrslemez:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,50,10\n    COMBOBOX        245,55,6,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Cllemez:\",206,\"Static\",SS_LEFTNOWORDWRAP,5,22,50,10\n    COMBOBOX        222,55,20,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Mgse\",2,110,23,40,14\n    PUSHBUTTON      \"&Sg\",254,110,43,40,14\nEND\n\n22 DIALOG 30, 30, 130, 55\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Lemez msolsa\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Msols alatt: \",-1,0,5,130,10,NOT WS_GROUP\n    CTEXT           \"A: lemezmeghajt\",222,0,15,130,10,NOT WS_GROUP\n    CTEXT           \"Forrslemez olvassa.\",243,0,26,130,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Mgse\",2,44,39,44,14\nEND\n\n23 DIALOG 20, 20, 161, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Lemez cmkzse\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Cmke:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,30,10\n    EDITTEXT        201,5,26,100,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,115,6,40,14\n    PUSHBUTTON      \"Mgse\",2,115,23,40,14\n    PUSHBUTTON      \"&Sg\",254,115,43,40,14\nEND\n\n24 DIALOG 11, 28, 183, 96\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Lemezformzs\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,140,6,40,14\n    PUSHBUTTON      \"Mgse\",2,140,23,40,14\n    PUSHBUTTON      \"&Sg\",254,140,43,40,14\n    CONTROL         \"&Lemezmeghajt:\",-1,\"Static\",SS_LEFTNOWORDWRAP,6,7,55,10\n    COMBOBOX        222,62,4,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Kapacits:\",-1,\"Static\",SS_LEFTNOWORDWRAP,6,20,49,10\n    COMBOBOX        241,62,19,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Belltsok\",102,6,39,115,53,WS_GROUP\n    CONTROL         \"&Cmke:\",-1,\"Static\",SS_LEFTNOWORDWRAP,12,51,23,10\n    EDITTEXT        201,41,49,63,12\n    CONTROL         \"&Gyors formzs\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,12,62,90,12\nEND\n\n26 DIALOG 30, 30, 150, 50\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Lemez formzsa\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Lemez formzsa folyamatban...\",-1,0,5,150,10,NOT WS_GROUP\n    CTEXT           \"A meghajt inicializlsa...\",243,0,17,150,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Mgse\",2,54,30,44,14\nEND\n\n30 DIALOG 20, 20, 174, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Rszleges adatok\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Rszletek\",-1,4,4,121,74\n    CONTROL         \"&Mret\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,15,100,12\n    CONTROL         \"Legutbbi m&dosts dtuma\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,27,109,12\n    CONTROL         \"Legutbb&i mdosts idpontja\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,39,112,12\n    CONTROL         \"&Fjlattribtumok\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,51,100,12\n    CONTROL         \"M&S-DOS fjlnevek\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,63,100,12\n    DEFPUSHBUTTON   \"OK\",1,130,6,40,14\n    PUSHBUTTON      \"Mgse\",2,130,23,40,14\n    PUSHBUTTON      \"S&g\",254,130,60,40,14\nEND\n\n32 DIALOG 20, 20, 157, 102\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Mutatott fjltpusok\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Nv:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,23,10\n    EDITTEXT        201,34,6,65,12,ES_AUTOHSCROLL\n    GROUPBOX        \"Fjltpus\",-1,5,20,94,62\n    CONTROL         \"&Knyvtrak\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,31,60,12\n    CONTROL         \"&Programok\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,43,60,12\n    CONTROL         \"&Dokumentumok\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,55,67,12\n    CONTROL         \"&Egyb fjlok\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,60,12\n    CONTROL         \"&Rejtett s rendszer fjlok megjelentse\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,5,85,152,12\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Mgse\",2,110,23,40,14\n    PUSHBUTTON      \"&Sg\",254,110,43,40,14\nEND\n\n33 DIALOG 20, 20, 231, 92\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Megersts\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Megerstend mveletek\",-1,4,3,177,85,WS_TABSTOP\n    CONTROL         \"Fjl &trlse\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,9,15,80,12\n    CONTROL         \"&Knyvtr trlse\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,9,27,80,12\n    CONTROL         \"Fjl &fellrsa\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,9,39,80,12\n    CONTROL         \"&Egrmvelet\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,9,51,80,12\n    CONTROL         \"&Lemezparancsok\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,9,63,80,12\n    CONTROL         \"&Rendszer, rejtett s rsvdett fjlok mdostsa\",215,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,9,75,170,12\n    DEFPUSHBUTTON   \"OK\",1,185,6,40,14\n    PUSHBUTTON      \"Mgse\",2,185,23,40,14\n    PUSHBUTTON      \"&Sg\",254,185,44,40,14\nEND\n\n35 DIALOG 20, 20, 250, 46\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"thelyezs...\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,5,49,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,5,192,10\n    CONTROL         \"Cl:\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,15,25,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,15,192,10\n    DEFPUSHBUTTON   \"Mgse\",2,200,28,40,14,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 120, 58\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Fjl nyomtatsa...\",-1,4,6,120,12\n    CTEXT           \"\",-1,4,20,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"Mgse\",2,44,40,32,14,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 206, 88\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Tulajdonsgok\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"%d fjl van kijellve\",100,\"Static\",SS_LEFTNOWORDWRAP,5,5,144,10\n    CONTROL         \"sszesen %s bjt\",111,\"Static\",SS_LEFTNOWORDWRAP,5,16,144,10\n    GROUPBOX        \"Attribtumok\",-1,5,29,120,54\n    CONTROL         \"rs&vdett\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,40,52,12\n    CONTROL         \"R&ejtett\",216,\"Button\",BS_AUTOCHECKBOX,72,40,52,12\n    CONTROL         \"&Archivland\",217,\"Button\",BS_AUTOCHECKBOX,10,52,56,12\n    CONTROL         \"&Rendszer\",218,\"Button\",BS_AUTOCHECKBOX,72,52,52,12\n    CONTROL         \"&Tmrtett\",267,\"Button\",BS_AUTOCHECKBOX,10,64,52,12\n    DEFPUSHBUTTON   \"OK\",1,150,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Mgse\",2,150,23,50,14\n    PUSHBUTTON      \"&Sg\",254,150,43,50,14\nEND\n\n39 DIALOG 10, 20, 245, 95\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Fjlcsere megerstse\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Cserlend fjl:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,12,53,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,77,12,165,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,75,22,170,10\n    CONTROL         \"j fjl:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,34,49,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,34,165,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,75,44,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,54,203,10\n    DEFPUSHBUTTON   \"&Igen\",6,25,73,46,14\n    PUSHBUTTON      \"Igen, &mindet\",107,77,73,46,14\n    PUSHBUTTON      \"&Nem\",7,129,73,46,14\n    PUSHBUTTON      \"Mgse\",2,181,73,46,14\nEND\n\n40 DIALOG 10, 20, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Fjltrls megerstse\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Trlend fjl:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,44,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Igen\",6,20,42,48,14\n    PUSHBUTTON      \"Igen, &mindet\",107,74,42,48,14\n    PUSHBUTTON      \"&Nem\",7,128,42,48,14\n    PUSHBUTTON      \"Mgse\",2,182,42,48,14\nEND\n\n41 DIALOG 10, 20, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Knyvtrtrls megerstse\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Trlend knyvtr:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,63,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,88,18,154,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Igen\",6,22,42,47,14\n    PUSHBUTTON      \"Igen, &mindet\",107,75,42,47,14\n    PUSHBUTTON      \"&Nem\",7,128,42,47,14\n    PUSHBUTTON      \"Mgse\",2,181,42,47,14\nEND\n\n42 DIALOG 10, 22, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Fjlthelyezs megerstse\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"thelyezend fjl:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,44,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Igen\",6,13,42,51,14\n    PUSHBUTTON      \"Igen, &mindet\",107,70,42,51,14\n    PUSHBUTTON      \"&Nem\",7,127,42,51,14\n    PUSHBUTTON      \"Mgse\",2,184,42,51,14\nEND\n\n43 DIALOG 10, 22, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Fjltnevezs megerstse\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"tnevezend fjl:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,58,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,83,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Igen\",6,21,42,47,14\n    PUSHBUTTON      \"Igen, &mindet\",107,74,42,47,14\n    PUSHBUTTON      \"&Nem\",7,127,42,47,14\n    PUSHBUTTON      \"Mgse\",2,180,42,47,14\nEND\n\n44 DIALOG 15, 12, 157, 83\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Fjlvlaszts\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Fjl(ok):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,60,10\n    EDITTEXT        201,5,29,60,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"&Kijells\",1,70,6,85,14\n    PUSHBUTTON      \"Kijells &megszntetse\",6,70,23,85,14\n    PUSHBUTTON      \"Mgse\",2,70,40,85,14\n    PUSHBUTTON      \"&Sg\",254,70,63,85,14\nEND\n\n45 DIALOG 11, 31, 201, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Lemezmeghajt vlasztsa\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Lemezmeghajt:\",245,\"Static\",SS_LEFTNOWORDWRAP,5,5,59,10\n    LISTBOX         222,5,16,140,60,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,155,6,40,14\n    PUSHBUTTON      \"Mgse\",2,155,23,40,14\n    PUSHBUTTON      \"&Sg\",254,155,44,40,14\nEND\n\n46 DIALOG 11, 28, 254, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Fjlnv vlasztsa\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Ez az elrsi t nem felel meg a FAT tpus fjlnevek formtumnak. Adjon meg egy j nevet.\",99,8,4,190,24,NOT WS_GROUP\n    RTEXT           \"j &nv:\",-1,9,56,50,12,NOT WS_GROUP\n    EDITTEXT        103,61,55,130,12\n    RTEXT           \"Eredeti elrsi t:\",-1,2,28,57,11,NOT WS_GROUP\n    EDITTEXT        102,61,28,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \"Clknyvtr:\",-1,9,42,50,11,NOT WS_GROUP\n    EDITTEXT        101,61,42,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"OK\",1,209,4,40,14\n    PUSHBUTTON      \"Mgse\",2,209,20,40,14\n    PUSHBUTTON      \"&Sg\",254,209,36,40,14\nEND\n\n48 DIALOG 23, 13, 274, 119\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"%s tulajdonsgai\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,217,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Mgse\",2,217,23,50,14\n    PUSHBUTTON      \"&Sg\",254,217,43,50,14\n    CONTROL         \"&Fjlnv:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,55,10\n    EDITTEXT        201,82,5,134,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"E&lrsi t:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,82,16,134,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Legutbbi mdosts:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,69,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,82,27,97,10\n    CONTROL         \"Mret:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,38,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,82,38,90,10\n    GROUPBOX        \"Attribtumok\",-1,4,52,120,54\n    CONTROL         \"rs&vdett\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,64,52,12\n    CONTROL         \"R&ejtett\",216,\"Button\",BS_AUTOCHECKBOX,71,64,49,12\n    CONTROL         \"&Archivland\",217,\"Button\",BS_AUTOCHECKBOX,9,76,57,12\n    CONTROL         \"&Rendszer\",218,\"Button\",BS_AUTOCHECKBOX,71,76,49,12\n    CONTROL         \"&Tmrtett\",267,\"Button\",BS_AUTOCHECKBOX,9,88,52,12\nEND\n\n49 DIALOG 13, 54, 264, 154\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bettpus\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Bettpus:\",1088,6,3,40,9\n    COMBOBOX        1136,6,13,94,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"Be&tstlus:\",1089,108,3,44,9\n    COMBOBOX        1137,108,13,64,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Mret:\",1090,179,3,30,9\n    COMBOBOX        1138,179,13,32,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Effektusok\",1072,6,73,84,61,WS_GROUP\n    CONTROL         \"t&hzs\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,83,49,10\n    CONTROL         \"&Alhzs\",1041,\"Button\",BS_AUTOCHECKBOX,10,95,51,10\n    CONTROL         \"A &FAT meghajtk kisbetsek\",1042,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,127,252,10\n    CONTROL         \"Minden meghajt &kisbets\",1043,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,139,252,10\n    LTEXT           \"Sz&n:\",1091,10,107,30,9\n    COMBOBOX        1139,10,117,75,50,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"OK\",1,218,6,40,14,WS_GROUP\n    PUSHBUTTON      \"Mgse\",2,218,23,40,14,WS_GROUP\n    PUSHBUTTON      \"Alkalma&z\",1026,218,40,40,14,WS_GROUP\n    PUSHBUTTON      \"&Sg\",1038,218,57,40,14,WS_GROUP\n    GROUPBOX        \"Minta\",1073,6,72,252,49,WS_GROUP\n    CTEXT           \"\",1093,10,137,1,2,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBb\",1092,10,81,243,37,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 77, 27, 160, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Lemez formzsa\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\",100,15,36,131,8\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,15,10,131,22\n    PUSHBUTTON      \"Elrejts\",110,38,48,40,14\n    PUSHBUTTON      \"Mgse\",2,82,48,40,14\nEND\n\n51 DIALOG 10, 20, 312, 70\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Megersts: Fjl vagy knyvtr figyelmen kvl hagysa s folytats\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Hozzfrs megtagadva:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,13,203,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,135,13,122,10\n    CONTROL         \"A fjl hasznlatban van, vagy nincs hozz hozzfrsi joga.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,25,230,10\n    CONTROL         \"A fjl figyelmen kvl hagyshoz s a mvelet folytatshoz kattintson az Igen gombra.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,37,287,10\n    DEFPUSHBUTTON   \"&Igen\",6,43,52,51,14\n    PUSHBUTTON      \"Igen, &mindet\",107,100,52,51,14\n    PUSHBUTTON      \"&Nem\",7,157,52,51,14\n    PUSHBUTTON      \"Mgse\",2,214,52,51,14\nEND\n\n52 DIALOG 10, 20, 319, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Megersts: Fjl vagy knyvtr figyelmen kvl hagysa s folytats\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"A clhoz nincs hozzfrsi joga:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,13,203,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,161,13,106,10\n    CONTROL         \"A fjl figyelmen kvl hagyshoz s a mvelet folytatshoz kattintson az Igen gombra.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,23,294,10\n    DEFPUSHBUTTON   \"&Igen\",6,37,42,57,14\n    PUSHBUTTON      \"Igen, &mindet\",107,100,42,57,14\n    PUSHBUTTON      \"&Nem\",7,163,42,57,14\n    PUSHBUTTON      \"Mgse\",2,226,42,57,14\nEND\n\n53 DIALOG 77, 109, 189, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Keress a lemezen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Fjlnv:\",-1,\"Static\",SS_LEFTNOWORDWRAP,4,5,60,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,65,5,120,10\n    CONTROL         \"Keress kezdete:\",-1,\"Static\",SS_LEFTNOWORDWRAP,4,15,70,10\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,65,15,120,10\n    CONTROL         \"Olvasott knyvtrak:\",-1,\"Static\",SS_LEFTNOWORDWRAP,4,25,73,10\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,81,25,100,10\n    CONTROL         \"Egyezs:\",-1,\"Static\",SS_LEFTNOWORDWRAP,4,35,60,10\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,81,35,100,10\n    PUSHBUTTON      \"Elrejts\",110,50,48,40,14\n    PUSHBUTTON      \"Mgse\",2,94,48,40,14\nEND\n\n54 DIALOG 20, 20, 252, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Msols a Vglapra\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Aktulis knyvtr: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,4,5,197,10\n    CONTROL         \"&Msols a Vglapra:\",-1,\"Static\",SS_LEFTNOWORDWRAP,4,20,72,10\n    EDITTEXT        102,76,19,125,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,206,6,40,14\n    PUSHBUTTON      \"Mgse\",2,206,23,40,14\n    PUSHBUTTON      \"&Sg\",254,206,43,40,14\nEND\n\n55 DIALOG 18, 14, 304, 224\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Fjltpus megvltztatsa\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Fjltpus:\",302,4,6,33,8\n    EDITTEXT        301,41,5,95,12,ES_AUTOHSCROLL\n    GROUPBOX        \"&Mvelet: \",-1,4,22,248,126,WS_GROUP\n    COMBOBOX        306,40,22,48,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Parancs:\",313,8,42,38,8\n    EDITTEXT        304,46,39,111,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"&Tallzs...\",318,163,38,40,14\n    CONTROL         \"DDE &hasznlata\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,57,64,10\n    LTEXT           \"&DDE zenet:\",320,21,72,50,8\n    EDITTEXT        309,104,70,100,12,ES_AUTOHSCROLL\n    LTEXT           \"DDE &zenetkld alkalmazs nem fut:\",322,21,84,82,19\n    LTEXT           \"(vlaszthat)\",324,206,90,43,8\n    EDITTEXT        311,104,88,100,12,ES_AUTOHSCROLL\n    LTEXT           \"&Alkalmazs:\",321,21,109,39,8\n    EDITTEXT        310,104,107,100,12,ES_AUTOHSCROLL\n    LTEXT           \"Tma&kr:\",323,22,127,51,8\n    EDITTEXT        312,104,125,100,12,ES_AUTOHSCROLL\n    LTEXT           \"&j kiterjeszts:\",-1,10,184,52,8\n    EDITTEXT        315,63,183,32,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"H&ozzads ->\",303,108,174,57,14\n    PUSHBUTTON      \"<- &Eltvolts\",219,108,191,57,14\n    LTEXT           \"Kiterje&sztsek:\",-1,179,162,50,8\n    LISTBOX         317,179,172,65,40,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"A fjltpushoz hozzrendelt kiterjesztsek:\",316,4,154,248,66\n    DEFPUSHBUTTON   \"OK\",1,258,6,40,14\n    PUSHBUTTON      \"Mgse\",2,258,23,40,14\n    PUSHBUTTON      \"S&g\",254,258,40,40,14\nEND\n\n57 DIALOG 123, 60, 207, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Fjltmrtsi folyamat\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Tmrtend fjl:\",-1,6,8,79,8\n    LTEXT           \"filename.xxx\",341,86,8,90,8\n    LTEXT           \"Knyvtr:\",-1,6,20,36,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,43,20,150,8\n    LTEXT           \"Tmrtett knyvtrak:\",-1,6,32,102,8\n    LTEXT           \"1,888,888,999\",343,90,32,60,8\n    LTEXT           \"Tmrtett fjlok:\",-1,6,44,62,8\n    LTEXT           \"1,888,888,999\",344,74,44,58,8\n    LTEXT           \"A tmrts eltti fjlmret:\",-1,6,56,124,8\n    LTEXT           \"9,999,999,999,999\",345,134,56,68,8\n    LTEXT           \"A tmrts utni fjlmret:\",-1,6,68,123,8\n    LTEXT           \"9,999,999,999,999\",346,134,69,68,8\n    LTEXT           \"Fjltmrts arnya:\",-1,6,80,78,8\n    LTEXT           \"100%\",347,91,80,27,8\n    PUSHBUTTON      \"Mgse\",2,76,97,55,14\nEND\n\n58 DIALOG 114, 62, 197, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Fjlok kibontsa folyamatban\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Kibontand fjl:\",-1,6,8,83,8\n    LTEXT           \"filename.xxx\",351,93,8,66,8\n    LTEXT           \"Knyvtr:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\",352,45,20,144,8\n    LTEXT           \"Kibontott knyvtrak:\",-1,6,32,91,8\n    LTEXT           \"1,999,999,999\",353,99,32,70,8\n    LTEXT           \"Kibontott fjlok:\",-1,6,44,86,8\n    LTEXT           \"1,999,999,999\",354,92,44,78,8\n    PUSHBUTTON      \"Mgse\",2,74,64,49,14\nEND\n\n59 DIALOG 11, 28, 245, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Tmrtsi hiba\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,8,8,18,20\n    LTEXT           \"\",100,35,8,190,33\n    DEFPUSHBUTTON   \"&Tovbb\",5,21,47,40,14,WS_GROUP\n    PUSHBUTTON      \"Mindet &kihagyja\",112,67,47,59,14\n    PUSHBUTTON      \"j&ra\",4,132,47,40,14\n    PUSHBUTTON      \"&Megszakts\",3,178,47,48,14\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY, SHIFT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT\n    VK_F4,          1702,                   VIRTKEY, SHIFT\n    VK_F5,          1704,                   VIRTKEY \n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII   \n    VK_ADD,         301,                    VIRTKEY \n    \"*\",            302,                    ASCII   \n    VK_MULTIPLY,    302,                    VIRTKEY \n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL\n    \"-\",            304,                    ASCII   \n    VK_SUBTRACT,    304,                    VIRTKEY \n    VK_RETURN,      110,                    VIRTKEY, ALT\n    VK_F2,          2000,                   VIRTKEY \nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"CUR300.CUR\"\n\n\n301                     CURSOR                  \"CUR301.CUR\"\n\n\n302                     CURSOR                  \"CUR302.CUR\"\n\n\n303                     CURSOR                  \"CUR303.CUR\"\n\n\n306                     CURSOR                  \"CUR306.CUR\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ICO200.ICO\"\n\n\n201                     ICON                    \"ICO201.ICO\"\n\n\n202                     ICON                    \"ICO202.ICO\"\n\n\n204                     ICON                    \"ICO204.ICO\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,318\n PRODUCTVERSION 4,0,1381,318\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"040E04B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"Fjlkezel\"\n            VALUE \"FileVersion\", \"4.00\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"Copyright (C) Microsoft Corp. 1981-1996\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"Microsoft(R) Windows NT(TM) opercis rendszer\"\n            VALUE \"ProductVersion\", \"4.00\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0x40e, 1200\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"Lemezmsols\"\n    51                      \"Helyezze be a cllemezt.\"\n    52                      \"Helyezze be a forrslemezt.\"\n    53                      \"Helyezze be a forrs- s a cllemezt.\"\n    54                      \"Cllemez formzsa\"\n    55                      \"Lemezmsolsi hiba\"\n    56                      \"Nem lehet a lemezt msolni.\"\n    58                      \"A forrs- s cllemez nem kompatbilis.\"\n    60                      \"%d%% ksz\"\n    61                      \"Gykrknyvtr ltrehozsa...\"\n    62                      \"Rendszerfjlok msolsa...\"\n    63                      \"Lemezformzsi hiba\"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \"A formzs befejezdtt\"\n    67                      \"Teljes lemezmret: %ld bjt\\nRendelkezsre ll lemezterlet: %ld bjt\\n\\nKvn msik lemezt formzni?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"Hlzati hiba\"\n    83                      \"Ez a meghajt tartalmazza a Windows rendszerfjlokat, ezrt nem lehet levlasztani.\"\n    91                      \"A Fjlkezel nem tudja megvltoztatni az attribtumokat. \"\n    92                      \"A Fjlkezel nem tudja ltrehozni a knyvtrat. \"\n    93                      \"A Fjlkezel nem kpes cmkzni a lemezt. \\n\\nEllenrizze, nem rsvdett-e a lemez, nem hlzati meghajt-e, illetve hogy rvnyes-e a megadott cmke. A cmke nem tartalmazhatja a kvetkez karaktereket:\\n[szkz] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\"\"\n    95                      \"Egyetlen ilyen fjl sem tallhat.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \"A meghajt tartalma megvltozott. Kvnja frissteni a Keress eredmnye ablakot?\"\n    98                      \"A mvelet elvgzshez a munkallomsra rendszergazdaknt kell bejelentkezni.\"\n    101                     \"%c:%c meghajt\"\n    110                     \"A program nem futtathat.\"\n    111                     \"Nem vrt hiba: %d\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"Az alkalmazs elindtshoz nincs elg memria.\\n\\nLpjen ki egy vagy tbb alkalmazsbl, majd prblkozzon jra.\"\n    113                     \"A Fjlkezel nem tallja a fjlt (vagy valamely sszetevjt).\\n\\nGyzdjn meg rla, hogy az elrsi t s a fjlnv helyes, illetve a szksges knyvtrak elrhetk.\"\n    114                     \"A megadott elrsi t rvnytelen.\"\n    116                     \"Ehhez a fjlhoz nem tartozik trstott alkalmazs.\\n\\nHa szeretne hozz alkalmazst trstani, vlassza a Fjl men Trsts parancst.\"\n    118                     \"A Fjlkezel nem tudja megnyitni vagy nyomtatni a fjlt.\\n\\nIndtsa el a fjl ltrehozshoz hasznlt alkalmazst, s nyissa meg vagy nyomtassa onnan.\"\n    120                     \"Egrmvelet jvhagysa\"\n    121                     \"Biztos, hogy t akarja msolni a kijellt fjlokat vagy knyvtrakat a kvetkez helyre: %s?\"\n    122                     \"Biztos, hogy t kvnja helyezni a kijellt fjlokat vagy knyvtrakat a kvetkez helyre: %s?\"\n    123                     \"Biztos, hogy %s indtst szeretn gy, hogy a kezdfjl %s?\"\n    124                     \"Fjlkezel\"\n    126                     \"Knyvtrfa\"\n    127                     \"Keress eredmnye: \"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \"Tl sok a fjl.\"\n    133                     \"Fjlkezel - kevs a memria\"\n    134                     \"Nem olvashat a teljes knyvtr. Csak rszleges listzs jelenthet meg.\"\n    140                     \"Aktulis knyvtr: %s\"\n    141                     \"Msols\"\n    143                     \"tnevezs\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"Lemezformzs\"\n    146                     \"Jellje ki a formzni kvnt lemezt.\"\n    150                     \"Ltrehozs:\"\n    151                     \"Eltvolts...\"\n    152                     \"Msols:\"\n    153                     \"tnevezs...\"\n    154                     \"thelyezs...\"\n    155                     \"Trls...\"\n    156                     \"Nyomtats: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"Msols...\"\n    170                     \"Eltvolts:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \"sszesen %d fjl (%s)\"\n    181                     \"Beolvasott knyvtrak: %d \"\n    182                     \"%c: %s szabad,  sszesen: %s\"\n    183                     \"%d fjl\"\n    185                     \"a kijellt fjlok\"\n    186                     \"A Fjlkezel nem tudja levlasztani a hlzati meghajtt.\\n\\nA meghajtn megnyitott fjlok vannak.\"\n    187                     \"%d kijellt fjl (%s)\"\n    188                     \"A meghajtban (%c) nincs lemez.\\n\\nHelyezzen be egy lemezt, s prblja meg jra.\"\n    189                     \"A(z) %c: meghajtban lv lemez nincs formzva.\\n\\nKvnja formzni?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"A lemezen nincs elegend hely a nyomtatshoz.\\n\\nTrljn le nhny flsleges fjlt, s prblja jra.\"\n    193                     \"A nyomtatshoz nincs elegend memria.\\n\\nLpjen ki egy vagy tbb alkalmazsbl, majd prblkozzon jra.\"\n    194                     \"Hiba trtnt nyomtats kzben.\\n\\nEllenrizze, hogy a nyomtat megfelelen van-e belltva s kivlasztva.\"\n    195                     \"Nem teljes a knyvtrfa\"\n    197                     \"A cllemez megtelt. A folytatshoz helyezzen be egy msik lemezt.\"\n    198                     \"Ez a fjl rejtett, rsvdett vagy rendszerfjl.\"\n    199                     \"A Fjlkezel nem tud gyorsformzst vgrehajtani.\\n\\nFolytatja norml formzssal?\"\n    203                     \"Hiba trtnt, mikzben a rendszer az alkalmazshoz tovbbtotta a parancsot.\"\n    204                     \"Nem lehet a mvelethez szksges egyik fggvnytrat betlteni.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \"&Megosztott knyvtrak...\"\n    210                     \"A formzs a lemezen lv sszes adatot trli. Biztos benne, hogy formzni kvnja a meghajtban (%c) lv lemezt?\"\n    211                     \"Lemezformzs jvhagysa\"\n    212                     \"Ez a mvelet MINDEN adatot trl a cllemezrl. Biztosan folytatja?\"\n    213                     \"Lemezmsols jvhagysa\"\n    214                     \"&Bezrs\"\n    215                     \"Bezrs\"\n    218                     \"A kvetkez knyvtr nem ltezik: %s.\\n\\nLtre kvnja hozni?\"\n    219                     \"Programok#*.exe;*.pif;*.com;*.bat#Minden fjl (*.*)#*.*#\"\n    220                     \"Tallzs\"\n    221                     \"Futtats\"\n    222                     \"Nem lehet a fjlt kinyomtatni.\"\n    223                     \"Nem lehet a sgt megjelenteni.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"A(z) %s kiterjeszts fjlok programok, programot pedig nem lehet msik programmal trstani.\"\n    225                     \"%s nem program, ezrt nem rendelhet hozz egy fjlkiterjesztshez.\"\n    226                     \"(Nincs)\"\n    227                     \"Nincsenek fjlok.\"\n    228                     \"A Fjlkezel nem tud egyszerre tbb fjlt kinyomtatni.\\n\\nJelljn ki egyetlen fjlt, majd prblkozzon jra.\"\n    230                     \"Az alkalmazs futtatshoz szksges egyik fggvnytri fjl srlt. Teleptse jra az alkalmazst.\"\n    231                     \"Ezt a fjlt valamelyik msik alkalmazs hasznlja.\"\n    232                     \"Lehet, hogy a Fjlkezel nem tud hozzfrni a kvetkez knyvtrban ltrehozott fjlokhoz: %s.\\n\\nKvnja folytatni?\"\n    233                     \"Knyvtr ltrehozsa\"\n    234                     \"%ld bjt\"\n    235                     \"%s bjt\"\n    236                     \"A Fjlkezel nem tud egyszerre tbb fjlt vagy knyvtrat a Vglapra msolni.\\n\\nVlasszon ki egyetlen fjlt, majd prblja jra.\"\n    237                     \"%s - %s\"\n    238                     \"Lemezmeghajt:\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"Hlzati meghajt csatlakoztatsa\"\n    241                     \"Hlzati lemezmeghajt levlasztsa\"\n    242                     \"Hlzati csatlakozsok\"\n    243                     \"Megosztsi knyvtr\"\n    244                     \"Knyvtrmegoszts megszntetse\"\n    245                     \"Minden fjlinformci megjelentse\"\n    246                     \"Csak a nv megjelentse\"\n    247                     \"Nv szerinti rendezs\"\n    248                     \"Tpus szerinti rendezs\"\n    249                     \"Mret szerinti rendezs\"\n    250                     \"Dtum szerinti rendezs\"\n    251                     \"j ablak\"\n    252                     \"Fjl msolsa\"\n    253                     \"Fjlok thelyezse\"\n    254                     \"&Knyvtrnv:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"A hlzati meghajt nem rhet el.\"\n    259                     \"Megosztva a kvetkezknt: %s\"\n    260                     \"Nincs megosztva\"\n    261                     \"Fjlok trlse\"\n    262                     \" - TMRTETT\"\n    263                     \"Fjlok msolsa ide: %s\"\n    264                     \"Fjlok thelyezse ide: %s\"\n    265                     \"Fjlok futtatsa a kvetkezvel: %s\"\n    266                     \"%s bjt\"\n    267                     \"%s KB\"\n    268                     \"%s MB\"\n    269                     \"%s GB\"\n    270                     \"%s TB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \"Nincs hozzfrsi jogosultsga a knyvtrhoz.\"\n    281                     \"Nincs hozzfrsi jogosultsga a fjlhoz.\"\n    283                     \"%c meghajt foglalt s nem hozzfrhet.\\nA Fjlkezel lemezt msol.\"\n    284                     \"%c meghajt foglalt s nem hozzfrhet.\\nA Fjlkezel lemezt formz.\"\n    285                     \"A mveletet nem sikerlt teljesen vgrehajtani.\"\n    286                     \"A mveletet nem lehet minden fjlon s knyvtron elvgezni.\"\n    287                     \"A knyvtr nem olvashat.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"Nem ltez knyvtr.\"\n    289                     \"Nem csatlakoztathat a hlzati meghajt.\"\n    290                     \"A hlzat neve nem tallhat.\"\n    292                     \"Az \"\"igen, mindet\"\" minden fjlt rint, gy a rendszerfjlokat, rejtett s rsvdett fjlokat is.\"\n    294                     \"Megnyits\"\n    295                     \"Nyomtats\"\n    298                     \"Kiterjeszts hozzadsa\"\n    299                     \"A kiterjeszts ('%s') jelenleg a kvetkezvel van trstva: '%s'. Folytatja s fellrja ezt a trstst?\"\n    300                     \"Trstsszerkeszt\"\n    301                     \"Nem lehet kiterjesztst trstani. \"\n    302                     \"Nem lehet a kiterjesztst trlni. \"\n    303                     \"Nem lehet fjltpust hozzadni. \"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"Nem lehet a fjltpust trlni. \"\n    305                     \"Nem lehet a fjltpust olvasni. \"\n    306                     \"A Fjltpus lersa nem lehet res. rjon be j fjltpust.\"\n    307                     \"Nem lehet a fjltpus alapjn egyedi azonostt generlni. rjon be j fjltpust.\"\n    308                     \"Fjltpus trlse\"\n    309                     \"Ezzel trli a fjltpust s az sszes trstott kiterjesztst. Biztosan trli a kvetkezt: %s?\"\n    312                     \"A Fjltpushoz kell lennie parancsnak legalbb az egyik Mvelethez. Adjon meg a parancsmezben egy alkalmazst.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"j fjltpus\"\n    321                     \"Lemez msolsa\"\n    322                     \"Keress...\"\n    324                     \"A Fjlkezel pp egy lemez formzst vgzi. Amennyiben kilp a Fjlkezelbl, a mvelet megszakad.\"\n    325                     \"A Fjlkezel pp egy lemez msolst vgzi. Amennyiben kilp a Fjlkezelbl, a mvelet megszakad.\"\n    326                     \"szzalk ksz\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360K\"\n    354                     \"1%s2 MB\"\n    355                     \"720K\"\n    356                     \"1%s44 MB\"\n    357                     \"2%s88 MB\"\n    358                     \"Lemezkapacits\"\n    359                     \"A Fjlkezel nem tudja beolvasni a  a lemez informcijt.\\n\\nGyzdjn meg rla, hogy a lemez a meghajtban van.\"\n    360                     \"20%s8 MB\"\n    361                     \"Ismeretlen lemeztpus\"\n    362                     \"Ismeretlen lemeztpus\"\n    363                     \"A Fjlkezel nem tudja formzni a meghajtban (%s) lv lemeztpust. A lemez formzshoz hasznlja a Lemezkezelt.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"Nem kompatbilis fjlrendszer\"\n    401                     \"A hozzfrs megtagadva.\"\n    402                     \"A lemez rsvdett.\"\n    403                     \"A fjlkezel nem tudja zrolni a ktetet.\"\n    404                     \"A Fjlkezel nem tud gyorsformzst vgrehajtani a lemezen.\\n\\nGyzdjn meg rla, hogy a lemez megfelel srsg.\"\n    405                     \"IO hiba a forrslemezen\"\n    406                     \"IO hiba a cllemezen\"\n    407                     \"IO hiba a forrs- s a cllemezen\"\n    408                     \"IO hiba trtnt.\"\n    411                     \"A Fjlkezel nem tudja megformzni a lemezt.\\n\\nGyzdjn meg rla, hogy a lemez a meghajtban van, nem rsvdett, nem srlt s megfelel srsg.\"\n    412                     \"A Fjlkezel nem tudja a lemezt megcmkzni.\\n\\nA megadott cmke nem rvnyes. Ellenrizze, nem tartalmazza-e a cmke az albbi karakterek egyikt:\\n[szkz] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \"Megnyits...\"\n    421                     \"Bezrs...\"\n    422                     \"Tl sok knyvtrablak van megnyitva.\\n\\nZrjon be nhny ablakot, majd prblja jra.\"\n    423                     \"Gyorsformzs...\"\n    424                     \"Nem lehet inicializlni a httrfrisstsi tmogatst. A fjlkezel befejezdik. \"\n    425                     \"Fjlkezel inicializlsa\"\n    426                     \"Knyvtr olvassa, kis trelmet...\"\n    427                     \"%s knyvtrban minden fjlt s alknyvtrat tmrteni szeretne?\"\n    428                     \"%s knyvtrban minden fjlt s alknyvtrat ki szeretne bontani?\"\n    429                     \"A Fjlkezel nem tudja megvltoztatni %s tmrtsi attribtumait.\"\n    430                     \"A fjl (%s) tmrtsre nem kerl sor. A fjl tmrtse esetn a rendszer betlthetetlenn vlhat.\"\n    431                     \"A Fjlkezel jelenleg fjlok tmrtst/kibontst vgzi.\\nVrja meg a mvelet befejeztt, mieltt jabb fjlokat prblna tmrteni/kibontani.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"Megjegyzsek\"\n    501                     \"A cg neve\"\n    502                     \"Fjl lersa\"\n    503                     \"Bels nv\"\n    504                     \"Leglis vdjegyek\"\n    505                     \"Eredeti fjlnv\"\n    506                     \"Sajt build lers\"\n    507                     \"Termknv\"\n    508                     \"Termk verziszma\"\n    509                     \"Specilis build lers\"\n    510                     \"Nyelv\"\n    511                     \"Nyelv\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"Hlzati meghajt c&satlakoztatsa...\"\n    801                     \"H&lzati meghajt levlasztsa...\"\n    802                     \"&Hlzati csatlakozsok...\"\n    803                     \"&Megoszts msknt...\"\n    804                     \"Me&goszts megszntetse...\"\n    805                     \"&Osztott knyvtrak megtekintse...\"\n    806                     \"&Trls visszavonsa...\"\n    807                     \"j &ablak megnyitsa csatlakozskor\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \"Hiba fjl thelyezsekor\"\n    1002                    \"Hiba fjl msolsa sorn\"\n    1003                    \"Hiba fjl trlsekor\"\n    1004                    \"Hiba a fjl tnevezsekor\"\n    1005                    \"Hiba meghajt kijellsekor\"\n    1006                    \"Hiba knyvtr olvassakor\"\n    1007                    \"Hiba lemez cmkzsekor\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"%s - a Fjlkezel nem tudja thelyezni: %s.\"\n    1012                    \"A Fjlkezel nem tudja a fjlt (%s) tmsolni: %s.\"\n    1013                    \"%s - a Fjlkezel nem tudja trlni: %s\"\n    1014                    \"%s - a Fjlkezel nem tudja tnevezni: %s.\"\n    1021                    \"A Fjlkezel nem tudja a kvetkez knyvtrat ltrehozni: %s: %s.\"\n    1022                    \"A Fjlkezel nem tudja trlni a kvetkez knyvtrat: %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"%s - a Fjlkezel nem tudja ltrehozni vagy lecserlni: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"Ugyanaz a forrs s a cl.\"\n    1102                    \"tnevezshez csak egyetlen fjlt jelljn ki, vagy hasonl nev fjlok csoportjnak tnevezshez hasznljon helyettest karaktereket (pldul: *.TXT).\"\n    1103                    \"Msik knyvtrra vagy lemezre nem lehet tnevezni.\\nHasznlja a Fjl thelyezse parancsot.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"A gykr knyvtr nem nevezhet t.\"\n    1105                    \"A clknyvtr a forrs egy alknyvtra.\"\n    1106                    \"A Windows hasznlja a fjlt.\"\n    1107                    \"Csak egyetlen fjlt vagy mappt adjon meg a Mdosts mezben, vagy, ha fjlok egy csoportjt kvnja megadni, hasznljon MS-DOS helyettest karaktereket (pldul: *.TXT)\"\n    1108                    \"Ilyen nev fjl vagy knyvtr mr ltezik. Egy knyvtron bell a knyvtr- s fjlneveknek egyedieknek kell lennik.\"\n    1109                    \"Ellenrizze, hogy az elrsi utat s a fjlnevet helyesen adta-e meg.\"\n    1110                    \"Ellenrizze, hogy az elrsi utat helyesen adta-e meg.\"\n    1111                    \"Lpjen ki egy vagy tbb alkalmazsbl, s prblja jra, vagy nvelje meg a virtulis memrit a Vezrlpult Rendszerbelltsok alkalmazsval.\"\n    1113                    \"Szntesse meg a lemez rsvdettsgt, vagy hasznljon msik lemezt, s prblja jra.\"\n    1114                    \"Ellenrizze, hogy kell hlzati jogosultsggal rendelkezik-e a mvelet vgrehajtshoz.\"\n    1115                    \"A lemezterlet nvelshez trljn nhny fjlt, majd prblja jra.\"\n    1116                    \"Ezen az adathordozn nem sikerlt adatot tallni.\"\n    1117                    \"A knyvtr mr ltezik.\"\n    1118                    \"A megadott nevet mr hasznlja egy fjl.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"Rossz lemez van a meghajtban.\"\n    1151                    \"Az alkalmazs Windows NT mdban nem futtathat.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \"Az opercis rendszer nem tudja futtatni ezt az sszetevt.\"\n    1153                    \"Az sszetev Windows NT mdban nem futtathat.\"\n    1154                    \"Ez a program nem rvnyes Windows NT alkalmazs.\"\n    1155                    \"Hiba trtnt. Ehhez a hibhoz nem tartozik zenet.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \"Rs[(&F):\"\n    2001                    \"Rs[(&T):\"\n    2002                    \"̖O(&F):\"\n    2003                    \"VO(&T):\"\n    2004                    \"Rs[:\"\n    2005                    \"̃tHggpƊ̕\\\\\\nłȂȂ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"Parancsok fjlokkal vgzett munkhoz\"\n    3985                    \"Parancsok lemezekkel vgzett munkhoz\"\n    3986                    \"Parancsok a faszerkezet-ablakban val munkhoz\"\n    3987                    \"Parancsok az informci megjelensnek meghatrozshoz\"\n    3988                    \"Parancsok a belltsok elvgzshez\"\n    3989                    \"Fjlok s knyvtrak adatvdelmnek kezelsre szolgl parancsok\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"Parancsok az ablakok elrendezshez\"\n    4001                    \"Parancsok a Fjlkezel Sgjnak megjelentshez\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"Tmakr keresse a Fjlkezel Sgjban\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \"Kijellt ttel megnyitsa\"\n    4102                    \"Dokumentum nyomtatsa\"\n    4103                    \"Fjl trstsa alkalmazssal\"\n    4104                    \"Fjlok s knyvtrak keresse\"\n    4105                    \"Alkalmazs vagy dokumentum elindtsa vagy megnyitsa\"\n    4106                    \"Kijellt elemek thelyezse\"\n    4107                    \"Fjlok s knyvtrak msolsa\"\n    4108                    \"Fjlok s knyvtrak trlse\"\n    4109                    \"Fjl vagy knyvtr tnevezse\"\n    4110                    \"Fjlattribtumok belltsa s a tulajdonsgok megjelentse\"\n    4111                    \"Knyvtr ltrehozsa\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"Kilps a Fjlkezelbl\"\n    4116                    \"Fjlok s knyvtrak kijellse\"\n    4117                    \"Korbban trlt fjlok visszanyerse\"\n    4118                    \"Fjl msolsa a Vglapra\"\n    4119                    \"Fjl vagy knyvtr tmrtse\"\n    4120                    \"Fjl vagy knyvtr kibontsa\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"Hajlkonylemez tartalmnak msolsa\"\n    4202                    \"Lemez ktetcmkjnek hozzrendelse vagy mdostsa\"\n    4203                    \"Hajlkonylemez formzsa\"\n    4205                    \"Csatlakozs hlzati meghajthoz\"\n    4206                    \"Levlaszts hlzati meghajtrl\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"Msik meghajt kijellse\"\n    4254                    \"Knyvtr megosztsa\"\n    4255                    \"Knyvtrmegoszts megszntetse\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"Knyvtr egy msik szintjnek megjelentse\"\n    4302                    \"Knyvtr minden szintjnek megjelentse\"\n    4303                    \"Minden knyvtr minden szintjnek megjelentse\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \"Kijellt knyvtr sszes knyvtrnak becsuksa\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \"Csak fjlnevek megjelentse\"\n    4402                    \"sszes fjladat megjelentse\"\n    4403                    \"Fjlrszletek rszleges megjelentse\"\n    4404                    \"Fjlok rendezse nv szerint\"\n    4405                    \"Fjlok rendezse tpus szerint\"\n    4406                    \"Fjlok rendezse mret szerint\"\n    4407                    \"Fjlok rendezse dtum szerint\"\n    4409                    \"Adott tpus fjlok megjelentse\"\n    4411                    \"A knyvtrfa megjelentse\"\n    4412                    \"Az aktulis knyvtr tartalmnak a megjelentse\"\n    4413                    \"A knyvtrfa s az aktulis knyvtr tartalmnak megjelentse\"\n    4414                    \"Knyvtrablak sztvgsa vagy a vlasztvonal thelyezse\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"Jvhagy zenetek szablyozsa\"\n    4503                    \"Az llapotsor megjelentse vagy elrejtse\"\n    4504                    \"A Fjlkezel ikonllapotban indul\"\n    4505                    \"Alknyvtrakat tartalmaz knyvtrak jelzse\"\n    4507                    \"Lemezmeghajtsor megjelentse vagy elrejtse\"\n    4508                    \"Az eszkztr megjelentse vagy elrejtse\"\n    4509                    \"j ablak megnyitsa csatlakozskor\"\n    4510                    \"A Fjlkezel bettpusnak mdostsa\"\n    4511                    \"Belltsok mentse a Fjlkezelbl val kilpskor\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"Az eszkztr testreszabsa\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"Hozzfrsi jogok megjelentse s belltsa\"\n    4606                    \"A kivlaszott elem(ek)re vonatkoz naplzsi informcik megjelentse s belltsa.\"\n    4607                    \"A kivlasztott elem(ek) megjelentse vagy sajt tulajdonba vtele.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"Ablakok lpcszetes elrendezse\"\n    5702                    \"Az ablakok fggleges mozaik elrendezse\"\n    5703                    \"Az ablakok vzszintes mozaik elrendezse\"\n    5704                    \"Ablak tartalmnak frisstse\"\n    5705                    \"Ikonok elrendezse\"\n    5706                    \"j ablak megnyitsa\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"A Fjlkezel Sg tartalomjegyzknek megjelentse\"\n    5802                    \"A Sg hasznlatval kapcsolatos tudnivalk megjelentse\"\n    5803                    \"A Fjlkezelvel kapcsolatos tudnivalk megjelentse\"\nEND\n\n#endif    // Hungarian (Hungary) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/origrc/winfile.it-IT.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// Italian (Italy) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ITA)\nLANGUAGE LANG_ITALIAN, SUBLANG_ITALIAN\n#pragma code_page(1252)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"BMP100.BMP\"\n\n\n101                     BITMAP                  \"BMP101.BMP\"\n\n\n102                     BITMAP                  \"BMP102.BMP\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"&File\"\n    BEGIN\n        MENUITEM \"&Apri\\tINVIO\",                101\n        MENUITEM \"&Sposta...\\tF7\",              106\n        MENUITEM \"Co&pia...\\tF8\",               107\n        MENUITEM \"Copia negli Appun&ti...\\tF9\", 118\n        MENUITEM \"E&limina...\\tCANC\",           108\n        MENUITEM \"Ri&nomina...\",                109\n        MENUITEM \"P&ropriet...\\tALT+INVIO\",    110\n        MENUITEM SEPARATOR\n        MENUITEM \"Compr&imi...\",                119\n        MENUITEM \"&Decomprimi...\",              120\n        MENUITEM SEPARATOR\n        MENUITEM \"Eseg&ui...\",                  105\n        MENUITEM \"Sta&mpa...\",                  102\n        MENUITEM \"Ass&ocia...\",                 103\n        MENUITEM SEPARATOR\n        MENUITEM \"Crea director&y...\",          111\n        MENUITEM \"&Cerca...\",                   104\n        MENUITEM \"Sele&ziona file...\",          116\n        MENUITEM SEPARATOR\n        MENUITEM \"&Esci\",                       115\n    END\n    POPUP \"&Disco\"\n    BEGIN\n        MENUITEM \"Co&pia disco...\",             201\n        MENUITEM \"&Etichetta disco...\",         202\n        MENUITEM SEPARATOR\n        MENUITEM \"&Formatta disco...\",          203\n        MENUITEM SEPARATOR\n        MENUITEM \"Sele&ziona unit...\",         251\n    END\n    POPUP \"S&truttura\"\n    BEGIN\n        MENUITEM \"Espandi un &livello\\t+\",      301\n        MENUITEM \"Espandi &ramo\\t*\",            302\n        MENUITEM \"Espandi &tutto\\tCTRL+*\",      303\n        MENUITEM \"&Comprimi ramo\\t-\",           304\n        MENUITEM SEPARATOR\n        MENUITEM \"&Mostra rami espandibili\",    505\n    END\n    POPUP \"&Visualizza\"\n    BEGIN\n        MENUITEM \"S&truttura e directory\",      413\n        MENUITEM \"&Solo struttura\",             411\n        MENUITEM \"Solo &directory\",             412\n        MENUITEM SEPARATOR\n        MENUITEM \"Di&vidi\",                     414\n        MENUITEM SEPARATOR\n        MENUITEM \"&Nome\",                       401\n        MENUITEM \"Tutti i dettagli sul &file\",  402, CHECKED\n        MENUITEM \"Sc&elta dettagli...\",         403\n        MENUITEM SEPARATOR\n        MENUITEM \"&Ordina per nome\",            404\n        MENUITEM \"Ordina &per tipo\",            405\n        MENUITEM \"Ordina per di&mensione\",      406\n        MENUITEM \"Ordin&a per data\",            407\n        MENUITEM SEPARATOR\n        MENUITEM \"Per t&ipo di file...\",        409\n    END\n    POPUP \"O&pzioni\"\n    BEGIN\n        MENUITEM \"C&onferma...\",                501\n        MENUITEM \"&Carattere...\",               510\n        MENUITEM \"&Personalizza barra degli strumenti...\", 512\n        MENUITEM SEPARATOR\n        MENUITEM \"Barra degli s&trumenti\",      508\n        MENUITEM \"Barra delle &unit disco\",    507\n        MENUITEM \"&Barra di stato\",             503\n        MENUITEM SEPARATOR\n        MENUITEM \"&Riduci a icona in esecuzione\", 504\n        MENUITEM \"&Salva impostazioni in uscita\", 511\n    END\n    POPUP \"Prote&zione\"\n    BEGIN\n        MENUITEM \"&Autorizzazioni...\",          605\n        MENUITEM \"&Controllo...\",               606\n        MENUITEM \"P&roprietario...\",            607\n    END\n    POPUP \"Fi&nestra\"\n    BEGIN\n        MENUITEM \"Nuova &Finestra\",             1706\n        MENUITEM \"&Sovrapponi\\tMAIUSC+F5\",      1701\n        MENUITEM \"Affianca ori&zzontalmente\",   1703\n        MENUITEM \"Affianca &verticalmente\\tMAIUSC+F4\", 1702\n        MENUITEM \"&Disponi icone\",              1705\n        MENUITEM \"&Aggiorna\\tF5\",               1704\n    END\n    POPUP \"&?\"\n    BEGIN\n        MENUITEM \"S&ommario\",                   1801\n        MENUITEM \"C&erca argomento...\",         30\n        MENUITEM \"U&so della Guida\",            1802\n        MENUITEM SEPARATOR\n        MENUITEM \"Inform. s&u File Manager...\", 1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 12, 210, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Esegui\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,162,10\n    CONTROL         \"&Riga di comando:\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,3,18,60,10\n    EDITTEXT        201,3,29,148,12,ES_AUTOHSCROLL\n    CONTROL         \"&Avvia ridotto a icona\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,3,45,80,12\n    DEFPUSHBUTTON   \"OK\",1,165,6,40,14\n    PUSHBUTTON      \"Annulla\",2,165,23,40,14\n    PUSHBUTTON      \"&?\",254,165,43,40,14\nEND\n\n11 DIALOG 20, 20, 240, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Stampa\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,193,10\n    CONTROL         \"Sta&mpa:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,28,10\n    EDITTEXT        102,32,18,155,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,36,190,10\n    DEFPUSHBUTTON   \"OK\",1,197,6,40,14\n    PUSHBUTTON      \"Annulla\",2,197,23,40,14\n    PUSHBUTTON      \"&?\",254,197,43,40,14\nEND\n\n12 DIALOG 20, 20, 255, 118\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Associa\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Fil&e con estensione:\",-1,6,7,68,8\n    COMBOBOX        315,76,5,44,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"Associ&a a:\",-1,6,30,92,10\n    EDITTEXT        304,6,42,173,12,ES_AUTOHSCROLL\n    LISTBOX         314,11,54,167,62,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"S&foglia...\",318,130,24,47,14\n    DEFPUSHBUTTON   \"OK\",1,187,6,62,14,WS_GROUP\n    PUSHBUTTON      \"Annulla\",2,187,23,62,14\n    PUSHBUTTON      \"&Nuovo tipo...\",300,187,42,62,14\n    PUSHBUTTON      \"&Modifica tipo...\",251,187,59,62,14\n    PUSHBUTTON      \"E&limina tipo\",219,187,76,62,14\n    PUSHBUTTON      \"&?\",254,187,95,62,14\nEND\n\n13 DIALOG 20, 20, 263, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Cerca\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"C&erca:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,6,45,12\n    EDITTEXT        201,52,5,160,12,ES_AUTOHSCROLL\n    CONTROL         \"Comincia &da:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,21,45,12\n    EDITTEXT        101,52,20,160,12,ES_AUTOHSCROLL\n    CONTROL         \"&Cerca in tutte le sottodirectory\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,52,34,111,12\n    DEFPUSHBUTTON   \"OK\",1,217,6,40,14\n    PUSHBUTTON      \"Annulla\",2,217,23,40,14\n    PUSHBUTTON      \"&?\",254,217,43,40,14\nEND\n\n14 DIALOG 47, 59, 264, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Sposta\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Directory corrente: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,182,10\n    CONTROL         \"&A:\",2001,\"Static\",SS_LEFTNOWORDWRAP,3,33,20,10\n    EDITTEXT        103,37,32,172,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,49,90,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,94,49,115,10\n    DEFPUSHBUTTON   \"OK\",1,218,6,40,14\n    PUSHBUTTON      \"Annulla\",2,218,23,40,14\n    PUSHBUTTON      \"&?\",254,218,40,40,14\n    CONTROL         \"&Da:\",2002,\"Static\",SS_LEFTNOWORDWRAP,3,19,20,10\n    EDITTEXT        102,37,18,172,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 264, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Elimina\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Directory corrente: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"E&limina:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,35,10\n    EDITTEXT        102,40,19,169,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,35,76,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,81,35,128,10\n    DEFPUSHBUTTON   \"OK\",1,218,6,40,14\n    PUSHBUTTON      \"Annulla\",2,218,23,40,14\n    PUSHBUTTON      \"&?\",254,218,40,40,14\nEND\n\n16 DIALOG 23, 13, 284, 225\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Propriet di %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,231,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Annulla\",2,231,23,50,14\n    PUSHBUTTON      \"&?\",254,231,40,50,14\n    CONTROL         \"N&ome file:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,4,39,10\n    EDITTEXT        201,95,4,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Percorso:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,14,32,10\n    EDITTEXT        101,95,14,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Data/ora ultima modifica:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,24,86,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,95,24,134,10\n    CONTROL         \"Versione:\",258,\"Static\",SS_LEFTNOWORDWRAP,5,34,45,10\n    CONTROL         \"Non indicata\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,95,34,134,10\n    LTEXT           \"Cop&yright:\",-1,5,44,34,10\n    EDITTEXT        265,95,44,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Dimensione:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,54,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,95,54,134,10\n    CONTROL         \"Dimensione file compresso:\",268,\"Static\",SS_LEFTNOWORDWRAP,5,64,90,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,95,64,134,10\n    CONTROL         \"Rapporto di compressione:\",270,\"Static\",SS_LEFTNOWORDWRAP,5,74,88,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,95,74,134,10\n    GROUPBOX        \"Attributi\",-1,4,88,120,54\n    CONTROL         \"So&la lettura\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,100,52,12\n    CONTROL         \"&Nascosto\",216,\"Button\",BS_AUTOCHECKBOX,71,100,49,12\n    CONTROL         \"A&rchivio\",217,\"Button\",BS_AUTOCHECKBOX,9,112,52,12\n    CONTROL         \"&Sistema\",218,\"Button\",BS_AUTOCHECKBOX,71,112,49,12\n    CONTROL         \"&Compresso\",267,\"Button\",BS_AUTOCHECKBOX,9,124,52,12\n    GROUPBOX        \"Informazioni s&ulla versione\",262,4,149,276,72\n    LISTBOX         263,9,160,102,58,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,115,160,160,58,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 200, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Crea directory\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,150,10\n    CONTROL         \"&Nome:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,23,20,10\n    EDITTEXT        201,30,22,116,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,46,150,10\n    DEFPUSHBUTTON   \"OK\",1,157,6,40,14\n    PUSHBUTTON      \"Annulla\",2,157,23,40,14\n    PUSHBUTTON      \"&?\",254,157,43,40,14\nEND\n\n19 DIALOG 20, 20, 157, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Copia disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Origine:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,50,10\n    COMBOBOX        245,55,6,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Destinazione:\",206,\"Static\",SS_LEFTNOWORDWRAP,5,22,50,10\n    COMBOBOX        222,55,20,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Annulla\",2,110,23,40,14\n    PUSHBUTTON      \"&?\",254,110,43,40,14\nEND\n\n22 DIALOG 30, 30, 130, 59\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Copia disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Copia del disco in corso in \",-1,0,5,130,10,NOT WS_GROUP\n    CTEXT           \"Unit A:\",222,0,15,130,10,NOT WS_GROUP\n    CTEXT           \"Lettura del disco di origine in corso\",243,0,26,130,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Annulla\",2,44,40,44,14\nEND\n\n23 DIALOG 20, 20, 161, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Etichetta disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Etichetta:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,30,10\n    EDITTEXT        201,5,26,100,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,115,6,40,14\n    PUSHBUTTON      \"Annulla\",2,115,23,40,14\n    PUSHBUTTON      \"&?\",254,115,43,40,14\nEND\n\n24 DIALOG 11, 28, 183, 96\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formatta disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,140,6,40,14\n    PUSHBUTTON      \"Annulla\",2,140,23,40,14\n    PUSHBUTTON      \"&?\",254,140,43,40,14\n    CONTROL         \"&Disco:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,7,49,10\n    COMBOBOX        222,55,4,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Capacit:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,21,34,10\n    COMBOBOX        241,55,19,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Opzioni\",102,5,39,115,53,WS_GROUP\n    CONTROL         \"&Etichetta:\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,53,39,10\n    EDITTEXT        201,47,52,63,12\n    CONTROL         \"&Formattazione veloce\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,69,82,12\nEND\n\n26 DIALOG 30, 30, 150, 50\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formattazione disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Formattazione del disco in corso\",-1,0,5,150,10,NOT WS_GROUP\n    CTEXT           \"Inizializzazione dell'unit in corso...\",243,0,17,150,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Annulla\",2,54,30,44,14\nEND\n\n30 DIALOG 20, 20, 174, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Scelta dettagli\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Dettagli\",-1,4,4,121,74\n    CONTROL         \"&Dimensione\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,15,100,12\n    CONTROL         \"Data &ultima modifica\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,27,100,12\n    CONTROL         \"&Ora ultima modifica\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,39,100,12\n    CONTROL         \"&Attributi file\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,51,100,12\n    CONTROL         \"Nomi di file &MS-DOS\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,63,100,12\n    DEFPUSHBUTTON   \"OK\",1,130,6,40,14\n    PUSHBUTTON      \"Annulla\",2,130,26,40,14\n    PUSHBUTTON      \"&?\",254,130,50,40,14\nEND\n\n32 DIALOG 20, 20, 157, 102\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Per tipo di file\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Nome:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,23,10\n    EDITTEXT        201,31,6,68,12,ES_AUTOHSCROLL\n    GROUPBOX        \"Tipo file\",-1,5,20,94,62\n    CONTROL         \"&Directory\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,31,60,12\n    CONTROL         \"&Programmi\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,43,60,12\n    CONTROL         \"D&ocumenti\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,55,60,12\n    CONTROL         \"&Altri file\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,60,12\n    CONTROL         \"&Mostra file nascosti/di sistema\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,5,85,115,12\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Annulla\",2,110,24,40,14\n    PUSHBUTTON      \"&?\",254,110,44,40,14\nEND\n\n33 DIALOG 20, 20, 233, 92\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Conferma\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Conferma per\",-1,5,3,178,85,WS_TABSTOP\n    CONTROL         \"E&liminazione file\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,9,15,65,12\n    CONTROL         \"El&iminazione directory\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,9,27,83,12\n    CONTROL         \"&Sostituzione file\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,9,39,64,12\n    CONTROL         \"Operazioni con il &mouse\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,9,51,90,12\n    CONTROL         \"Coman&di disco\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,9,63,60,12\n    CONTROL         \"Modi&fica file di sistema, nascosti o di sola lettura\",215,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,9,75,171,12\n    DEFPUSHBUTTON   \"OK\",1,188,6,40,14\n    PUSHBUTTON      \"Annulla\",2,188,23,40,14\n    PUSHBUTTON      \"&?\",254,188,44,40,14\nEND\n\n35 DIALOG 20, 20, 285, 46\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Spostamento in corso...\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,5,88,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,97,5,180,10\n    CONTROL         \"A:\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,15,25,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,97,15,180,10\n    DEFPUSHBUTTON   \"Annulla\",2,230,28,40,14,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 120, 58\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Stampa del file in corso...\",-1,0,6,120,12\n    CTEXT           \"\",-1,4,20,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"Annulla\",2,44,40,32,14,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 206, 87\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Propriet\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"%d file selezionato/i\",100,\"Static\",SS_LEFTNOWORDWRAP,5,5,144,10\n    CONTROL         \"Totale %s byte\",111,\"Static\",SS_LEFTNOWORDWRAP,5,16,144,10\n    GROUPBOX        \"Attributi\",-1,5,29,120,52\n    CONTROL         \"So&la lettura\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,40,52,12\n    CONTROL         \"&Nascosto\",216,\"Button\",BS_AUTOCHECKBOX,72,40,46,12\n    CONTROL         \"&Archivio\",217,\"Button\",BS_AUTOCHECKBOX,10,52,52,12\n    CONTROL         \"&Sistema\",218,\"Button\",BS_AUTOCHECKBOX,72,52,47,12\n    CONTROL         \"&Compresso\",267,\"Button\",BS_AUTOCHECKBOX,10,64,52,12\n    DEFPUSHBUTTON   \"OK\",1,150,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Annulla\",2,150,23,50,14\n    PUSHBUTTON      \"&?\",254,150,43,50,14\nEND\n\n39 DIALOG 10, 20, 252, 111\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Conferma sostituzione file\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,31,6,203,10\n    CONTROL         \"Sostituire il file:\",-1,\"Static\",SS_LEFTNOWORDWRAP,31,16,52,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,84,16,163,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,82,26,170,10\n    CONTROL         \"Con il file:\",-1,\"Static\",SS_LEFTNOWORDWRAP,31,38,49,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,84,38,163,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,84,48,168,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,31,58,203,21\n    DEFPUSHBUTTON   \"&S\",6,41,91,40,14\n    PUSHBUTTON      \"S &tutti\",107,87,91,40,14\n    PUSHBUTTON      \"&No\",7,133,91,40,14\n    PUSHBUTTON      \"Annulla\",2,179,91,40,14\nEND\n\n40 DIALOG 10, 20, 254, 85\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Conferma eliminazione file\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Eliminare il file:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,51,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,79,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,29\n    DEFPUSHBUTTON   \"&S\",6,23,65,40,14\n    PUSHBUTTON      \"S &tutti\",107,79,65,40,14\n    PUSHBUTTON      \"&No\",7,135,65,40,14\n    PUSHBUTTON      \"Annulla\",2,191,65,40,14\nEND\n\n41 DIALOG 10, 20, 262, 77\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Conferma eliminazione directory\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Eliminare la directory:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,72,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,98,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,211,27\n    DEFPUSHBUTTON   \"&S\",6,27,57,40,14\n    PUSHBUTTON      \"S &tutte\",107,83,57,40,14\n    PUSHBUTTON      \"&No\",7,139,57,40,14\n    PUSHBUTTON      \"Annulla\",2,195,57,40,14\nEND\n\n42 DIALOG 10, 22, 253, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Conferma spostamento file\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Spostare il file:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,51,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,79,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,29\n    DEFPUSHBUTTON   \"&S\",6,22,66,40,14\n    PUSHBUTTON      \"S &tutti\",107,78,66,40,14\n    PUSHBUTTON      \"&No\",7,134,66,40,14\n    PUSHBUTTON      \"Annulla\",2,190,66,40,14\nEND\n\n43 DIALOG 10, 22, 249, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Conferma ridenominazione file\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Rinominare il file:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,56,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,85,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,27\n    DEFPUSHBUTTON   \"&S\",6,36,60,40,14\n    PUSHBUTTON      \"S &tutti\",107,82,60,40,14\n    PUSHBUTTON      \"&No\",7,128,60,40,14\n    PUSHBUTTON      \"Annulla\",2,174,60,40,14\nEND\n\n44 DIALOG 15, 12, 122, 83\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Seleziona file\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&File:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,60,10\n    EDITTEXT        201,5,29,60,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"&Seleziona\",1,70,6,49,14\n    PUSHBUTTON      \"&Deseleziona\",6,70,24,49,14\n    PUSHBUTTON      \"Annulla\",2,70,42,49,14\n    PUSHBUTTON      \"&?\",254,70,63,49,14\nEND\n\n45 DIALOG 11, 31, 201, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Seleziona unit\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Unit:\",245,\"Static\",SS_LEFTNOWORDWRAP,5,5,41,10\n    LISTBOX         222,5,16,140,60,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,155,6,40,14\n    PUSHBUTTON      \"Annulla\",2,155,23,40,14\n    PUSHBUTTON      \"&?\",254,155,44,40,14\nEND\n\n46 DIALOG 11, 28, 250, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Seleziona nome file\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Questo percorso non coincide col formato FAT per i nomi di file. Specificare un nuovo nome.\",99,5,4,190,20,NOT WS_GROUP\n    RTEXT           \"&Nuovo nome:\",-1,5,56,50,12,NOT WS_GROUP\n    EDITTEXT        103,70,55,130,12\n    RTEXT           \"Percorso originale:\",-1,8,27,62,12,NOT WS_GROUP\n    EDITTEXT        102,70,27,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \"Alla directory:\",-1,9,39,46,11,NOT WS_GROUP\n    EDITTEXT        101,70,38,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"OK\",1,205,4,40,14\n    PUSHBUTTON      \"Annulla\",2,205,20,40,14\n    PUSHBUTTON      \"&?\",254,205,36,40,14\nEND\n\n48 DIALOG 23, 13, 250, 107\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Propriet di %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,194,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Annulla\",2,194,23,50,14\n    PUSHBUTTON      \"&?\",254,194,43,50,14\n    CONTROL         \"N&ome file:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,55,10\n    EDITTEXT        201,60,5,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Percorso:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,60,16,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Data/ora ultima modifica:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,85,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,92,27,96,10\n    CONTROL         \"Dimensione:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,38,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,60,38,90,10\n    GROUPBOX        \"Attributi\",-1,4,52,120,50\n    CONTROL         \"So&la lettura\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,64,52,12\n    CONTROL         \"&Nascosto\",216,\"Button\",BS_AUTOCHECKBOX,71,64,49,12\n    CONTROL         \"&Archivio\",217,\"Button\",BS_AUTOCHECKBOX,9,76,52,12\n    CONTROL         \"&Sistema\",218,\"Button\",BS_AUTOCHECKBOX,71,76,49,12\n    CONTROL         \"&Compresso\",267,\"Button\",BS_AUTOCHECKBOX,9,88,52,12\nEND\n\n49 DIALOG 13, 54, 264, 154\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Carattere\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Tipo:\",1088,4,3,40,9\n    COMBOBOX        1136,4,13,94,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"St&ile:\",1089,104,3,44,9\n    COMBOBOX        1137,104,13,64,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Dimensione:\",1090,173,3,41,9\n    COMBOBOX        1138,173,13,32,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Effetti\",1072,6,73,84,61,WS_GROUP\n    CONTROL         \"&Barrato\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,83,49,10\n    CONTROL         \"&Sottolineato\",1041,\"Button\",BS_AUTOCHECKBOX,10,95,51,10\n    CONTROL         \"Lettere &minuscole per le unit FAT\",1042,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,127,252,10\n    CONTROL         \"&Lettere minuscole per tutte le unit\",1043,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,139,252,10\n    LTEXT           \"&Colore:\",1091,10,107,30,9\n    COMBOBOX        1139,10,117,75,50,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"OK\",1,218,6,40,14,WS_GROUP\n    PUSHBUTTON      \"Annulla\",2,218,23,40,14,WS_GROUP\n    PUSHBUTTON      \"&Applica\",1026,218,40,40,14,WS_GROUP\n    PUSHBUTTON      \"&?\",1038,218,57,40,14,WS_GROUP\n    GROUPBOX        \"Esempio\",1073,6,72,252,49,WS_GROUP\n    CTEXT           \"\",1093,10,137,1,2,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBbYyZz\",1092,10,81,243,37,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 77, 27, 160, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formattazione disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\",100,15,36,134,8\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,7,13,149,22\n    PUSHBUTTON      \"Nascondi\",110,38,48,40,14\n    PUSHBUTTON      \"Annulla\",2,82,48,40,14\nEND\n\n51 DIALOG 10, 20, 260, 70\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Conferma: ignora file o directory e continua\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Accesso negato, ignora:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,10,203,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,108,10,122,10\n    CONTROL         \"Non si dispone delle autorizzazioni oppure il file  in uso.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,25,230,10\n    CONTROL         \"Scegliere S per ignorare questo file e proseguire l'operazione.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,35,204,10\n    DEFPUSHBUTTON   \"&S\",6,33,52,40,14\n    PUSHBUTTON      \"S &tutti\",107,79,52,40,14\n    PUSHBUTTON      \"&No\",7,125,52,40,14\n    PUSHBUTTON      \"Annulla\",2,171,52,40,14\nEND\n\n52 DIALOG 10, 20, 260, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Conferma: ignora file o directory e continua\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Accesso negato alla destinazione, ignora:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,13,203,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,165,13,92,10\n    CONTROL         \"Fare clic su S per ignorare il file e continuare l'operazione.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,23,196,10\n    DEFPUSHBUTTON   \"&S\",6,41,42,40,14\n    PUSHBUTTON      \"S &tutti\",107,87,42,40,14\n    PUSHBUTTON      \"&No\",7,133,42,40,14\n    PUSHBUTTON      \"Annulla\",2,179,42,40,14\nEND\n\n53 DIALOG 77, 109, 174, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Cerca disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Cerca:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,5,60,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,50,5,120,10\n    CONTROL         \"Comincia da:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,70,10\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,50,15,120,10\n    CONTROL         \"Directory lette:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,25,60,10\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,66,25,100,10\n    CONTROL         \"Corrispondenze trovate:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,35,77,10\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,86,35,80,10\n    PUSHBUTTON      \"Nascondi\",110,45,48,40,14\n    PUSHBUTTON      \"Annulla\",2,89,48,40,14\nEND\n\n54 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Copia negli Appunti\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Directory corrente: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"Copia negli &Appunti:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,67,10\n    EDITTEXT        102,70,19,125,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,200,6,40,14\n    PUSHBUTTON      \"Annulla\",2,200,23,40,14\n    PUSHBUTTON      \"&?\",254,200,43,40,14\nEND\n\n55 DIALOG 18, 14, 301, 224\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Modifica tipo file\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Tipo file:\",302,5,6,33,8\n    EDITTEXT        301,42,5,95,12,ES_AUTOHSCROLL\n    GROUPBOX        \"Opera&zione: \",-1,5,22,245,126,WS_GROUP\n    COMBOBOX        306,50,22,48,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Comando:\",313,10,42,38,8\n    EDITTEXT        304,50,39,108,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"S&foglia...\",318,164,38,40,14\n    CONTROL         \"&Utilizza DDE\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,57,56,10\n    LTEXT           \"&Messaggio DDE:\",320,13,72,59,8\n    EDITTEXT        309,111,70,100,12,ES_AUTOHSCROLL\n    LTEXT           \"Mess. DDE per applicazio&ne non in esecuzione:\",322,13,84,96,19\n    LTEXT           \"(opzionale)\",324,213,90,36,8\n    EDITTEXT        311,111,88,100,12,ES_AUTOHSCROLL\n    LTEXT           \"&Applicazione:\",321,13,109,48,8\n    EDITTEXT        310,111,107,100,12,ES_AUTOHSCROLL\n    LTEXT           \"Arg&omento:\",323,13,127,42,8\n    EDITTEXT        312,111,125,100,12,ES_AUTOHSCROLL\n    LTEXT           \"Nuova &estensione:\",-1,11,180,52,19\n    EDITTEXT        315,63,183,32,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"Agg&iungi ->\",303,109,174,44,14\n    PUSHBUTTON      \"<- &Rimuovi\",219,109,191,44,14\n    LTEXT           \"E&stensioni:\",-1,169,162,41,8\n    LISTBOX         317,169,172,65,40,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Estensioni associate al tipo file:\",316,5,154,245,66\n    DEFPUSHBUTTON   \"OK\",1,255,6,40,14\n    PUSHBUTTON      \"Annulla\",2,255,23,40,14\n    PUSHBUTTON      \"&?\",254,255,40,40,14\nEND\n\n57 DIALOG 123, 60, 250, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Compressione file in corso\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"File in corso di compressione:\",-1,6,8,79,8\n    LTEXT           \"nomefile.xxx\",341,86,8,90,8\n    LTEXT           \"Directory:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,43,20,150,8\n    LTEXT           \"Directory compresse:\",-1,6,32,102,8\n    LTEXT           \"1,888,888,999\",343,90,32,60,8\n    LTEXT           \"File compressi:\",-1,6,44,62,8\n    LTEXT           \"1,888,888,999\",344,74,44,58,8\n    LTEXT           \"Dimensione totale dei file prima della compressione:\",-1,6,56,169,8\n    LTEXT           \"9,999,999,999,999\",345,178,56,68,8\n    LTEXT           \"Dimensione totale dei file dopo la compressione:\",-1,6,68,158,8\n    LTEXT           \"9,999,999,999,999\",346,178,69,68,8\n    LTEXT           \"Rapporto di compressione:\",-1,6,80,88,8\n    LTEXT           \"100%\",347,101,80,27,8\n    PUSHBUTTON      \"Annulla\",2,76,97,55,14\nEND\n\n58 DIALOG 114, 62, 197, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Decompressione file in corso\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"File in corso di decompressione:\",-1,6,8,106,8\n    LTEXT           \"nomefile.xxx\",351,117,8,66,8\n    LTEXT           \"Directory:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\",352,45,20,144,8\n    LTEXT           \"Directory non compresse:\",-1,6,32,91,8\n    LTEXT           \"1,999,999,999\",353,99,32,70,8\n    LTEXT           \"File non compressi:\",-1,6,44,86,8\n    LTEXT           \"1,999,999,999\",354,92,44,78,8\n    PUSHBUTTON      \"Annulla\",2,74,64,49,14\nEND\n\n59 DIALOG 11, 28, 245, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Errore di compressione\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,8,8,21,20\n    LTEXT           \"\",100,35,8,190,20\n    DEFPUSHBUTTON   \"&Ignora\",5,25,45,45,14,WS_GROUP\n    PUSHBUTTON      \"I&gnora tutti\",112,77,45,45,14\n    PUSHBUTTON      \"&Riprova\",4,129,45,45,14\n    PUSHBUTTON      \"&Termina\",3,183,45,45,14\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY, SHIFT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT\n    VK_F4,          1702,                   VIRTKEY, SHIFT\n    VK_F5,          1704,                   VIRTKEY \n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII   \n    VK_ADD,         301,                    VIRTKEY \n    \"*\",            302,                    ASCII   \n    VK_MULTIPLY,    302,                    VIRTKEY \n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL\n    \"-\",            304,                    ASCII   \n    VK_SUBTRACT,    304,                    VIRTKEY \n    VK_RETURN,      110,                    VIRTKEY, ALT\n    VK_F2,          2000,                   VIRTKEY \nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"CUR300.CUR\"\n\n\n301                     CURSOR                  \"CUR301.CUR\"\n\n\n302                     CURSOR                  \"CUR302.CUR\"\n\n\n303                     CURSOR                  \"CUR303.CUR\"\n\n\n306                     CURSOR                  \"CUR306.CUR\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ICO200.ICO\"\n\n\n201                     ICON                    \"ICO201.ICO\"\n\n\n202                     ICON                    \"ICO202.ICO\"\n\n\n204                     ICON                    \"ICO204.ICO\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,318\n PRODUCTVERSION 4,0,1381,318\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"041004B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"File Manager\"\n            VALUE \"FileVersion\", \"4.00\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"Copyright  Microsoft Corp. 1981-1995\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"Sistema operativo  Microsoft Windows NT(TM)\"\n            VALUE \"ProductVersion\", \"4.00\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0x410, 1200\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"Copia disco\"\n    51                      \"Inserire il disco di destinazione.\"\n    52                      \"Inserire il disco di origine.\"\n    53                      \"Inserire i dischi di origine e di destinazione.\"\n    54                      \"Formattazione del disco di destinazione in corso\"\n    55                      \"Errore nella copia del disco\"\n    56                      \"Impossibile copiare il disco.\"\n    58                      \"I dischi di origine e di destinazione sono incompatibili.\"\n    60                      \"%d%% completata\"\n    61                      \"Creazione della directory principale in corso...\"\n    62                      \"Copia dei file di sistema in corso...\"\n    63                      \"Errore nella formattazione del disco\"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \"Formattazione completata\"\n    67                      \"%ld byte di spazio totale sul disco.\\n%ld byte disponibili sul disco.\\n\\nFormattare un altro disco?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"Errore di rete\"\n    83                      \"L'unit contiene i file di sistema di Windows e non pu essere disconnessa.\"\n    91                      \"Impossibile modificare gli attributi.\"\n    92                      \"Impossibile creare la directory.\"\n    93                      \"Impossibile etichettare il disco.\\n\\nControllare che il disco non sia protetto dalla scrittura, che non sia un'unit di rete e che l'etichetta sia valida.\\nI seguenti caratteri non sono accettati:\\n[spazio] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n    95                      \"Nessun file corrispondente trovato.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \"Il contenuto dell'unit  cambiato. Aggiornare la finestra Risultati ricerca?\"\n    98                      \"Occorre avere accesso alla workstation come amministratore per eseguire questa operazione su dischi rigidi.\"\n    101                     \"Unit %c:%c\"\n    110                     \"Impossibile eseguire il programma\"\n    111                     \"Errore imprevisto: %d.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"Memoria insufficiente per avviare l'applicazione specificata.\\n\\nChiudere una o pi applicazioni e riprovare.\"\n    113                     \"Impossibile trovare il file (o uno dei suoi componenti).\\n\\nControllare che il percorso e il nome del file sono corretti e che tutte le librerie richieste sono disponibili.\"\n    114                     \"Percorso specificato non valido.\"\n    116                     \"Nessuna applicazione associata a questo file.\\n\\nScegliere il comando Associa dal menu File per creare un'associazione.\"\n    118                     \"Impossibile aprire o stampare il file.\\n\\nAvviare l'applicazione che ha creato il file e stamparlo da l.\"\n    120                     \"Conferma operazioni col mouse\"\n    121                     \"Copiare i file o le directory selezionate in %s?\"\n    122                     \"Spostare i file o le directory selezionate in %s?\"\n    123                     \"Avviare %s usando %s come file iniziale?\"\n    124                     \"File Manager\"\n    126                     \"Struttura della directory\"\n    127                     \"Risultati ricerca: \"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \"Eccessivo numero di file\"\n    133                     \"File Manager - Memoria esaurita\"\n    134                     \"Impossibile leggere tutta la directory. Sar visualizzato solo un elenco parziale.\"\n    140                     \"Directory corrente: %s\"\n    141                     \"Copia\"\n    143                     \"Rinomina\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"Formatta disco\"\n    146                     \"Selezionare il disco da formattare.\"\n    150                     \"Creazione in corso di:\"\n    151                     \"Rimozione in corso...\"\n    152                     \"Copia in corso di:\"\n    153                     \"Ridenominazione in corso...\"\n    154                     \"Spostamento in corso...\"\n    155                     \"Eliminazione in corso...\"\n    156                     \"Stampa in corso di: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"Copia in corso...\"\n    170                     \"Rimozione in corso di:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \"Totale: %d file (%s)\"\n    181                     \"Directory lette: %d \"\n    182                     \"%c: %s liberi, totale %s\"\n    183                     \"%d file trovato/i\"\n    185                     \"i file selezionati\"\n    186                     \"Impossibile disconnettere l'unit di rete.\\n\\nAlcuni file sull'unit sono aperti.\"\n    187                     \"%d file selezionato/i (%s)\"\n    188                     \"Nessun disco presente nell'unit %c.\\n\\nInserire un disco e riprovare.\"\n    189                     \"Il disco nell'unit %c non  formattato.\\n\\nFormattare il disco adesso?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"Spazio su disco insufficiente per la stampa.\\n\\nEliminare uno o pi file per aumentare lo spazio su disco e riprovare.\"\n    193                     \"Memoria insufficiente per la stampa.\\n\\nChiudere una o pi applicazioni e riprovare.\"\n    194                     \"Errore di stampa.\\n\\nVerificare che la stampante sia stata selezionata e configurata in modo corretto.\"\n    195                     \"Visualizzazione di struttura di directory incompleta.\"\n    197                     \"Unit di destinazione piena. Per continuare, inserire un nuovo disco.\"\n    198                     \"File di sistema, nascosto o di sola lettura.\"\n    199                     \"Impossibile eseguire la formattazione veloce.\\n\\nContinuare con la formattazione normale?\"\n    203                     \"Errore nell'invio del comando all'applicazione.\"\n    204                     \"Impossibile caricare una libreria necessaria per l'operazione.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \"Directory condi&vise...\"\n    210                     \"La formattazione canceller tutti i dati presenti sul disco. Formattare il disco nell'unit %c?\"\n    211                     \"Conferma formattazione disco\"\n    212                     \"L'operazione canceller tutti i dati presenti sul disco di destinazione. Continuare?\"\n    213                     \"Conferma copia disco\"\n    214                     \"&Chiudi\"\n    215                     \"Chiudi\"\n    218                     \"La directory %s non esiste.\\n\\nCreare la directory?\"\n    219                     \"Programmi#*.exe;*.pif;*.com;*.bat#Tutti i file(*.*)#*.*#\"\n    220                     \"Sfoglia\"\n    221                     \"Esegui\"\n    222                     \"Impossibile stampare file\"\n    223                     \"Impossibile visualizzare le informazioni della Guida.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"I file con estensione %s sono programmi e non possono essere associati ad un'altra applicazione.\"\n    225                     \"%s non  un programma e non pu essere associato ad una estensione di file.\"\n    226                     \"(Nessuna)\"\n    227                     \"Nessun file trovato.\"\n    228                     \"Impossibile stampare file multipli.\\n\\nSelezionare solo un file e riprovare.\"\n    230                     \"Uno dei file libreria necessari per eseguire l'applicazione  danneggiato. Ripetere l'installazione dell'applicazione.\"\n    231                     \"File utilizzato da un'altra applicazione.\"\n    232                     \"Potrebbe non essere possibile accedere a file creati nella directory '%s'.\\n\\nContinuare?\"\n    233                     \"Crea directory\"\n    234                     \"%ld byte\"\n    235                     \"%s byte\"\n    236                     \"Impossibile copiare file multipli o directory negli Appunti.\\n\\nSelezionare solo un file e riprovare.\"\n    237                     \"%s - %s\"\n    238                     \"Unit:\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"Connetti unit di rete\"\n    241                     \"Disconnetti unit di rete\"\n    242                     \"Connessioni in rete\"\n    243                     \"Condividi directory\"\n    244                     \"Termina condivisione directory\"\n    245                     \"Visualizza tutti i dettagli sul file\"\n    246                     \"Visualizza solo il nome del file\"\n    247                     \"Ordina per nome\"\n    248                     \"Ordina per tipo\"\n    249                     \"Ordina per dimensione\"\n    250                     \"Ordina per data\"\n    251                     \"Nuova finestra\"\n    252                     \"Copia i file\"\n    253                     \"Sposta i file\"\n    254                     \"&Directory:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"Unit di rete non disponibile.\"\n    259                     \"Condiviso con il nome %s\"\n    260                     \"Non condiviso\"\n    261                     \"Elimina i file\"\n    262                     \" - COMPRESSO\"\n    263                     \"Copia in corso dei file su %s\"\n    264                     \"Spostamento in corso dei file su %s\"\n    265                     \"Esecuzione dei file con %s\"\n    266                     \"%s byte\"\n    267                     \"%s KB\"\n    268                     \"%s MB\"\n    269                     \"%s GB\"\n    270                     \"%s TB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \"Autorizzazioni insufficienti per accedere a questa directory.\"\n    281                     \"Autorizzazioni insufficienti per accedere a questo file.\"\n    283                     \"Impossibile accedere all'unit %c:. Unit occupata.\\nCopia del disco in corso.\"\n    284                     \"Impossibile accedere all'unit %c:. Unit occupata.\\nFormattazione del disco in corso.\"\n    285                     \"Operazione non completata\"\n    286                     \"Impossibile completare l'operazione su tutti i file e su tutte le directory.\"\n    287                     \"Impossibile leggere la directory.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"Directory inesistente.\"\n    289                     \"Impossibile connettere l'unit di rete.\"\n    290                     \"Impossibile trovare il nome della rete.\"\n    292                     \"S tutti agisce su tutti i file, inclusi quelli di sistema,\\nnascosti e di sola lettura.\"\n    294                     \"Apri\"\n    295                     \"Stampa\"\n    298                     \"Aggiungi estensione\"\n    299                     \"L'estensione \"\"%s\"\"  correntemente associata a \"\"%s\"\". Continuare e sovrascrivere l'associazione?\"\n    300                     \"Editor associazione file\"\n    301                     \"Impossibile associare l'estensione.\"\n    302                     \"Impossibile eliminare l'estensione.\"\n    303                     \"Impossibile aggiungere il tipo di file.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"Impossibile eliminare il tipo di file.\"\n    305                     \"Impossibile leggere il tipo di file.\"\n    306                     \"La descrizione del tipo di file non pu essere nulla. Indicare un nuovo tipo di file.\"\n    307                     \"Impossibile generare un identificatore univoco per il tipo di file indicato. Indicare un nuovo tipo di file.\"\n    308                     \"Elimina tipo di file\"\n    309                     \"L'operazione eliminer il tipo di file e tutte le estensioni associate. Eliminare '%s'?\"\n    312                     \"Il tipo di file deve avere un comando per almeno una delle azioni. Indicare un'applicazione nel campo Comando.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"Nuovo tipo di file\"\n    321                     \"Copia disco in corso\"\n    322                     \"Ricerca in corso...\"\n    324                     \"File Manager sta formattando un disco. L'uscita da File Manager terminer l'operazione.\"\n    325                     \"File Manager sta copiando un disco. L'uscita da File Manager terminer l'operazione.\"\n    326                     \"Percentuale completata\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360 KB\"\n    354                     \"1%s2 MB\"\n    355                     \"720 KB\"\n    356                     \"1%s44 MB\"\n    357                     \"2%s88 MB\"\n    358                     \"Capacit dell'unit\"\n    359                     \"Impossibile ottenere informazioni sul disco.\\n\\nControllare che il disco sia nell'unit.\"\n    360                     \"20%s8 MB\"\n    361                     \"Tipo di disco sconosciuto\"\n    362                     \"Tipo di disco sconosciuto\"\n    363                     \"Impossibile formattare il tipo di disco nell'unit %s con File Manager. Usare Disk Administrator per formattare il disco.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"File system incompatibile.\"\n    401                     \"Accesso negato.\"\n    402                     \"Disco protetto.\"\n    403                     \"Impossibile bloccare il volume.\"\n    404                     \"Impossibile eseguire la formattazione veloce del disco.\\n\\nControllare che il disco appartenga ad una classe di densit valida.\"\n    405                     \"Errore di I/O nel disco di origine.\"\n    406                     \"Errore di I/O nel disco di destinazione.\"\n    407                     \"Errore di I/O nei dischi di origine e destinazione.\"\n    408                     \"Si  verificato un errore di I/O.\"\n    411                     \"Impossibile formattare il disco.\\n\\nControllare che il disco sia nell'unit, che non sia protetto dalla scrittura, danneggiato o appartenente ad una classe di densit non valida.\"\n    412                     \"Impossibile etichettare il disco.\\n\\nL'etichetta specificata non  valida. Assicurarsi che l'etichetta non contenga alcuno dei seguenti caratteri\\n[spazio] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \"Apertura in corso...\"\n    421                     \"Chiusura in corso...\"\n    422                     \"Eccessivo numero di finestre di directory aperte.\\n\\nChiudere una o pi finestre e riprovare.\"\n    423                     \"Formattazione veloce in corso...\"\n    424                     \"Impossibile inizializzare il supporto di aggiornamento in background. Uscita da File Manager.\"\n    425                     \"Inizializzazione di File Manager\"\n    426                     \"Lettura directory in corso, attendere...\"\n    427                     \"Comprimere tutti i file e anche le sottodirectory in %s?\"\n    428                     \"Decomprimere tutti i file e anche le sottodirectory in %s?\"\n    429                     \"Impossibile cambiare gli attributi di compressione per %s.\"\n    430                     \"Il file %s non verr compresso. La compressione di questo file impedirebbe l'avviamento del sistema.\"\n    431                     \"File Manager sta attualmente comprimendo/decomprimendo dei file.\\nAttendere il completamento dell'operazione prima di riprovare a comprimere/decomprimere altri file.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"Commenti\"\n    501                     \"Nome societ\"\n    502                     \"Descrizione file\"\n    503                     \"Nome interno\"\n    504                     \"Marchi depositati\"\n    505                     \"Nome file originale\"\n    506                     \"Descrizione versione privata\"\n    507                     \"Nome prodotto\"\n    508                     \"Versione prodotto\"\n    509                     \"Descrizione versione speciale\"\n    510                     \"Lingua\"\n    511                     \"Lingue\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"&Connetti unit di rete...\"\n    801                     \"&Disconnetti unit di rete...\"\n    802                     \"Conne&ssioni in rete...\"\n    803                     \"Co&ndividi con nome...\"\n    804                     \"&Termina condivisione...\"\n    805                     \"&Visualizza directory condivise...\"\n    806                     \"&Annulla Elimina...\"\n    807                     \"Apri nuova &finestra alla connessione\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \"Errore nello spostamento del file\"\n    1002                    \"Errore nella copia del file\"\n    1003                    \"Errore nell'eliminazione del file\"\n    1004                    \"Errore nella ridenominazione del file\"\n    1005                    \"Errore nella selezione dell'unit\"\n    1006                    \"Errore nella lettura della directory\"\n    1007                    \"Errore nell'assegnazione dell'etichetta al disco\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"Impossibile spostare %s: %s\"\n    1012                    \"Impossibile copiare %s: %s\"\n    1013                    \"Impossibile eliminare %s: %s\"\n    1014                    \"Impossibile rinominare %s: %s\"\n    1021                    \"Impossibile creare la directory %s: %s\"\n    1022                    \"Impossibile eliminare la directory %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"Impossibile creare o sostituire la directory %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"L'origine e la destinazione sono uguali.\"\n    1102                    \"Selezionare solo un file da rinominare oppure usare i caratteri jolly (ad esempio *.TXT) per rinominare un gruppo di file con nomi simili.\"\n    1103                    \"Impossibile rinominare su una directory o su un disco differente.\\nUtilizzare il comando Sposta dal menu File.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"Impossibile rinominare la directory principale.\"\n    1105                    \"La directory di destinazione  una sottodirectory dell'origine.\"\n    1106                    \"File in uso in Windows.\"\n    1107                    \"Specificare un solo file o directory nella casella \"\"A:\"\"; oppure usare i caratteri jolly (ad esempio *.TXT) per specificare un gruppo di file.\"\n    1108                    \"Nome di file o di directory specificato gi esistente. All'interno di una directory, i nomi di file e di directory devono essere unici.\"\n    1109                    \"Verificare che il nome file ed il percorso specificati siano corretti.\"\n    1110                    \"Verificare che il percorso specificato sia corretto.\"\n    1111                    \"Chiudere una o pi applicazioni, quindi riprovare. Oppure usare l'opzione \"\"Sistema\"\" del Pannello di controllo per incrementare la memoria virtuale.\"\n    1113                    \"Disattivare la protezione dalla scrittura oppure usare un altro disco, quindi riprovare.\"\n    1114                    \"Assicurarsi di avere le autorizzazioni di rete corrette per eseguire l'operazione.\"\n    1115                    \"Eliminare uno o pi file per aumentare lo spazio disponibile, quindi riprovare.\"\n    1116                    \"Nessun dato rilevato sul supporto.\"\n    1117                    \"Directory gi esistente.\"\n    1118                    \"Il nome specificato  gi utilizzato da un file.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"Disco errato nell'unit.\"\n    1151                    \"L'applicazione non pu essere eseguita in modalit Windows NT.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \"Impossibile eseguire il componente.\"\n    1153                    \"Il componente non pu essere eseguito in modalit Windows NT.\"\n    1154                    \"Questo programma non  un'applicazione valida Windows NT.\"\n    1155                    \"Errore. Non esiste un messaggio per quest'errore.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \"Rs[(&F):\"\n    2001                    \"Rs[(&T):\"\n    2002                    \"̖O(&F):\"\n    2003                    \"VO(&T):\"\n    2004                    \"Rs[:\"\n    2005                    \"̃tHg?gpƊ?̕\\\\?\\nłȂȂ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"Comandi per la gestione dei file.\"\n    3985                    \"Comandi per la gestione dei dischi.\"\n    3986                    \"Comandi per gestire la finestra della struttura.\"\n    3987                    \"Comandi per determinare la visualizzazione.\"\n    3988                    \"Comandi per l'impostazione delle opzioni.\"\n    3989                    \"Comandi per la gestione della protezione di file e directory.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"Comandi per la gestione delle finestre.\"\n    4001                    \"Comandi per visualizzare la Guida di File Manager.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"Cerca un argomento della Guida di File Manager.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \"Apre l'elemento selezionato.\"\n    4102                    \"Stampa un documento.\"\n    4103                    \"Associa un file ad una applicazione.\"\n    4104                    \"Cerca file e directory.\"\n    4105                    \"Apre o avvia un applicazione o un documento.\"\n    4106                    \"Sposta l'elemento selezionato.\"\n    4107                    \"Copia file e directory.\"\n    4108                    \"Elimina file e directory.\"\n    4109                    \"Rinomina file e directory.\"\n    4110                    \"Imposta gli attributi dei file e visualizza le propriet.\"\n    4111                    \"Crea una directory.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"Esce da File Manager.\"\n    4116                    \"Seleziona file e directory.\"\n    4117                    \"Recupera file cancellati in precedenza.\"\n    4118                    \"Copia un file negli Appunti.\"\n    4119                    \"Comprime un file o una directory\"\n    4120                    \"Decomprime un file o una directory\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"Copia il contenuto di un disco floppy.\"\n    4202                    \"Assegna o modifica l'etichetta di volume di un disco.\"\n    4203                    \"Formatta un disco floppy.\"\n    4205                    \"Connette ad un'unit di rete.\"\n    4206                    \"Disconnette da un'unit di rete.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"Seleziona un'altra unit.\"\n    4254                    \"Condivide una directory.\"\n    4255                    \"Interrompe la condivisione di una directory.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"Visualizza un altro livello di una directory.\"\n    4302                    \"Visualizza tutti i livelli di una directory.\"\n    4303                    \"Visualizza tutti i livelli di tutte le directory.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \"Comprime tutte le sottodirectory di una directory selezionata.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \"Visualizza solo i nomi dei file.\"\n    4402                    \"Visualizza tutti i dettagli sui file.\"\n    4403                    \"Visualizza una scelta di dettagli sui file.\"\n    4404                    \"Ordina i file per nome.\"\n    4405                    \"Ordina i file per tipo.\"\n    4406                    \"Ordina i file per dimensione.\"\n    4407                    \"Ordina i file per data.\"\n    4409                    \"Visualizza i file del tipo specificato.\"\n    4411                    \"Visualizza la struttura della directory.\"\n    4412                    \"Visualizza il contenuto della directory corrente.\"\n    4413                    \"Visualizza la struttura ed il contenuto della directory corrente.\"\n    4414                    \"Divide la finestra della directory o sposta la barra di divisione.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"Controlla i messaggi di conferma.\"\n    4503                    \"Visualizza o nasconde la barra degli strumenti.\"\n    4504                    \"Riduce File Manager ad icona all'avvio.\"\n    4505                    \"Evidenzia le directory che hanno sottodirectory.\"\n    4507                    \"Visualizza o nasconde la barra delle unit.\"\n    4508                    \"Visualizza o nasconde la barra degli strumenti.\"\n    4509                    \"Apre una nuova finestra alla connessione.\"\n    4510                    \"Cambia il tipo di carattere.\"\n    4511                    \"Salva le impostazioni all'uscita da File Manager.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"Personalizza la barra degli strumenti.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"Visualizza o imposta le informazioni di autorizzazione per le voci selezionate.\"\n    4606                    \"Visualizza o imposta le informazioni di controllo per le voci selezionate.\"\n    4607                    \"Visualizza o acquisisce la propriet delle voci selezionate.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"Sovrapponi le finestre\"\n    5702                    \"Affianca le finestre verticalmente\"\n    5703                    \"Affianca le finestre orizzontalmente\"\n    5704                    \"Aggiorna il contenuto di una finestra.\"\n    5705                    \"Dispone le icone.\"\n    5706                    \"Apre una nuova finestra.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"Visualizza il sommario della Guida di File Manager.\"\n    5802                    \"Visualizza informazioni sull'uso della Guida.\"\n    5803                    \"Visualizza informazioni su File Manager.\"\nEND\n\n#endif    // Italian (Italy) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/origrc/winfile.ja-JP.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Japanese (Japan) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)\nLANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT\n#pragma code_page(932)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"BMP100.BMP\"\n\n\n101                     BITMAP                  \"BMP101.BMP\"\n\n\n102                     BITMAP                  \"BMP102.BMP\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"̧(&F)\"\n    BEGIN\n        MENUITEM \"J(&O)\\tEnter\",               101\n        MENUITEM \"ړ(&M)...\\tF7\",               106\n        MENUITEM \"߰(&C)...\\tF8\",             107\n        MENUITEM \"دްނֺ߰(&B)...\\tF9\",  118\n        MENUITEM \"폜(&D)...\\tDel\",              108\n        MENUITEM \"O̕ύX(&N)...\",                109\n        MENUITEM \"è(&T)...\\tAlt+Enter\",   110\n        MENUITEM SEPARATOR\n        MENUITEM \"k(&S)...\",                   119\n        MENUITEM \"k(&U)...\",                 120\n        MENUITEM SEPARATOR\n        MENUITEM \"̧ٖw肵Ďs(&R)...\",         105\n        MENUITEM \"(&P)...\",                   102\n        MENUITEM \"ع݂Ƃ̊֘At(&A)...\",      103\n        MENUITEM SEPARATOR\n        MENUITEM \"ިڸ؂̍쐬(&E)...\",           111\n        MENUITEM \"(&H)...\",                   104\n        MENUITEM \"I(&F)...\",                   116\n        MENUITEM SEPARATOR\n        MENUITEM \"̧ Ȱެ̏I(&X)\",          115\n    END\n    POPUP \"ި(&D)\"\n    BEGIN\n        MENUITEM \"ۯ߰ ި̺߰(&C)...\",    201\n        MENUITEM \"ح ق̕ύX(&L)...\",       202\n        MENUITEM SEPARATOR\n        MENUITEM \"ۯ߰ ި̫ϯ(&F)...\",  203\n        MENUITEM SEPARATOR\n        MENUITEM \"ײނ̑I(&S)...\",            251\n    END\n    POPUP \"ިڸ(&T)\"\n    BEGIN\n        MENUITEM \"1 \\(&X)\\t+\",              301\n        MENUITEM \"ׂ̉ĕ\\(&B)\\t*\",            302\n        MENUITEM \"ׂĕ\\(&A)\\tCtrl+*\",           303\n        MENUITEM \"̉\\Ȃ(&C)\\t-\",            304\n        MENUITEM SEPARATOR\n        MENUITEM \"ިڸ؂̗L\\(&I)\",        505\n    END\n    POPUP \"\\(&V)\"\n    BEGIN\n        MENUITEM \"ިڸ؂̧وꗗ(&R)\",          413\n        MENUITEM \"ިڸ؂̂(&E)\",               411\n        MENUITEM \"̧وꗗ̂(&O)\",                412\n        MENUITEM SEPARATOR\n        MENUITEM \"E̕ύX(&L)\",                   414\n        MENUITEM SEPARATOR\n        MENUITEM \"Ô(&N)\",                    401\n        MENUITEM \"ׂĂ̏(&A)\",                  402, CHECKED\n        MENUITEM \"\\̐ݒ(&P)...\",              403\n        MENUITEM SEPARATOR\n        MENUITEM \"O(&S)\",                     404\n        MENUITEM \"gq(&B)\",                    405\n        MENUITEM \"ޏ(&Z)\",                   406\n        MENUITEM \"t(&D)\",                     407\n        MENUITEM SEPARATOR\n        MENUITEM \"̧ق̎ނ̎w(&T)...\",           409\n    END\n    POPUP \"߼(&O)\"\n    BEGIN\n        MENUITEM \"mFүނ̗L(&C)...\",          501\n        MENUITEM \"̫(&F)...\",                 510\n        MENUITEM \"° ް̕ύX(&B)...\",           512\n        MENUITEM SEPARATOR\n        MENUITEM \"° ް(&T)\",                 508\n        MENUITEM \"ײ ް(&D)\",              507\n        MENUITEM \"ð ް(&S)\",               503\n        MENUITEM SEPARATOR\n        MENUITEM \"gpɍŏ(&M)\",                504\n        MENUITEM \"ȈԂۑ(&E)\",               511\n    END\n    POPUP \"è(&S)\"\n    BEGIN\n        MENUITEM \"(&P)...\",                605\n        MENUITEM \"č(&A)...\",                   606\n        MENUITEM \"L(&O)...\",                  607\n    END\n    POPUP \"޳(&W)\"\n    BEGIN\n        MENUITEM \"V޳(&N)\",               1706\n        MENUITEM \"d˂ĕ\\(&C)\\tShift+F5\",         1701\n        MENUITEM \"㉺ɕׂĕ\\(&H)\",                1703\n        MENUITEM \"Eɕׂĕ\\(&T)\\tShift+F4\",      1702\n        MENUITEM \"݂̐(&A)\",                 1705\n        MENUITEM \"ŐV̏ɍXV(&R)\\tF5\",            1704\n    END\n    POPUP \"(&H)\"\n    BEGIN\n        MENUITEM \"ڎ(&C)\",                      1801\n        MENUITEM \"ܰނŌ(&S)...\",            30\n        MENUITEM \"߂̎g(&H)\",                1802\n        MENUITEM SEPARATOR\n        MENUITEM \"ްޮݏ(&A)...\",            1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 12, 210, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"̧ٖw肵Ďs\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,160,10\n    CONTROL         \" ײ(&C):\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,3,18,60,10\n    EDITTEXT        201,3,29,134,12,ES_AUTOHSCROLL\n    CONTROL         \"ŏ̏ԂŎs(&M)\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,3,45,90,12\n    DEFPUSHBUTTON   \"OK\",1,165,6,40,14\n    PUSHBUTTON      \"ݾ\",2,165,23,40,14\n    PUSHBUTTON      \"(&H)\",254,165,43,40,14\nEND\n\n11 DIALOG 20, 20, 256, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,200,10\n    CONTROL         \"̧(&P):\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,65,10\n    EDITTEXT        102,68,18,137,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,36,200,10\n    DEFPUSHBUTTON   \"OK\",1,210,6,40,14\n    PUSHBUTTON      \"ݾ\",2,210,23,40,14\n    PUSHBUTTON      \"(&H)\",254,210,43,40,14\nEND\n\n12 DIALOG 12, 19, 256, 135\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ع݂Ƃ̊֘At\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"gq(&F):\",-1,6,7,40,10\n    COMBOBOX        315,48,5,44,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"sع ۸(&A):\",-1,6,30,124,10\n    EDITTEXT        304,6,42,172,12,ES_AUTOHSCROLL\n    LISTBOX         314,11,54,167,63,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"Q(&B)...\",318,131,25,47,14\n    DEFPUSHBUTTON   \"OK\",1,186,7,65,14,WS_GROUP\n    PUSHBUTTON      \"ݾ\",2,186,23,65,14\n    PUSHBUTTON      \"̧ ߍ쐬(&N)...\",300,186,44,65,14\n    PUSHBUTTON      \"̧ ߕύX(&C)...\",251,186,61,65,14\n    PUSHBUTTON      \"̧ ߍ폜(&D)\",219,186,78,65,14\n    PUSHBUTTON      \"(&H)\",254,186,96,65,14\nEND\n\n13 DIALOG 20, 20, 288, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"̧ٖ(&S):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,7,72,12\n    EDITTEXT        201,77,5,160,12,ES_AUTOHSCROLL\n    CONTROL         \"ިڸ(&F):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,22,72,12\n    EDITTEXT        101,77,20,160,12,ES_AUTOHSCROLL\n    CONTROL         \"ިڸ؂܂Ō(&E)\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,77,34,100,12\n    DEFPUSHBUTTON   \"OK\",1,242,6,40,14\n    PUSHBUTTON      \"ݾ\",2,242,23,40,14\n    PUSHBUTTON      \"(&H)\",254,242,43,40,14\nEND\n\n14 DIALOG 33, 28, 246, 106\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ړ\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"݂ިڸ: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,6,224,10\n    CONTROL         \"ړ(&T):\",2001,\"Static\",SS_LEFTNOWORDWRAP,3,34,54,10\n    EDITTEXT        103,59,32,176,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,16,71,101,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,16,54,152,10\n    DEFPUSHBUTTON   \"OK\",1,46,86,40,14\n    PUSHBUTTON      \"ݾ\",2,102,86,40,14\n    PUSHBUTTON      \"(&H)\",254,158,86,40,14\n    CONTROL         \"ړ(&F):\",2002,\"Static\",SS_LEFTNOWORDWRAP,3,20,54,10\n    EDITTEXT        102,59,18,176,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 256, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"폜\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"݂ިڸ: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,203,10\n    CONTROL         \"폜̧(&L):\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,21,65,10\n    EDITTEXT        102,68,19,137,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,35,55,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,68,35,137,10\n    DEFPUSHBUTTON   \"OK\",1,210,6,40,14\n    PUSHBUTTON      \"ݾ\",2,210,23,40,14\n    PUSHBUTTON      \"(&H)\",254,210,40,40,14\nEND\n\n16 DIALOG 23, 13, 259, 229\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"%s è\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,204,6,50,14,WS_GROUP\n    PUSHBUTTON      \"ݾ\",2,204,23,50,14\n    PUSHBUTTON      \"(&H)\",254,204,40,50,14\n    CONTROL         \"̧ٖ(&F):\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,45,10\n    EDITTEXT        201,55,5,142,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"߽(&P):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,45,10\n    EDITTEXT        101,55,16,142,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"ۑ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,45,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,55,27,142,10\n    CONTROL         \"ްޮ:\",258,\"Static\",SS_LEFTNOWORDWRAP,5,38,45,10\n    CONTROL         \"Ȃ\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,55,38,142,10\n    LTEXT           \"Copyright(&Y):\",-1,5,49,45,10\n    EDITTEXT        265,55,49,142,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \":\",260,\"Static\",SS_LEFTNOWORDWRAP,5,60,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,55,60,142,10\n    CONTROL         \"k:\",268,\"Static\",SS_LEFTNOWORDWRAP,5,71,45,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,55,71,142,10\n    CONTROL         \"k:\",270,\"Static\",SS_LEFTNOWORDWRAP,5,82,45,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,55,82,142,10\n    GROUPBOX        \"\",-1,4,96,130,54\n    CONTROL         \"ǂݎp(&R)\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,108,65,12\n    CONTROL         \"B̧(&I)\",216,\"Button\",BS_AUTOCHECKBOX,81,108,49,12\n    CONTROL         \"(&A)\",217,\"Button\",BS_AUTOCHECKBOX,9,120,52,12\n    CONTROL         \"(&S)\",218,\"Button\",BS_AUTOCHECKBOX,81,120,49,12\n    CONTROL         \"k(&C)\",267,\"Button\",BS_AUTOCHECKBOX,9,132,52,12\n    GROUPBOX        \"ްޮݏ(&V)\",262,4,155,250,70\n    LISTBOX         263,9,168,91,49,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,110,168,138,50,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 200, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ިڸ؂̍쐬\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,150,10\n    CONTROL         \"ިڸؖ(&N):\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,24,45,10\n    EDITTEXT        201,48,22,90,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,46,150,10\n    DEFPUSHBUTTON   \"OK\",1,157,6,40,14\n    PUSHBUTTON      \"ݾ\",2,157,23,40,14\n    PUSHBUTTON      \"(&H)\",254,157,43,40,14\nEND\n\n19 DIALOG 20, 20, 163, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ۯ߰ ި̺߰\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"߰ײ(&S):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,86,10\n    COMBOBOX        245,106,6,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"߰ײ(&D):\",206,\"Static\",SS_LEFTNOWORDWRAP,5,22,87,10\n    COMBOBOX        222,106,20,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,11,44,40,14\n    PUSHBUTTON      \"ݾ\",2,61,44,40,14\n    PUSHBUTTON      \"(&H)\",254,111,44,40,14\nEND\n\n22 DIALOG 30, 30, 190, 64\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ۯ߰ ި̺߰\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"ި߰Ă܂\",-1,29,16,130,10,NOT WS_GROUP\n    CTEXT           \"ײ A:\",222,29,4,130,10,NOT WS_GROUP\n    CTEXT           \"߰ۯ߰ ިǂݎ蒆ł\",243,3,29,183,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"ݾ\",2,72,45,44,14\nEND\n\n23 DIALOG 20, 20, 168, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ح ق̕ύX\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Vح (&L):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,109,10\n    EDITTEXT        201,5,26,102,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,122,6,40,14\n    PUSHBUTTON      \"ݾ\",2,122,23,40,14\n    PUSHBUTTON      \"(&H)\",254,122,43,40,14\nEND\n\n24 DIALOG 11, 28, 188, 88\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ۯ߰ ި̫ϯ\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,142,6,40,14\n    PUSHBUTTON      \"ݾ\",2,142,23,40,14\n    PUSHBUTTON      \"(&H)\",254,142,43,40,14\n    CONTROL         \"ײ(&D):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,6,35,10\n    COMBOBOX        222,45,4,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"e(&C):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,21,35,10\n    COMBOBOX        241,45,19,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"߼\",102,5,36,131,47,WS_GROUP\n    CONTROL         \"ح (&L):\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,48,54,10\n    EDITTEXT        201,66,46,63,12\n    CONTROL         \" ̫ϯČ`(&Q)\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,65,101,12\nEND\n\n26 DIALOG 30, 30, 168, 50\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ۯ߰ ި̫ϯ\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"ۯ߰ ި̫ϯĒ\",-1,0,6,168,10,NOT WS_GROUP\n    CTEXT           \"ײނ̏...\",243,25,18,119,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"ݾ\",2,62,31,44,14\nEND\n\n30 DIALOG 20, 20, 174, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"\\̐ݒ\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"ڍ\",-1,4,4,121,74\n    CONTROL         \"̧ (&S)\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,15,100,12\n    CONTROL         \"ۑt(&M)\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,27,100,12\n    CONTROL         \"ۑ(&T)\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,39,100,12\n    CONTROL         \"̧ق̑(&F)\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,51,100,12\n    CONTROL         \"MS-DOS ̧ٖ(&D)\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,63,100,12\n    DEFPUSHBUTTON   \"OK\",1,130,6,40,14\n    PUSHBUTTON      \"ݾ\",2,130,23,40,14\n    PUSHBUTTON      \"(&H)\",254,130,60,40,14\nEND\n\n32 DIALOG 20, 20, 176, 102\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"̧ق̎ނ̎w\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"̧ٖ(&N):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,46,10\n    EDITTEXT        201,58,6,65,12,ES_AUTOHSCROLL\n    GROUPBOX        \"̧ق̎\",-1,5,20,118,62\n    CONTROL         \"ިڸ(&D)\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,31,81,12\n    CONTROL         \"۸(&P)\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,43,82,12\n    CONTROL         \"޷(&M)\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,55,87,12\n    CONTROL         \"LȊO̧(&O)\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,98,12\n    CONTROL         \"B̧/ ̧ق\\(&S)\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,5,85,167,12\n    DEFPUSHBUTTON   \"OK\",1,132,23,40,14\n    PUSHBUTTON      \"ݾ\",2,132,40,40,14\n    PUSHBUTTON      \"(&H)\",254,132,60,40,14\nEND\n\n33 DIALOG 20, 20, 214, 97\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"mFүނ̗L\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"mF鑀\",-1,5,3,157,88,WS_TABSTOP\n    CONTROL         \"̧ق̍폜(&D)\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,15,137,12\n    CONTROL         \"ިڸ؂̍폜(&I)\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,27,126,12\n    CONTROL         \"̧ق̏㏑(&R)\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,39,125,12\n    CONTROL         \"ϳ̑(&M)\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,51,141,12\n    CONTROL         \"ۯ߰ ި̫ϯĂƺ߰(&K)\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,63,138,12\n    CONTROL         \"/B/ǂݎp̧ق̕ύX(&S)\",215,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,75,148,12\n    DEFPUSHBUTTON   \"OK\",1,169,6,40,14\n    PUSHBUTTON      \"ݾ\",2,169,23,40,14\n    PUSHBUTTON      \"(&H)\",254,169,44,40,14\nEND\n\n35 DIALOG 20, 20, 250, 46\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"̧ق̈ړ\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,5,49,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,5,192,10\n    CONTROL         \"ړ:\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,15,25,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,15,192,10\n    DEFPUSHBUTTON   \"ݾ\",2,200,28,40,14,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 124, 58\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"̧ق...\",-1,5,6,111,12\n    CTEXT           \"\",-1,4,20,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"ݾ\",2,40,40,40,14,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 206, 88\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"è\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"%d ̧قI܂B\",100,\"Static\",SS_LEFTNOWORDWRAP,5,5,140,10\n    CONTROL         \"v %s ޲ĂłB\",111,\"Static\",SS_LEFTNOWORDWRAP,5,16,140,10\n    GROUPBOX        \"\",-1,5,29,130,54\n    CONTROL         \"ǂݎp(&R)\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,40,65,12\n    CONTROL         \"B̧(&I)\",216,\"Button\",BS_AUTOCHECKBOX,82,40,52,12\n    CONTROL         \"(&A)\",217,\"Button\",BS_AUTOCHECKBOX,10,52,52,12\n    CONTROL         \"(&S)\",218,\"Button\",BS_AUTOCHECKBOX,82,52,52,12\n    CONTROL         \"k(&C)\",267,\"Button\",BS_AUTOCHECKBOX,10,64,52,12\n    DEFPUSHBUTTON   \"OK\",1,150,6,50,14,WS_GROUP\n    PUSHBUTTON      \"ݾ\",2,150,23,50,14\n    PUSHBUTTON      \"(&H)\",254,150,43,50,14\nEND\n\n39 DIALOG 10, 20, 245, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"̧ق̏㏑̊mF\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,30,5,203,10\n    CONTROL         \"̧:\",-1,\"Static\",SS_LEFTNOWORDWRAP,30,22,44,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,22,165,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,75,32,170,10\n    CONTROL         \"V̧:\",-1,\"Static\",SS_LEFTNOWORDWRAP,30,44,44,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,44,165,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,75,54,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,30,70,203,16\n    DEFPUSHBUTTON   \"͂(&Y)\",6,26,95,40,14\n    PUSHBUTTON      \"ׂď㏑(&A)\",107,72,95,55,14\n    PUSHBUTTON      \"(&N)\",7,133,95,40,14\n    PUSHBUTTON      \"ݾ\",2,179,95,40,14\nEND\n\n40 DIALOG 10, 20, 245, 82\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"̧ق̍폜̊mF\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,30,5,203,10\n    CONTROL         \"폜̧:\",-1,\"Static\",SS_LEFTNOWORDWRAP,30,22,50,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,22,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,30,38,203,16\n    DEFPUSHBUTTON   \"͂(&Y)\",6,26,63,40,14\n    PUSHBUTTON      \"ׂč폜(&A)\",107,72,63,55,14\n    PUSHBUTTON      \"(&N)\",7,133,63,40,14\n    PUSHBUTTON      \"ݾ\",2,179,63,40,14\nEND\n\n41 DIALOG 10, 20, 245, 82\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ިڸ؂̍폜̊mF\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,30,5,203,10\n    CONTROL         \"폜ިڸ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,30,22,55,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,87,22,155,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,30,38,203,16\n    DEFPUSHBUTTON   \"͂(&Y)\",6,26,63,40,14\n    PUSHBUTTON      \"ׂč폜(&A)\",107,72,63,55,14\n    PUSHBUTTON      \"(&N)\",7,133,63,40,14\n    PUSHBUTTON      \"ݾ\",2,179,63,40,14\nEND\n\n42 DIALOG 10, 22, 245, 82\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"̧ق̈ړ̊mF\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,30,5,203,10\n    CONTROL         \"ړ̧:\",-1,\"Static\",SS_LEFTNOWORDWRAP,30,22,50,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,22,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,30,38,203,16\n    DEFPUSHBUTTON   \"͂(&Y)\",6,26,63,40,14\n    PUSHBUTTON      \"ׂĈړ(&A)\",107,72,63,55,14\n    PUSHBUTTON      \"(&N)\",7,133,63,40,14\n    PUSHBUTTON      \"ݾ\",2,179,63,40,14\nEND\n\n43 DIALOG 10, 22, 245, 82\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"̧ٖ̕ύX̊mF\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,30,5,203,10\n    CONTROL         \"OύX̧:\",-1,\"Static\",SS_LEFTNOWORDWRAP,30,22,70,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,100,22,140,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,30,38,203,15\n    DEFPUSHBUTTON   \"͂(&Y)\",6,26,63,40,14\n    PUSHBUTTON      \"ׂĕύX(&A)\",107,72,63,55,14\n    PUSHBUTTON      \"(&N)\",7,133,63,40,14\n    PUSHBUTTON      \"ݾ\",2,179,63,40,14\nEND\n\n44 DIALOG 15, 12, 116, 83\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"̧ق̑I\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"I̧(&F):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,60,10\n    EDITTEXT        201,5,29,60,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"I(&S)\",1,70,6,40,14\n    PUSHBUTTON      \"(&D)\",6,70,23,40,14\n    PUSHBUTTON      \"ݾ\",2,70,40,40,14\n    PUSHBUTTON      \"(&H)\",254,70,63,40,14\nEND\n\n45 DIALOG 11, 31, 201, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ײނ̑I\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"ײޖ(&D):\",245,\"Static\",SS_LEFTNOWORDWRAP,5,5,61,10\n    LISTBOX         222,7,16,140,60,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,156,6,40,14\n    PUSHBUTTON      \"ݾ\",2,156,23,40,14\n    PUSHBUTTON      \"(&H)\",254,156,44,40,14\nEND\n\n46 DIALOG 11, 28, 250, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"̧ٖ̑I\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"߽́AFAT `̧ٖł͂܂BVO͂ĂB\",99,5,4,185,24,NOT WS_GROUP\n    RTEXT           \"VO(&N):\",-1,5,57,50,12,NOT WS_GROUP\n    EDITTEXT        103,57,55,130,12\n    RTEXT           \"߽:\",-1,5,28,50,11,NOT WS_GROUP\n    EDITTEXT        102,57,28,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \"]ިڸ:\",-1,5,42,50,11,NOT WS_GROUP\n    EDITTEXT        101,57,42,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"OK\",1,205,4,40,14\n    PUSHBUTTON      \"ݾ\",2,205,20,40,14\n    PUSHBUTTON      \"(&H)\",254,205,36,40,14\nEND\n\n48 DIALOG 23, 13, 250, 119\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"%s è\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,194,6,50,14,WS_GROUP\n    PUSHBUTTON      \"ݾ\",2,194,23,50,14\n    PUSHBUTTON      \"(&H)\",254,194,43,50,14\n    CONTROL         \"̧ٖ(&F):\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,55,10\n    EDITTEXT        201,60,5,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"߽(&P):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,60,16,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"ۑ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,45,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,60,27,97,10\n    CONTROL         \":\",260,\"Static\",SS_LEFTNOWORDWRAP,5,38,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,60,38,90,10\n    GROUPBOX        \"\",-1,4,52,130,54\n    CONTROL         \"ǂݎp(&R)\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,64,65,12\n    CONTROL         \"B̧(&I)\",216,\"Button\",BS_AUTOCHECKBOX,81,64,49,12\n    CONTROL         \"(&A)\",217,\"Button\",BS_AUTOCHECKBOX,9,76,52,12\n    CONTROL         \"(&S)\",218,\"Button\",BS_AUTOCHECKBOX,81,76,49,12\n    CONTROL         \"k(&C)\",267,\"Button\",BS_AUTOCHECKBOX,9,88,52,12\nEND\n\n49 DIALOG 12, 14, 273, 154\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"̫\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"̫Ė(&F):\",1088,6,3,54,9\n    COMBOBOX        1136,6,13,94,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"(&Y):\",1089,108,3,48,9\n    COMBOBOX        1137,108,13,64,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"(&S):\",1090,178,3,41,9\n    COMBOBOX        1138,179,13,32,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"\",1072,6,73,84,61,WS_GROUP\n    CONTROL         \"(&K)\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,83,65,10\n    CONTROL         \"(&U)\",1041,\"Button\",BS_AUTOCHECKBOX,10,95,51,10\n    CONTROL         \"ŕ\\ - FAT ײ(&L)\",1042,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,127,252,10\n    CONTROL         \"ŕ\\ - ׂĂײ(&D)\",1043,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,139,252,10\n    LTEXT           \"F(&C):\",1091,10,107,30,9\n    COMBOBOX        1139,10,117,75,50,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"OK\",1,225,6,40,14,WS_GROUP\n    PUSHBUTTON      \"ݾ\",2,225,23,40,14,WS_GROUP\n    PUSHBUTTON      \"Kp(&A)\",1026,225,40,40,14,WS_GROUP\n    PUSHBUTTON      \"(&H)\",1038,225,57,40,14,WS_GROUP\n    GROUPBOX        \"\",1073,5,72,259,49,WS_GROUP\n    CTEXT           \"\",1093,10,137,1,2,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBbYyZz\",1092,10,81,251,37,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 77, 27, 196, 67\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ۯ߰ ި̫ϯ\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\",100,68,35,61,8\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,15,10,166,20\n    PUSHBUTTON      \"\\Ȃ\",110,39,47,51,14\n    PUSHBUTTON      \"ݾ\",2,107,47,51,14\nEND\n\n51 DIALOG 10, 20, 245, 82\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"mF: ̧ق܂ިڸ؂̖ьp\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,30,5,203,10\n    CONTROL         \"ۂ܂B:\",202,\"Static\",SS_LEFTNOWORDWRAP,30,22,95,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,126,22,117,10\n    CONTROL         \"ȂA̧ق͎gpłB\",-1,\"Static\",SS_LEFTNOWORDWRAP,30,38,206,10\n    CONTROL         \"[͂] دƁA̧ق𖳎ď𑱍s܂B\",-1,\"Static\",SS_LEFTNOWORDWRAP,30,48,201,10\n    DEFPUSHBUTTON   \"͂(&Y)\",6,26,63,40,14\n    PUSHBUTTON      \"ׂĖ(&A)\",107,72,63,55,14\n    PUSHBUTTON      \"(&N)\",7,133,63,40,14\n    PUSHBUTTON      \"ݾ\",2,179,63,40,14\nEND\n\n52 DIALOG 10, 20, 245, 82\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"mF: ̧ق܂ިڸ؂̖ьp\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,30,5,203,10\n    CONTROL         \"܂B:\",202,\"Static\",SS_LEFTNOWORDWRAP,30,22,90,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,120,22,122,10\n    CONTROL         \"[͂] دƁA̧ق𖳎ď𑱍s܂B\",-1,\"Static\",SS_LEFTNOWORDWRAP,30,38,195,10\n    DEFPUSHBUTTON   \"͂(&Y)\",6,26,63,40,14\n    PUSHBUTTON      \"ׂĖ(&A)\",107,72,63,55,14\n    PUSHBUTTON      \"(&N)\",7,133,63,40,14\n    PUSHBUTTON      \"ݾ\",2,179,63,40,14\nEND\n\n53 DIALOG 18, 22, 228, 68\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ި̌\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"̧ٖ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,5,76,9\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,91,5,120,9\n    CONTROL         \"Jnިڸ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,83,9\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,91,15,120,9\n    CONTROL         \"ǂݎިڸؐ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,25,83,9\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,91,25,100,9\n    CONTROL         \":\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,35,60,9\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,91,35,100,9\n    PUSHBUTTON      \"\\Ȃ\",110,56,50,50,14\n    PUSHBUTTON      \"ݾ\",2,122,50,50,14\nEND\n\n54 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"دްނֺ߰\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"݂ިڸ: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"̧ٖ(&B):\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,21,44,10\n    EDITTEXT        102,58,19,137,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,200,6,40,14\n    PUSHBUTTON      \"ݾ\",2,200,23,40,14\n    PUSHBUTTON      \"(&H)\",254,200,43,40,14\nEND\n\n55 DIALOG 5, 13, 293, 203\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"̧ ߂̕ύX\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"̧ (&F):\",302,4,5,49,9\n    EDITTEXT        301,54,3,120,12,ES_AUTOHSCROLL\n    GROUPBOX        \"(&A):     \",-1,5,23,244,107,WS_GROUP\n    COMBOBOX        306,41,21,60,32,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"(&C):\",313,9,41,35,9\n    EDITTEXT        304,47,39,111,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"Q(&B)...\",318,163,38,45,14\n    CONTROL         \"DDE gp(&U)\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,55,67,10\n    LTEXT           \"DDE ү(&M):\",320,21,67,63,9\n    EDITTEXT        309,114,65,100,12,ES_AUTOHSCROLL\n    LTEXT           \"ع݂sĂȂƂ DDE ү(&N):\",322,21,79,90,17\n    LTEXT           \"(߼)\",324,216,83,30,8\n    EDITTEXT        311,114,81,100,12,ES_AUTOHSCROLL\n    LTEXT           \"ع(&P):\",321,21,99,52,9\n    EDITTEXT        310,114,97,100,12,ES_AUTOHSCROLL\n    LTEXT           \"߯(&T):\",323,21,115,32,9\n    EDITTEXT        312,114,113,100,12,ES_AUTOHSCROLL\n    LTEXT           \"Vgq(&W):\",-1,9,166,56,9\n    EDITTEXT        315,67,164,46,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"ǉ(&D) ->\",303,119,156,48,14\n    PUSHBUTTON      \"<- 폜(&R)\",219,119,172,48,14\n    LTEXT           \"gq(&E):\",-1,172,142,71,9\n    LISTBOX         317,173,154,71,41,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"̧ ߂Ɗ֘Atgq:\",316,5,134,244,66\n    DEFPUSHBUTTON   \"OK\",1,254,3,35,14\n    PUSHBUTTON      \"ݾ\",2,254,20,35,14\n    PUSHBUTTON      \"(&H)\",254,254,41,35,14\nEND\n\n57 DIALOG 123, 60, 207, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"̧ق̈k\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"ķ:\",-1,6,8,50,8\n    LTEXT           \"filename.xxx\",341,57,8,90,8\n    LTEXT           \"ިڸ:\",-1,6,20,50,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,57,20,145,8\n    LTEXT           \"kꂽިڸؐ:\",-1,6,32,75,8\n    LTEXT           \"1,888,888,999\",343,87,32,68,8\n    LTEXT           \"kꂽِ̧:\",-1,6,44,75,8\n    LTEXT           \"1,888,888,999\",344,87,44,68,8\n    LTEXT           \"kȎ̧ :\",-1,6,56,75,8\n    LTEXT           \"9,999,999,999,999\",345,87,56,68,8\n    LTEXT           \"ķ̑ :\",-1,6,68,75,8\n    LTEXT           \"9,999,999,999,999\",346,87,68,68,8\n    LTEXT           \"̧وk:\",-1,6,80,75,8\n    LTEXT           \"100%\",347,87,80,27,8\n    PUSHBUTTON      \"ݾ\",2,78,97,55,14\nEND\n\n58 DIALOG 114, 62, 207, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"̧ق̈k\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"ķ:\",-1,6,8,60,8\n    LTEXT           \"filename.xxx\",351,67,8,90,8\n    LTEXT           \"ިڸ:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\",352,67,20,135,8\n    LTEXT           \"kꂽިڸؐ:\",-1,6,32,81,8\n    LTEXT           \"1,999,999,999\",353,87,32,68,8\n    LTEXT           \"kꂽِ̧:\",-1,6,44,80,8\n    LTEXT           \"1,999,999,999\",354,87,44,68,8\n    PUSHBUTTON      \"ݾ\",2,78,64,50,14\nEND\n\n59 DIALOG 11, 28, 245, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"kװ\"\nFONT 9, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,8,8,21,20\n    LTEXT           \"\",100,35,8,190,24\n    DEFPUSHBUTTON   \"(&I)\",5,26,47,40,14,WS_GROUP\n    PUSHBUTTON      \"ׂĖ(&G)\",112,72,47,55,14\n    PUSHBUTTON      \"Ďs(&R)\",4,133,47,40,14\n    PUSHBUTTON      \"~(&A)\",3,179,47,40,14\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY, NOINVERT\n    VK_RETURN,      101,                    VIRTKEY, NOINVERT\n    VK_RETURN,      101,                    VIRTKEY, SHIFT, NOINVERT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT, NOINVERT\n    VK_F4,          1702,                   VIRTKEY, SHIFT, NOINVERT\n    VK_F5,          1704,                   VIRTKEY, NOINVERT\n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII,  NOINVERT\n    VK_ADD,         301,                    VIRTKEY, NOINVERT\n    \"*\",            302,                    ASCII,  NOINVERT\n    VK_MULTIPLY,    302,                    VIRTKEY, NOINVERT\n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL, NOINVERT\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL, NOINVERT\n    \"-\",            304,                    ASCII,  NOINVERT\n    VK_SUBTRACT,    304,                    VIRTKEY, NOINVERT\n    VK_RETURN,      110,                    VIRTKEY, ALT, NOINVERT\n    VK_F2,          2000,                   VIRTKEY, NOINVERT\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"CUR300.CUR\"\n\n\n301                     CURSOR                  \"CUR301.CUR\"\n\n\n302                     CURSOR                  \"CUR302.CUR\"\n\n\n303                     CURSOR                  \"CUR303.CUR\"\n\n\n306                     CURSOR                  \"CUR306.CUR\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ICO200.ICO\"\n\n\n201                     ICON                    \"ICO201.ICO\"\n\n\n202                     ICON                    \"ICO202.ICO\"\n\n\n204                     ICON                    \"ICO204.ICO\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,52\n PRODUCTVERSION 4,0,1381,52\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"041104B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"File Manager\"\n            VALUE \"FileVersion\", \"4.00\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"Copyright (C) Microsoft Corp. 1981-1996\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"Microsoft(R) Windows NT(R) Operating System\"\n            VALUE \"ProductVersion\", \"4.00\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0x411, 1200\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"ۯ߰ ި̺߰\"\n    51                      \"]ۯ߰ ި}ĂB\"\n    52                      \"]ۯ߰ ި}ĂB\"\n    53                      \"]Ɠ]ۯ߰ ި}ĂB\"\n    54                      \"ۯ߰ ި̫ϯĒł\"\n    55                      \"ި ̴߰װ\"\n    56                      \"ި߰ł܂B\"\n    58                      \"]Ɠ]ިɌ݊܂B\"\n    60                      \"%d%% \"\n    61                      \"ٰ ިڸ؂쐬Ă܂...\"\n    62                      \" ̧ق߰Ă܂...\"\n    63                      \"ި ̫ϯĂ̴װ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \"̫ϯĊ\"\n    67                      \"%ld ޲ Sި̈\\n%ld ޲ ި̈\\n\\nʂި̫ϯĂ܂?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"ȯܰ װ\"\n    83                      \"ײނɂ Windows ̼ ̧ق܂܂Ă邽߁Aڑؒfł܂B\"\n    91                      \"ύXł܂B\"\n    92                      \"ިڸ؂쐬ł܂B\"\n    93                      \"ިح قt܂B\\n\\nިײ øĂĂȂAȯܰ ײނłȂA܂قLǂmFĂB͎̕gpł܂:\\n󔒕 * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n    95                      \"Y̧ق܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \"ײނ̓e͕ύXĂ܂B\\n[] ޳XV܂?\"\n    98                      \"ʰ ިɑ΂Ă̑sƂ́AǗ҂ƂĂܰð݂۸޵݂ĂB\"\n    101                     \"ײ %c:%c\"\n    110                     \"عݎsװ\"\n    111                     \"\\Ȃװ: %d\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"ؕŝ߁A̱ع݂sł܂B\\n\\n Windows ع݂IĂA蒼ĂB\"\n    113                     \"̧ Ȱެ̧ (܂͕Kv̧) 邱Ƃł܂B\\n\\ņ߽ٖƁAKvײ؂mFĂB\"\n    114                     \"w肳ꂽ߽łB\"\n    116                     \"w肳ꂽ̧قɊ֘Atꂽع݂͂܂B\\n\\n[̧] ƭ [ع݂Ƃ̊֘At] ނgĐݒ肵ĂB\"\n    118                     \"̧ Ȱެ́A̧قJȂ邱Ƃł܂B\\n\\ņق쐬ع݂ɐ؂ւđ삵ĂB\"\n    120                     \"ϳ̊mF\"\n    121                     \"Iꂽ̧ق %s ɺ߰Ă낵ł?\"\n    122                     \"Iꂽ̧ق %s ɈړĂ낵ł?\"\n    123                     \"%s NA%s ̧قƂĊJ܂B낵ł?\"\n    124                     \"̧ Ȱެ\"\n    126                     \"ިڸ ذ\"\n    127                     \": \"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \"̧ق܂\"\n    133                     \"̧ Ȱެ - ؕs\"\n    134                     \"ިڸؑŜǂݎ邱Ƃł܂B\"\n    140                     \"݂ިڸ: %s\"\n    141                     \"߰\"\n    143                     \"O̕ύX\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"ۯ߰ ި̫ϯ\"\n    146                     \"ײނIĂB\"\n    150                     \"쐬:\"\n    151                     \"폜Ă܂...\"\n    152                     \"߰:\"\n    153                     \"OύXĂ܂...\"\n    154                     \"ړ...\"\n    155                     \"폜Ă܂...\"\n    156                     \"%s ...\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"߰Ă܂...\"\n    170                     \"폜:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \"v %d ̧ (%s)\"\n    181                     \"ǂݎިڸؐ: %d \"\n    182                     \"%c: 󂫗̈ %sASި̈ %s\"\n    183                     \"%d ̧ق܂B\"\n    185                     \"Iꂽ̧\"\n    186                     \"̧ Ȱެȯܰ ײނؒfł܂B\\n\\nײނ̧ق܂JĂ܂B\"\n    187                     \"%d ̧قI (%s)\"\n    188                     \"ײ %c ̏łĂ܂B\\n\\nި}Ă蒼ĂB\"\n    189                     \"ײ %c ۯ߰ ި̫ϯĂĂ܂B\\n\\n̫ϯĂ܂?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"ި̈悪܂B\\n\\nsv̧ق폜ċި̈𑝂₵ĂA蒼ĂB\"\n    193                     \"ؕŝ߈ł܂B\\n\\n Windows ع݂IĂA蒼ĂB\"\n    194                     \"ɴװ܂B\\n\\n̐ݒƐڑsĂ邩mFĂB\"\n    195                     \"Sިڸ؂̧ق̈ꗗ\\ł܂B\"\n    197                     \"]ײނ͂ςłBsɂ͐Vި}ĂB\"\n    198                     \" ̧فAB̧فA܂͓ǂݎp̧قłB\"\n    199                     \" ̫ϯĂ͂ł܂B\\n\\nʏ̫ϯĂs܂?\"\n    203                     \"ع݂ɺނ𑗂ĂƂɴװ܂B\"\n    204                     \"̑ɕKvײ؂ǂݍ߂܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \"Lިڸ(&H)...\"\n    210                     \"̫ϯĂۯ߰ ި̑Sްر܂Bײ %c: ި̫ϯĂ܂?\"\n    211                     \"ۯ߰ ި̫ϯĂ̊mF\"\n    212                     \"̑sƓ]̑Sްر܂B𑱍s܂?\"\n    213                     \"ۯ߰ ި̺߰̊mF\"\n    214                     \"(&C)\"\n    215                     \"\"\n    218                     \"ިڸ %s ݂͑܂B\\n\\nިڸ؂쐬܂?\"\n    219                     \"۸ ̧#*.exe;*.pif;*.com;*.bat#ׂĂ̧ (*.*)#*.*#\"\n    220                     \"Q\"\n    221                     \"s\"\n    222                     \"̧ق̈װ\"\n    223                     \"߂\\ł܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"gq %s ̧ق۸тł邽߁Aق̱ع݂֘At邱Ƃ͂ł܂B\"\n    225                     \"%s ۸тł͂Ȃ߁A̧يgq֘At邱Ƃ͂ł܂B\"\n    226                     \"(Ȃ)\"\n    227                     \"̧ق܂B\"\n    228                     \"̧ Ȱެ̧͕قł܂B\\n\\ņق 1 IĂ蒼ĂB\"\n    230                     \"̱ع݂N̂ɕKvײ ̧قĂ܂Ḇع݂ݽİقĂB\"\n    231                     \"̧ق͂ق̱ع݂gĂ܂B\"\n    232                     \"ިڸ '%s' ɍ쐬ꂽ̧قɱłȂ\\܂B\\n\\ns܂?\"\n    233                     \"ިڸ؂̍쐬\"\n    234                     \"%ld ޲\"\n    235                     \"%s ޲\"\n    236                     \"̧ق܂ިڸ؂͸دްނɺ߰ł܂B\\n\\n1 ̧قw肵Ă蒼ĂB\"\n    237                     \"%s - %s\"\n    238                     \"ײ:\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"ȯܰ̐ڑ\"\n    241                     \"ȯܰ̐ؒf\"\n    242                     \"ȯܰ̐ڑ\"\n    243                     \"Lިڸ\"\n    244                     \"ިڸ؂̋L\"\n    245                     \"ׂĂ̏\\\"\n    246                     \"Ôݕ\\\"\n    247                     \"O\"\n    248                     \"gq\"\n    249                     \"ޏ\"\n    250                     \"t\"\n    251                     \"V޳\"\n    252                     \"̧ق̺߰\"\n    253                     \"̧ق̈ړ\"\n    254                     \"ިڸؖ(&D):\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"ȯܰ ײނ𗘗pł܂B\"\n    259                     \"%s L\"\n    260                     \"񋤗L\"\n    261                     \"̧ق̍폜\"\n    262                     \" - k\"\n    263                     \"%s ֺ߰\"\n    264                     \"%s ֈړ\"\n    265                     \"%s Ŏs\"\n    266                     \"%s ޲\"\n    267                     \"%sKB\"\n    268                     \"%sMB\"\n    269                     \"%sGB\"\n    270                     \"%sTB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \"ިڸ؂ւ̱܂B\"\n    281                     \"̧قւ̱܂B\"\n    283                     \"ײ %c: ޼ްłAł܂B\\ņ Ȱެި ߰słB\"\n    284                     \"ײ %c: ޼ްłAł܂B\\ņ Ȱެ͂ި̫ϯĒłB\"\n    285                     \"삪Ă܂\"\n    286                     \"ׂĂ̧ق܂ިڸ؂ɑ΂đIł܂B\"\n    287                     \"ިڸ؂ǂݎ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"ިڸ؂݂͑܂B\"\n    289                     \"ȯܰ ײނɐڑł܂\"\n    290                     \"ȯܰ܂łB\"\n    292                     \"[ׂā|] دƁAсABAѓǂݎp̧ق\\n܂߂āAׂĂ̧قɉe܂B\"\n    294                     \"J\"\n    295                     \"\"\n    298                     \"gqǉ\"\n    299                     \"gq '%s' ͌ '%s' Ɋ֘AtĂ܂B֘AtύXĂ낵ł?\"\n    300                     \"̧ق̊֘Atި\"\n    301                     \"gq֘At邱Ƃł܂B\"\n    302                     \"gq폜ł܂B\"\n    303                     \"̧ ߂ǉł܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"̧ ߂폜ł܂B\"\n    305                     \"̧ ߂ǂݎ邱Ƃł܂B\"\n    306                     \"̧ ߂ɂ邱Ƃ͂ł܂BV̧ ߂͂ĂB\"\n    307                     \"w肳ꂽ̧ ߂͈ӂ̎ʎq쐬ł܂BV̧ ߂͂ĂB\"\n    308                     \"̧ ߂̍폜\"\n    309                     \"̧̑ ߂ƁAׂĂ̊֘AtĂgq폜܂B'%s' 폜Ă낵ł?\"\n    312                     \"̧ ߂ɑ΂āAȂƂ 1 ̓sނw肷Kv܂B[] ɱع݂w肵ĂB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"̧ ߂̍쐬\"\n    321                     \"ۯ߰ ި̺߰\"\n    322                     \"...\"\n    324                     \"̧ Ȱެި̫ϯĂĂ܂B̧ ȰެIƁȂ͎܂B\"\n    325                     \"̧ Ȱެި߰Ă܂B̧ ȰެIƁȂ͎܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360K\"\n    354                     \"1%s2MB\"\n    355                     \"720K\"\n    356                     \"1%s44MB\"\n    357                     \"2%s88MB\"\n    358                     \"ײނ̗e\"\n    359                     \"̧ Ȱެިł܂B\\n\\nިײނɑ}Ă邩ׂĂB\"\n    360                     \"20%s8MB\"\n    361                     \"sި̎\"\n    362                     \"sި̎\"\n    363                     \"ײ %s ި̎ނ̧ Ȱެł̫ϯĂł܂Bި ƽڰgpāAި̫ϯĂĂB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    370                     \"128MB\"\n    371                     \"230MB\"\n    375                     \"1%s23MB\"\n    376                     \"640K\"\n    377                     \"1%s25MB\"\n    378                     \"256K\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"̧ тɌ݊܂B\"\n    401                     \"͋ۂ܂B\"\n    402                     \"ިײ øĂĂ܂B\"\n    403                     \"̧ Ȱެ́Aحтۯł܂B\"\n    404                     \"ި𸲯 ̫ϯĂł܂B\\n\\nި̎ނĂȂmFĂB\"\n    405                     \"葤ި I/O װ܂B\"\n    406                     \"󂯑ި I/O װ܂B\"\n    407                     \"葤Ǝ󂯑ި I/O װ܂B\"\n    408                     \"I/O װ܂B\"\n    411                     \"̧ Ȱެۯ߰ ި̫ϯĂł܂B\\n\\nۯ߰ ިײނɑ}Ă邩Aײ øĂĂȂAĂȂAި̎ނĂȂmFĂB\"\n    412                     \"ިقt邱Ƃł܂B\\n\\nw肵قłBقɎ̕gpĂȂׂĂB\\n󔒕 * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \"JĂ܂...\"\n    421                     \"Ă܂...\"\n    422                     \"JĂިڸ ޳܂B\\n\\nĂA蒼ĂB\"\n    423                     \" ̫ϯĒ...\"\n    424                     \"ޯ׳ނŏXV邽߂̏ł܂B̧ Ȱެ͏I܂B\"\n    425                     \"̧ Ȱެ̏\"\n    426                     \"ިڸ؂ǂݎ蒆łB΂炭҂...\"\n    427                     \"%s ׂ̉̂Ă̧قƻިڸ؂k܂?\"\n    428                     \"%s ׂ̉̂Ă̧قƻިڸ؂k܂?\"\n    429                     \"̧ Ȱެ %s ̈kύXł܂B\"\n    430                     \"̧ %s ͈k܂B̧قkƁAтNłȂȂ\\܂B\"\n    431                     \"݁A̧ Ȱެ̧قk܂͈kĂ܂Bk܂͈ķق̒ǉ́ȀĂsĂB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"\"\n    501                     \"Ж\"\n    502                     \"̧ق̐\"\n    503                     \"\"\n    504                     \"o^W\"\n    505                     \"ؼ ̧ٖ\"\n    506                     \"ײް ޏ\"\n    507                     \"i\"\n    508                     \"iްޮ\"\n    509                     \"߼ ޏ\"\n    510                     \"\"\n    511                     \"\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"ȯܰ ײނ̐ڑ(&N)...\"\n    801                     \"ȯܰ ײނ̐ؒf(&D)...\"\n    802                     \"ȯܰ̐ڑ(&N)...\"\n    803                     \"L(&A)...\"\n    804                     \"L(&T)...\"\n    805                     \"Lިڸ؂̕\\(&H)...\"\n    806                     \"폜̎(&U)...\"\n    807                     \"ڑɐV޳J(&O)\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \"̧ق̈ړװ\"\n    1002                    \"̧ق̺߰ װ\"\n    1003                    \"̧ق̍폜 װ\"\n    1004                    \"̧ٖ̕ύXװ\"\n    1005                    \"ײނ̑Iװ\"\n    1006                    \"ިڸ؂̓ǂݎװ\"\n    1007                    \"ح ق̍쐬װ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"%s ړł܂: %s\"\n    1012                    \"%s ߰ł܂: %s\"\n    1013                    \"%s 폜ł܂: %s\"\n    1014                    \"%s ̖OύXł܂: %s\"\n    1021                    \"ިڸ %s 쐬ł܂: %s\"\n    1022                    \"ިڸ %s 폜ł܂: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"%s 쐬܂͏㏑ł܂: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"]Ɠ]悪łB\"\n    1102                    \"OύXɂ́A1 ̧قw肵ĂBļٖύXɂ́Aܲ޶ (*.TXT Ȃ) gĂB\"\n    1103                    \"قȂިڸ؂܂ި̖Oɂ͕ύXł܂B\\ņق̈ړނgĂB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"ٰ ިڸ͕ؖύXł܂B\"\n    1105                    \"]ިڸ؂͓]̻ިڸ؂łB\"\n    1106                    \"̧ق Windows gpĂ܂B\"\n    1107                    \"1 ̧ق܂ިڸ؂w肵ĂB̧ق̸ٰ߂w肵Ƃ́Aܲ޶ (*.TXT Ȃ) gĂB\"\n    1108                    \"w肳ꂽ̧ق͊ɑ݂܂Bʂ̖Ow肵Ă蒼ĂB\"\n    1109                    \"w肵̧߽ٖAȯܰJnĂ邩mFĂB\"\n    1110                    \"w肵߽mFĂB\"\n    1111                    \"̱ع݂IĂxsĂB܂́A۰ قgĉz؂𑝂₵ĂB\"\n    1113                    \"ިײ øĂ邩AʂިgāA蒼ĂB\"\n    1114                    \"̑ŝɕKvȯܰ 邩ׂĂB\"\n    1115                    \"sv̧ق폜ċި̈𑝂₵ĂA蒼ĂB\"\n    1116                    \"ިްoł܂B\"\n    1117                    \"ިڸ؂͊ɑ݂܂B\"\n    1118                    \"w肳ꂽ̧ق͊ɑ݂܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"ި ײނɊԈۯ߰ ި}Ă܂B\"\n    1151                    \"̱ع݂ Windows NT ӰނŎsł܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \"ڰèݸ т́A̺߰Ăsł܂B\"\n    1153                    \"̺߰ẮAWindows NT ӰނŎsł܂B\"\n    1154                    \"۸т͗L Windows NT ع݂ł͂܂B\"\n    1155                    \"װ܂B̴װɂүނ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \"߰(&F):\"\n    2001                    \"߰(&T):\"\n    2002                    \"̖O(&F):\"\n    2003                    \"VO(&T):\"\n    2004                    \"̫ĂgpƁA\\n\\łȂȂ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"̧ق𑀍삷ނłB\"\n    3985                    \"ި𑀍삷ނłB\"\n    3986                    \"ިڸ؂̕\\ύXނłB\"\n    3987                    \"\\IԺނłB\"\n    3988                    \"߼݂ݒ肷ނłB\"\n    3989                    \"̧قިڸ؂̾èݒ肷ނłB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"޳̔zu𑀍삷ނłB\"\n    4001                    \"̧ Ȱެ߂\\ނłB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"߂̍ڂܰނŌ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \"Iꂽ̧قިڸ؂J܂B\"\n    4102                    \"޷Ă܂B\"\n    4103                    \"̧قع݂Ɗ֘At܂B\"\n    4104                    \"̧قިڸ؂܂B\"\n    4105                    \"ع݂޷Ė͂āAs܂B\"\n    4106                    \"Iꂽ̧قިڸ؂ړ܂B\"\n    4107                    \"̧قިڸ؂߰܂B\"\n    4108                    \"̧قިڸ؂폜܂B\"\n    4109                    \"̧قިڸ؂̖OύX܂B\"\n    4110                    \"̧قè\\Aݒ肵܂B\"\n    4111                    \"ިڸ؂쐬܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"̧ ȰެI܂B\"\n    4116                    \"̧قިڸ؂I܂B\"\n    4117                    \"폜̧ق񕜂܂B\"\n    4118                    \"̧قدްނɺ߰܂B\"\n    4119                    \"̧قިڸ؂k܂B\"\n    4120                    \"̧قިڸ؂k܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"ۯ߰ ި̓e߰܂B\"\n    4202                    \"ިح قtAύX܂B\"\n    4203                    \"ۯ߰ ި̫ϯĂ܂B\"\n    4205                    \"ȯܰ ײނɐڑ܂B\"\n    4206                    \"ȯܰ ײނƂ̐ڑ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"ʂײނI܂B\"\n    4254                    \"ިڸ؂L܂B\"\n    4255                    \"ިڸ؂̋L܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"ިڸ؂\\܂B\"\n    4302                    \"ިڸ؂ׂĕ\\܂B\"\n    4303                    \"Sިڸ؂̑Sިڸ؂\\܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \"Iꂽިڸ؂̻ިڸ؂܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \"̧ٖ\\܂B\"\n    4402                    \"ׂĂُ̧\\܂B\"\n    4403                    \"ꕔُ̧\\܂B\"\n    4404                    \"̧ق𖼑Oɕבւ܂B\"\n    4405                    \"̧قgqɕבւ܂B\"\n    4406                    \"̧ق𻲽ޏɕבւ܂B\"\n    4407                    \"̧قtɕבւ܂B\"\n    4409                    \"w肳ꂽނ̧ق\\܂B\"\n    4411                    \"ިڸ ذ\\܂B\"\n    4412                    \"݂ިڸ؂̧ق\\܂B\"\n    4413                    \"ިڸ ذƌ݂ިڸ؂̧ق\\܂B\"\n    4414                    \"ިڸ؂̧ق؂鋫Ëʒuړ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"mFүނ\\邩ǂݒ肵܂B\"\n    4503                    \"ð ް̕\\/\\؂ւ܂B\"\n    4504                    \"ع݂̋Ņ Ȱެŏ܂B\"\n    4505                    \"ިڸ؂邩ǂt܂B\"\n    4507                    \"ײ ް̕\\/\\؂ւ܂B\"\n    4508                    \"° ް̕\\/\\؂ւ܂B\"\n    4509                    \"ȯܰ ײނ֐ڑɐV޳J܂B\"\n    4510                    \"̧ Ȱެg̫ĂύX܂B\"\n    4511                    \"̧ ȰެIƂɏԂۑ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"° ްύX܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"Iڂ̱\\܂͐ݒ肵܂B\"\n    4606                    \"Iڂ̊č\\܂͐ݒ肵܂B\"\n    4607                    \"Iڂ̏L\\܂͎擾܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"޳d˂ĕ\\܂B\"\n    5702                    \"޳Eɕׂĕ\\܂B\"\n    5703                    \"޳㉺ɕׂĕ\\܂B\"\n    5704                    \"޳̓eŐV̏ɍXV܂B\"\n    5705                    \"݂𐮗񂵂܂B\"\n    5706                    \"V޳J܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"߂̖ڎ\\܂B\"\n    5802                    \"߂̎g\\܂B\"\n    5803                    \"ްޮݏ\\܂B\"\nEND\n\n#endif    // Japanese (Japan) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/origrc/winfile.ko-KR.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Korean (Korea) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_KOR)\nLANGUAGE LANG_KOREAN, SUBLANG_DEFAULT\n#pragma code_page(949)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"BMP100.BMP\"\n\n\n101                     BITMAP                  \"BMP101.BMP\"\n\n\n102                     BITMAP                  \"BMP102.BMP\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"(&F)\"\n    BEGIN\n        MENUITEM \"(&O)\\tEnter\",               101\n        MENUITEM \"ű(&M)...\\tF7\",              106\n        MENUITEM \"(&C)...\\tF8\",               107\n        MENUITEM \"Ŭ (&B)...\\tF9\",         118\n        MENUITEM \"(&D)...\\tDel\",             108\n        MENUITEM \"̸ ٲٱ(&N)...\",               109\n        MENUITEM \" (&T)...\\tAlt+Enter\",     110\n        MENUITEM SEPARATOR\n        MENUITEM \"(&S)...\",                   119\n        MENUITEM \" Ǯ(&U)...\",                120\n        MENUITEM SEPARATOR\n        MENUITEM \"(&R)...\",                   105\n        MENUITEM \"μ(&P)...\",                   102\n        MENUITEM \"α׷ (&A)...\",              103\n        MENUITEM SEPARATOR\n        MENUITEM \"丮 (&E)...\",             111\n        MENUITEM \"ã(&H)...\",                   104\n        MENUITEM \" (&F)...\",                116\n        MENUITEM SEPARATOR\n        MENUITEM \"ħ(&X)\",                      115\n    END\n    POPUP \"ũ(&D)\"\n    BEGIN\n        MENUITEM \"ũ (&C)...\",               201\n        MENUITEM \"ũ ̸(&L)...\",               202\n        MENUITEM SEPARATOR\n        MENUITEM \"ũ (&F)...\",               203\n        MENUITEM SEPARATOR\n        MENUITEM \"̺ (&S)...\",              251\n    END\n    POPUP \"Ʈ(&T)\"\n    BEGIN\n        MENUITEM \"  Ȯ(&X)\\t+\",              301\n        MENUITEM \"Ȯ(&B)\\t*\",                   302\n        MENUITEM \" Ȯ(&A)\\tCtrl+*\",           303\n        MENUITEM \"(&C)\\t-\",                   304\n        MENUITEM SEPARATOR\n        MENUITEM \"Ȯ  ǥ(&I)\",                505\n    END\n    POPUP \"(&V)\"\n    BEGIN\n        MENUITEM \"Ʈ  丮(&R)\",               413\n        MENUITEM \"Ʈ(&E)\",                     411\n        MENUITEM \"丮(&O)\",                   412\n        MENUITEM SEPARATOR\n        MENUITEM \"(&L)\",                     414\n        MENUITEM SEPARATOR\n        MENUITEM \"̸(&N)\",                     401\n        MENUITEM \"ڼ(&A)\",                     402, CHECKED\n        MENUITEM \"Ϻθ ڼ(&P)...\",              403\n        MENUITEM SEPARATOR\n        MENUITEM \"̸ (&S)\",                  404\n        MENUITEM \" (&B)\",                  405\n        MENUITEM \"ũ (&Z)\",                  406\n        MENUITEM \"¥ (&D)\",                  407\n        MENUITEM SEPARATOR\n        MENUITEM \" ĺ(&T)...\",               409\n    END\n    POPUP \"ɼ(&O)\"\n    BEGIN\n        MENUITEM \"Ȯ(&C)...\",                   501\n        MENUITEM \"۲(&F)...\",                   510\n        MENUITEM \"   (&B)...\",         512\n        MENUITEM SEPARATOR\n        MENUITEM \" (&T)\",                   508\n        MENUITEM \"̺ ǥ(&D)\",                507\n        MENUITEM \" ǥ(&S)\",                  503\n        MENUITEM SEPARATOR\n        MENUITEM \"ܵ (&M)\",                   504\n        MENUITEM \"ĥ    (&E)\",           511\n    END\n    POPUP \"(&S)\"\n    BEGIN\n        MENUITEM \" (&P)...\",                605\n        MENUITEM \"(&A)...\",                   606\n        MENUITEM \"(&O)...\",                  607\n    END\n    POPUP \"â(&W)\"\n    BEGIN\n        MENUITEM \" â(&N)\",                     1706\n        MENUITEM \"ܽ 迭(&C)\\tShift+F5\",        1701\n        MENUITEM \"η 迭(&H)\",                  1703\n        MENUITEM \"η 迭(&T)\\tShift+F4\",        1702\n        MENUITEM \" (&A)\",                  1705\n        MENUITEM \"ֽ  ħ(&R)\\tF5\",           1704\n    END\n    POPUP \"(&H)\"\n    BEGIN\n        MENUITEM \"(&C)\",                      1801\n        MENUITEM \"ã(&S)...\",                   30\n        MENUITEM \" (&H)\",                 1802\n        MENUITEM SEPARATOR\n        MENUITEM \"  (&A)...\",            1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 12, 211, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,162,10\n    CONTROL         \"(&C):\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,3,18,60,10\n    EDITTEXT        201,3,29,134,12,ES_AUTOHSCROLL\n    CONTROL         \" (&M)\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,3,45,88,12\n    DEFPUSHBUTTON   \"Ȯ\",1,165,6,41,16\n    PUSHBUTTON      \"\",2,165,23,41,16\n    PUSHBUTTON      \"(&H)\",254,165,43,41,16\nEND\n\n11 DIALOG 20, 20, 241, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"μ\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,193,10\n    CONTROL         \"μ(&P):\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,28,10\n    EDITTEXT        102,32,18,160,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,36,190,10\n    DEFPUSHBUTTON   \"Ȯ\",1,197,6,41,16\n    PUSHBUTTON      \"\",2,197,23,41,16\n    PUSHBUTTON      \"(&H)\",254,197,43,41,16\nEND\n\n12 DIALOG 20, 20, 268, 118\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"α׷ \"\nFONT 9, \"\"\nBEGIN\n    LTEXT           \" Ȯ(&F):\",-1,6,7,68,8\n    COMBOBOX        315,76,5,44,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"  α׷(&A):\",-1,6,30,92,10\n    EDITTEXT        304,6,42,172,12,ES_AUTOHSCROLL\n    LISTBOX         314,11,54,167,62,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"ãƺ(&B)...\",318,130,24,56,16\n    DEFPUSHBUTTON   \"Ȯ\",1,196,6,66,16,WS_GROUP\n    PUSHBUTTON      \"\",2,196,23,66,16\n    PUSHBUTTON      \" (&N)...\",300,196,42,66,16\n    PUSHBUTTON      \" ٲٱ(&C)...\",251,196,59,66,16\n    PUSHBUTTON      \" (&D)\",219,196,76,66,16\n    PUSHBUTTON      \"(&H)\",254,196,95,66,16\nEND\n\n13 DIALOG 20, 20, 277, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ã\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"ã (&S):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,6,58,12\n    EDITTEXT        201,65,5,160,12,ES_AUTOHSCROLL\n    CONTROL         \"ã 丮(&F):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,21,58,12\n    EDITTEXT        101,65,20,160,12,ES_AUTOHSCROLL\n    CONTROL         \" 丮 ã(&E)\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,65,34,100,12\n    DEFPUSHBUTTON   \"Ȯ\",1,230,6,41,16\n    PUSHBUTTON      \"\",2,230,23,41,16\n    PUSHBUTTON      \"(&H)\",254,230,43,41,16\nEND\n\n14 DIALOG 47, 59, 257, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ű\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \" 丮: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,182,10\n    CONTROL         \" ġ(&T):\",2001,\"Static\",SS_LEFTNOWORDWRAP,3,33,56,10\n    EDITTEXT        103,61,32,138,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,49,40,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,45,49,140,10\n    DEFPUSHBUTTON   \"Ȯ\",1,209,6,41,16\n    PUSHBUTTON      \"\",2,209,23,41,16\n    PUSHBUTTON      \"(&H)\",254,209,40,41,16\n    CONTROL         \"ű ġ(&F):\",2002,\"Static\",SS_LEFTNOWORDWRAP,3,19,56,10\n    EDITTEXT        102,61,18,138,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 247, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \" 丮: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"(&L):\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,35,10\n    EDITTEXT        102,40,19,155,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,35,35,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,40,35,155,10\n    DEFPUSHBUTTON   \"Ȯ\",1,200,6,41,16\n    PUSHBUTTON      \"\",2,200,23,41,16\n    PUSHBUTTON      \"(&H)\",254,200,40,41,16\nEND\n\n16 DIALOG 23, 13, 259, 229\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"%s  \"\nFONT 9, \"\"\nBEGIN\n    DEFPUSHBUTTON   \"Ȯ\",1,197,6,59,16,WS_GROUP\n    PUSHBUTTON      \"\",2,197,23,59,16\n    PUSHBUTTON      \"(&H)\",254,197,40,59,16\n    CONTROL         \" ̸(&F):\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,55,10\n    EDITTEXT        201,72,5,122,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"(&P):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,72,16,122,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \" ģ ¥:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,62,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,72,27,122,10\n    CONTROL         \":\",258,\"Static\",SS_LEFTNOWORDWRAP,5,38,45,10\n    CONTROL         \"ǥ ȵ\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,72,38,122,10\n    LTEXT           \"۱(&Y):\",-1,5,49,45,10\n    EDITTEXT        265,72,49,122,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"ũ:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,60,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,72,60,132,10\n    CONTROL         \" ũ:\",268,\"Static\",SS_LEFTNOWORDWRAP,5,71,62,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,72,71,132,10\n    CONTROL         \" :\",270,\"Static\",SS_LEFTNOWORDWRAP,5,82,62,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,72,82,132,10\n    GROUPBOX        \"Ӽ\",-1,4,96,124,54\n    CONTROL         \"б (&R)\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,108,56,12\n    CONTROL         \"(&I)\",216,\"Button\",BS_AUTOCHECKBOX,75,108,49,12\n    CONTROL         \"(&A)\",217,\"Button\",BS_AUTOCHECKBOX,9,120,56,12\n    CONTROL         \"ý(&S)\",218,\"Button\",BS_AUTOCHECKBOX,75,120,49,12\n    CONTROL         \"(&C)\",267,\"Button\",BS_AUTOCHECKBOX,9,132,56,12\n    GROUPBOX        \" (&V)\",262,4,155,250,70\n    LISTBOX         263,9,168,91,58,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,110,168,138,58,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 201, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"丮 \"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,154,10\n    CONTROL         \"̸(&N):\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,23,28,10\n    EDITTEXT        201,38,22,90,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,46,150,10\n    DEFPUSHBUTTON   \"Ȯ\",1,157,6,41,16\n    PUSHBUTTON      \"\",2,157,23,41,16\n    PUSHBUTTON      \"(&H)\",254,157,43,41,16\nEND\n\n19 DIALOG 20, 20, 166, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ũ \"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \" ̺(&S):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,58,10\n    COMBOBOX        245,66,6,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \" ̺(&D):\",206,\"Static\",SS_LEFTNOWORDWRAP,5,22,58,10\n    COMBOBOX        222,66,20,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"Ȯ\",1,118,6,41,16\n    PUSHBUTTON      \"\",2,118,23,41,16\n    PUSHBUTTON      \"(&H)\",254,118,43,41,16\nEND\n\n22 DIALOG 30, 30, 130, 59\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ũ \"\nFONT 9, \"\"\nBEGIN\n    CTEXT           \"ũ մϴ:\",-1,0,5,130,10,NOT WS_GROUP\n    CTEXT           \"̺ A:\",222,0,15,130,10,NOT WS_GROUP\n    CTEXT           \" ũ д \",243,0,26,130,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"\",2,44,38,44,16\nEND\n\n23 DIALOG 20, 20, 162, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ũ ̸\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"̸(&L):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,34,10\n    EDITTEXT        201,5,26,100,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"Ȯ\",1,115,6,41,16\n    PUSHBUTTON      \"\",2,115,23,41,16\n    PUSHBUTTON      \"(&H)\",254,115,43,41,16\nEND\n\n24 DIALOG 11, 28, 184, 96\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ũ \"\nFONT 9, \"\"\nBEGIN\n    DEFPUSHBUTTON   \"Ȯ\",1,140,6,41,16\n    PUSHBUTTON      \"\",2,140,23,41,16\n    PUSHBUTTON      \"(&H)\",254,140,43,41,16\n    CONTROL         \"̺(&D):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,7,49,10\n    COMBOBOX        222,55,4,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"뷮(&C):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,20,49,10\n    COMBOBOX        241,55,19,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"ɼ\",102,5,39,115,53,WS_GROUP\n    CONTROL         \"̸(&L):\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,51,39,10\n    EDITTEXT        201,52,49,63,12\n    CONTROL         \" (&Q)\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,62,90,12\nEND\n\n26 DIALOG 30, 30, 150, 50\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ũ  \"\nFONT 9, \"\"\nBEGIN\n    CTEXT           \" ũ մϴ.\",-1,0,5,150,10,NOT WS_GROUP\n    CTEXT           \"̺ ʱȭ ...\",243,0,17,150,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"\",2,53,30,44,16\nEND\n\n30 DIALOG 20, 20, 175, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Ϻθ ڼ\"\nFONT 9, \"\"\nBEGIN\n    GROUPBOX        \"ڼ\",-1,4,4,121,74\n    CONTROL         \"ũ(&S)\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,15,100,12\n    CONTROL         \" ģ ¥(&M)\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,27,100,12\n    CONTROL         \" ģ ð(&T)\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,39,100,12\n    CONTROL         \" Ӽ(&F)\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,51,100,12\n    CONTROL         \"MS-DOS  ̸(&D)\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,63,100,12\n    DEFPUSHBUTTON   \"Ȯ\",1,130,6,41,16\n    PUSHBUTTON      \"\",2,130,23,41,16\n    PUSHBUTTON      \"(&H)\",254,130,60,41,16\nEND\n\n32 DIALOG 20, 20, 163, 102\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \" ĺ\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"̸(&N):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,28,10\n    EDITTEXT        201,39,6,65,12,ES_AUTOHSCROLL\n    GROUPBOX        \" \",-1,5,20,99,62\n    CONTROL         \"丮(&D)\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,31,60,12\n    CONTROL         \"α׷(&P)\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,43,60,12\n    CONTROL         \"(&M)\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,55,60,12\n    CONTROL         \"Ÿ (&O)\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,60,12\n    CONTROL         \"/ý  ǥ(&S)\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,5,85,100,12\n    DEFPUSHBUTTON   \"Ȯ\",1,115,6,41,16\n    PUSHBUTTON      \"\",2,115,23,41,16\n    PUSHBUTTON      \"(&H)\",254,115,43,41,16\nEND\n\n33 DIALOG 20, 20, 215, 92\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Ȯ\"\nFONT 9, \"\"\nBEGIN\n    GROUPBOX        \"Ȯ\",-1,5,3,158,85,WS_TABSTOP\n    CONTROL         \" (&D)\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,15,80,12\n    CONTROL         \"丮 (&I)\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,27,80,12\n    CONTROL         \" ٲٱ(&R)\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,39,80,12\n    CONTROL         \"콺 (&M)\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,51,80,12\n    CONTROL         \"ũ (&K)\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,63,80,12\n    CONTROL         \"ý, , б   (&S)\",215,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,75,150,12\n    DEFPUSHBUTTON   \"Ȯ\",1,168,6,41,16\n    PUSHBUTTON      \"\",2,168,23,41,16\n    PUSHBUTTON      \"(&H)\",254,168,44,41,16\nEND\n\n35 DIALOG 20, 20, 250, 46\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ű ...\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,5,49,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,5,192,10\n    CONTROL         \"ű ġ:\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,15,49,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,15,192,10\n    DEFPUSHBUTTON   \"\",2,200,27,40,16,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 131, 62\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 9, \"\"\nBEGIN\n    CTEXT           \" μ ...\",-1,4,6,120,12\n    CTEXT           \"\",-1,4,20,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"\",2,46,39,40,16,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 210, 88\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \" \"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"%d  \",100,\"Static\",SS_LEFTNOWORDWRAP,5,5,144,10\n    CONTROL         \" %sƮ\",111,\"Static\",SS_LEFTNOWORDWRAP,5,16,144,10\n    GROUPBOX        \"Ӽ\",-1,5,29,124,54\n    CONTROL         \"б (&R)\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,40,56,12\n    CONTROL         \"(&I)\",216,\"Button\",BS_AUTOCHECKBOX,76,40,52,12\n    CONTROL         \"(&A)\",217,\"Button\",BS_AUTOCHECKBOX,10,52,56,12\n    CONTROL         \"ý(&S)\",218,\"Button\",BS_AUTOCHECKBOX,76,52,52,12\n    CONTROL         \"(&C)\",267,\"Button\",BS_AUTOCHECKBOX,10,64,56,12\n    DEFPUSHBUTTON   \"Ȯ\",1,154,6,50,16,WS_GROUP\n    PUSHBUTTON      \"\",2,154,23,50,16\n    PUSHBUTTON      \"(&H)\",254,154,43,50,16\nEND\n\n39 DIALOG 10, 20, 235, 95\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \" ٲٱ Ȯ\"\nFONT 9, \"\"\nBEGIN\n    ICON            32515,-1,3,12,14,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \" :\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,12,39,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,65,12,165,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,65,22,170,10\n    CONTROL         \" :\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,34,39,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,65,34,165,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,65,44,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,54,203,10\n    DEFPUSHBUTTON   \"(&Y)\",6,17,73,46,16\n    PUSHBUTTON      \", (&A)\",107,69,73,46,16\n    PUSHBUTTON      \"ƴϿ(&N)\",7,121,73,46,16\n    PUSHBUTTON      \"\",2,173,73,46,16\nEND\n\n40 DIALOG 10, 20, 235, 62\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"  Ȯ\"\nFONT 9, \"\"\nBEGIN\n    ICON            32515,-1,3,12,14,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \" :\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,34,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,60,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"(&Y)\",6,17,42,46,16\n    PUSHBUTTON      \", (&A)\",107,69,42,46,16\n    PUSHBUTTON      \"ƴϿ(&N)\",7,121,42,46,16\n    PUSHBUTTON      \"\",2,173,42,46,16\nEND\n\n41 DIALOG 10, 20, 245, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"丮  Ȯ\"\nFONT 9, \"\"\nBEGIN\n    ICON            32515,-1,3,12,14,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \" 丮:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,55,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"(&Y)\",6,22,42,46,16\n    PUSHBUTTON      \", (&A)\",107,74,42,46,16\n    PUSHBUTTON      \"ƴϿ(&N)\",7,126,42,46,16\n    PUSHBUTTON      \"\",2,178,42,46,16\nEND\n\n42 DIALOG 10, 22, 245, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \" ű Ȯ\"\nFONT 9, \"\"\nBEGIN\n    ICON            32515,-1,3,12,14,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"ű :\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,44,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"(&Y)\",6,22,42,46,16\n    PUSHBUTTON      \", (&A)\",107,74,42,46,16\n    PUSHBUTTON      \"ƴϿ(&N)\",7,126,42,46,16\n    PUSHBUTTON      \"\",2,178,42,46,16\nEND\n\n43 DIALOG 10, 22, 245, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \" ̸ ٲٱ Ȯ \"\nFONT 9, \"\"\nBEGIN\n    ICON            32515,-1,3,12,14,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"̸ ٲ :\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,54,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"(&Y)\",6,22,42,46,16\n    PUSHBUTTON      \", (&A)\",107,74,42,46,16\n    PUSHBUTTON      \"ƴϿ(&N)\",7,126,42,46,16\n    PUSHBUTTON      \"\",2,178,42,46,16\nEND\n\n44 DIALOG 15, 12, 127, 83\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"  \"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"(&F):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,60,10\n    EDITTEXT        201,5,29,60,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"(&S)\",1,70,4,51,16\n    PUSHBUTTON      \" (&D)\",6,70,22,51,16\n    PUSHBUTTON      \"\",2,70,40,51,16\n    PUSHBUTTON      \"(&H)\",254,70,63,51,16\nEND\n\n45 DIALOG 11, 31, 202, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"̺  \"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"̺(&D):\",245,\"Static\",SS_LEFTNOWORDWRAP,5,5,42,10\n    LISTBOX         222,5,16,140,60,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"Ȯ\",1,155,6,41,16\n    PUSHBUTTON      \"\",2,155,23,41,16\n    PUSHBUTTON      \"(&H)\",254,155,44,41,16\nEND\n\n46 DIALOG 11, 28, 251, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \" ̸ \"\nFONT 9, \"\"\nBEGIN\n    LTEXT           \" δ FAT  Ŀ  ʽϴ.  ̸ ԷϽʽÿ.\",99,5,4,190,24,NOT WS_GROUP\n    RTEXT           \" ̸(&N):\",-1,5,56,50,12,NOT WS_GROUP\n    EDITTEXT        103,57,55,130,12\n    RTEXT           \" :\",-1,5,28,50,11,NOT WS_GROUP\n    EDITTEXT        102,57,28,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \" 丮:\",-1,5,42,50,11,NOT WS_GROUP\n    EDITTEXT        101,57,42,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"Ȯ\",1,205,4,41,16\n    PUSHBUTTON      \"\",2,205,21,41,16\n    PUSHBUTTON      \"(&H)\",254,205,38,41,16\nEND\n\n48 DIALOG 23, 13, 250, 119\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"%s  \"\nFONT 9, \"\"\nBEGIN\n    DEFPUSHBUTTON   \"Ȯ\",1,184,6,60,16,WS_GROUP\n    PUSHBUTTON      \"\",2,184,23,60,16\n    PUSHBUTTON      \"(&H)\",254,184,43,60,16\n    CONTROL         \" ̸(&F):\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,55,10\n    EDITTEXT        201,60,5,121,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"(&P):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,60,16,121,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \" ģ ¥:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,62,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,60,27,97,10\n    CONTROL         \"ũ:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,38,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,60,38,90,10\n    GROUPBOX        \"Ӽ\",-1,4,52,124,54\n    CONTROL         \"б (&R)\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,64,56,12\n    CONTROL         \"(&I)\",216,\"Button\",BS_AUTOCHECKBOX,75,64,49,12\n    CONTROL         \"(&A)\",217,\"Button\",BS_AUTOCHECKBOX,9,76,56,12\n    CONTROL         \"ý(&S)\",218,\"Button\",BS_AUTOCHECKBOX,75,76,49,12\n    CONTROL         \"(&C)\",267,\"Button\",BS_AUTOCHECKBOX,9,88,56,12\nEND\n\n49 DIALOG 13, 54, 265, 154\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"۲\"\nFONT 9, \"\"\nBEGIN\n    LTEXT           \"۲(&F):\",1088,6,3,28,9\n    COMBOBOX        1136,6,13,94,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"۲ (&Y):\",1089,108,3,44,9\n    COMBOBOX        1137,108,13,64,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"ũ(&S):\",1090,179,3,28,9\n    COMBOBOX        1138,179,13,32,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"ȿ\",1072,6,73,84,61,WS_GROUP\n    CONTROL         \"Ҽ(&K)\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,83,47,10\n    CONTROL         \"(&U)\",1041,\"Button\",BS_AUTOCHECKBOX,10,95,41,10\n    CONTROL         \"FAT ̺ ҹ ǥ(&L)\",1042,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,127,253,10\n    CONTROL         \" ̺ ҹ ǥ(&D)\",1043,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,139,253,10\n    LTEXT           \"(&C):\",1091,10,107,22,9\n    COMBOBOX        1139,10,117,75,50,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"Ȯ\",1,218,6,41,16,WS_GROUP\n    PUSHBUTTON      \"\",2,218,23,41,16,WS_GROUP\n    PUSHBUTTON      \"(&A)\",1026,218,40,41,16,WS_GROUP\n    PUSHBUTTON      \"(&H)\",1038,218,57,41,16,WS_GROUP\n    GROUPBOX        \"\",1073,6,72,253,49,WS_GROUP\n    CTEXT           \"\",1093,10,137,8,8,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBbYyZz\",1092,10,81,244,37,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 77, 27, 160, 69\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ũ  \"\nFONT 9, \"\"\nBEGIN\n    CTEXT           \"\",100,15,36,131,8\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,15,10,131,22\n    PUSHBUTTON      \"\",110,38,48,40,16\n    PUSHBUTTON      \"\",2,82,48,40,16\nEND\n\n51 DIALOG 10, 20, 261, 73\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Ȯ: ̳ 丮 ϰ \"\nFONT 9, \"\"\nBEGIN\n    ICON            32515,-1,3,12,14,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"׼  ϴ. :\",202,\"Static\",SS_LEFTNOWORDWRAP,25,10,203,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,118,10,122,10\n    CONTROL         \"  ų  Դϴ.\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,25,230,10\n    CONTROL         \"  ϰ ۾ Ϸ [] ʽÿ.\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,35,181,10\n    DEFPUSHBUTTON   \"(&Y)\",6,33,52,46,16\n    PUSHBUTTON      \", (&A)\",107,85,52,46,16\n    PUSHBUTTON      \"ƴϿ(&N)\",7,137,52,46,16\n    PUSHBUTTON      \"\",2,189,52,46,16\nEND\n\n52 DIALOG 10, 20, 250, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Ȯ: ̳ 丮 ϰ \"\nFONT 9, \"\"\nBEGIN\n    ICON            32515,-1,3,12,14,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \" ׼  , :\",202,\"Static\",SS_LEFTNOWORDWRAP,25,13,203,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,126,13,106,10\n    CONTROL         \"  ϰ ۾ Ϸ [] ʽÿ.\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,23,181,10\n    DEFPUSHBUTTON   \"(&Y)\",6,24,42,46,16\n    PUSHBUTTON      \", (&A)\",107,76,42,46,16\n    PUSHBUTTON      \"ƴϿ(&N)\",7,128,42,46,16\n    PUSHBUTTON      \"\",2,180,42,46,16\nEND\n\n53 DIALOG 77, 109, 186, 69\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ũ ã \"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"ã :\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,5,50,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,57,5,120,10\n    CONTROL         \"ã 丮:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,50,10\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,57,15,120,10\n    CONTROL         \" 丮:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,25,50,10\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,57,25,120,10\n    CONTROL         \"ã :\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,35,50,10\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,57,35,120,10\n    PUSHBUTTON      \"\",110,50,48,40,16\n    PUSHBUTTON      \"\",2,94,48,40,16\nEND\n\n54 DIALOG 20, 20, 247, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Ŭ \"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \" 丮: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"Ŭ (&B):\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,67,10\n    EDITTEXT        102,70,19,125,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"Ȯ\",1,200,4,41,16\n    PUSHBUTTON      \"\",2,200,23,41,16\n    PUSHBUTTON      \"(&H)\",254,200,43,41,16\nEND\n\n55 DIALOG 18, 14, 310, 224\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"  ٲٱ\"\nFONT 9, \"\"\nBEGIN\n    LTEXT           \" (&F):\",302,5,6,44,8\n    EDITTEXT        301,53,5,95,12,ES_AUTOHSCROLL\n    GROUPBOX        \"۾(&A):\",-1,5,22,254,126,WS_GROUP\n    COMBOBOX        306,36,22,48,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"(&C):\",313,9,42,36,8\n    EDITTEXT        304,47,39,111,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"ãƺ(&B)...\",318,164,38,56,16\n    CONTROL         \"DDE (&U)\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,57,58,10\n    LTEXT           \"DDE ޽(&M):\",320,25,72,54,8\n    EDITTEXT        309,120,70,100,12,ES_AUTOHSCROLL\n    LTEXT           \" ʴ DDE ޽  α׷(&N):\",322,25,85,85,19\n    LTEXT           \"(ɼ)\",324,222,90,21,8\n    EDITTEXT        311,120,88,100,12,ES_AUTOHSCROLL\n    LTEXT           \" α׷(&P):\",321,25,109,58,8\n    EDITTEXT        310,120,107,100,12,ES_AUTOHSCROLL\n    LTEXT           \"׸(&T):\",323,26,127,27,8\n    EDITTEXT        312,120,125,100,12,ES_AUTOHSCROLL\n    LTEXT           \" Ȯ(&W):\",-1,11,184,52,8\n    EDITTEXT        315,64,183,32,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"߰ (&D)->\",303,102,174,48,16\n    PUSHBUTTON      \"<- (&R)\",219,102,191,48,16\n    LTEXT           \"Ȯ(&E):\",-1,161,162,41,8\n    LISTBOX         317,161,172,65,40,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \" Ŀ  Ȯ:\",316,5,154,254,66\n    DEFPUSHBUTTON   \"Ȯ\",1,263,6,41,16\n    PUSHBUTTON      \"\",2,263,25,41,16\n    PUSHBUTTON      \"(&H)\",254,263,44,41,16\nEND\n\n57 DIALOG 123, 60, 207, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"   Ȳ\"\nFONT 9, \"\"\nBEGIN\n    LTEXT           \"  :\",-1,6,8,79,8\n    LTEXT           \"filename.xxx\",341,86,8,90,8\n    LTEXT           \"丮:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,43,20,151,8\n    LTEXT           \" 丮:\",-1,6,32,102,8\n    LTEXT           \"1,888,888,999\",343,90,32,60,8\n    LTEXT           \" :\",-1,6,44,62,8\n    LTEXT           \"1,888,888,999\",344,74,44,58,8\n    LTEXT           \"  ü  ũ:\",-1,6,56,124,8\n    LTEXT           \"9,999,999,999,999\",345,134,56,68,8\n    LTEXT           \"  ü  ũ:\",-1,6,68,123,8\n    LTEXT           \"9,999,999,999,999\",346,134,69,68,8\n    LTEXT           \" :\",-1,6,80,78,8\n    LTEXT           \"100%\",347,91,80,27,8\n    PUSHBUTTON      \"\",2,76,97,55,16\nEND\n\n58 DIALOG 114, 62, 197, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"  Ǯ  Ȳ\"\nFONT 9, \"\"\nBEGIN\n    LTEXT           \" Ǯ  :\",-1,6,8,83,8\n    LTEXT           \"filename.xxx\",351,93,8,66,8\n    LTEXT           \"丮:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\",352,45,20,144,8\n    LTEXT           \" Ǯ 丮:\",-1,6,32,91,8\n    LTEXT           \"1,999,999,999\",353,99,32,70,8\n    LTEXT           \" Ǯ :\",-1,6,44,86,8\n    LTEXT           \"1,999,999,999\",354,92,44,78,8\n    PUSHBUTTON      \"\",2,74,64,49,16\nEND\n\n59 DIALOG 11, 28, 275, 70\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \" \"\nFONT 9, \"\"\nBEGIN\n    ICON            32515,-1,8,8,18,20\n    LTEXT           \"\",100,35,8,190,20\n    DEFPUSHBUTTON   \"(&I)\",5,27,47,51,16,WS_GROUP\n    PUSHBUTTON      \" (&G)\",112,84,47,51,16\n    PUSHBUTTON      \"ٽ ϱ(&R)\",4,141,47,51,16\n    PUSHBUTTON      \"(&A)\",3,198,47,51,16\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY, SHIFT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT\n    VK_F4,          1702,                   VIRTKEY, SHIFT\n    VK_F5,          1704,                   VIRTKEY \n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII   \n    VK_ADD,         301,                    VIRTKEY \n    \"*\",            302,                    ASCII   \n    VK_MULTIPLY,    302,                    VIRTKEY \n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL\n    \"-\",            304,                    ASCII   \n    VK_SUBTRACT,    304,                    VIRTKEY \n    VK_RETURN,      110,                    VIRTKEY, ALT\n    VK_F2,          2000,                   VIRTKEY \nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"CUR300.CUR\"\n\n\n301                     CURSOR                  \"CUR301.CUR\"\n\n\n302                     CURSOR                  \"CUR302.CUR\"\n\n\n303                     CURSOR                  \"CUR303.CUR\"\n\n\n306                     CURSOR                  \"CUR306.CUR\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ICO200.ICO\"\n\n\n201                     ICON                    \"ICO201.ICO\"\n\n\n202                     ICON                    \"ICO202.ICO\"\n\n\n204                     ICON                    \"ICO204.ICO\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,52\n PRODUCTVERSION 4,0,1381,52\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"041204B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"File Manager\"\n            VALUE \"FileVersion\", \"4.00\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"Copyright (C) Microsoft Corp. 1981-1996\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"Microsoft(R) Windows NT(TM) Operating System\"\n            VALUE \"ProductVersion\", \"4.00\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0x412, 1200\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"ũ \"\n    51                      \" ũ ʽÿ. \"\n    52                      \" ũ ʽÿ. \"\n    53                      \"   ũ ʽÿ. \"\n    54                      \" ũ  \"\n    55                      \"ũ  \"\n    56                      \"ũ   ϴ. \"\n    58                      \"  ũ ȣȯ ʽϴ.\"\n    60                      \"%d%% Ϸ \"\n    61                      \"Ʈ 丮  ...\"\n    62                      \"ý   ...\"\n    63                      \"ũ  \"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \" Ϸ\"\n    67                      \" ũ  : %ldƮ \\n  ִ ũ  : %ldƮ\\n\\nٸ ũ Ͻðڽϱ?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"Ʈũ \"\n    83                      \" ̺꿡 Windows ý  ־    ϴ. \"\n    91                      \"Ӽ ٲ  ϴ.\"\n    92                      \"丮   ϴ.\"\n    93                      \"ũ ̸   ϴ.\\n\\nũ  Ǿ  , Ʈũ ̺갡 ƴ, ̸ ȿ ȮϽʽÿ. ̸  ڵ   ϴ:\\n[] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n    95                      \"ġϴ  ϴ.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \" ̺  ٲϴ. [ã ] â  ġðڽϱ?\"\n    98                      \"ϵ ũ  ۾ Ϸ ũ̼ǿ ڷ α׿ؾ մϴ.\"\n    101                     \"̺ %c:%c\"\n    110                     \"α׷   \"\n    111                     \"ġ  : %d.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"޸𸮰 Ͽ   α׷   ϴ.\\n\\nϳ ̻  α׷ ģ  ٽ غʽÿ.\"\n    113                     \"(Ȥ  ) ã  ϴ.\\n\\nο  ̸ ùٸ, ʿ  ̺귯   ִ ȮϽʽÿ.\"\n    114                     \" ΰ ùٸ ʽϴ.\"\n    116                     \" ϰ   α׷ ϴ.\\n\\nα׷    ޴ α׷  Ͻʽÿ. \"\n    118                     \" ų μ  ϴ.\\n\\n  µ   α׷     α׷  ų μϽʽÿ.\"\n    120                     \"콺  Ȯ\"\n    121                     \" ̳ 丮 %s() Ͻðڽϱ?\"\n    122                     \" ̳ 丮 %s() űðڽϱ?\"\n    123                     \"%s() ϴµ %s() ʱ Ϸ ̿Ͻðڽϱ?\"\n    124                     \" \"\n    126                     \"丮 Ʈ\"\n    127                     \"ã : \"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \" ʹ ϴ.\"\n    133                     \"  - ޸ \"\n    134                     \"ü 丮   ϴ.  Ϻθ ǥõ˴ϴ.\"\n    140                     \" 丮: %s\"\n    141                     \"\"\n    143                     \"̸ ٲٱ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"ũ \"\n    146                     \" ũ Ͻʽÿ.\"\n    150                     \" :\"\n    151                     \" ...\"\n    152                     \"ϴ :\"\n    153                     \"̸ ٲٴ ...\"\n    154                     \"ű ...\"\n    155                     \" ...\"\n    156                     \"μ : %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"ϴ ...\"\n    170                     \" :\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \"   %d (%s)\"\n    181                     \" 丮  : %d\"\n    182                     \"%c: %s 밡,  %s \"\n    183                     \"ã  : %d\"\n    185                     \"  \"\n    186                     \"Ʈũ ̺    ϴ.\\r\\n ̺꿡   ֽϴ.\"\n    187                     \"  : %d (%s)\"\n    188                     \"̺ %c ũ ϴ.\\n\\nũ   ٽ غʽÿ. \"\n    189                     \"̺ %c ִ ũ ˵ ʾҽϴ.\\n\\n Ͻðڽϱ?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"μ⸦  ũ  մϴ.\\n\\nϳ ̻   ũ  ø  ٽ غʽÿ.\"\n    193                     \"μ⸦  ޸𸮰 մϴ.\\n\\nϳ ̻  α׷ ģ  ٽ غʽÿ.\"\n    194                     \"μ   Ͼϴ.\\n\\nͰ ùٸ ǰ õǾ ȮϽʽÿ.\"\n    195                     \"丮 Ʈ Ϻθ ǥõǾϴ.\"\n    197                     \" ũ  áϴ. Ϸ ٸ ũ ʽÿ.\"\n    198                     \"ý, , Ǵ б  Դϴ. \"\n    199                     \"    ϴ.\\n\\n  Ͻðڽϱ?\"\n    203                     \" α׷     Ͼϴ.\"\n    204                     \" ۾ ʿ ̺귯 о  ϴ.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \" 丮(&H)...\"\n    210                     \" ũ ִ  ͸ ϴ. %c ̺꿡 ִ ũ Ͻðڽϱ?\"\n    211                     \"ũ  Ȯ\"\n    212                     \" ۾ ϸ  ũ  Ͱ ϴ. Ͻðڽϱ?\"\n    213                     \"ũ  Ȯ\"\n    214                     \"ݱ(&C)\"\n    215                     \"ݱ\"\n    218                     \"%s 丮 ϴ.\\n\\n ðڽϱ?\"\n    219                     \"α׷#*.exe;*.pif;*.com;*.bat#  (*.*)#*.*#\"\n    220                     \"ãƺ\"\n    221                     \"\"\n    222                     \" μ  ϴ.\"\n    223                     \"  ǥ  ϴ.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"Ȯ %s  α׷̹Ƿ ٸ  α׷   ϴ.\"\n    225                     \"%s() α׷ ƴϹǷ  Ȯ   ϴ.\"\n    226                     \"()\"\n    227                     \"ã  ϴ. \"\n    228                     \"  μ  ϴ.\\n\\n ϳ   ٽ Ͻʽÿ.\"\n    230                     \"  α׷ ϴµ ʿ ̺귯   ϳ ջǾϴ.  α׷ ٽ ġϽʽÿ.\"\n    231                     \"  ٸ  α׷ Դϴ.\"\n    232                     \"'%s' 丮   ׼  ϴ.\\n\\nϽðڽϱ?\"\n    233                     \"丮 \"\n    234                     \"%ldƮ\"\n    235                     \"%sƮ\"\n    236                     \"   Ȥ 丮 Ŭ   ϴ.\\n\\n ϳ ϰ ٽ Ͻʽÿ.\"\n    237                     \"%s - %s\"\n    238                     \"̺:\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"Ʈũ ̺ \"\n    241                     \"Ʈũ ̺  \"\n    242                     \"Ʈũ \"\n    243                     \"丮 \"\n    244                     \"丮  \"\n    245                     \"ڼ \"\n    246                     \"̸ \"\n    247                     \"̸ \"\n    248                     \" \"\n    249                     \"ũ \"\n    250                     \"¥ \"\n    251                     \" â\"\n    252                     \" \"\n    253                     \" ű\"\n    254                     \"丮 ̸(&D):\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"Ʈũ ̺긦   ϴ.\"\n    259                     \"%s()  \"\n    260                     \" \"\n    261                     \" \"\n    262                     \" - \"\n    263                     \"%s()    \"\n    264                     \"%s()  ű  \"\n    265                     \"%s()    \"\n    266                     \"%sƮ\"\n    267                     \"%sKB\"\n    268                     \"%sMB\"\n    269                     \"%sGB\"\n    270                     \"%sTB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \" 丮    ϴ.\"\n    281                     \" Ͽ    ϴ.\"\n    283                     \"%c: ̺갡 ̹Ƿ ׼  ϴ.\\n[ ] ũ ϰ ֽϴ.\"\n    284                     \"%c: ̺갡 ̹Ƿ ׼  ϴ.\\n[ũ ] ũ ϰ ֽϴ.\"\n    285                     \"۾   ʾҽϴ.\"\n    286                     \"۾  ϰ 丮   ߽ϴ.\"\n    287                     \"丮   ϴ.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"丮 ϴ.\"\n    289                     \"Ʈũ ̺긦   ϴ.\"\n    290                     \"Ʈũ ̸ ã  ϴ.\"\n    292                     \"[, ] ý, , б    Ͽ  ݴϴ.\"\n    294                     \"\"\n    295                     \"μ\"\n    298                     \"Ȯ ߰\"\n    299                     \"'%s' Ȯ  '%s' () Ǿ ֽϴ. α׷  ľðڽϱ?\"\n    300                     \"  \"\n    301                     \"Ȯ   ϴ.\"\n    302                     \"Ȯ   ϴ.\"\n    303                     \"  ߰  ϴ.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"    ϴ.  \"\n    305                     \"    ϴ.  \"\n    306                     \"[ ]     ϴ.    ԷϽʽÿ.\"\n    307                     \"Է    ĺڸ   ϴ.    ԷϽʽÿ.\"\n    308                     \"  \"\n    309                     \"     Ȯڸ մϴ. '%s'() Ͻðڽϱ?\"\n    312                     \"[ ] ɿ  ϳ   ־ մϴ.  ʵ忡  α׷ ԷϽʽÿ.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"  \"\n    321                     \"ũ  \"\n    322                     \"ã ...\"\n    324                     \" ũ ϰ ֽϴ. [ ] ġ   ҵ˴ϴ.\"\n    325                     \" ũ 縦 ϰ ֽϴ. [ ] ġ   ҵ˴ϴ.\"\n    326                     \"\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360K\"\n    354                     \"1%s2MB\"\n    355                     \"720K\"\n    356                     \"1%s44MB\"\n    357                     \"2%s88MB\"\n    358                     \"̺ 뷮\"\n    359                     \"ũ    ϴ.\\n\\n̺꿡 ũ ִ ȮϽʽÿ.\"\n    360                     \"20%s8MB\"\n    361                     \"   ũ \"\n    362                     \"   ũ \"\n    363                     \"%s ̺꿡 ũ  [ ]   ϴ. [ũ ] Ͽ Ͻʽÿ.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    370                     \"128MB\"\n    371                     \"230MB\"\n    375                     \"1%s23MB\"\n    376                     \"640K\"\n    377                     \"1%s25 MB\"\n    378                     \"256K\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"ȣȯ ʴ  ýԴϴ.\"\n    401                     \"׼  ϴ.\"\n    402                     \"ũ  Ǿֽϴ.\"\n    403                     \"   ϴ.\"\n    404                     \"ũ    ϴ.\\n\\nũ е ùٸ ȮϽʽÿ.\"\n    405                     \" ũ I/O Դϴ.\"\n    406                     \" ũ I/O Դϴ.\"\n    407                     \"   ũ I/O Դϴ.\"\n    408                     \"I/O  ߻߽ϴ.\"\n    411                     \"ũ   ϴ.\\n\\nũ ̺꿡 ִ,   ʾҴ, ջ ʾҴ Ǵ е Ʋ  ȮϽʽÿ.\"\n    412                     \"ũ ̸   ϴ.\\n\\n ̸ǥ ùٸ ʽϴ. ̸ǥ  ڰ Ե ʾҴ ȮϽʽÿ:\\n[] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \" ...\"\n    421                     \"ݴ ...\"\n    422                     \"ʹ  丮 â  ֽϴ.\\n\\nϳ ̻ â ݰ ٽ Ͻʽÿ.\"\n    423                     \"  ...\"\n    424                     \"׶  ħ  ʱȭ  ϴ. [ ] Ĩϴ.  \"\n    425                     \"  ʱȭ\"\n    426                     \"丮 а ֽϴ. ٸʽÿ....\"\n    427                     \"%s ִ  ϰ  丮 Ͻðڽϱ?\"\n    428                     \"%s ִ  ϰ  丮  Ǫðڽϱ?\"\n    429                     \"%s  Ӽ ٲ  ϴ.\"\n    430                     \"%s    ϴ.   ϸ ý õ   ֽϴ.\"\n    431                     \"  / Ǯ⸦ ϰ ֽϴ.\\nٸ  / ǮϷ   ۾   ٷ մϴ.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"\"\n    501                     \"ȸ ̸\"\n    502                     \" \"\n    503                     \" ̸\"\n    504                     \" ǥ\"\n    505                     \"  ̸\"\n    506                     \"  \"\n    507                     \"ǰ ̸\"\n    508                     \"ǰ \"\n    509                     \"Ư  \"\n    510                     \"\"\n    511                     \"\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"Ʈũ ̺ (&N)...\"\n    801                     \"Ʈũ ̺  (&D)...\"\n    802                     \"Ʈũ (&N)...\"\n    803                     \"(&A)...\"\n    804                     \" (&T)...\"\n    805                     \" 丮 ǥ(&H)...\"\n    806                     \" (&U)...\"\n    807                     \"   â (&O)\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \" ű \"\n    1002                    \"  \"\n    1003                    \"  \"\n    1004                    \" ̸ ٲٱ \"\n    1005                    \"̺  \"\n    1006                    \"丮 б \"\n    1007                    \"ũ ̸ ̱ \"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"%s() ű  ϴ. %s\"\n    1012                    \"%s()   ϴ. %s\"\n    1013                    \"%s()   ϴ. %s\"\n    1014                    \"%s ̸ ٲ  ϴ. %s\"\n    1021                    \"%s 丮   ϴ. %s\"\n    1022                    \"%s 丮   ϴ. %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"%s() ų ٲ  ϴ. %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"  ϴ.\"\n    1102                    \"̸ ٲٷ  ϳ ϰų,    ̸ ٲٷ ǥ(, *.TXT) Ͻʽÿ. \"\n    1103                    \"ٸ 丮 ũ ̸ ٲٱ   ϴ.\\n ű  Ͻʽÿ.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"Ʈ 丮 ̸ ٲ  ϴ.\"\n    1105                    \" 丮  丮  丮Դϴ.\"\n    1106                    \"Windows   Դϴ.\"\n    1107                    \"[] ڿ ϳ  Ǵ 丮 Ͻʽÿ.   ׷ Ϸ ǥڸ Ͻʽÿ(, *.TXT).\"\n    1108                    \" ̸  Ǵ 丮 ̹ ֽϴ.  丮 ȿ ̳ 丮 ̸ ؾ մϴ.\"\n    1109                    \" ο  ̸ ùٸ ȮϽʽÿ.\"\n    1110                    \" ΰ ùٸ ȮϽʽÿ.\"\n    1111                    \"ϳ ̻  α׷ ģ  ٽ غʽÿ. Ǵ [] [ý ɼ] Ͽ  ޸𸮸 Űʽÿ.\"\n    1113                    \"ũ   Ǯų ٸ ũ Ͽ ٽ غʽÿ.\"\n    1114                    \" ۾ ϱ  ùٸ Ʈũ   ִ ȮϽʽÿ.\"\n    1115                    \"  ũ  ø  ٽ Ͻʽÿ.\"\n    1116                    \"ü ߰ߵ Ͱ ϴ.\"\n    1117                    \"丮 ̹ ֽϴ.\"\n    1118                    \" ̸ ̹ ִ  ̸Դϴ.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"̺꿡 ߸ ũ ֽϴ.\"\n    1151                    \"  α׷ Windows NT 忡 ɼ ϴ.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \" ü   Ҹ   ϴ.\"\n    1153                    \"  Ҵ Windows NT 忡   ϴ.\"\n    1154                    \" α׷ ùٸ Windows NT  α׷ ƴմϴ.\"\n    1155                    \" Ͼϴ.   ޽  ϴ.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \" ġ(&F):\"\n    2001                    \" ġ(&T):\"\n    2002                    \" ̸(&F):\"\n    2003                    \" ̸(&T):\"\n    2004                    \" ۲ Ǿ  , ѱ \\nǥ   Դϴ.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"Ϸ ۾ϴ \"\n    3985                    \"ũ ۾ϴ \"\n    3986                    \"Ʈ â ۾ϴ \"\n    3987                    \" ǥ  ϴ \"\n    3988                    \"ɼ   \"\n    3989                    \"  丮   \"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"â   \"\n    4001                    \"   ǥϱ  \"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"   ׸ ˻\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \" ׸ \"\n    4102                    \" μ\"\n    4103                    \"  α׷ \"\n    4104                    \"  丮 ã\"\n    4105                    \" α׷̳  ϰų \"\n    4106                    \" ׸ ű\"\n    4107                    \"  丮 \"\n    4108                    \"  丮 \"\n    4109                    \"  丮 ̸ ٲٱ\"\n    4110                    \" Ӽ ϰ   ǥ\"\n    4111                    \"丮 \"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"  ħ\"\n    4116                    \"  丮 \"\n    4117                    \"   ã\"\n    4118                    \" Ŭ \"\n    4119                    \" Ǵ 丮 \"\n    4120                    \" Ǵ 丮  Ǯ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"÷ ũ  \"\n    4202                    \"ũ  ̸ ϰų ٲٱ\"\n    4203                    \"÷ ũ \"\n    4205                    \"Ʈũ ̺ \"\n    4206                    \"Ʈũ ̺  \"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"ٸ ̺긦 \"\n    4254                    \"丮 \"\n    4255                    \"丮  \"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"ٸ  丮 ǥ\"\n    4302                    \"Ư 丮  丮 ǥ\"\n    4303                    \" 丮  丮 ǥ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \" 丮  丮 ǥ \"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \" ̸  \"\n    4402                    \"   ڼ  \"\n    4403                    \"  Ϻθ  \"\n    4404                    \" ̸ \"\n    4405                    \"  \"\n    4406                    \" ũ \"\n    4407                    \" ¥ \"\n    4409                    \"  ϸ  \"\n    4411                    \"丮 Ʈ ǥ\"\n    4412                    \" 丮  ǥ\"\n    4413                    \"丮 Ʈ   丮  ǥ\"\n    4414                    \"丮 â ϰų  ű\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"Ȯ ޽ \"\n    4503                    \" ǥ ǥϰų \"\n    4504                    \" ڸ    ǥ\"\n    4505                    \" 丮  丮 ǥ\"\n    4507                    \"̺  ǥϰų \"\n    4508                    \"  ǥϰų \"\n    4509                    \"   â \"\n    4510                    \"  ۲ ٲ\"\n    4511                    \" ڸ ĥ    \"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"   \"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"õ ׸     ų \"\n    4606                    \"õ ׸    ų \"\n    4607                    \"õ ׸   ų \"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"â ܽ 迭\"\n    5702                    \"ٵǽ â η 迭\"\n    5703                    \"ٵǽ â η 迭\"\n    5704                    \"â   ġ\"\n    5705                    \" \"\n    5706                    \" â \"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"    ǥ\"\n    5802                    \"    ǥ\"\n    5803                    \"   ǥ\"\nEND\n\n#endif    // Korean (Korea) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/origrc/winfile.nb-NO.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// Norwegian, Bokml (Norway) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NOR)\nLANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL\n#pragma code_page(1252)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"BMP100.BMP\"\n\n\n101                     BITMAP                  \"BMP101.BMP\"\n\n\n102                     BITMAP                  \"BMP102.BMP\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"&Fil\"\n    BEGIN\n        MENUITEM \"&pne\\tEnter\",                101\n        MENUITEM \"&Flytt...\\tF7\",               106\n        MENUITEM \"&Kopier...\\tF8\",              107\n        MENUITEM \"K&opier til utklippstavlen...\\tF9\", 118\n        MENUITEM \"Sl&ett...\\tDel\",              108\n        MENUITEM \"&Gi nytt navn...\",            109\n        MENUITEM \"Ege&nskaper...\\tAlt+Enter\",   110\n        MENUITEM SEPARATOR\n        MENUITEM \"Kompr&imer...\",               119\n        MENUITEM \"&Dekomprimer...\",             120\n        MENUITEM SEPARATOR\n        MENUITEM \"Kj&r...\",                    105\n        MENUITEM \"Skriv &ut...\",                102\n        MENUITEM \"&Tilknytt...\",                103\n        MENUITEM SEPARATOR\n        MENUITEM \"&Lag katalog...\",             111\n        MENUITEM \"&Sk...\",                     104\n        MENUITEM \"&Merk filer...\",              116\n        MENUITEM SEPARATOR\n        MENUITEM \"&Avslutt\",                    115\n    END\n    POPUP \"&Disk\"\n    BEGIN\n        MENUITEM \"&Kopier diskett...\",          201\n        MENUITEM \"&Sett navn p disk...\",       202\n        MENUITEM SEPARATOR\n        MENUITEM \"&Formater diskett...\",        203\n        MENUITEM SEPARATOR\n        MENUITEM \"&Velg stasjon...\",            251\n    END\n    POPUP \"&Tre\"\n    BEGIN\n        MENUITEM \"Utvid &ett niv\\t+\",          301\n        MENUITEM \"&Utvid gren\\t*\",              302\n        MENUITEM \"Utvid &alt\\tCtrl+*\",          303\n        MENUITEM \"&Skjul gren\\t-\",              304\n        MENUITEM SEPARATOR\n        MENUITEM \"&Vis utvidbare grener\",       505\n    END\n    POPUP \"&Vis\"\n    BEGIN\n        MENUITEM \"&Tre og katalog\",             413\n        MENUITEM \"&Bare tre\",                   411\n        MENUITEM \"Bare &katalog\",               412\n        MENUITEM SEPARATOR\n        MENUITEM \"&Del\",                        414\n        MENUITEM SEPARATOR\n        MENUITEM \"&Navn\",                       401\n        MENUITEM \"&All filinformasjon\",         402, CHECKED\n        MENUITEM \"De&lvis filinformasjon...\",   403\n        MENUITEM SEPARATOR\n        MENUITEM \"&Sorter etter navn\",          404\n        MENUITEM \"Sort&er etter type\",          405\n        MENUITEM \"So&rter etter strrelse\",     406\n        MENUITEM \"S&orter etter dato\",          407\n        MENUITEM SEPARATOR\n        MENUITEM \"&Filtype...\",                 409\n    END\n    POPUP \"&Alternativer\"\n    BEGIN\n        MENUITEM \"&Bekreftelse...\",             501\n        MENUITEM \"&Skrift...\",                  510\n        MENUITEM \"&Tilpass verktylinje ...\",   512\n        MENUITEM SEPARATOR\n        MENUITEM \"&Verktylinje\",               508\n        MENUITEM \"Stasj&onslinje\",              507\n        MENUITEM \"St&atuslinje\",                503\n        MENUITEM SEPARATOR\n        MENUITEM \"&Minimer ved bruk\",           504\n        MENUITEM \"&Lagre endringer ved avslutning\", 511\n    END\n    POPUP \"&Sikkerhet\"\n    BEGIN\n        MENUITEM \"&Tillatelser...\",             605\n        MENUITEM \"&Kontroll...\",                606\n        MENUITEM \"&Eier...\",                    607\n    END\n    POPUP \"Vi&ndu\"\n    BEGIN\n        MENUITEM \"&Nytt vindu\",                 1706\n        MENUITEM \"Over&lappet\\tSkift+F5\",       1701\n        MENUITEM \"&Side ved side vannrett\",     1703\n        MENUITEM \"Side &ved side loddrett\\tSkift+F4\", 1702\n        MENUITEM \"Ordne &ikoner\",               1705\n        MENUITEM \"&Oppdater\\tF5\",               1704\n    END\n    POPUP \"&Hjelp\"\n    BEGIN\n        MENUITEM \"&Innhold\",                    1801\n        MENUITEM \"&Sk etter hjelp om...\",      30\n        MENUITEM \"&Hvordan bruke Hjelp\",        1802\n        MENUITEM SEPARATOR\n        MENUITEM \"&Om Filbehandling...\",        1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 12, 210, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kjr\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,162,10\n    CONTROL         \"K&ommandolinje:\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,3,18,60,10\n    EDITTEXT        201,3,29,134,12,ES_AUTOHSCROLL\n    CONTROL         \"&Kjr minimert\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,3,45,54,12\n    DEFPUSHBUTTON   \"OK\",1,165,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,165,23,40,14\n    PUSHBUTTON      \"&Hjelp\",254,165,43,40,14\nEND\n\n11 DIALOG 20, 20, 240, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Skriv ut\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,193,10\n    CONTROL         \"&Skriv ut:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,29,10\n    EDITTEXT        102,34,18,153,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,36,190,10\n    DEFPUSHBUTTON   \"OK\",1,197,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,197,23,40,14\n    PUSHBUTTON      \"&Hjelp\",254,197,43,40,14\nEND\n\n12 DIALOG 20, 20, 255, 118\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Tilknytt\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Filer med filtypen:\",-1,6,7,65,8\n    COMBOBOX        315,76,5,44,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Tilknytt:\",-1,6,30,36,10\n    EDITTEXT        304,6,42,172,12,ES_AUTOHSCROLL\n    LISTBOX         314,11,54,167,62,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"&Bla gjennom...\",318,122,24,55,14\n    DEFPUSHBUTTON   \"OK\",1,187,6,62,14,WS_GROUP\n    PUSHBUTTON      \"Avbryt\",2,187,23,62,14\n    PUSHBUTTON      \"&Ny filtype...\",300,187,42,62,14\n    PUSHBUTTON      \"&Endre filtype...\",251,187,59,62,14\n    PUSHBUTTON      \"&Slett filtype\",219,187,76,62,14\n    PUSHBUTTON      \"&Hjelp\",254,187,95,62,14\nEND\n\n13 DIALOG 20, 20, 263, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Sk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Sk etter:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,6,45,12\n    EDITTEXT        201,52,5,160,12,ES_AUTOHSCROLL\n    CONTROL         \"Start &ved:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,21,41,12\n    EDITTEXT        101,52,20,160,12,ES_AUTOHSCROLL\n    CONTROL         \"Sk gjennom &alle underkataloger\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,52,34,119,12\n    DEFPUSHBUTTON   \"OK\",1,217,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,217,23,40,14\n    PUSHBUTTON      \"&Hjelp\",254,217,43,40,14\nEND\n\n14 DIALOG 47, 59, 231, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Flytt\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Gjeldende katalog: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,176,10\n    CONTROL         \"&Til:\",2001,\"Static\",SS_LEFTNOWORDWRAP,3,33,12,10\n    EDITTEXT        103,37,32,138,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,49,40,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,45,49,140,10\n    DEFPUSHBUTTON   \"OK\",1,185,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,185,23,40,14\n    PUSHBUTTON      \"&Hjelp\",254,185,40,40,14\n    CONTROL         \"&Fra:\",2002,\"Static\",SS_LEFTNOWORDWRAP,3,19,14,10\n    EDITTEXT        102,37,18,138,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Slett\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Gjeldende katalog: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"&Slett:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,35,10\n    EDITTEXT        102,40,19,155,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,35,35,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,40,35,155,10\n    DEFPUSHBUTTON   \"OK\",1,200,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,200,23,40,14\n    PUSHBUTTON      \"&Hjelp\",254,200,40,40,14\nEND\n\n16 DIALOG 23, 13, 250, 229\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Egenskaper for %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,194,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Avbryt\",2,194,23,50,14\n    PUSHBUTTON      \"&Hjelp\",254,194,40,50,14\n    CONTROL         \"&Filnavn:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,52,10\n    EDITTEXT        201,60,5,132,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Bane:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,52,10\n    EDITTEXT        101,60,16,132,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Siste endring:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,50,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,60,27,130,10\n    CONTROL         \"Versjon:\",258,\"Static\",SS_LEFTNOWORDWRAP,5,38,45,10\n    CONTROL         \"Ikke angitt\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,60,38,129,10\n    LTEXT           \"&Copyright:\",-1,5,49,45,11\n    EDITTEXT        265,60,49,132,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Strrelse:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,60,44,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,60,60,93,10\n    CONTROL         \"Komprimert strrelse:\",268,\"Static\",SS_LEFTNOWORDWRAP,5,71,73,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,80,71,90,10\n    CONTROL         \"Komprimeringsforhold:\",270,\"Static\",SS_LEFTNOWORDWRAP,5,82,73,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,80,80,90,10\n    GROUPBOX        \"Attributter\",-1,4,96,120,54\n    CONTROL         \"Skri&vebeskyttet\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,108,67,12\n    CONTROL         \"&Skjult\",216,\"Button\",BS_AUTOCHECKBOX,81,108,39,12\n    CONTROL         \"&Arkiv\",217,\"Button\",BS_AUTOCHECKBOX,9,120,68,12\n    CONTROL         \"Sys&tem\",218,\"Button\",BS_AUTOCHECKBOX,81,120,39,12\n    CONTROL         \"&Komprimert\",267,\"Button\",BS_AUTOCHECKBOX,9,132,68,12\n    GROUPBOX        \"V&ersjonsinformasjon\",262,4,155,242,72\n    LISTBOX         263,9,166,91,58,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,103,166,138,58,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 200, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Lag katalog\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,154,10\n    CONTROL         \"&Navn:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,23,20,10\n    EDITTEXT        201,30,22,90,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,46,150,10\n    DEFPUSHBUTTON   \"OK\",1,157,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,157,23,40,14\n    PUSHBUTTON      \"&Hjelp\",254,157,43,40,14\nEND\n\n19 DIALOG 20, 20, 157, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kopier diskett\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Kilde i:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,24,10\n    COMBOBOX        245,55,6,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Ml i:\",206,\"Static\",SS_LEFTNOWORDWRAP,5,22,19,10\n    COMBOBOX        222,55,20,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,110,23,40,14\n    PUSHBUTTON      \"&Hjelp\",254,110,43,40,14\nEND\n\n22 DIALOG 30, 30, 130, 55\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kopierer diskett\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Kopierer disketten i \",-1,0,5,130,10,NOT WS_GROUP\n    CTEXT           \"stasjon A:\",222,0,15,130,10,NOT WS_GROUP\n    CTEXT           \"Leser kildedisketten.\",243,0,26,130,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Avbryt\",2,44,39,44,14\nEND\n\n23 DIALOG 20, 20, 161, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Sett navn p disk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Navn:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,30,10\n    EDITTEXT        201,5,26,100,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,115,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,115,23,40,14\n    PUSHBUTTON      \"&Hjelp\",254,115,43,40,14\nEND\n\n24 DIALOG 11, 28, 183, 96\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formater diskett\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,140,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,140,23,40,14\n    PUSHBUTTON      \"&Hjelp\",254,140,43,40,14\n    CONTROL         \"&Diskett i:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,7,31,10\n    COMBOBOX        222,55,4,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Kapasitet:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,20,49,10\n    COMBOBOX        241,55,19,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Alternativer\",102,5,39,115,53,WS_GROUP\n    CONTROL         \"&Navn:\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,51,39,10\n    EDITTEXT        201,40,49,63,12\n    CONTROL         \"H&urtigformatering\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,62,68,12\nEND\n\n26 DIALOG 30, 30, 150, 50\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formaterer diskett\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Formaterer diskett\",-1,0,5,150,10,NOT WS_GROUP\n    CTEXT           \"Forbereder stasjon...\",243,0,17,150,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Avbryt\",2,54,30,44,14\nEND\n\n30 DIALOG 20, 20, 174, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Delvis filinformasjon\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Detaljer\",-1,4,4,121,74\n    CONTROL         \"St&rrelse\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,15,42,12\n    CONTROL         \"&Siste endringsdato\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,27,73,12\n    CONTROL         \"Sist&e endringstidspunkt\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,39,88,12\n    CONTROL         \"&Filattributter\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,51,52,12\n    CONTROL         \"&MS-DOS-filnavn\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,63,64,12\n    DEFPUSHBUTTON   \"OK\",1,130,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,130,23,40,14\n    PUSHBUTTON      \"&Hjelp\",254,130,60,40,14\nEND\n\n32 DIALOG 20, 20, 157, 102\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Filtype\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Navn:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,23,10\n    EDITTEXT        201,34,6,65,12,ES_AUTOHSCROLL\n    GROUPBOX        \"Filtype\",-1,5,20,94,62\n    CONTROL         \"&Kataloger\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,31,44,12\n    CONTROL         \"&Programmer\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,43,51,12\n    CONTROL         \"&Dokumenter\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,55,52,12\n    CONTROL         \"&Andre filer\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,46,12\n    CONTROL         \"Vis systemfiler og &skjulte filer\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,5,85,107,12\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,110,23,40,14\n    PUSHBUTTON      \"&Hjelp\",254,110,43,40,14\nEND\n\n33 DIALOG 20, 20, 241, 94\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekreftelse\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Bekreftelse ved\",-1,5,3,190,85,WS_TABSTOP\n    CONTROL         \"&Sletting av fil\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,15,56,12\n    CONTROL         \"Slett k&atalog\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,27,77,12\n    CONTROL         \"&Erstatting av fil\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,39,62,12\n    CONTROL         \"&Bruk av mus\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,51,53,12\n    CONTROL         \"&Diskkommandoer\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,63,68,12\n    CONTROL         \"E&ndring av system-, skjulte og skrivebeskyttede filer\",215,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,75,182,12\n    DEFPUSHBUTTON   \"OK\",1,199,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,199,23,40,14\n    PUSHBUTTON      \"&Hjelp\",254,199,44,40,14\nEND\n\n35 DIALOG 20, 20, 250, 46\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Flytter...\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,5,49,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,5,192,10\n    CONTROL         \"Til:\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,15,12,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,15,192,10\n    DEFPUSHBUTTON   \"Avbryt\",2,200,28,40,14,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 120, 58\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Skriver ut filen...\",-1,31,6,56,12\n    CTEXT           \"\",-1,4,20,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"Avbryt\",2,44,40,32,14,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 206, 88\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Egenskaper\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"%d filer er merket.\",100,\"Static\",SS_LEFTNOWORDWRAP,5,5,144,10\n    CONTROL         \"%s byte totalt.\",111,\"Static\",SS_LEFTNOWORDWRAP,5,16,144,10\n    GROUPBOX        \"Attributter\",-1,5,29,120,54\n    CONTROL         \"Skri&vebeskyttet\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,40,63,12\n    CONTROL         \"&Skjult\",216,\"Button\",BS_AUTOCHECKBOX,80,40,31,12\n    CONTROL         \"&Arkiver\",217,\"Button\",BS_AUTOCHECKBOX,10,52,36,12\n    CONTROL         \"Sys&tem\",218,\"Button\",BS_AUTOCHECKBOX,80,52,36,12\n    CONTROL         \"&Komprimert\",267,\"Button\",BS_AUTOCHECKBOX,10,64,52,12\n    DEFPUSHBUTTON   \"OK\",1,150,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Avbryt\",2,150,23,50,14\n    PUSHBUTTON      \"&Hjelp\",254,150,43,50,14\nEND\n\n39 DIALOG 10, 20, 245, 103\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekreft erstatting av fil(er)\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Erstatt filen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,12,41,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,12,165,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,75,22,170,10\n    CONTROL         \"Med filen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,34,34,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,34,165,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,75,44,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,54,203,21\n    DEFPUSHBUTTON   \"&Ja\",6,33,82,40,14\n    PUSHBUTTON      \"Ja &til alt\",107,79,82,40,14\n    PUSHBUTTON      \"&Nei\",7,125,82,40,14\n    PUSHBUTTON      \"Avbryt\",2,171,82,40,14\nEND\n\n40 DIALOG 10, 20, 245, 79\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekreft sletting av fil(er)\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,29,3,203,10\n    CONTROL         \"Slett filen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,29,18,35,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,64,18,174,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,29,32,203,25\n    DEFPUSHBUTTON   \"&Ja\",6,33,61,40,14\n    PUSHBUTTON      \"Ja &til alt\",107,79,61,40,14\n    PUSHBUTTON      \"&Nei\",7,125,61,40,14\n    PUSHBUTTON      \"Avbryt\",2,171,61,40,14\nEND\n\n41 DIALOG 10, 20, 245, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekreft Slett katalog\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Slett katalogen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,53,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,25\n    DEFPUSHBUTTON   \"&Ja\",6,33,61,40,14\n    PUSHBUTTON      \"Ja &til alt\",107,79,61,40,14\n    PUSHBUTTON      \"&Nei\",7,125,61,40,14\n    PUSHBUTTON      \"Avbryt\",2,171,61,40,14\nEND\n\n42 DIALOG 10, 22, 245, 76\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekreft Flytt fil\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Flytt filen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,34,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,20\n    DEFPUSHBUTTON   \"&Ja\",6,33,55,40,14\n    PUSHBUTTON      \"Ja &til alt\",107,79,55,40,14\n    PUSHBUTTON      \"&Nei\",7,125,55,40,14\n    PUSHBUTTON      \"Avbryt\",2,171,55,40,14\nEND\n\n43 DIALOG 10, 22, 245, 76\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekreft Gi nytt navn til fil\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Gi nytt navn til filen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,67,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,93,18,147,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,23\n    DEFPUSHBUTTON   \"&Ja\",6,33,54,40,14\n    PUSHBUTTON      \"Ja &til alt\",107,79,54,40,14\n    PUSHBUTTON      \"&Nei\",7,125,54,40,14\n    PUSHBUTTON      \"Avbryt\",2,171,54,40,14\nEND\n\n44 DIALOG 15, 12, 124, 83\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Merk filer\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Fil(er):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,22,10\n    EDITTEXT        201,5,29,60,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"&Merk\",1,70,6,51,14\n    PUSHBUTTON      \"Fj&ern merking\",6,70,23,51,14\n    PUSHBUTTON      \"Avbryt\",2,70,40,51,14\n    PUSHBUTTON      \"&Hjelp\",254,70,63,51,14\nEND\n\n45 DIALOG 11, 31, 201, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Velg stasjon\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Stasjoner:\",245,\"Static\",SS_LEFTNOWORDWRAP,5,5,34,10\n    LISTBOX         222,5,16,140,60,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,155,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,155,23,40,14\n    PUSHBUTTON      \"&Hjelp\",254,155,44,40,14\nEND\n\n46 DIALOG 11, 28, 266, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Merk filnavn\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Denne banen har ikke gyldig FAT-format for filnavn. Skriv inn et nytt navn.\",99,11,5,171,19,NOT WS_GROUP\n    RTEXT           \"&Nytt navn:\",-1,5,56,67,12,NOT WS_GROUP\n    EDITTEXT        103,75,55,130,12\n    RTEXT           \"Opprinnelig bane:\",-1,5,28,67,12,NOT WS_GROUP\n    EDITTEXT        102,75,28,119,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \"Til katalog:\",-1,5,42,67,11,NOT WS_GROUP\n    EDITTEXT        101,75,42,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"OK\",1,219,4,40,14\n    PUSHBUTTON      \"Avbryt\",2,219,20,40,14\n    PUSHBUTTON      \"&Hjelp\",254,219,36,40,14\nEND\n\n48 DIALOG 23, 13, 250, 119\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Egenskaper for %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,194,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Avbryt\",2,194,23,50,14\n    PUSHBUTTON      \"&Hjelp\",254,194,43,50,14\n    CONTROL         \"&Filnavn:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,51,10\n    EDITTEXT        201,60,5,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Bane:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,60,16,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Siste endring:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,50,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,60,27,97,10\n    CONTROL         \"Strrelse:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,38,50,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,60,38,90,10\n    GROUPBOX        \"Attributter\",-1,4,52,120,54\n    CONTROL         \"Skri&vebeskyttet\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,64,63,12\n    CONTROL         \"&Skjult\",216,\"Button\",BS_AUTOCHECKBOX,77,64,31,12\n    CONTROL         \"&Arkiver\",217,\"Button\",BS_AUTOCHECKBOX,9,76,36,12\n    CONTROL         \"Sys&tem\",218,\"Button\",BS_AUTOCHECKBOX,77,76,36,12\n    CONTROL         \"&Komprimert\",267,\"Button\",BS_AUTOCHECKBOX,9,88,52,12\nEND\n\n49 DIALOG 13, 54, 264, 154\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Skrift\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Skrift:\",1088,6,3,21,9\n    COMBOBOX        1136,6,13,94,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"S&kriftstil:\",1089,108,3,30,9\n    COMBOBOX        1137,108,13,64,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"S&trrelse:\",1090,179,3,32,9\n    COMBOBOX        1138,179,13,32,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Effekter\",1072,6,73,84,61,WS_GROUP\n    CONTROL         \"Gjenn&omstreking\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,83,67,10\n    CONTROL         \"&Understreking\",1041,\"Button\",BS_AUTOCHECKBOX,10,95,58,10\n    CONTROL         \"&Vis sm bokstaver for FAT-stasjoner\",1042,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,127,130,10\n    CONTROL         \"Vis sm bokstaver for &alle stasjoner\",1043,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,139,128,10\n    LTEXT           \"&Farge:\",1091,10,107,22,9\n    COMBOBOX        1139,10,117,75,50,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"OK\",1,218,6,40,14,WS_GROUP\n    PUSHBUTTON      \"Avbryt\",2,218,23,40,14,WS_GROUP\n    PUSHBUTTON      \"&Bruk\",1026,218,40,40,14,WS_GROUP\n    PUSHBUTTON      \"&Hjelp\",1038,218,57,40,14,WS_GROUP\n    GROUPBOX        \"Eksempel\",1073,6,72,252,49,WS_GROUP\n    CTEXT           \"\",1093,10,137,1,2,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBb\",1092,10,81,243,37,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 77, 27, 160, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formaterer diskett\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\",100,15,36,131,8\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,15,10,131,22\n    PUSHBUTTON      \"Skjul\",110,38,48,40,14\n    PUSHBUTTON      \"Avbryt\",2,82,48,40,14\nEND\n\n51 DIALOG 10, 20, 260, 70\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekreft: Ignorer fil eller katalog og fortsett\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,18,20\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,2,203,10\n    CONTROL         \"Tilgang nektes. Ignorer:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,11,203,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,108,11,122,10\n    CONTROL         \"Du har ikke riktig tillatelse, eller filen er i bruk.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,25,230,10\n    CONTROL         \"Klikk Ja hvis du vil ignorere denne filen og fortsette operasjonen.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,35,214,10\n    DEFPUSHBUTTON   \"&Ja\",6,33,52,40,14\n    PUSHBUTTON      \"Ja &til alt\",107,79,52,40,14\n    PUSHBUTTON      \"&Nei\",7,125,52,40,14\n    PUSHBUTTON      \"Avbryt\",2,171,52,40,14\nEND\n\n52 DIALOG 10, 20, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekreft: Ignorer fil eller katalog og fortsett\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,18,20\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Ikke tilgang til ml. Ignorer:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,13,203,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,124,13,106,10\n    CONTROL         \"Klikk Ja hvis du vil  ignorere denne filen og fortsette operasjonen.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,24,215,10\n    DEFPUSHBUTTON   \"&Ja\",6,33,42,40,14\n    PUSHBUTTON      \"Ja &til alt\",107,79,42,40,14\n    PUSHBUTTON      \"&Nei\",7,125,42,40,14\n    PUSHBUTTON      \"Avbryt\",2,171,42,40,14\nEND\n\n53 DIALOG 77, 109, 174, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Sk p disken\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Sk etter:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,5,60,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,53,5,117,10\n    CONTROL         \"Fra:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,43,10\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,53,15,117,10\n    CONTROL         \"Kataloger lest:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,25,48,10\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,53,25,117,10\n    CONTROL         \"Filer funnet:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,35,40,10\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,53,35,117,10\n    PUSHBUTTON      \"Skjul\",110,45,49,40,14\n    PUSHBUTTON      \"Avbryt\",2,89,49,40,14\nEND\n\n54 DIALOG 20, 20, 260, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kopier til utklippstavlen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Gjeldende katalog: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,4,5,193,10\n    CONTROL         \"&Kopier til utklippstavlen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,80,10\n    EDITTEXT        102,85,19,125,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,214,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,214,23,40,14\n    PUSHBUTTON      \"&Hjelp\",254,214,43,40,14\nEND\n\n55 DIALOG 18, 14, 290, 224\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Endre filtype\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Filtype:\",302,5,6,25,8\n    EDITTEXT        301,42,5,95,12,ES_AUTOHSCROLL\n    GROUPBOX        \"H&andling: \",-1,5,20,235,128,WS_GROUP\n    COMBOBOX        306,47,21,48,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Kommando:\",313,9,42,39,8\n    EDITTEXT        304,47,39,111,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"&Bla gjennom...\",318,164,38,57,14\n    CONTROL         \"Br&uker DDE\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,57,51,10\n    LTEXT           \"&DDE-melding:\",320,21,72,62,8\n    EDITTEXT        309,105,70,100,12,ES_AUTOHSCROLL\n    LTEXT           \"DDE-&meldingsprogrammet kjrer ikke:\",322,21,86,84,19\n    LTEXT           \"(valgfritt)\",324,207,90,31,8\n    EDITTEXT        311,105,88,100,12,ES_AUTOHSCROLL\n    LTEXT           \"&Program:\",321,21,109,61,8\n    EDITTEXT        310,105,107,100,12,ES_AUTOHSCROLL\n    LTEXT           \"&Emne:\",323,21,127,54,8\n    EDITTEXT        312,105,125,100,12,ES_AUTOHSCROLL\n    LTEXT           \"&Ny filtype:\",-1,11,184,34,8\n    EDITTEXT        315,64,183,32,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"&Legg til ->\",303,102,174,44,14\n    PUSHBUTTON      \"<- Fje&rn\",219,102,191,44,14\n    LTEXT           \"Fil&typer:\",-1,157,162,27,8\n    LISTBOX         317,157,172,65,40,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Filtype tilknyttet denne typen filer:\",316,5,154,235,66\n    DEFPUSHBUTTON   \"OK\",1,244,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,244,23,40,14\n    PUSHBUTTON      \"&Hjelp\",254,244,40,40,14\nEND\n\n57 DIALOG 123, 60, 207, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Komprimerer filer\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Fil som komprimeres: \",-1,6,8,79,8\n    LTEXT           \"filename.xxx\",341,86,8,90,8\n    LTEXT           \"Katalog:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,43,20,150,8\n    LTEXT           \"Komprimerte kataloger:\",-1,6,32,80,8\n    LTEXT           \"1 888 888 999\",343,90,32,60,8\n    LTEXT           \"Komprimerte filer:\",-1,6,44,62,8\n    LTEXT           \"1 888 888 999\",344,74,44,58,8\n    LTEXT           \"Total filstrrelse fr komprimering:\",-1,6,56,124,8\n    LTEXT           \"9 999 999 999 999\",345,134,56,68,8\n    LTEXT           \"Total filstrrelse etter komprimering:\",-1,6,68,123,8\n    LTEXT           \"9 999 999 999 999\",346,134,69,68,8\n    LTEXT           \"Filkomprimeringsforhold:\",-1,6,80,78,8\n    LTEXT           \"100%\",347,91,80,27,8\n    PUSHBUTTON      \"Avbryt\",2,76,97,55,14\nEND\n\n58 DIALOG 114, 62, 197, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Dekomprimerer filer\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Fil som dekomprimeres: \",-1,6,8,83,8\n    LTEXT           \"filename.xxx\",351,93,8,66,8\n    LTEXT           \"Katalog:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\",352,45,20,144,8\n    LTEXT           \"Dekomprimerte kataloger:\",-1,6,32,91,8\n    LTEXT           \"1 999 999 999\",353,99,32,70,8\n    LTEXT           \"Dekomprimerte filer:\",-1,6,44,86,8\n    LTEXT           \"1 999 999 999\",354,92,44,78,8\n    PUSHBUTTON      \"Avbryt\",2,74,64,49,14\nEND\n\n59 DIALOG 11, 28, 282, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Komprimeringsfeil\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,8,8,21,20\n    LTEXT           \"\",100,35,8,190,20\n    DEFPUSHBUTTON   \"&Ignorer\",5,6,45,63,14,WS_GROUP\n    PUSHBUTTON      \"Ign&orer alle\",112,75,45,63,14\n    PUSHBUTTON      \"&Prv p nytt\",4,144,45,63,14\n    PUSHBUTTON      \"&Avbryt\",3,213,45,63,14\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY, SHIFT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT\n    VK_F4,          1702,                   VIRTKEY, SHIFT\n    VK_F5,          1704,                   VIRTKEY \n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII   \n    VK_ADD,         301,                    VIRTKEY \n    \"*\",            302,                    ASCII   \n    VK_MULTIPLY,    302,                    VIRTKEY \n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL\n    \"-\",            304,                    ASCII   \n    VK_SUBTRACT,    304,                    VIRTKEY \n    VK_RETURN,      110,                    VIRTKEY, ALT\n    VK_F2,          2000,                   VIRTKEY \nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"CUR300.CUR\"\n\n\n301                     CURSOR                  \"CUR301.CUR\"\n\n\n302                     CURSOR                  \"CUR302.CUR\"\n\n\n303                     CURSOR                  \"CUR303.CUR\"\n\n\n306                     CURSOR                  \"CUR306.CUR\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ICO200.ICO\"\n\n\n201                     ICON                    \"ICO201.ICO\"\n\n\n202                     ICON                    \"ICO202.ICO\"\n\n\n204                     ICON                    \"ICO204.ICO\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,318\n PRODUCTVERSION 4,0,1381,318\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"041404B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"Filbehandling\"\n            VALUE \"FileVersion\", \"4.00\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"Copyright (C) Microsoft Corp. 1981-1996\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"Microsoft(R) Windows NT(TM) operativsystem\"\n            VALUE \"ProductVersion\", \"4.00\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0x414, 1200\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"Kopier diskett\"\n    51                      \"Sett inn mldiskett.\"\n    52                      \"Sett inn kildediskett.\"\n    53                      \"Sett inn kilde- og mldiskett.\"\n    54                      \"Formaterer mldiskett\"\n    55                      \"Feil ved kopiering av diskett\"\n    56                      \"Kan ikke kopiere diskett.\"\n    58                      \"Kilde- og mldiskettene er ikke kompatible.\"\n    60                      \"%d%% ferdig\"\n    61                      \"Lager rotkatalog...\"\n    62                      \"Kopierer systemfiler...\"\n    63                      \"Feil ved formatering av diskett\"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \"Formateringen ferdig.\"\n    67                      \"%ld byte total diskplass.\\n%ld byte tilgjengelig p disken.\\n\\nVil du formatere flere disketter?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"Nettverksfeil\"\n    83                      \"Denne stasjonen inneholder Windows-systemfiler og kan ikke frakobles.\"\n    91                      \"Filbehandling kan ikke endre attributtene.  \"\n    92                      \"Filbehandling kan ikke lage katalog.  \"\n    93                      \"Filbehandling kan ikke sette navn p disken.\\n\\nKontroller at disken ikke er skrivebeskyttet, ikke er en nettverksstasjon og at navnet er gyldig.\\nNavnet kan ikke inneholde disse tegnene:\\n[mellomrom] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n    95                      \"Fant ikke filen.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \"Innholdet p denne stasjonen er endret. Vil du oppdatere vinduet Resultat av sk?\"\n    98                      \"Du m vre logget p som administrator for en arbeidsstasjon for  kunne gi navn til harddisker.\"\n    101                     \"Stasjon %c:%c\"\n    110                     \"Kan ikke kjre programmet.\"\n    111                     \"Uventet feil: %d\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"Ikke nok minne til  starte angitt program.\\n\\nLukk ett eller flere programmer, og prv igjen.\"\n    113                     \"Filbehandling finner ikke filen (eller en av delene).\\n\\nKontroller at banen og filnavnet er riktig og at alle biblioteker som kreves, er tilgjengelige.\"\n    114                     \"Den angitte banen er ugyldig.\"\n    116                     \"Ingen programmer er knyttet til denne filen.\\n\\nVelg Tilknytt fra Fil-menyen for  lage en tilknytning.\"\n    118                     \"Filbehandling kan ikke pne eller skrive ut filen.\\n\\nStart programmet som ble brukt til  lage denne filen, og pne eller skriv filen ut i dette programmet.\"\n    120                     \"Bekreft bruk av mus\"\n    121                     \"Er du sikker p at du vil kopiere merkede filer til %s?\"\n    122                     \"Er du sikker p at du vil flytte merkede filer eller kataloger til %s?\"\n    123                     \"Er du sikker p at du vil starte %s ved  bruke %s som initialiseringsfil?\"\n    124                     \"Filbehandling\"\n    126                     \"Katalogtre\"\n    127                     \"Resultat av sk: \"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \"For mange filer\"\n    133                     \"Filbehandling - Ikke nok minne\"\n    134                     \"Kan ikke lese hele katalogen. Bare deler vil bli vist.\"\n    140                     \"Gjeldende katalog: %s\"\n    141                     \"Kopier\"\n    143                     \"Gi nytt navn\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"Formater diskett\"\n    146                     \"Velg disketten som skal formateres.\"\n    150                     \"Lager:\"\n    151                     \"Fjerner...\"\n    152                     \"Kopierer:\"\n    153                     \"Gir nytt navn...\"\n    154                     \"Flytter...\"\n    155                     \"Sletter...\"\n    156                     \"Skriver ut: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"Kopierer...\"\n    170                     \"Fjerner:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \"Totalt %d fil(er) (%s)\"\n    181                     \"Leste kataloger: %d \"\n    182                     \"%c: %s ledig, %s totalt\"\n    183                     \"%d fil(er) funnet\"\n    185                     \"valgte filer\"\n    186                     \"Filbehandling kan ikke koble fra nettverksstasjonen.\\n\\nDet er pne filer p denne stasjonen.\"\n    187                     \"Merket %d fil(er) (%s)\"\n    188                     \"Det er ingen diskett i stasjon %c.\\n\\nSett inn en diskett, og prv igjen.\"\n    189                     \"Disketter i stasjon %c er ikke formatert.\\n\\nVil du formatere den n?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"Ikke nok diskplass til  skrive ut.\\n\\nSlett n eller flere filer for  ke ledig diskplass, og prv igjen.\"\n    193                     \"Ikke nok minne til  skrive ut.\\n\\nLukk ett eller flere programmer, og prv igjen.\"\n    194                     \"Det oppstod en feil under utskrift.\\n\\nKontroller at skriveren er konfigurert og koblet til.\"\n    195                     \"Hele katalogtreet vises ikke\"\n    197                     \"Mldisketten er full. Sett inn en ny diskett for  fortsette.\"\n    198                     \"Dette er en systemfil, skjult fil eller skrivebeskyttet fil.\"\n    199                     \"Filbehandling kan ikke utfre hurtigformatering.\\n\\nFortsett med vanlig format?\"\n    203                     \"Det oppstod en feil da kommandoen ble sendt til programmet.\"\n    204                     \"Kan ikke laste inn biblioteket som trengs til denne operasjonen.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \"&Delte kataloger...\"\n    210                     \"Formatering vil slette ALLE data fra disketten. Er du sikker p at du vil fortsette  formatere disketten i stasjon %c?\"\n    211                     \"Bekreft formatering av diskett.\"\n    212                     \"Denne operasjonen vil slette ALLE data fra mldisken. Er du sikker p at du vil fortsette?\"\n    213                     \"Bekreft kopiering av diskett\"\n    214                     \"&Lukk\"\n    215                     \"Lukk\"\n    218                     \"Katalog %s finnes ikke.\\n\\nEr du sikker p at du vil lage den?\"\n    219                     \"Programmer#*.exe;*.pif;*.com;*.bat#Alle filer (*.*)#*.*#\"\n    220                     \"Bla gjennom\"\n    221                     \"Kjr\"\n    222                     \"Kan ikke skrive filen\"\n    223                     \"Kan ikke vise hjelpeinformasjon.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"Filer med filtypen %s er programmer og kan ikke knyttes til andre programmer.\"\n    225                     \"%s er ikke et program og kan ikke tilknyttes en filtype.\"\n    226                     \"(Ingen)\"\n    227                     \"Finner ingen filer.\"\n    228                     \"Filbehandling kan ikke skrive ut flere filer.\\n\\nVelg bare n fil, og prv igjen.\"\n    230                     \"En av bibliotekfilene som trengs for  kjre dette programmet, er skadet. Installer programmet p nytt.\"\n    231                     \"Denne filen er i bruk i et annet program.\"\n    232                     \"Filbehandling fr kanskje ikke tilgang til filer som lages i katalogen %s.\\n\\nVil du fortsette?\"\n    233                     \"Lag katalog\"\n    234                     \"%ld byte\"\n    235                     \"%s byte\"\n    236                     \"Filbehandling kan ikke kopiere flere filer eller kataloger til utklippstavlen om gangen.\\n\\nMerk n fil, og prv igjen.\"\n    237                     \"%s - %s\"\n    238                     \"Stasjon:\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"Koble til nettverksstasjon\"\n    241                     \"Koble fra nettverksstasjon\"\n    242                     \"Nettverkstilkoblinger\"\n    243                     \"Del katalog\"\n    244                     \"Avslutt deling av katalog\"\n    245                     \"Vis all filinformasjon\"\n    246                     \"Vis bare navn\"\n    247                     \"Sorter etter navn\"\n    248                     \"Sorter etter type\"\n    249                     \"Sorter etter strrelse\"\n    250                     \"Sorter etter dato\"\n    251                     \"Nytt vindu\"\n    252                     \"Kopier filer\"\n    253                     \"Flytt filer\"\n    254                     \"&Katalognavn:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"Nettverksstasjonen er ikke tilgjengelig.\"\n    259                     \"Delt som %s\"\n    260                     \"Ikke delt\"\n    261                     \"Slett filer\"\n    262                     \" - COMPRESSED\"\n    263                     \"Kopierer filer til %s\"\n    264                     \"Flytter filer til %s\"\n    265                     \"Kjrer filer med %s\"\n    266                     \"%s byte\"\n    267                     \"%skB\"\n    268                     \"%sMB\"\n    269                     \"%sGB\"\n    270                     \"%sTB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \"Du har ikke tillatelse som gir deg tilgang til denne katalogen.\"\n    281                     \"Du har ikke tillatelse som gir deg tilgang til denne filen.\"\n    283                     \"Stasjon %c er opptatt.\\n\\nFilbehandling kopierer diskett.\"\n    284                     \"Stasjon %c opptatt.\\n\\nFilbehandling kopierer disk.\"\n    285                     \"Operasjonen er ikke ferdig\"\n    286                     \"Kan ikke fullfre operasjonen p alle filer og kataloger.\"\n    287                     \"Kan ikke lese katalogen.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"Katalogen finnes ikke.\"\n    289                     \"Kan ikke koble til nettverksstasjonen.\"\n    290                     \"Finner ikke nettverksnavnet.\"\n    292                     \"Ja til alt berrer alle filer, systemfiler, skjulte filer\\n og skrivebeskyttede filer.\"\n    294                     \"pne\"\n    295                     \"Skriv ut\"\n    298                     \"Legg til filtype\"\n    299                     \"Filtypen %s er knyttet til %s. Fortsette og skrive over tilknytningen?\"\n    300                     \"Redigerer for filtilknytning\"\n    301                     \"Kan ikke knytte til filtypen.  \"\n    302                     \"Kan ikke slette filtypen.  \"\n    303                     \"Kan ikke legge til filtypen.  \"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"Kan ikke slette filtypen.  \"\n    305                     \"Kan ikke lese filtypen.  \"\n    306                     \"Filtypebeskrivelsen kan ikke vre tom. Skriv inn en ny filtype.\"\n    307                     \"Kan ikke lage en entydig identifikator p grunnlag av filtypen. Skriv inn en ny filtype.\"\n    308                     \"Slett filtypen\"\n    309                     \"Filtypen og alle tilknyttede filtyper vil bli slettet. Er du sikker p at du vil slette %s?\"\n    312                     \"Filtypen m ha minst n kommando for minst en handling. Skriv et programnavn i kommandofeltet.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"Ny filtype\"\n    321                     \"Kopierer diskett\"\n    322                     \"Sker...\"\n    324                     \"Filbehandling formaterer en disk. Hvis du avslutter Filbehandling, avbrytes denne operasjonen.\"\n    325                     \"Filbehandling kopierer en disk. Hvis du avslutter Filbehandling, avbrytes denne operasjonen .\"\n    326                     \"prosent ferdig\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360 kB\"\n    354                     \"1%s2 MB\"\n    355                     \"720 kB\"\n    356                     \"1%s44 MB\"\n    357                     \"2%s88 MB\"\n    358                     \"Stasjonskapasitet\"\n    359                     \"Filbehandling finner ikke informasjon om disketten.\\n\\nKontroller at disketten str i stasjonen.\"\n    360                     \"20%s8 MB\"\n    361                     \"Ukjent disktype\"\n    362                     \"Ukjent disktype\"\n    363                     \"Diskstasjontypen i stasjon %s kan ikke formateres med Filbehandling. Bruk Diskbehandling til  formatere denne disken.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"Filsystemet er ikke kompatibelt.\"\n    401                     \"Tilgang nektes.\"\n    402                     \"Disketten er skrivebeskyttet.\"\n    403                     \"Filbehandling kan ikke lse volumet.\"\n    404                     \"Filbehandling kan ikke hurtigformatere disken.\\n\\nKontroller at disken har riktig tetthet.\"\n    405                     \"IU-feil p kildedisketten.\"\n    406                     \"IU-feil p mldisketten.\"\n    407                     \"IU-feil p bde kilde- og mldisketter.\"\n    408                     \"Det har oppsttt en IU-feil.\"\n    411                     \"Filbehandling kan ikke formatere disketten.\\n\\nKontroller at disketten str i stasjonen, at den ikke er skrivebeskyttet eller har feil tetthet.\"\n    412                     \"Filbehandling kan ikke gi navn til disken.\\n\\nAngitt navn er ugyldig. Kontroller at navnet ikke inneholder flgende tegn: \\n[mellomrom] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \"pner...\"\n    421                     \"Lukker...\"\n    422                     \"For mange pne katalogvinduer.\\n\\nLukk et eller flere vinduer, og prv igjen.\"\n    423                     \"Hurtigformatering...\"\n    424                     \"Kan ikke initialisere oppdateringssttte for bakgrunn. Filbehandling avslutter.  \"\n    425                     \"Initialiser Filbehandling\"\n    426                     \"Leser katalogen. Vent...\"\n    427                     \"Vil du ogs komprimere alle filer og underkataloger i %s?\"\n    428                     \"Vil du ogs dekomprimere alle filer og underkataloger i %s ogs?\"\n    429                     \"Filbehandling kan ikke endre komprimeringsattributter for %s.\"\n    430                     \"Filen %s komprimeres ikke. Systemet vil ikke kunne starte om denne filen komprimeres.\"\n    431                     \"Filbehandling holder allerede p med komprimeringdekomprimering av filer.\\nDu m vente til operasjonen er fullfrt fr flere filer kan komprimeres/dekomprimeres.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"Kommentarer\"\n    501                     \"Firmanavn\"\n    502                     \"Filbeskrivelse\"\n    503                     \"Internt navn\"\n    504                     \"Lovlige varemerker\"\n    505                     \"Opprinnelig filnavn\"\n    506                     \"Beskrivelse av egen versjon\"\n    507                     \"Produktnavn\"\n    508                     \"Produktversjon\"\n    509                     \"Beskrivelse av spesialversjon\"\n    510                     \"Sprk\"\n    511                     \"Sprk\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"Koble &til nettverksstasjon...\"\n    801                     \"Koble fra &nettverksstasjon...\"\n    802                     \"&Nettverkstilkoblinger...\"\n    803                     \"&Del som...\"\n    804                     \"&Avslutt deling...\"\n    805                     \"&Vis delte kataloger...\"\n    806                     \"Angre &sletting...\"\n    807                     \"&pne nytt vindu ved tilkobling\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \"Det oppstod en feil nr filen skulle flyttes.\"\n    1002                    \"Det oppstod en feil nr filen skulle kopieres.\"\n    1003                    \"Det oppstod en feil nr filen skulle slettes.\"\n    1004                    \"Det oppstod en feil nr det skulle gis nytt navn til filen\"\n    1005                    \"Det oppstod en feil nr en stasjon skulle velges\"\n    1006                    \"Det oppstod en feil nr katalogen skulle lese\"\n    1007                    \"Det oppstod en feil nr det skulle gis navn til disken\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"Filbehandling kan ikke flytte %s: %s\"\n    1012                    \"Filbehandling kan ikke kopiere %s: %s\"\n    1013                    \"Filbehandling kan ikke slette %s: %s\"\n    1014                    \"Filbehandling kan ikke gi nytt navn til %s: %s\"\n    1021                    \"Filbehandling kan ikke lage katalogen %s: %s\"\n    1022                    \"Filbehandling kan ikke fjerne katalogen %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"Filbehandling kan ikke lage eller fjerne %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"Samme kilde og ml.\"\n    1102                    \"Merk filen du vil gi nytt navn, eller bruk  jokertegn (for eksempel *.TXT) nr du skal gi nytt navn til en gruppe filer med navn som er delvis like.\"\n    1103                    \"Kan ikke gi nytt navn til en annen katalog eller disk.\\nBruk kommandoen Flytt fil.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"Du kan ikke gi nytt navn til rotkatalogen.\"\n    1105                    \"Mlkatalogen er en underkatalog av kilden.\"\n    1106                    \"Filen brukes av Windows.\"\n    1107                    \"Angi bare en fil eller katalog i boksen Til. Hvis du vil angi en gruppe filer, bruker du jokertegn (for eksempel *.TXT).\"\n    1108                    \"En fil eller katalog med dette navnet finnes allerede. Fil- og katalognavn m vre unike i en katalog.\"\n    1109                    \"Kontroller at du har oppgitt riktig bane og filnavn.\"\n    1110                    \"Kontroller at du har oppgitt riktig bane.\"\n    1111                    \"Avslutt ett eller flere programmer og prv igjen, eller bruk System i Kontrollpanel til  ke virtuelt minne.\"\n    1113                    \"Fjern skrivebeskyttelsen p disketten, eller bruk en annen diskett og prv igjen.\"\n    1114                    \"Kontroller at du har riktig nettverkstillatelse for denne operasjonen.\"\n    1115                    \"Slett n eller flere filer for  ke diskplassen, og prv igjen.\"\n    1116                    \"Fant ikke data.\"\n    1117                    \"Katalogen finnes allerede.\"\n    1118                    \"Angitt filnavn er allerede brukt p en fil.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"Feil diskett i stasjonen.\"\n    1151                    \"Programmet kan ikke kjres i Windows NT-modus.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \"Operativsystemet kan ikke kjre denne komponenten.\"\n    1153                    \"Komponenten kan ikke kjres i Windows NT-modus.\"\n    1154                    \"Dette programmet er ikke et gyldig Windows NT-program.\"\n    1155                    \"Det har oppsttt en feil. Det finnes ingen melding for feilen.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \"Rs[(&F):\"\n    2001                    \"Rs[(&T):\"\n    2002                    \"̖O(&F):\"\n    2003                    \"VO(&T):\"\n    2004                    \"Rs[:\"\n    2005                    \"̃tHg?gpƊ?̕\\\\?\\nłȂȂ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"Kommandoer for  arbeide med filer\"\n    3985                    \"Kommandoer for  arbeide med disker\"\n    3986                    \"Kommandoer for  arbeide i katalogtrevinduet\"\n    3987                    \"Kommandoer som bestemmer hvordan informasjon skal vises\"\n    3988                    \"Kommandoer for  angi alternativer\"\n    3989                    \"Kommandoer for  endre fil- og katalogsikkerhet\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"Kommandoer for  vise Hjelp i Filbehandling\"\n    4001                    \"Kommandoer for  vise Hjelp i Filbehandling\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"Sker etter et emne i Hjelp i Filbehandling\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \"pner merket objekt\"\n    4102                    \"Skriver ut et dokument\"\n    4103                    \"Knytter en fil til et program\"\n    4104                    \"Sker etter filer og kataloger\"\n    4105                    \"Starter eller pner et program eller dokument\"\n    4106                    \"Flytter merkede objekter\"\n    4107                    \"Kopierer filer og kataloger\"\n    4108                    \"Sletter filer og kataloger\"\n    4109                    \"Gir nytt navn til en fil eller katalog\"\n    4110                    \"Setter filattributter og viser filinformasjon\"\n    4111                    \"Lager en katalog\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"Avslutter Filbehandling\"\n    4116                    \"Merker filer og kataloger\"\n    4117                    \"Henter frem igjen filer som er blitt slettet\"\n    4118                    \"Kopierer en fil til utklippstavlen\"\n    4119                    \"Komprimerer en fil eller katalog\"\n    4120                    \"Dekomprimerer en fil eller katalog\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"Kopierer en diskett\"\n    4202                    \"Tilordner eller endrer volumnavnet til en diskett\"\n    4203                    \"Formaterer en diskett\"\n    4205                    \"Kobler til en nettverksstasjon\"\n    4206                    \"Kobler fra en nettverksstasjon\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"Velger en annen stasjon\"\n    4254                    \"Deler en katalog\"\n    4255                    \"Avslutter delingen av en katalog\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"Viser et annet niv i katalogen\"\n    4302                    \"Viser alle niver i en katalog\"\n    4303                    \"Viser alle niver i alle kataloger\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \"Skjuler alle kataloger i merket katalog\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \"Viser bare filnavn\"\n    4402                    \"Viser all filinformasjon\"\n    4403                    \"Viser delvis filinformasjon\"\n    4404                    \"Sorterer filer etter navn\"\n    4405                    \"Sorterer filer etter filtype\"\n    4406                    \"Sorterer filer etter strrelse\"\n    4407                    \"Sorterer filer etter dato\"\n    4409                    \"Viser alle filer med angitt filtype\"\n    4411                    \"Viser katalogtreet\"\n    4412                    \"Viser innholdet i gjeldende katalog\"\n    4413                    \"Viser katalogtreet og innholdet i gjeldende katalog\"\n    4414                    \"Deler et katalogvindu, eller flytter delelinjen\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"Kontrollerer bekreftelsesmeldinger\"\n    4503                    \"Viser eller skjuler statuslinjen\"\n    4504                    \"Reduserer Filbehandling til et ikon ved oppstart\"\n    4505                    \"Viser hvilke kataloger som har underkataloger\"\n    4507                    \"Viser eller skjuler stasjonslinjen\"\n    4508                    \"Viser eller skjuler verktylinjen\"\n    4509                    \"pner et nytt vindu nr du kobler deg til\"\n    4510                    \"Endrer skriften i Filbehandling\"\n    4511                    \"Lagrer innstillingene nr du avslutter Filbehandling\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"Tilpasser verktylinjen\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"Vis eller angi informasjon om tillatelser for merkede objekter\"\n    4606                    \"Vis eller angi kontrollinformasjon for merkede objekter\"\n    4607                    \"Vis eller bli eier av merkede objekter\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"Overlapper vinduer\"\n    5702                    \"Flislegger vinduene vertikalt\"\n    5703                    \"Flislegger vinduene horisontalt\"\n    5704                    \"Oppdaterer innholdet i et vindu\"\n    5705                    \"Ordner ikoner\"\n    5706                    \"pner et nytt vindu\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"Viser innholdet i Hjelp i Filbehandling\"\n    5802                    \"Viser informasjon om hvordan du bruker Hjelp\"\n    5803                    \"Viser informasjon om Filbehandling\"\nEND\n\n#endif    // Norwegian, Bokml (Norway) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/origrc/winfile.nl-NL.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// Dutch (Netherlands) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_NLD)\nLANGUAGE LANG_DUTCH, SUBLANG_DUTCH\n#pragma code_page(1252)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"BMP100.BMP\"\n\n\n101                     BITMAP                  \"BMP101.BMP\"\n\n\n102                     BITMAP                  \"BMP102.BMP\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"&Bestand\"\n    BEGIN\n        MENUITEM \"&Openen\\tEnter\",              101\n        MENUITEM \"V&erplaatsen...\\tF7\",         106\n        MENUITEM \"&Kopiren...\\tF8\",            107\n        MENUITEM \"Kopiren naar Klem&bord...\\tF9\", 118\n        MENUITEM \"&Verwijderen...\\tDel\",        108\n        MENUITEM \"Naam &wijzigen...\",           109\n        MENUITEM \"Eige&nschappen...\\tAlt+Enter\", 110\n        MENUITEM SEPARATOR\n        MENUITEM \"&Comprimeren...\",             119\n        MENUITEM \"Decompr&imeren...\",           120\n        MENUITEM SEPARATOR\n        MENUITEM \"&Starten...\",                 105\n        MENUITEM \"Af&drukken...\",               102\n        MENUITEM \"Ve&rbinden...\",               103\n        MENUITEM SEPARATOR\n        MENUITEM \"Map &maken...\",               111\n        MENUITEM \"&Zoeken...\",                  104\n        MENUITEM \"Bestanden se&lecteren...\",    116\n        MENUITEM SEPARATOR\n        MENUITEM \"&Afsluiten\",                  115\n    END\n    POPUP \"&Schijf\"\n    BEGIN\n        MENUITEM \"Dis&kette kopiren...\",       201\n        MENUITEM \"Volume naam ge&ven...\",       202\n        MENUITEM SEPARATOR\n        MENUITEM \"Diskette &formatteren...\",    203\n        MENUITEM SEPARATOR\n        MENUITEM \"Station &selecteren...\",      251\n    END\n    POPUP \"S&tructuur\"\n    BEGIN\n        MENUITEM \"&Met n niveau uitbreiden\\t+\", 301\n        MENUITEM \"&Submappen weergeven\\t*\",     302\n        MENUITEM \"&Alle submappen weergeven\\tCtrl+*\", 303\n        MENUITEM \"&Geen submappen\\t-\",          304\n        MENUITEM SEPARATOR\n        MENUITEM \"S&ubmappen aangeven\",         505\n    END\n    POPUP \"Beel&d\"\n    BEGIN\n        MENUITEM \"&Structuur en map\",           413\n        MENUITEM \"&Alleen structuur\",           411\n        MENUITEM \"A&lleen map \",                412\n        MENUITEM SEPARATOR\n        MENUITEM \"S&plitsen\",                   414\n        MENUITEM SEPARATOR\n        MENUITEM \"&Naam\",                       401\n        MENUITEM \"Alle bestands&gegevens\",      402, CHECKED\n        MENUITEM \"Deel&weergave...\",            403\n        MENUITEM SEPARATOR\n        MENUITEM \"Sorteren op naa&m\",           404\n        MENUITEM \"So&rteren op type \",          405\n        MENUITEM \"Sor&teren op omvang\",         406\n        MENUITEM \"Sorteren op &datum\",          407\n        MENUITEM SEPARATOR\n        MENUITEM \"&Op type...\",                 409\n    END\n    POPUP \"&Opties\"\n    BEGIN\n        MENUITEM \"&Bevestigen...\",              501\n        MENUITEM \"&Lettertype...\",              510\n        MENUITEM \"Werkb&alk aanpassen...\",      512\n        MENUITEM SEPARATOR\n        MENUITEM \"&Werkbalk\",                   508\n        MENUITEM \"S&tationsbalk\",               507\n        MENUITEM \"&Statusbalk\",                 503\n        MENUITEM SEPARATOR\n        MENUITEM \"&Pictogram bij toepassing\",   504\n        MENUITEM \"&Instellingen opslaan bij afsluiten\", 511\n    END\n    POPUP \"B&eveiliging\"\n    BEGIN\n        MENUITEM \"&Machtigingen\",               605\n        MENUITEM \"&Controle...\",                606\n        MENUITEM \"&Eigenaar...\",                607\n    END\n    POPUP \"&Venster\"\n    BEGIN\n        MENUITEM \"&Nieuw venster\",              1706\n        MENUITEM \"&Trapsgewijs\\tShift+F5\",      1701\n        MENUITEM \"&Onder elkaar\",               1703\n        MENUITEM \"N&aast elkaar\\tShift+F4\",     1702\n        MENUITEM \"&Pictogrammen schikken\",      1705\n        MENUITEM \"&Vernieuwen\\tF5\",             1704\n    END\n    POPUP \"&Help\"\n    BEGIN\n        MENUITEM \"I&nhoud\",                     1801\n        MENUITEM \"&Zoeken...\",                  30\n        MENUITEM \"Help &gebruiken\",             1802\n        MENUITEM SEPARATOR\n        MENUITEM \"&Info...\",                    1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 12, 212, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Starten\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,160,10\n    CONTROL         \"&Opdrachtregel:\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,3,18,60,10\n    EDITTEXT        201,3,29,150,12,ES_AUTOHSCROLL\n    CONTROL         \"Starten als &pictogram\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,4,44,82,12\n    DEFPUSHBUTTON   \"OK\",1,164,6,42,14\n    PUSHBUTTON      \"Annuleren\",2,164,23,42,14\n    PUSHBUTTON      \"&Help\",254,164,40,42,14\nEND\n\n11 DIALOG 20, 20, 242, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Afdrukken\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,189,10\n    CONTROL         \"Af&drukken:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,35,10\n    EDITTEXT        102,41,18,146,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,36,189,10\n    DEFPUSHBUTTON   \"OK\",1,194,6,42,14\n    PUSHBUTTON      \"Annuleren\",2,194,23,42,14\n    PUSHBUTTON      \"&Help\",254,194,40,42,14\nEND\n\n12 DIALOG 20, 20, 264, 118\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Koppelen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Bestanden met extensie:\",-1,6,7,81,8\n    COMBOBOX        315,89,5,44,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Koppelen met:\",-1,6,30,50,10\n    EDITTEXT        304,6,42,172,12,ES_AUTOHSCROLL\n    LISTBOX         314,11,54,167,62,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"Bla&deren...\",318,133,24,45,14\n    DEFPUSHBUTTON   \"OK\",1,186,6,72,14,WS_GROUP\n    PUSHBUTTON      \"Annuleren\",2,186,23,72,14\n    PUSHBUTTON      \"&Nieuw type...\",300,186,40,72,14\n    PUSHBUTTON      \"Type &wijzigen...\",251,186,57,72,14\n    PUSHBUTTON      \"&Type verwijderen...\",219,186,74,72,14\n    PUSHBUTTON      \"&Help\",254,186,91,72,14\nEND\n\n13 DIALOG 20, 20, 264, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Zoeken\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Zoeken...\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,6,45,12\n    EDITTEXT        201,52,5,160,12,ES_AUTOHSCROLL\n    CONTROL         \"&Beginnen bij:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,21,44,12\n    EDITTEXT        101,52,20,160,12,ES_AUTOHSCROLL\n    CONTROL         \"&Alle submappen doorzoeken\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,52,34,112,12\n    DEFPUSHBUTTON   \"OK\",1,217,6,42,14\n    PUSHBUTTON      \"Annuleren\",2,217,23,42,14\n    PUSHBUTTON      \"&Help\",254,217,40,42,14\nEND\n\n14 DIALOG 47, 59, 268, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Verplaatsen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Huidige map: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,182,10\n    CONTROL         \"&Naar:\",2001,\"Static\",SS_LEFTNOWORDWRAP,3,33,19,10\n    EDITTEXT        103,37,32,165,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,49,89,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,94,49,120,10\n    DEFPUSHBUTTON   \"OK\",1,220,6,42,14\n    PUSHBUTTON      \"Annuleren\",2,220,23,42,14\n    PUSHBUTTON      \"&Help\",254,220,40,42,14\n    CONTROL         \"&Van:\",2002,\"Static\",SS_LEFTNOWORDWRAP,3,19,16,10\n    EDITTEXT        102,37,18,165,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 266, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Verwijderen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Huidige map: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"&Verwijderen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,42,10\n    EDITTEXT        102,46,19,158,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,35,86,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,93,35,119,10\n    DEFPUSHBUTTON   \"OK\",1,218,6,42,14\n    PUSHBUTTON      \"Annuleren\",2,218,23,42,14\n    PUSHBUTTON      \"&Help\",254,218,40,42,14\nEND\n\n16 DIALOG 23, 13, 278, 227\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Eigenschappen van %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,209,6,62,14,WS_GROUP\n    PUSHBUTTON      \"Annuleren\",2,209,23,62,14\n    PUSHBUTTON      \"&Help\",254,209,40,62,14\n    CONTROL         \"Bestands&naam:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,51,10\n    EDITTEXT        201,64,5,138,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Pad:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,34,10\n    EDITTEXT        101,64,16,140,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Laatst gewijzigd:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,56,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,64,27,141,10\n    CONTROL         \"Versie:\",258,\"Static\",SS_LEFTNOWORDWRAP,5,38,24,10\n    CONTROL         \"Niet aangegeven\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,64,38,140,10\n    LTEXT           \"&Copyright:\",-1,5,49,37,9\n    EDITTEXT        265,64,49,141,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Omvang:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,60,30,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,64,60,90,10\n    CONTROL         \"Gecomprimeerde grootte:\",268,\"Static\",SS_LEFTNOWORDWRAP,5,71,84,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,91,71,71,10\n    CONTROL         \"Compressieverhouding:\",270,\"Static\",SS_LEFTNOWORDWRAP,5,82,76,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,91,82,71,10\n    GROUPBOX        \"Kenmerken\",-1,7,93,120,54\n    CONTROL         \"&Alleen-lezen\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,12,104,52,12\n    CONTROL         \"&Verborgen\",216,\"Button\",BS_AUTOCHECKBOX,67,104,46,12\n    CONTROL         \"A&rchief\",217,\"Button\",BS_AUTOCHECKBOX,12,116,36,12\n    CONTROL         \"Sy&steem\",218,\"Button\",BS_AUTOCHECKBOX,67,116,40,12\n    CONTROL         \"Gec&omprimeerd\",267,\"Button\",BS_AUTOCHECKBOX,12,128,65,12\n    GROUPBOX        \"V&ersiegegevens\",262,4,151,268,72\n    LISTBOX         263,9,162,113,58,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,124,162,143,58,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 201, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Map maken\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,147,10\n    CONTROL         \"&Naam:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,23,20,10\n    EDITTEXT        201,30,22,113,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,46,150,10\n    DEFPUSHBUTTON   \"OK\",1,154,6,42,14\n    PUSHBUTTON      \"Annuleren\",2,154,23,42,14\n    PUSHBUTTON      \"&Help\",254,154,40,42,14\nEND\n\n19 DIALOG 20, 20, 158, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Diskette kopiren\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Bronstation:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,40,10\n    COMBOBOX        245,55,6,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Doelstation:\",206,\"Static\",SS_LEFTNOWORDWRAP,5,22,40,10\n    COMBOBOX        222,55,20,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,111,6,42,14\n    PUSHBUTTON      \"Annuleren\",2,111,23,42,14\n    PUSHBUTTON      \"&Help\",254,111,40,42,14\nEND\n\n22 DIALOG 30, 30, 153, 58\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bezig diskette te kopiren\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Nu bezig met kopiren van diskette in\",-1,0,5,130,10,NOT WS_GROUP\n    CTEXT           \"Station A:\",222,9,15,130,10,NOT WS_GROUP\n    CTEXT           \"Bezig de brondiskette te lezen\",243,8,26,130,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Annuleren\",2,55,39,42,14\nEND\n\n23 DIALOG 20, 20, 163, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Volumenaam\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Volumenaam:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,50,10\n    EDITTEXT        201,5,26,100,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,115,6,42,14\n    PUSHBUTTON      \"Annuleren\",2,115,23,42,14\n    PUSHBUTTON      \"&Help\",254,115,40,42,14\nEND\n\n24 DIALOG 11, 28, 193, 96\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Diskette formatteren\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,144,6,42,14\n    PUSHBUTTON      \"Annuleren\",2,144,23,42,14\n    PUSHBUTTON      \"&Help\",254,144,40,42,14\n    CONTROL         \"&Diskette in:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,7,39,10\n    COMBOBOX        222,55,4,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Capaciteit:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,22,44,10\n    COMBOBOX        241,55,19,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Opties\",102,5,39,126,53,WS_GROUP\n    CONTROL         \"&Volumenaam:\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,51,44,10\n    EDITTEXT        201,62,49,63,12\n    CONTROL         \"Diskette snelfor&matteren\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,62,92,12\nEND\n\n26 DIALOG 30, 30, 150, 50\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bezig diskette te formatteren\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Bezig diskette te formatteren\",-1,0,5,150,10,NOT WS_GROUP\n    CTEXT           \"Bezig station te initialiseren...\",243,0,17,150,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Annuleren\",2,53,30,42,14\nEND\n\n30 DIALOG 20, 20, 197, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Deelweergave\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Gegevens\",-1,4,4,121,74\n    CONTROL         \"&Omvang\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,15,39,12\n    CONTROL         \"&Datum laatste wijziging\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,27,87,12\n    CONTROL         \"&Tijd laatste wijziging\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,39,79,12\n    CONTROL         \"&Bestandskenmerken\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,51,78,12\n    CONTROL         \"&MS-DOS-bestandsnamen\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,63,93,12\n    DEFPUSHBUTTON   \"OK\",1,150,6,42,14\n    PUSHBUTTON      \"Annuleren\",2,150,23,42,14\n    PUSHBUTTON      \"&Help\",254,150,40,42,14\nEND\n\n32 DIALOG 20, 20, 163, 102\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Op type\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Naam:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,23,10\n    EDITTEXT        201,34,6,65,12,ES_AUTOHSCROLL\n    GROUPBOX        \"Bestandstype\",-1,5,20,94,62\n    CONTROL         \"&Mappen\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,31,47,12\n    CONTROL         \"&Programma's\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,43,54,12\n    CONTROL         \"Do&cumenten\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,55,54,12\n    CONTROL         \"&Andere bestanden\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,72,12\n    CONTROL         \"Systeem-/&verborgen bestanden weergeven\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,5,85,152,12\n    DEFPUSHBUTTON   \"OK\",1,115,6,42,14\n    PUSHBUTTON      \"Annuleren\",2,115,23,42,14\n    PUSHBUTTON      \"&Help\",254,115,40,42,14\nEND\n\n33 DIALOG 20, 20, 249, 92\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bevestigen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Bevestigen \",-1,5,3,194,85,WS_TABSTOP\n    CONTROL         \"&Bestand verwijderen\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,15,79,12\n    CONTROL         \"&Map verwijderen\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,27,82,12\n    CONTROL         \"Bestand &vervangen\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,39,76,12\n    CONTROL         \"&Muisbewerking\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,51,61,12\n    CONTROL         \"&Schijfopdrachten\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,63,68,12\n    CONTROL         \"Systeem-, verborgen, alleen-lezenbestanden &wijzigen\",215,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,75,187,12\n    DEFPUSHBUTTON   \"OK\",1,204,6,42,14\n    PUSHBUTTON      \"Annuleren\",2,204,23,42,14\n    PUSHBUTTON      \"&Help\",254,204,40,42,14\nEND\n\n35 DIALOG 20, 20, 250, 46\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bezig met verplaatsen...\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,5,85,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,95,5,152,10\n    CONTROL         \"Naar:\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,15,19,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,33,15,214,10\n    DEFPUSHBUTTON   \"Annuleren\",2,104,28,42,14,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 120, 58\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Bezig bestand af te drukken...\",-1,0,6,120,12\n    CTEXT           \"\",-1,4,20,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"Annuleren\",2,39,38,42,14,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 204, 115\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Eigenschappen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"%d bestanden geselecteerd\",100,\"Static\",SS_LEFTNOWORDWRAP,5,5,196,10\n    CONTROL         \"Totaal %s bytes\",111,\"Static\",SS_LEFTNOWORDWRAP,5,16,144,10\n    GROUPBOX        \"Kenmerken\",-1,42,29,120,42\n    CONTROL         \"&Alleen-lezen\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,47,40,52,12\n    CONTROL         \"&Verborgen\",216,\"Button\",BS_AUTOCHECKBOX,109,40,46,12\n    CONTROL         \"Ar&chief\",217,\"Button\",BS_AUTOCHECKBOX,47,52,36,12\n    CONTROL         \"Sy&steem\",218,\"Button\",BS_AUTOCHECKBOX,109,52,40,12\n    CONTROL         \"&Gecomprimeerd\",267,\"Button\",BS_AUTOCHECKBOX,5,73,66,12\n    DEFPUSHBUTTON   \"OK\",1,23,92,42,14,WS_GROUP\n    PUSHBUTTON      \"Annuleren\",2,81,92,42,14\n    PUSHBUTTON      \"&Help\",254,139,92,42,14\nEND\n\n39 DIALOG 10, 20, 270, 114\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bestand vervangen bevestigen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,5,203,10\n    CONTROL         \"Bestand: \",-1,\"Static\",SS_LEFTNOWORDWRAP,25,19,32,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,19,182,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,80,29,182,10\n    CONTROL         \"Vervangen door:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,41,55,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,41,187,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,80,51,185,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,67,239,19\n    DEFPUSHBUTTON   \"&Ja\",6,21,94,45,14\n    PUSHBUTTON      \"J&a op alles\",107,82,94,45,14\n    PUSHBUTTON      \"&Nee\",7,143,94,45,14\n    PUSHBUTTON      \"Annuleren\",2,204,94,45,14\nEND\n\n40 DIALOG 10, 20, 261, 73\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bestand verwijderen bevestigen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Bestand verwijderen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,69,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,95,18,156,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,226,22\n    DEFPUSHBUTTON   \"&Ja\",6,16,53,45,14\n    PUSHBUTTON      \"J&a op alles\",107,77,53,45,14\n    PUSHBUTTON      \"&Nee\",7,138,53,45,14\n    PUSHBUTTON      \"Annuleren\",2,199,53,45,14\nEND\n\n41 DIALOG 10, 20, 245, 74\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Map verwijderen bevestigen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Map verwijderen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,72,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,97,18,143,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,30,215,21\n    DEFPUSHBUTTON   \"&Ja\",6,13,54,45,14\n    PUSHBUTTON      \"J&a op alles\",107,71,54,45,14\n    PUSHBUTTON      \"&Nee\",7,129,54,45,14\n    PUSHBUTTON      \"Annuleren\",2,187,54,45,14\nEND\n\n42 DIALOG 10, 22, 261, 73\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bestand verplaatsen bevestigen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Bestand verplaatsen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,69,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,95,18,155,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,226,22\n    DEFPUSHBUTTON   \"&Ja\",6,16,53,45,14\n    PUSHBUTTON      \"J&a op alles\",107,77,53,45,14\n    PUSHBUTTON      \"&Nee\",7,138,53,45,14\n    PUSHBUTTON      \"Annuleren\",2,199,53,45,14\nEND\n\n43 DIALOG 10, 22, 261, 73\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bestandsnaam wijzigen bevestigen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,224,10\n    CONTROL         \"Bestandsnaam wijzigen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,79,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,105,18,147,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,231,22\n    DEFPUSHBUTTON   \"&Ja\",6,16,53,45,14\n    PUSHBUTTON      \"J&a op alles\",107,77,53,45,14\n    PUSHBUTTON      \"&Nee\",7,138,53,45,14\n    PUSHBUTTON      \"Annuleren\",2,199,53,45,14\nEND\n\n44 DIALOG 15, 12, 141, 83\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bestanden selecteren\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Bestand(en):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,43,10\n    EDITTEXT        201,5,29,60,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"&Selecteren\",1,69,6,67,14\n    PUSHBUTTON      \"Selectie &opheffen\",6,69,23,67,14\n    PUSHBUTTON      \"Annuleren\",2,69,40,67,14\n    PUSHBUTTON      \"&Help\",254,69,57,67,14\nEND\n\n45 DIALOG 11, 31, 203, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Station selecteren\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Stations:\",245,\"Static\",SS_LEFTNOWORDWRAP,5,5,30,10\n    LISTBOX         222,5,16,140,60,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,155,6,42,14\n    PUSHBUTTON      \"Annuleren\",2,155,23,42,14\n    PUSHBUTTON      \"&Help\",254,155,40,42,14\nEND\n\n46 DIALOG 11, 28, 250, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bestandsnaam selecteren\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Dit pad komt niet overeen met de FAT-notatie voor bestandsnamen. Voer een nieuwe naam in.\",99,5,4,190,20,NOT WS_GROUP\n    RTEXT           \"&Nieuwe naam:\",-1,5,56,50,12,NOT WS_GROUP\n    EDITTEXT        103,57,55,130,12\n    RTEXT           \"Oorspronkelijk pad:\",-1,5,24,50,17,NOT WS_GROUP\n    EDITTEXT        102,70,26,117,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \"Naar map:\",-1,6,42,49,11,NOT WS_GROUP\n    EDITTEXT        101,57,42,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"OK\",1,203,4,42,14\n    PUSHBUTTON      \"Annuleren\",2,203,20,42,14\n    PUSHBUTTON      \"&Help\",254,203,36,42,14\nEND\n\n48 DIALOG 23, 13, 243, 107\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Eigenschappen van %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,194,6,42,14,WS_GROUP\n    PUSHBUTTON      \"Annuleren\",2,194,23,42,14\n    PUSHBUTTON      \"&Help\",254,194,40,42,14\n    CONTROL         \"Bestands&naam:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,51,10\n    EDITTEXT        201,65,5,127,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Pad:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,65,16,129,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Laatst gewijzigd:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,56,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,65,27,97,10\n    CONTROL         \"Omvang:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,38,30,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,65,38,90,10\n    GROUPBOX        \"Kenmerken\",-1,4,52,120,50\n    CONTROL         \"&Alleen-lezen\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,64,52,12\n    CONTROL         \"&Verborgen\",216,\"Button\",BS_AUTOCHECKBOX,71,64,46,12\n    CONTROL         \"Ar&chief\",217,\"Button\",BS_AUTOCHECKBOX,9,76,36,12\n    CONTROL         \"Sy&steem\",218,\"Button\",BS_AUTOCHECKBOX,71,76,40,12\n    CONTROL         \"&Gecomprimeerd\",267,\"Button\",BS_AUTOCHECKBOX,9,88,63,12\nEND\n\n49 DIALOG 13, 54, 267, 154\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Lettertype\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Lettertype:\",1088,6,3,36,9\n    COMBOBOX        1136,6,13,94,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"T&ekenstijl:\",1089,108,3,64,9\n    COMBOBOX        1137,108,13,64,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Grootte:\",1090,179,3,27,9\n    COMBOBOX        1138,179,13,32,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Effecten\",1072,6,73,84,61,WS_GROUP\n    CONTROL         \"&Doorhalen\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,83,46,10\n    CONTROL         \"Onder&strepen\",1041,\"Button\",BS_AUTOCHECKBOX,10,95,56,10\n    CONTROL         \"Kleine letters weergeven voor &FAT-stations\",1042,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,127,152,10\n    CONTROL         \"Kleine letters weergeven voor &alle stations\",1043,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,139,151,10\n    LTEXT           \"&Kleur:\",1091,10,107,20,9\n    COMBOBOX        1139,10,117,75,50,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"OK\",1,217,6,45,14,WS_GROUP\n    PUSHBUTTON      \"Annuleren\",2,217,23,45,14,WS_GROUP\n    PUSHBUTTON      \"&Toepassen\",1026,217,40,45,14,WS_GROUP\n    PUSHBUTTON      \"&Help\",1038,217,57,45,14,WS_GROUP\n    GROUPBOX        \"Voorbeeld\",1073,6,72,256,49,WS_GROUP\n    CTEXT           \"\",1093,10,137,1,2,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBbYyZz\",1092,10,81,247,37,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 77, 27, 160, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bezig diskette te formatteren\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\",100,15,36,131,8\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,15,10,131,22\n    PUSHBUTTON      \"Verbergen\",110,35,48,43,14\n    PUSHBUTTON      \"Annuleren\",2,84,48,43,14\nEND\n\n51 DIALOG 10, 20, 289, 70\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bevestigen: bestand of map negeren en doorgaan.\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Toegang geweigerd, negeren:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,10,99,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,128,10,134,10\n    CONTROL         \"U hebt geen machtiging of het bestand wordt al gebruikt.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,25,232,10\n    CONTROL         \"Klik op Ja als u dit bestand wilt negeren en verder wilt gaan met de bewerking.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,35,258,10\n    DEFPUSHBUTTON   \"&Ja\",6,30,50,45,14\n    PUSHBUTTON      \"J&a op alles\",107,91,50,45,14\n    PUSHBUTTON      \"&Nee\",7,152,50,45,14\n    PUSHBUTTON      \"Annuleren\",2,213,50,45,14\nEND\n\n52 DIALOG 10, 20, 286, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bevestigen: bestand of map negeren en doorgaan.\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Geen toegang tot doel, negeren:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,13,107,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,133,13,106,10\n    CONTROL         \"Klik op Ja als u dit bestand wilt negeren en verder wilt gaan met de bewerking.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,23,258,11\n    DEFPUSHBUTTON   \"&Ja\",6,29,40,45,14\n    PUSHBUTTON      \"J&a op alles\",107,90,40,45,14\n    PUSHBUTTON      \"&Nee\",7,151,40,45,14\n    PUSHBUTTON      \"Annuleren\",2,212,40,45,14\nEND\n\n53 DIALOG 77, 109, 174, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bezig schijf te doorzoeken\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Zoeken naar:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,5,60,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,57,5,113,10\n    CONTROL         \"Beginnen bij:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,44,10\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,57,15,113,10\n    CONTROL         \"Mappen gelezen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,25,66,10\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,72,25,94,10\n    CONTROL         \"Overeenkomsten gevonden:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,35,92,10\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,99,35,67,10\n    PUSHBUTTON      \"Verbergen\",110,36,48,43,14\n    PUSHBUTTON      \"Annuleren\",2,95,48,43,14\nEND\n\n54 DIALOG 20, 20, 248, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kopiren naar Klembord\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Huidige map: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"&Kopiren naar Klembord:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,80,10\n    EDITTEXT        102,84,19,111,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,200,6,42,14\n    PUSHBUTTON      \"Annuleren\",2,200,23,42,14\n    PUSHBUTTON      \"&Help\",254,200,40,42,14\nEND\n\n55 DIALOG 18, 14, 305, 224\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bestandstype wijzigen\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Bestandstype:\",302,5,6,47,8\n    EDITTEXT        301,54,5,95,12,ES_AUTOHSCROLL\n    GROUPBOX        \"A&ctie:\",-1,5,22,247,126,WS_GROUP\n    COMBOBOX        306,30,22,48,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Opdracht:\",313,9,42,34,8\n    EDITTEXT        304,47,39,111,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"Bl&aderen...\",318,164,38,45,14\n    CONTROL         \"&DDE gebruiken\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,57,62,10\n    LTEXT           \"DDE-b&ericht:\",320,22,72,43,8\n    EDITTEXT        309,109,70,100,12,ES_AUTOHSCROLL\n    LTEXT           \"DDE-berichttoepa&ssing is niet  gestart:\",322,22,86,82,17\n    LTEXT           \"(optioneel)\",324,211,90,36,8\n    EDITTEXT        311,109,88,100,12,ES_AUTOHSCROLL\n    LTEXT           \"&Toepassing:\",321,22,109,41,8\n    EDITTEXT        310,109,107,100,12,ES_AUTOHSCROLL\n    LTEXT           \"O&nderwerp:\",323,23,127,39,8\n    EDITTEXT        312,109,125,100,12,ES_AUTOHSCROLL\n    LTEXT           \"N&ieuwe extensie:\",-1,11,184,66,8\n    EDITTEXT        315,78,183,32,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"Toevoe&gen ->\",303,117,174,56,14\n    PUSHBUTTON      \"<- Ver&wijderen\",219,117,191,56,14\n    LTEXT           \"E&xtensies:\",-1,185,162,50,8\n    LISTBOX         317,181,172,65,40,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Extensies gekoppeld met dit bestandstype:\",316,5,154,247,66\n    DEFPUSHBUTTON   \"OK\",1,258,6,42,14\n    PUSHBUTTON      \"Annuleren\",2,258,23,42,14\n    PUSHBUTTON      \"&Help\",254,258,40,42,14\nEND\n\n57 DIALOG 123, 60, 233, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Status bestandscompressie\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Te comprimeren bestand:\",-1,6,8,83,8\n    LTEXT           \"bestandsnaam.xxx\",341,92,8,90,8\n    LTEXT           \"Map:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,43,20,150,8\n    LTEXT           \"Gecomprimeerde mappen:\",-1,6,32,93,8\n    LTEXT           \"1,888,888,999\",343,165,32,60,8\n    LTEXT           \"Gecomprimeerde bestanden:\",-1,6,44,96,8\n    LTEXT           \"1,888,888,999\",344,165,44,58,8\n    LTEXT           \"Totale grootte van bestanden voor compressie:\",-1,6,56,156,8\n    LTEXT           \"9,999,999,999,999\",345,165,56,68,8\n    LTEXT           \"Totale grootte van bestanden na compressie:\",-1,6,68,150,8\n    LTEXT           \"9,999,999,999,999\",346,165,69,68,8\n    LTEXT           \"Compressieverhouding van bestand:\",-1,6,80,119,8\n    LTEXT           \"100%\",347,165,80,27,8\n    PUSHBUTTON      \"Annuleren\",2,89,97,55,14\nEND\n\n58 DIALOG 114, 62, 197, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Status bestandsdecompressie\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Te decomprimeren bestand:\",-1,6,8,91,8\n    LTEXT           \"bestandsnaam.xxx\",351,101,8,66,8\n    LTEXT           \"Map:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\",352,45,20,144,8\n    LTEXT           \"Gedecomprimeerde mappen:\",-1,6,32,101,8\n    LTEXT           \"1,999,999,999\",353,115,32,70,8\n    LTEXT           \"Gedecomprimeerde bestanden:\",-1,6,44,102,8\n    LTEXT           \"1,999,999,999\",354,115,44,78,8\n    PUSHBUTTON      \"Annuleren\",2,74,64,49,14\nEND\n\n59 DIALOG 11, 28, 245, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Compressiefout\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,8,8,21,20\n    LTEXT           \"\",100,35,8,190,20\n    DEFPUSHBUTTON   \"&Negeren\",5,9,47,40,14,WS_GROUP\n    PUSHBUTTON      \"&Alle negeren\",112,58,47,50,14\n    PUSHBUTTON      \"&Opnieuw proberen\",4,117,47,69,14\n    PUSHBUTTON      \"Af&breken\",3,195,47,40,14\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY, SHIFT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT\n    VK_F4,          1702,                   VIRTKEY, SHIFT\n    VK_F5,          1704,                   VIRTKEY \n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII   \n    VK_ADD,         301,                    VIRTKEY \n    \"*\",            302,                    ASCII   \n    VK_MULTIPLY,    302,                    VIRTKEY \n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL\n    \"-\",            304,                    ASCII   \n    VK_SUBTRACT,    304,                    VIRTKEY \n    VK_RETURN,      110,                    VIRTKEY, ALT\n    VK_F2,          2000,                   VIRTKEY \nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"CUR300.CUR\"\n\n\n301                     CURSOR                  \"CUR301.CUR\"\n\n\n302                     CURSOR                  \"CUR302.CUR\"\n\n\n303                     CURSOR                  \"CUR303.CUR\"\n\n\n306                     CURSOR                  \"CUR306.CUR\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ICO200.ICO\"\n\n\n201                     ICON                    \"ICO201.ICO\"\n\n\n202                     ICON                    \"ICO202.ICO\"\n\n\n204                     ICON                    \"ICO204.ICO\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,318\n PRODUCTVERSION 4,0,1381,318\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"041304B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"Bestandsbeheer\"\n            VALUE \"FileVersion\", \"4.00\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"Copyright  Microsoft Corp. 1981-1995\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"Microsoft Windows NT(Tm) besturingssysteem\"\n            VALUE \"ProductVersion\", \"4.00\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0x413, 1200\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"Diskette kopiren\"\n    51                      \"Plaats de doeldiskette.\"\n    52                      \"Plaats de brondiskette.\"\n    53                      \"Plaats de bron- en doeldiskettes.\"\n    54                      \"Bezig doeldiskette te formatteren.\"\n    55                      \"Fout bij kopiren diskette\"\n    56                      \"Kan diskette niet kopiren.\"\n    58                      \"Bron- en doeldiskette zijn niet compatibel.\"\n    60                      \"%d%% voltooid\"\n    61                      \"Bezig met maken van hoofdmap...\"\n    62                      \"Bezig met kopiren van systeembestanden...\"\n    63                      \"Fout bij formatteren van diskette\"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \"Formatteren voltooid\"\n    67                      \"%ld bytes totale schijfruimte\\n%ld bytes beschikbaar op de diskette\\n\\nWilt u nog een diskette formatteren?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"Netwerkfout\"\n    83                      \"Deze schijf bevat de Windows-systeembestanden. De verbinding met de schijf kan niet worden verbroken.\"\n    91                      \"Bestandsbeheer kan kenmerken niet wijzigen. \"\n    92                      \"Bestandsbeheer kan map niet maken. \"\n    93                      \"Bestandsbeheer kan de schijf geen naam geven.\\n\\nControleer of de schijf niet is schrijfbeveiligd, geen netwerkstation is en of de naam geldig is. De volgende tekens kunt u niet gebruiken:\\n[spatie] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\"\"\n    95                      \"Geen overeenkomstige bestanden gevonden. \"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \"De inhoud van dit station is gewijzigd. Wilt u het venster Zoekresultaten bijwerken?\"\n    98                      \"U moet op dit werkstation aangemeld zijn als beheerder om deze bewerking op vaste schijven te kunnen uitvoeren.\"\n    101                     \"Station %c:%c\"\n    110                     \"Kan programma niet starten\"\n    111                     \"Onverwachte fout: %d.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"Onvoldoende geheugen voor het starten van de opgegeven toepassing.\\n\\nSluit n of meer toepassingen af en probeer het opnieuw.\"\n    113                     \"Bestandsbeheer kan bestand (of een van de onderdelen) niet vinden.\\n\\nControleer of het pad en de bestandsnaam juist zijn ingevoerd en of alle vereiste bibliotheken beschikbaar zijn.\"\n    114                     \"Het opgegeven pad is ongeldig.\"\n    116                     \"Er is geen toepassing gekoppeld aan dit bestand.\\n\\nKies Koppelen in het menu Bestand als u een koppeling wilt maken.\"\n    118                     \"Bestandsbeheer kan bestand niet openen of afdrukken.\\n\\nStart de toepassing waarmee het bestand is gemaakt en open of druk het daarvan dan af.\"\n    120                     \"Muisbewerking bevestigen\"\n    121                     \"Weet u zeker dat u de geselecteerde bestanden of mappen naar %s wilt kopiren?\"\n    122                     \"Weet u zeker dat u de geselecteerde bestanden of mappen naar %s wilt verplaatsen?\"\n    123                     \"Weet u zeker dat u %s wilt starten met %s als opstartbestand?\"\n    124                     \"Bestandsbeheer\"\n    126                     \"Mapstructuur\"\n    127                     \"Zoekresultaten: \"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \"Te veel bestanden\"\n    133                     \"Bestandsbeheer - Onvoldoende geheugen\"\n    134                     \"Kan hele map niet lezen. Er wordt slechts een gedeelte weergegeven\"\n    140                     \"Actieve map: %s\"\n    141                     \"Kopiren\"\n    143                     \"Naam wijzigen\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"Diskette formatteren\"\n    146                     \"Selecteer de te formatteren diskette.\"\n    150                     \"Bezig met maken van:\"\n    151                     \"Bezig met verwijderen...\"\n    152                     \"Bezig met kopiren van:\"\n    153                     \"Bezig met naam wijzigen...\"\n    154                     \"Bezig met verplaatsen...\"\n    155                     \"Bezig met verwijderen...\"\n    156                     \"Bezig met afdrukken van: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"Bezig met kopiren...\"\n    170                     \"Bezig met verwijderen van:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \"Totaal %d bestand(en) (%s)\"\n    181                     \"Aantal gelezen mappen: %d\"\n    182                     \"%c: %s vrij,  %s totaal\"\n    183                     \"%d bestand(en) gevonden\"\n    185                     \"de geselecteerde bestanden\"\n    186                     \"Bestandsbeheer kan verbinding met netwerkstation niet verbreken.\\n\\nEr zijn bestanden op dit station geopend.\"\n    187                     \"%d bestand(en) geselecteerd (%s)\"\n    188                     \"Station %c: bevat geen diskette.\\n\\nPlaats een diskette en probeer het opnieuw.\"\n    189                     \"De diskette in station %c: is niet geformatteerd.\\n\\nWilt u de diskette nu formatteren?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"Onvoldoende schijfruimte om af te drukken.\\n\\nVerwijder n of meer bestanden om de beschikbare schijfruimte te vergroten en probeer het opnieuw.\"\n    193                     \"Onvoldoende geheugen om af te drukken.\\n\\nSluit n of meer toepassingen af en probeer het opnieuw.\"\n    194                     \"Fout bij het afdrukken.\\n\\nControleer of de printer juist is geconfigureerd en of deze is geselecteerd.\"\n    195                     \"Onvolledige mapstructuur weergegeven\"\n    197                     \"Doeldiskette is vol. Plaats een nieuwe diskette in het station om door te gaan.\"\n    198                     \"Dit is een systeem-, alleen-lezen of verborgen bestand.\"\n    199                     \"Bestandsbeheer kan niet snelformatteren.\\n\\nDoorgaan met normaal formatteren?\"\n    203                     \"Fout tijdens het verzenden van de opdracht naar de toepassing.\"\n    204                     \"Kan bibliotheek die vereist is voor deze bewerking niet laden.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \"&Gedeelde mappen...\"\n    210                     \"Hierdoor worden ALLE gegevens van de diskette verwijderd. Weet u zeker dat u de diskette in station %c: wilt formatteren?\"\n    211                     \"Diskette formatteren bevestigen\"\n    212                     \"Deze bewerking zal ALLE gegevens van de doeldiskette verwijderen. Weet u zeker dat u wilt doorgaan?\"\n    213                     \"Diskette kopiren bevestigen\"\n    214                     \"Sl&uiten\"\n    215                     \"Sluiten\"\n    218                     \"Map %s bestaat niet.\\n\\nWilt u dat deze wordt gemaakt?\"\n    219                     \"Programma's#*.exe;*.pif;*.com;*.bat#Alle bestanden (*.*)#*.*#\"\n    220                     \"Bladeren\"\n    221                     \"Starten\"\n    222                     \"Kan bestand niet afdrukken\"\n    223                     \"Kan Help-informatie niet weergeven.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"Bestanden met de toevoeging %s zijn programma's en kunnen niet worden gekoppeld aan een andere toepassing.\"\n    225                     \"%s is geen programma en kan niet worden gekoppeld aan een bestandstoevoeging.\"\n    226                     \"(Geen)\"\n    227                     \"Geen bestanden gevonden.\"\n    228                     \"Bestandsbeheer kan niet meerdere bestanden tegelijkertijd afdrukken.\\n\\nSelecteer n bestand en probeer het opnieuw.\"\n    230                     \"En van de bibliotheekbestanden die nodig zijn om deze toepassing te starten is beschadigd. Installeer de toepassing opnieuw.\"\n    231                     \"Dit bestand wordt gebruikt door een andere toepassing.\"\n    232                     \"Bestandsbeheer kan misschien geen toegang verkrijgen tot de bestanden die in de map %s zijn gemaakt.\\n\\nWilt u doorgaan? \"\n    233                     \"Map maken\"\n    234                     \"%ld bytes\"\n    235                     \"%s bytes\"\n    236                     \"Bestandsbeheer kan niet meerdere bestanden tegelijkertijd naar het Klembord kopiren.\\n\\nSelecteer n bestand en probeer het opnieuw.\"\n    237                     \"%s - %s\"\n    238                     \"Station:\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"Netwerkstation verbinden\"\n    241                     \"Verbinding met netwerkstation verbreken\"\n    242                     \"Netwerkverbindingen\"\n    243                     \"Map delen\"\n    244                     \"Delen van map beindigen\"\n    245                     \"Alle bestandsgegevens weergeven\"\n    246                     \"Alleen bestandsnaam weergeven\"\n    247                     \"Sorteren op naam\"\n    248                     \"Sorteren op type \"\n    249                     \"Sorteren op omvang\"\n    250                     \"Sorteren op datum\"\n    251                     \"Nieuw venster\"\n    252                     \"Bestanden kopiren\"\n    253                     \"Bestanden verplaatsen\"\n    254                     \"&Mapnaam:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"Netwerkstation niet beschikbaar.\"\n    259                     \"Gedeeld als %s\"\n    260                     \"Niet gedeeld\"\n    261                     \"Bestanden verwijderen\"\n    262                     \" - GECOMPRIMEERD\"\n    263                     \"Bezig bestanden naar %s te kopiren\"\n    264                     \"Bezig bestanden naar %s te verplaatsen\"\n    265                     \"Bezig bestanden met %s uit te voeren\"\n    266                     \"%s bytes\"\n    267                     \"%s kB\"\n    268                     \"%s MB\"\n    269                     \"%s GB\"\n    270                     \"%s TB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \"U hebt geen machtiging voor toegang tot deze map.\"\n    281                     \"U hebt geen machtiging voor toegang tot dit bestand.\"\n    283                     \"Station %c wordt al gebruikt.\\nBestandsbeheer is een diskette aan het kopiren.\"\n    284                     \"Station %c wordt al gebruikt.\\nBestandsbeheer is deze diskette aan het formatteren.\"\n    285                     \"Bewerking is niet volledig uitgevoerd\"\n    286                     \"Kan bewerking niet op alle bestanden en mappen uitvoeren.\"\n    287                     \"Kan map niet lezen.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"Map bestaat niet.\"\n    289                     \"Kan verbinding met netwerkstation niet tot stand brengen.\"\n    290                     \"Kan netwerknaam niet vinden.\"\n    292                     \"Ja op alles heeft betrekking op alle bestanden waaronder ook\\n de systeem-, verborgen en alleen-lezenbestanden.\"\n    294                     \"Openen\"\n    295                     \"Afdrukken\"\n    298                     \"Extensie toevoegen\"\n    299                     \"De extensie '%s' is nu gekoppeld '%s'. Wilt u doorgaan en deze koppeling overschrijven?\"\n    300                     \"Bestandsverbindingeditor\"\n    301                     \"Kan extensie niet koppelen.\"\n    302                     \"Kan extensie niet verwijderen.\"\n    303                     \"Kan bestandstype niet toevoegen.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"Kan bestandstype niet verwijderen.\"\n    305                     \"Kan bestandstype niet lezen.\"\n    306                     \"U kunt het vak Bestandstype niet leeg laten. Typ een nieuw bestandstype in.\"\n    307                     \"Kan geen unieke aanduiding genereren gebaseerd op het door u ingevoerde bestandstype.\"\n    308                     \"Bestandstype verwijderen\"\n    309                     \"Hiermee verwijdert u het bestandstype en alle verbonden extensies. Weet u zeker dat u '%s' wilt verwijderen?\"\n    312                     \"Het bestandstype moet voor ten minste n van de acties een opdracht hebben. Typ een toepassing in het vak Opdracht.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"Nieuw bestandstype\"\n    321                     \"Bezig met kopiren van diskette\"\n    322                     \"Bezig met zoeken...\"\n    324                     \"Bestandsbeheer formatteert momenteel een diskette. Als u nu afsluit, zal Bestandsbeheer deze bewerking beindigen.\"\n    325                     \"Bestandsbeheer kopieert momenteel een diskette. Als u nu afsluit, zal Bestandsbeheer deze bewerking beindigen.\"\n    326                     \"Percentage voltooid\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360 kB\"\n    354                     \"1%s2 MB\"\n    355                     \"720 kB\"\n    356                     \"1%s44 MB\"\n    357                     \"2%s88 MB\"\n    358                     \"Capaciteit station\"\n    359                     \"Bestandsbeheer kan gegevens over diskette niet verkrijgen.\\n\\nControleer of de diskette zich in het station bevindt.\"\n    360                     \"20%s8 MB\"\n    361                     \"Onbekend diskettetype\"\n    362                     \"Onbekend diskettetype\"\n    363                     \"Het diskettetype in station %s kan niet worden geformatteerd met Bestandsbeheer. Gebruik Schijfbeheer om deze diskette te formatteren.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"Incompatibel bestandssysteem.\"\n    401                     \"Toegang geweigerd.\"\n    402                     \"De diskette is schrijfbeveiligd.\"\n    403                     \"Bestandsbeheer kan volume niet vergrendelen.\"\n    404                     \"Bestandsbeheer kan diskette niet snelformatteren.\\n\\nControleer of de diskette de juiste dichtheid heeft.\"\n    405                     \"I/O-fout op de brondiskette.\"\n    406                     \"I/O-fout op de doeldiskette.\"\n    407                     \"I/O-fout op zowel de bron- als de doeldiskette.\"\n    408                     \"I/O-fout.\"\n    411                     \"Bestandsbeheer kan diskette niet formatteren.\\n\\nControleer of de diskette in het station is geplaatst, of de diskette niet schrijfbeveiligd dan wel beschadigd is en of de diskette niet de verkeerde dichtheid heeft.\"\n    412                     \"Bestandsbeheer kan schijf geen naam geven.\\n\\nDe opgegeven volumenaam is ongeldig. De volgende tekens kunt u niet gebruiken:\\n[spatie] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \"Bezig met openen...\"\n    421                     \"Bezig met sluiten...\"\n    422                     \"Er zijn te veel mapvensters geopend.\\n\\nSluit n of meer vensters en probeer het opnieuw.\"\n    423                     \"Bezig met snelformatteren...\"\n    424                     \"Kan steun niet initialiseren. Bestandsbeheer zal worden afgesloten.\"\n    425                     \"Initialisatie Bestandsbeheer\"\n    426                     \"Bezig map te lezen. Een ogenblik geduld...\"\n    427                     \"Wilt u alle bestanden en submappen in %s ook comprimeren?\"\n    428                     \"Wilt u alle bestanden en submappen in %s ook decomprimeren?\"\n    429                     \"Bestandsbeheer kan de compressiegegevens voor %s niet wijzigen.\"\n    430                     \"Het bestand %s zal niet worden gecomprimeerd. Het comprimeren van dit bestand kan het starten van uw systeem onmogelijk maken.\"\n    431                     \"Bestandsbeheer is momenteel bezig bestanden te (de)comprimeren.\\nU moet wachten tot dit is afgerond voordat u andere bestanden kunt (de)comprimeren.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"Opmerkingen\"\n    501                     \"Naam bedrijf\"\n    502                     \"Bestandsbeschrijving\"\n    503                     \"Interne naam\"\n    504                     \"Wettige handelsmerken\"\n    505                     \"Oorspronkelijke bestandsnaam\"\n    506                     \"Private Build Description\"\n    507                     \"Productnaam\"\n    508                     \"Productversie\"\n    509                     \"Special Build Description\"\n    510                     \"Taal\"\n    511                     \"Talen\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"&Netwerkstation verbinden...\"\n    801                     \"Verbinding met net&werkstation verbreken...\"\n    802                     \"&Netwerkverbindingen...\"\n    803                     \"&Delen als...\"\n    804                     \"Delen &beindigen...\"\n    805                     \"&Gedeelde mappen weergeven...\"\n    806                     \"Verwijderen &ongedaan maken...\"\n    807                     \"&Nieuw venster openen na verbinden\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \"Fout bij verplaatsen van bestand\"\n    1002                    \"Fout bij kopiren van bestand\"\n    1003                    \"Fout bij verwijderen van bestand\"\n    1004                    \"Fout bij wijzigen bestandsnaam\"\n    1005                    \"Fout bij selecteren van station\"\n    1006                    \"Fout bij lezen van map\"\n    1007                    \"Fout bij geven van volumenaam aan schijf\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"Kan %s niet verplaatsen.\\n%s\"\n    1012                    \"Kan %s niet kopiren.\\n%s\"\n    1013                    \"Kan %s niet verwijderen.\\n%s\"\n    1014                    \"Kan naam van %s niet wijzigen.\\n%s\"\n    1021                    \"Kan map %s niet maken.\\n%s\"\n    1022                    \"Kan map %s niet verwijderen.\\n%s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"Kan %s niet maken of vervangen.\\n%s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"Bron en doel zijn identiek.\"\n    1102                    \"Selecteer maximaal n bestand waarvan u de naam wilt wijzigen of gebruik jokertekens (bijvoorbeeld, *.TXT) voor het wijzigen van de extensie van bestanden.\\n\"\n    1103                    \"Kan de naam niet wijzigen in die van een andere map of schijf.\\nGebruik de opdracht Bestand verplaatsen.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"U kunt de naam van de hoofdmap niet wijzigen.\"\n    1105                    \"De doelmap is een submap van de bron.\"\n    1106                    \"Bestand wordt door Windows gebruikt.\"\n    1107                    \"Geef n bestand of map op in het vak Naar. Of gebruik, als u een groep bestanden op wilt geven, jokertekens (bijvoorbeeld *.TXT).\"\n    1108                    \"De opgegeven bestands- of mapnaam bestaat al. In een map moeten bestands- en mapnamen uniek zijn.\"\n    1109                    \"Controleer of het juiste pad en de juiste bestandsnaam zijn opgegeven.\"\n    1110                    \"Controleer of het juiste pad is opgegeven.\"\n    1111                    \"Sluit n of meer toepassingen af en probeer het opnieuw of vergroot het virtuele geheugen met behulp van het onderdeel Systeem in het Configuratiescherm.\"\n    1113                    \"Schakel de beveiliging van de diskette uit of gebruik een andere diskette en probeer het opnieuw.\"\n    1114                    \"Controleer of u de juiste netwerkmachtigingen hebt voor het uitvoeren van deze bewerking.\"\n    1115                    \"Verwijder n of meer bestanden om de beschikbare schijfruimte te vergroten en probeer het opnieuw.\"\n    1116                    \"Geen gegevens gevonden op dit medium.\"\n    1117                    \"De map bestaat al.\"\n    1118                    \"De opgegeven naam wordt al door een bestand gebruikt.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"Verkeerde diskette in het station.\"\n    1151                    \"De toepassing kan niet in Windows NT-modus worden uitgevoerd.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \"Het besturingssysteem kan dit onderdeel niet uitvoeren.\"\n    1153                    \"Het onderdeel kan niet in Windows NT-modus worden uitgevoerd.\"\n    1154                    \"Dit programma is geen geldige Windows NT-toepassing.\"\n    1155                    \"Fout. Er is geen foutbericht voor deze fout.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \"Rs[(&F):\"\n    2001                    \"Rs[(&T):\"\n    2002                    \"̖O(&F):\"\n    2003                    \"VO(&T):\"\n    2004                    \"Rs[:\"\n    2005                    \"̃tHg?gpƊ?̕\\\\?\\nłȂȂ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"Opdrachten voor het werken met bestanden\"\n    3985                    \"Opdrachten voor het werken met schijven\"\n    3986                    \"Opdrachten voor het werken in het structuurvenster\"\n    3987                    \"Opdrachten voor het bepalen hoe gegevens worden weergegeven\"\n    3988                    \"Opdrachten voor het instellen van opties\"\n    3989                    \"Opdrachten voor het bewerken van bestands- en mapbeveiliging\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"Opdrachten voor het schikken van vensters\"\n    4001                    \"Opdrachten voor het weergeven van Help voor Bestandsbeheer \"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"Een onderwerp zoeken in Help voor Bestandsbeheer \"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \"Geselecteerd programma openen\"\n    4102                    \"Een document afdrukken\"\n    4103                    \"Een bestand koppelen een toepassing\"\n    4104                    \"Zoeken naar bestanden en mappen\"\n    4105                    \"Een toepassing of document starten of openen\"\n    4106                    \"Geselecteerd programma verplaatsen\"\n    4107                    \"Bestanden en mappen kopiren\"\n    4108                    \"Bestanden en mappen verwijderen\"\n    4109                    \"Bestandsnaam of mapnaam wijzigen\"\n    4110                    \"Bestandskenmerken instellen en gegevens weergeven\"\n    4111                    \"Een map maken\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"Bestandsbeheer afsluiten\"\n    4116                    \"Bestanden en mappen selecteren\"\n    4117                    \"Eerder verwijderde bestanden ophalen\"\n    4118                    \"Een bestand naar het Klembord kopiren\"\n    4119                    \"Een bestand of een map comprimeren\"\n    4120                    \"Een bestand of een map decomprimeren\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"De inhoud van een diskette kopiren\"\n    4202                    \"Volumenaam van een schijf toewijzen of wijzigen\"\n    4203                    \"Een diskette formatteren\"\n    4205                    \"Verbinding maken met een netwerkstation\"\n    4206                    \"Verbinding met een netwerkstation verbreken\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"Een ander station selecteren\"\n    4254                    \"Een map delen\"\n    4255                    \"Delen van een map beindigen\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"Een ander niveau van een map weergeven\"\n    4302                    \"Alle niveaus van een map weergeven\"\n    4303                    \"Alle niveaus van alle mappen weergeven\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \"Alle mappen van een geselecteerde map samenvouwen\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \"Alleen bestandsnamen weergeven\"\n    4402                    \"Alle bestandsgegevens weergeven\"\n    4403                    \"Bestandsgegevens gedeeltelijk weergeven\"\n    4404                    \"Bestanden op naam sorteren\"\n    4405                    \"Bestanden op type sorteren\"\n    4406                    \"Bestanden op grootte sorteren\"\n    4407                    \"Bestanden op datum sorteren\"\n    4409                    \"Bestanden van een opgegeven type weergeven\"\n    4411                    \"De mapstructuur weergeven\"\n    4412                    \"De inhoud van de actieve map weergeven\"\n    4413                    \"De mapstructuur en de inhoud van de actieve map weergeven\"\n    4414                    \"Een mapvenster splitsen of de splitsbalk verplaatsen\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"Bevestigingsberichten besturen\"\n    4503                    \"De statusbalk weergeven of verbergen\"\n    4504                    \"Bestandsbeheer bij opstarten minimaliseren\"\n    4505                    \"Mappen aangeven die submappen hebben\"\n    4507                    \"De stationsbalk weergeven of verbergen\"\n    4508                    \"De werkbalk weergeven of verbergen\"\n    4509                    \"Een nieuw venster openen als u een verbinding maakt\"\n    4510                    \"Het lettertype van Bestandsbeheer wijzigen\"\n    4511                    \"Instellingen opslaan als u Bestandsbeheer afsluit\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"De werkbalk aanpassen\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"Machtigingsgegevens voor de geselecteerde onderdelen instellen of weergeven\"\n    4606                    \"Controlegegevens voor de geselecteerde onderdelen instellen of weergeven\"\n    4607                    \"Geselecteerde onderdelen weergeven of eigenaar ervan worden\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"Vensters trapsgewijs schikken\"\n    5702                    \"Vensters naast elkaar schikken\"\n    5703                    \"Vensters onder elkaar schikken\"\n    5704                    \"De inhoud van een venster bijwerken\"\n    5705                    \"Pictogrammen schikken\"\n    5706                    \"Een nieuw venster openen\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"Inhoudsopgave van Help voor Bestandsbeheer weergeven\"\n    5802                    \"Gegevens over het gebruik van Help weergeven\"\n    5803                    \"Gegevens over Bestandsbeheer weergeven\"\nEND\n\n#endif    // Dutch (Netherlands) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/origrc/winfile.pl-PL.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Polish (Poland) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_PLK)\nLANGUAGE LANG_POLISH, SUBLANG_DEFAULT\n#pragma code_page(1250)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"BMP100.BMP\"\n\n\n101                     BITMAP                  \"BMP101.BMP\"\n\n\n102                     BITMAP                  \"BMP102.BMP\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"&Plik\"\n    BEGIN\n        MENUITEM \"&Otwórz\\tEnter\",              101\n        MENUITEM \"&Przenieś...\\tF7\",            106\n        MENUITEM \"Kop&iuj...\\tF8\",              107\n        MENUITEM \"Kopiuj do S&chowka...\\tF9\",   118\n        MENUITEM \"&Usuń...\\tDel\",               108\n        MENUITEM \"Zmień &nazwę...\",             109\n        MENUITEM \"&Właściwości...\\tAlt+Enter\",  110\n        MENUITEM SEPARATOR\n        MENUITEM \"Kompr&esuj...\",               119\n        MENUITEM \"&Dekompresuj...\",             120\n        MENUITEM SEPARATOR\n        MENUITEM \"Urucho&m...\",                 105\n        MENUITEM \"D&rukuj...\",                  102\n        MENUITEM \"&Skojarz...\",                 103\n        MENUITEM SEPARATOR\n        MENUITEM \"U&twórz katalog...\",          111\n        MENUITEM \"Szuk&aj...\",                  104\n        MENUITEM \"&Zaznacz pliki...\",           116\n        MENUITEM SEPARATOR\n        MENUITEM \"Za&kończ\",                    115\n    END\n    POPUP \"&Dysk\"\n    BEGIN\n        MENUITEM \"&Kopiuj dysk...\",             201\n        MENUITEM \"&Etykieta dysku...\",          202\n        MENUITEM SEPARATOR\n        MENUITEM \"&Formatuj dysk...\",           203\n        MENUITEM SEPARATOR\n        MENUITEM \"&Wybierz dysk...\",            251\n    END\n    POPUP \"D&rzewo\"\n    BEGIN\n        MENUITEM \"&Rozwiń jeden poziom\\t+\",     301\n        MENUITEM \"R&ozwiń gałąź\\t*\",            302\n        MENUITEM \"Roz&wiń wszystkie\\tCtrl+*\",   303\n        MENUITEM \"&Zwiń gałąź\\t-\",              304\n        MENUITEM SEPARATOR\n        MENUITEM \"Wsk&aż rozwijalne gałęzie\",   505\n    END\n    POPUP \"&Widok\"\n    BEGIN\n        MENUITEM \"Drzewo i &katalog\",           413\n        MENUITEM \"Tylk&o drzewo\",               411\n        MENUITEM \"Tylko k&atalog\",              412\n        MENUITEM SEPARATOR\n        MENUITEM \"Po&dziel\",                    414\n        MENUITEM SEPARATOR\n        MENUITEM \"Na&zwa\",                      401\n        MENUITEM \"P&ełne informacje o pliku\",   402, CHECKED\n        MENUITEM \"&Częściowe informacje...\",    403\n        MENUITEM SEPARATOR\n        MENUITEM \"Sortuj według &nazw\",         404\n        MENUITEM \"Sor&tuj według typów\",        405\n        MENUITEM \"So&rtuj według rozmiarów\",    406\n        MENUITEM \"&Sortuj według dat\",          407\n        MENUITEM SEPARATOR\n        MENUITEM \"&Według typów plików...\",     409\n    END\n    POPUP \"&Opcje\"\n    BEGIN\n        MENUITEM \"&Potwierdzanie...\",           501\n        MENUITEM \"&Czcionka...\",                510\n        MENUITEM \"Dostosuj pasek nar&zędzi...\", 512\n        MENUITEM SEPARATOR\n        MENUITEM \"Pasek &narzędzi\",             508\n        MENUITEM \"Pasek &dysków\",               507\n        MENUITEM \"Pa&sek stanu\",                503\n        MENUITEM SEPARATOR\n        MENUITEM \"&Minimalizuj podczas pracy\",  504\n        MENUITEM \"Z&apisz ustawienia przy zakończeniu\", 511\n    END\n    POPUP \"&Zabezpieczenia\"\n    BEGIN\n        MENUITEM \"&Uprawnienia...\",             605\n        MENUITEM \"Inspe&kcja...\",               606\n        MENUITEM \"&Właściciel...\",              607\n    END\n    POPUP \"O&kno\"\n    BEGIN\n        MENUITEM \"&Nowe okno\",                  1706\n        MENUITEM \"&Kaskada\\tShift+F5\",          1701\n        MENUITEM \"&Sąsiadująco w poziomie\",     1703\n        MENUITEM \"Sąsia&dująco w pionie\\tShift+F4\", 1702\n        MENUITEM \"&Rozmieść ikony\",             1705\n        MENUITEM \"&Odśwież\\tF5\",                1704\n    END\n    POPUP \"Pomo&c\"\n    BEGIN\n        MENUITEM \"&Spis treści\",                1801\n        MENUITEM \"&Pomoc na temat...\",          30\n        MENUITEM \"&Korzystanie z Pomocy\",       1802\n        MENUITEM SEPARATOR\n        MENUITEM \"Me&nedżer plików - informacje...\", 1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 12, 210, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Uruchom\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,162,10\n    CONTROL         \"&Wiersz polecenia:\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,3,18,66,10\n    EDITTEXT        201,3,29,134,12,ES_AUTOHSCROLL\n    CONTROL         \"&Uruchom zminimalizowane\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,3,45,104,12\n    DEFPUSHBUTTON   \"OK\",1,165,6,40,14\n    PUSHBUTTON      \"Anuluj\",2,165,23,40,14\n    PUSHBUTTON      \"Pomo&c\",254,165,43,40,14\nEND\n\n11 DIALOG 20, 20, 240, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Drukuj\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,193,10\n    CONTROL         \"&Drukuj:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,23,10\n    EDITTEXT        102,30,18,157,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,36,190,10\n    DEFPUSHBUTTON   \"OK\",1,197,6,40,14\n    PUSHBUTTON      \"Anuluj\",2,197,23,40,14\n    PUSHBUTTON      \"Pomo&c\",254,197,43,40,14\nEND\n\n12 DIALOG 20, 20, 255, 118\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Skojarz\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Pli&ki z rozszerzeniem:\",-1,6,7,73,8\n    COMBOBOX        315,80,5,44,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Skojarz z:\",-1,6,30,92,10\n    EDITTEXT        304,6,42,172,12,ES_AUTOHSCROLL\n    LISTBOX         314,11,54,167,62,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"Przeglą&daj...\",318,130,24,47,14\n    DEFPUSHBUTTON   \"OK\",1,187,6,62,14,WS_GROUP\n    PUSHBUTTON      \"Anuluj\",2,187,23,62,14\n    PUSHBUTTON      \"&Nowy typ...\",300,187,42,62,14\n    PUSHBUTTON      \"&Zmień typ...\",251,187,59,62,14\n    PUSHBUTTON      \"&Usuń typ\",219,187,76,62,14\n    PUSHBUTTON      \"Pomo&c\",254,187,95,62,14\nEND\n\n13 DIALOG 20, 20, 263, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Szukaj\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Szukaj:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,6,45,12\n    EDITTEXT        201,52,5,160,12,ES_AUTOHSCROLL\n    CONTROL         \"Zacznij o&d:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,21,45,12\n    EDITTEXT        101,52,20,160,12,ES_AUTOHSCROLL\n    CONTROL         \"Szukaj &we wszystkich podkatalogach\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,52,34,147,12\n    DEFPUSHBUTTON   \"OK\",1,217,6,40,14\n    PUSHBUTTON      \"Anuluj\",2,217,23,40,14\n    PUSHBUTTON      \"Pomo&c\",254,217,43,40,14\nEND\n\n14 DIALOG 47, 59, 231, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Przenieś\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Bieżący katalog: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,182,10\n    CONTROL         \"&Do/Na:\",2001,\"Static\",SS_LEFTNOWORDWRAP,3,33,29,10\n    EDITTEXT        103,37,32,138,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,49,40,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,45,49,140,10\n    DEFPUSHBUTTON   \"OK\",1,185,6,40,14\n    PUSHBUTTON      \"Anuluj\",2,185,23,40,14\n    PUSHBUTTON      \"Pomo&c\",254,185,40,40,14\n    CONTROL         \"&Z:\",2002,\"Static\",SS_LEFTNOWORDWRAP,3,19,20,10\n    EDITTEXT        102,37,18,138,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Usuń\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Bieżący katalog: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"&Usuń:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,35,10\n    EDITTEXT        102,40,19,155,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,35,35,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,40,35,155,10\n    DEFPUSHBUTTON   \"OK\",1,200,6,40,14\n    PUSHBUTTON      \"Anuluj\",2,200,23,40,14\n    PUSHBUTTON      \"Pomo&c\",254,200,40,40,14\nEND\n\n16 DIALOG 23, 13, 259, 229\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Właściwości %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,195,6,59,14,WS_GROUP\n    PUSHBUTTON      \"Anuluj\",2,195,23,59,14\n    PUSHBUTTON      \"Pomo&c\",254,195,40,59,14\n    CONTROL         \"Na&zwa pliku:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,55,10\n    EDITTEXT        201,68,5,123,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Ścież&ka:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,68,16,123,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Ostatnia zmiana:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,62,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,68,27,123,10\n    CONTROL         \"Wersja:\",258,\"Static\",SS_LEFTNOWORDWRAP,5,38,45,10\n    CONTROL         \"Nie zaznaczona\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,68,38,123,10\n    LTEXT           \"&Prawa autorskie:\",-1,5,49,58,10\n    EDITTEXT        265,68,49,123,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Rozmiar:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,60,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,68,60,123,10\n    CONTROL         \"Po kompresji:\",268,\"Static\",SS_LEFTNOWORDWRAP,5,71,62,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,68,71,123,10\n    CONTROL         \"Stopień kompresji:\",270,\"Static\",SS_LEFTNOWORDWRAP,5,82,62,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,68,82,123,10\n    GROUPBOX        \"Atrybuty\",-1,4,96,153,54\n    CONTROL         \"&Tylko-do-odczytu\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,108,71,12\n    CONTROL         \"Uk&ryty\",216,\"Button\",BS_AUTOCHECKBOX,99,108,49,12\n    CONTROL         \"&Archiwalny\",217,\"Button\",BS_AUTOCHECKBOX,9,120,52,12\n    CONTROL         \"&Systemowy\",218,\"Button\",BS_AUTOCHECKBOX,99,120,49,12\n    CONTROL         \"Sko&mpresowany\",267,\"Button\",BS_AUTOCHECKBOX,9,132,66,12\n    GROUPBOX        \"I&nformacje o wersji\",262,4,155,250,70\n    LISTBOX         263,9,168,91,58,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,110,168,138,58,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 200, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Utwórz katalog\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,154,10\n    CONTROL         \"&Nazwa:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,23,26,10\n    EDITTEXT        201,32,22,90,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,46,150,10\n    DEFPUSHBUTTON   \"OK\",1,157,6,40,14\n    PUSHBUTTON      \"Anuluj\",2,157,23,40,14\n    PUSHBUTTON      \"Pomo&c\",254,157,43,40,14\nEND\n\n19 DIALOG 20, 20, 165, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kopiuj dysk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Dys&k źródłowy:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,50,10\n    COMBOBOX        245,62,6,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"Dysk &docelowy:\",206,\"Static\",SS_LEFTNOWORDWRAP,5,22,50,10\n    COMBOBOX        222,62,20,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,117,6,40,14\n    PUSHBUTTON      \"Anuluj\",2,117,23,40,14\n    PUSHBUTTON      \"Pomo&c\",254,117,43,40,14\nEND\n\n22 DIALOG 30, 30, 130, 57\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kopiowanie dysku\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Kopiowanie: \",-1,0,4,130,10,NOT WS_GROUP\n    CTEXT           \"Dysk A:\",222,0,15,130,10,NOT WS_GROUP\n    CTEXT           \"Odczytywanie dyskiu źródłowego\",243,0,26,130,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Anuluj\",2,44,40,44,14\nEND\n\n23 DIALOG 20, 20, 161, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Etykieta dysku\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Etykieta:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,30,10\n    EDITTEXT        201,5,26,100,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,115,6,40,14\n    PUSHBUTTON      \"Anuluj\",2,115,23,40,14\n    PUSHBUTTON      \"Pomo&c\",254,115,43,40,14\nEND\n\n24 DIALOG 11, 28, 183, 96\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formatuj dysk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,140,6,40,14\n    PUSHBUTTON      \"Anuluj\",2,140,23,40,14\n    PUSHBUTTON      \"Pomo&c\",254,140,43,40,14\n    CONTROL         \"&Dysk w:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,7,49,10\n    COMBOBOX        222,55,4,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"P&ojemność:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,20,49,10\n    COMBOBOX        241,55,19,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Opcje\",102,5,39,115,53,WS_GROUP\n    CONTROL         \"&Etykieta:\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,51,32,8\n    EDITTEXT        201,46,49,63,12\n    CONTROL         \"&Szybkie formatowanie\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,62,90,12\nEND\n\n26 DIALOG 30, 30, 150, 50\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formatowanie dysku\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Formatowanie dysku\",-1,0,5,150,10,NOT WS_GROUP\n    CTEXT           \"Inicjalizacja dysku...\",243,0,17,150,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Anuluj\",2,54,30,44,14\nEND\n\n30 DIALOG 20, 20, 174, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Częściowe informacje\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Szczegóły\",-1,4,4,121,74\n    CONTROL         \"&Rozmiar\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,15,100,12\n    CONTROL         \"&Data ostatniej modyfikacji\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,27,100,12\n    CONTROL         \"&Godzina ostatniej modyfikacji\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,39,110,12\n    CONTROL         \"&Atrybuty pliku\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,51,100,12\n    CONTROL         \"&Nazwy plików w MS-DOS\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,63,100,12\n    DEFPUSHBUTTON   \"OK\",1,130,6,40,14\n    PUSHBUTTON      \"Anuluj\",2,130,23,40,14\n    PUSHBUTTON      \"Pomo&c\",254,130,60,40,14\nEND\n\n32 DIALOG 20, 20, 157, 102\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Według typów plików\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Nazwa:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,23,10\n    EDITTEXT        201,34,6,65,12,ES_AUTOHSCROLL\n    GROUPBOX        \"Typ pliku\",-1,5,20,94,62\n    CONTROL         \"&Katalogi\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,31,60,12\n    CONTROL         \"&Programy\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,43,60,12\n    CONTROL         \"&Dokumenty\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,55,60,12\n    CONTROL         \"Inn&e pliki\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,60,12\n    CONTROL         \"Pokaż pliki ukryte/&systemowe\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,5,85,115,12\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Anuluj\",2,110,23,40,14\n    PUSHBUTTON      \"Pomo&c\",254,110,43,40,14\nEND\n\n33 DIALOG 20, 20, 273, 92\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Potwierdzanie\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Potwierdzaj\",-1,5,3,215,85,WS_TABSTOP\n    CONTROL         \"&Usunięcie pliku\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,15,80,12\n    CONTROL         \"Usunięcie &katalogu\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,27,80,12\n    CONTROL         \"&Zamianę plików\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,39,80,12\n    CONTROL         \"Czy&nności z użyciem myszy\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,51,104,12\n    CONTROL         \"Polecenia &dotyczące dysku\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,63,99,12\n    CONTROL         \"&Modyfikację plików systemowych, ukrytych, tylko-do-odczytu\",215,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,75,207,12\n    DEFPUSHBUTTON   \"OK\",1,227,6,40,14\n    PUSHBUTTON      \"Anuluj\",2,227,23,40,14\n    PUSHBUTTON      \"Pomo&c\",254,227,44,40,14\nEND\n\n35 DIALOG 20, 20, 250, 46\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Przenoszenie...\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,5,49,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,5,192,10\n    CONTROL         \"Do/Na:\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,15,25,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,15,192,10\n    DEFPUSHBUTTON   \"Anuluj\",2,200,28,40,14,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 120, 58\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Drukowanie pliku...\",-1,4,6,120,12\n    CTEXT           \"\",-1,4,20,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"Anuluj\",2,44,40,32,14,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 206, 88\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Właściwości\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Wybranych plików: %d\",100,\"Static\",SS_LEFTNOWORDWRAP,5,5,144,10\n    CONTROL         \"Całkowita liczba bajtów: %s\",111,\"Static\",SS_LEFTNOWORDWRAP,5,16,144,10\n    GROUPBOX        \"Atrybuty\",-1,5,29,136,54\n    CONTROL         \"Tylk&o-do-odczytu\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,40,68,12\n    CONTROL         \"&Ukryty\",216,\"Button\",BS_AUTOCHECKBOX,82,40,52,12\n    CONTROL         \"&Archiwalny\",217,\"Button\",BS_AUTOCHECKBOX,10,52,52,12\n    CONTROL         \"Syst&emowy\",218,\"Button\",BS_AUTOCHECKBOX,82,52,52,12\n    CONTROL         \"&Skompresowany\",267,\"Button\",BS_AUTOCHECKBOX,10,64,62,12\n    DEFPUSHBUTTON   \"OK\",1,150,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Anuluj\",2,150,23,50,14\n    PUSHBUTTON      \"Pomo&c\",254,150,43,50,14\nEND\n\n39 DIALOG 10, 20, 245, 95\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Potwierdź zamianę pliku\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Zamień plik:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,12,49,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,12,165,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,75,22,170,10\n    CONTROL         \"Na plik:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,34,49,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,34,165,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,75,44,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,54,203,10\n    DEFPUSHBUTTON   \"&Tak\",6,14,75,40,14\n    PUSHBUTTON      \"Tak na &wszystkie\",107,66,75,61,14\n    PUSHBUTTON      \"&Nie\",7,139,75,40,14\n    PUSHBUTTON      \"Anuluj\",2,191,75,40,14\nEND\n\n40 DIALOG 10, 20, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Potwierdź usunięcie pliku\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Usuń plik:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,44,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Tak\",6,12,40,40,14\n    PUSHBUTTON      \"Tak na &wszystkie\",107,64,40,64,14\n    PUSHBUTTON      \"&Nie\",7,140,40,40,14\n    PUSHBUTTON      \"Anuluj\",2,192,40,40,14\nEND\n\n41 DIALOG 10, 20, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Potwierdź usunięcie katalogu\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Usuń katalog:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,55,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Tak\",6,12,40,40,14\n    PUSHBUTTON      \"Tak na &wszystkie\",107,64,40,64,14\n    PUSHBUTTON      \"&Nie\",7,140,40,40,14\n    PUSHBUTTON      \"Anuluj\",2,192,40,40,14\nEND\n\n42 DIALOG 10, 22, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Potwierdź przeniesienie pliku\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Przenieś plik:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,44,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Tak\",6,13,40,40,14\n    PUSHBUTTON      \"Tak na &wszystkie\",107,65,40,62,14\n    PUSHBUTTON      \"&Nie\",7,139,40,40,14\n    PUSHBUTTON      \"Anuluj\",2,191,40,40,14\nEND\n\n43 DIALOG 10, 22, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Potwierdź zmianę nazwy pliku\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Zmień nazwę pliku:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,63,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,98,18,142,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Tak\",6,13,40,40,14\n    PUSHBUTTON      \"Tak na &wszystkie\",107,65,40,63,14\n    PUSHBUTTON      \"&Nie\",7,140,40,40,14\n    PUSHBUTTON      \"Anuluj\",2,192,40,40,14\nEND\n\n44 DIALOG 15, 12, 145, 83\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Zaznacz pliki\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Plik(i):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,60,10\n    EDITTEXT        201,5,29,60,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"Zaz&nacz\",1,70,6,70,14\n    PUSHBUTTON      \"&Anuluj zaznaczenie\",6,70,23,70,14\n    PUSHBUTTON      \"Anuluj\",2,70,40,70,14\n    PUSHBUTTON      \"Pomo&c\",254,70,63,70,14\nEND\n\n45 DIALOG 11, 31, 201, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Wybierz dysk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Dyski:\",245,\"Static\",SS_LEFTNOWORDWRAP,5,5,41,10\n    LISTBOX         222,5,16,140,60,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,155,6,40,14\n    PUSHBUTTON      \"Anuluj\",2,155,23,40,14\n    PUSHBUTTON      \"Pomo&c\",254,155,44,40,14\nEND\n\n46 DIALOG 11, 28, 250, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Wybierz nazwę pliku\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Ta ścieżka nie odpowiada formatowi FAT nazw plików. Wprowadź nową nazwę.\",99,5,4,190,24,NOT WS_GROUP\n    RTEXT           \"&Nowa nazwa:\",-1,15,56,50,12,NOT WS_GROUP\n    EDITTEXT        103,66,55,130,12\n    RTEXT           \"Ścieżka pierwotna:\",-1,2,28,63,11,NOT WS_GROUP\n    EDITTEXT        102,66,28,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \"Do katalogu:\",-1,15,42,50,11,NOT WS_GROUP\n    EDITTEXT        101,66,42,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"OK\",1,205,4,40,14\n    PUSHBUTTON      \"Anuluj\",2,205,20,40,14\n    PUSHBUTTON      \"Pomo&c\",254,205,36,40,14\nEND\n\n48 DIALOG 23, 13, 250, 119\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Właściwości %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,194,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Anuluj\",2,194,23,50,14\n    PUSHBUTTON      \"Pomo&c\",254,194,43,50,14\n    CONTROL         \"&Nazwa pliku:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,55,10\n    EDITTEXT        201,60,5,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Ścież&ka:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,60,16,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Ostatnia zmiana:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,62,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,60,27,97,10\n    CONTROL         \"Rozmiar:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,38,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,60,38,90,10\n    GROUPBOX        \"Atrybuty\",-1,4,52,140,54\n    CONTROL         \"Tylk&o-do-odczytu\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,64,68,12\n    CONTROL         \"Uk&ryty\",216,\"Button\",BS_AUTOCHECKBOX,84,64,49,12\n    CONTROL         \"&Archiwalny\",217,\"Button\",BS_AUTOCHECKBOX,9,76,52,12\n    CONTROL         \"&Systemowy\",218,\"Button\",BS_AUTOCHECKBOX,84,76,49,12\n    CONTROL         \"Sko&mpresowany\",267,\"Button\",BS_AUTOCHECKBOX,9,88,71,12\nEND\n\n49 DIALOG 13, 54, 264, 154\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Czcionka\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Czcionk&a:\",1088,6,3,40,9\n    COMBOBOX        1136,6,13,98,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Styl czcionki:\",1089,108,3,49,9\n    COMBOBOX        1137,108,13,71,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"Roz&miar:\",1090,183,3,30,9\n    COMBOBOX        1138,183,13,29,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Efekty\",1072,6,73,84,61,WS_GROUP\n    CONTROL         \"&Przekreślenie\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,83,59,10\n    CONTROL         \"P&odkreślenie\",1041,\"Button\",BS_AUTOCHECKBOX,10,95,56,10\n    CONTROL         \"&W przypadku dysków FAT wyświetlaj małymi literami\",1042,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,127,252,10\n    CONTROL         \"W przypadku wszystkich &dysków wyświetlaj małymi literami\",1043,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,139,252,10\n    LTEXT           \"&Kolor:\",1091,10,107,30,9\n    COMBOBOX        1139,10,117,77,50,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"OK\",1,218,6,40,14,WS_GROUP\n    PUSHBUTTON      \"Anuluj\",2,218,23,40,14,WS_GROUP\n    PUSHBUTTON      \"&Zastosuj\",1026,218,40,40,14,WS_GROUP\n    PUSHBUTTON      \"Pomo&c\",1038,218,57,40,14,WS_GROUP\n    GROUPBOX        \"Przykład\",1073,6,72,252,49,WS_GROUP\n    CTEXT           \"\",1093,10,137,1,2,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaĄąBbCc\",1092,10,81,243,37,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 77, 27, 160, 66\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formatowanie dysku\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\",100,15,36,131,8\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,15,10,131,22\n    PUSHBUTTON      \"Ukryj\",110,38,48,40,14\n    PUSHBUTTON      \"Anuluj\",2,82,48,40,14\nEND\n\n51 DIALOG 10, 20, 260, 70\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Potwierdź: Zignoruj plik lub katalog i kontynuuj\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,18,20\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Dostęp zabroniony, ignoruj:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,12,203,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,116,10,114,10\n    CONTROL         \"Nie masz uprawnień lub plik jest używany.\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,25,230,10\n    CONTROL         \"Wybierz \"\"Tak\"\", aby zignorować ten plik i kontynuować operację.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,35,214,10\n    DEFPUSHBUTTON   \"&Tak\",6,17,50,40,14\n    PUSHBUTTON      \"Tak na &wszystkie\",107,72,50,61,14\n    PUSHBUTTON      \"&Nie\",7,148,50,40,14\n    PUSHBUTTON      \"Anuluj\",2,203,50,40,14\nEND\n\n52 DIALOG 10, 20, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Potwierdź: Zignoruj plik lub katalog i kontynuuj\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Brak dostępu, ignoruj:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,13,83,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,104,13,128,10\n    CONTROL         \"Kliknij \"\"Tak\"\", aby zignorować ten plik i kontynuować operację.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,23,208,10\n    DEFPUSHBUTTON   \"&Tak\",6,13,40,40,14\n    PUSHBUTTON      \"Tak na &wszystkie\",107,65,40,62,14\n    PUSHBUTTON      \"&Nie\",7,139,40,40,14\n    PUSHBUTTON      \"Anuluj\",2,191,40,40,14\nEND\n\n53 DIALOG 77, 109, 174, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Przeszukiwanie dysku\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Szukaj:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,5,60,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,50,5,120,10\n    CONTROL         \"Rozpocznij od:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,70,10\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,59,15,111,10\n    CONTROL         \"Przeczytane katalogi:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,25,71,10\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,82,25,84,10\n    CONTROL         \"Znaleziono:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,35,60,10\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,66,35,100,10\n    PUSHBUTTON      \"Ukryj\",110,45,48,40,14\n    PUSHBUTTON      \"Anuluj\",2,89,48,40,14\nEND\n\n54 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kopiuj do Schowka\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Bieżący katalog: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"&Kopiuj do Schowka:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,67,10\n    EDITTEXT        102,70,19,125,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,200,6,40,14\n    PUSHBUTTON      \"Anuluj\",2,200,23,40,14\n    PUSHBUTTON      \"Pomo&c\",254,200,43,40,14\nEND\n\n55 DIALOG 18, 14, 290, 224\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Zmień typ pliku\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Typ pliku:\",302,5,6,33,8\n    EDITTEXT        301,42,5,95,12,ES_AUTOHSCROLL\n    GROUPBOX        \"&Akcja: \",-1,5,22,235,126,WS_GROUP\n    COMBOBOX        306,33,21,48,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Polecenie:\",313,9,42,38,8\n    EDITTEXT        304,47,39,111,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"Prz&eglądaj...\",318,164,38,49,14\n    CONTROL         \"&Używaj DDE\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,57,72,10\n    LTEXT           \"Komunikat &DDE:\",320,13,72,59,8\n    EDITTEXT        309,86,70,100,12,ES_AUTOHSCROLL\n    LTEXT           \"Dla &nie uruchomionej aplikacji DDE:\",322,13,84,72,19\n    LTEXT           \"(opcjonalnie)\",324,188,90,48,8\n    EDITTEXT        311,86,88,100,12,ES_AUTOHSCROLL\n    LTEXT           \"Apli&kacja:\",321,13,109,39,8\n    EDITTEXT        310,86,107,100,12,ES_AUTOHSCROLL\n    LTEXT           \"Te&mat:\",323,13,127,21,8\n    EDITTEXT        312,86,125,100,12,ES_AUTOHSCROLL\n    LTEXT           \"No&we rozszerzenie:\",-1,11,184,66,8\n    EDITTEXT        315,76,183,32,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"D&odaj ->\",303,112,174,44,14\n    PUSHBUTTON      \"<- U&suń\",219,112,191,44,14\n    LTEXT           \"&Rozszerzenia:\",-1,167,162,57,8\n    LISTBOX         317,167,172,65,40,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Rozszerzenia skojarzone z tym typem pliku:\",316,5,154,235,66\n    DEFPUSHBUTTON   \"OK\",1,244,6,40,14\n    PUSHBUTTON      \"Anuluj\",2,244,23,40,14\n    PUSHBUTTON      \"Pomo&c\",254,244,40,40,14\nEND\n\n57 DIALOG 123, 60, 207, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Kompresja pliku w toku\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Plik kompresowany:\",-1,6,8,79,8\n    LTEXT           \"nazwapliku.xxx\",341,86,8,90,8\n    LTEXT           \"Katalog:\",-1,6,20,34,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,43,20,156,8\n    LTEXT           \"Katalogi skompresowane:\",-1,6,32,86,8\n    LTEXT           \"1,888,888,999\",343,94,32,103,8\n    LTEXT           \"Pliki skompresowane:\",-1,6,44,76,8\n    LTEXT           \"1,888,888,999\",344,83,44,113,8\n    LTEXT           \"Rozmiary plików przed kompresją:\",-1,6,56,124,8\n    LTEXT           \"9,999,999,999,999\",345,134,56,68,8\n    LTEXT           \"Rozmiary plików po kompresji:\",-1,6,68,123,8\n    LTEXT           \"9,999,999,999,999\",346,134,69,68,8\n    LTEXT           \"Stopień kompresji plików:\",-1,6,80,87,8\n    LTEXT           \"100%\",347,97,80,27,8\n    PUSHBUTTON      \"Anuluj\",2,76,97,55,14\nEND\n\n58 DIALOG 114, 62, 197, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Dekompresja plików w toku\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Pliki niekompresowane:\",-1,6,8,80,8\n    LTEXT           \"nazwapliku.xxx\",351,90,8,93,8\n    LTEXT           \"Katalog:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\",352,45,20,144,8\n    LTEXT           \"Katalogi nieskompresowane:\",-1,6,32,96,8\n    LTEXT           \"1,999,999,999\",353,101,32,88,8\n    LTEXT           \"Pliki nieskompresowane:\",-1,6,44,86,8\n    LTEXT           \"1,999,999,999\",354,101,44,91,8\n    PUSHBUTTON      \"Anuluj\",2,74,64,49,14\nEND\n\n59 DIALOG 11, 28, 245, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Błąd kompresji\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,8,8,18,20\n    LTEXT           \"\",100,35,8,203,33\n    DEFPUSHBUTTON   \"Z&ignoruj\",5,14,47,40,14,WS_GROUP\n    PUSHBUTTON      \"Zig&noruj wszystko\",112,66,47,61,14\n    PUSHBUTTON      \"&Ponów\",4,139,47,40,14\n    PUSHBUTTON      \"Prz&erwij\",3,191,47,40,14\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY, SHIFT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT\n    VK_F4,          1702,                   VIRTKEY, SHIFT\n    VK_F5,          1704,                   VIRTKEY \n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII   \n    VK_ADD,         301,                    VIRTKEY \n    \"*\",            302,                    ASCII   \n    VK_MULTIPLY,    302,                    VIRTKEY \n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL\n    \"-\",            304,                    ASCII   \n    VK_SUBTRACT,    304,                    VIRTKEY \n    VK_RETURN,      110,                    VIRTKEY, ALT\n    VK_F2,          2000,                   VIRTKEY \nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"CUR300.CUR\"\n\n\n301                     CURSOR                  \"CUR301.CUR\"\n\n\n302                     CURSOR                  \"CUR302.CUR\"\n\n\n303                     CURSOR                  \"CUR303.CUR\"\n\n\n306                     CURSOR                  \"CUR306.CUR\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ICO200.ICO\"\n\n\n201                     ICON                    \"ICO201.ICO\"\n\n\n202                     ICON                    \"ICO202.ICO\"\n\n\n204                     ICON                    \"ICO204.ICO\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,318\n PRODUCTVERSION 4,0,1381,318\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"041504B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"Menedżer plików\"\n            VALUE \"FileVersion\", \"4\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"Copyright (C) Microsoft Corp. 1981-1995\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"System operacyjny Microsoft(R) Windows NT(TM)\"\n            VALUE \"ProductVersion\", \"4\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0x415, 1200\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"Kopiuj dysk\"\n    51                      \"Włóż dysk docelowy.\"\n    52                      \"Włóż dysk źródłowy.\"\n    53                      \"Włóż dysk źródłowy i docelowy.\"\n    54                      \"Formatowanie dysku docelowego\"\n    55                      \"Błąd przy kopiowaniu dysków\"\n    56                      \"Skopiowanie dysku nie jest możliwe.\"\n    58                      \"Miejsce źródłowe i docelowe nie są zgodne.\"\n    60                      \"Wykonano %d%%\"\n    61                      \"Tworzenie katalogu głównego...\"\n    62                      \"Kopiowanie plików systemowych...\"\n    63                      \"Błąd formatowania dysku\"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \"Formatowanie zakończone\"\n    67                      \"%ld bajtów całkowitego miejsca na dysku\\n%ld bajtów wolnych na dysku\\n\\nCzy chcesz sformatować następny dysk?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"Błąd sieciowy\"\n    83                      \"Ten dysk zawiera pliki systemowe Windows i nie można go odłączyć.\"\n    91                      \"Menedżer plików nie może zmienić atrybutów. \"\n    92                      \"Menedżer plików nie może utworzyć katalogu. \"\n    93                      \"Menedżer plików nie może przypisać dyskowi etykiety.\\n\\nSprawdź, czy dysk nie jest chroniony przed zapisem, nie jest dyskiem sieciowym i czy etykieta jest prawidłowa. Etykiety nie mogą zawierać znaków: \\n[spacja] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n    95                      \"Nie znaleziono pasujących plików.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \"Zawartość tego dysku została zmieniona. Czy chcesz zaktualizować okno Wyniki szukania?\"\n    98                      \"Aby wykonać tę operację na dyskach twardych, trzeba być zalogowanym do systemu jako Administrator.\"\n    101                     \"Dysk %c:%c\"\n    110                     \"Uruchomienie programu nie jest możliwe\"\n    111                     \"Nieoczekiwany błąd: %d.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"Za mało pamięci do uruchomienia podanej aplikacji.\\n\\nZakończ działanie jednej lub więcej aplikacji i spróbuj ponownie.\"\n    113                     \"Menedżer plików nie może odnaleźć pliku (lub jednego z jego składników).\\n\\nSprawdź, czy podana ścieżka i nazwa pliku są poprawne oraz czy są dostępne wszystkie wymagane biblioteki.\"\n    114                     \"Podana ścieżka jest nieprawidłowa.\"\n    116                     \"Z tym plikiem nie skojarzono aplikacji.\\n\\nWybierz polecenie Skojarz z menu Plik, aby utworzyć skojarzenie.\"\n    118                     \"Menedżer plików nie może otworzyć lub wydrukować pliku.\\n\\nUruchom aplikację użytą do utworzenia pliku i otwórz go lub wydrukuj z niej.\"\n    120                     \"Potwierdź operację myszy\"\n    121                     \"Czy na pewno chcesz skopiować zaznaczone pliki lub katalogi do %s?\"\n    122                     \"Czy na pewno chcesz przenieść zaznaczone pliki lub katalogi do %s?\"\n    123                     \"Czy na pewno chcesz uruchomić %s używając %s jako pliku początkowego?\"\n    124                     \"Menedżer plików\"\n    126                     \"Drzewo katalogu\"\n    127                     \"Rezultat szukania: \"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \"Za dużo plików\"\n    133                     \"Menedżer plików - brak wolnej pamięci\"\n    134                     \"Odczytanie całego katalogu nie jest możliwe. Wyświetlona zostanie tylko jego część.\"\n    140                     \"Bieżący katalog: %s\"\n    141                     \"Kopiuj\"\n    143                     \"Zmień nazwę\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"Formatuj dysk\"\n    146                     \"Wybierz dysk do formatowania.\"\n    150                     \"Tworzenie:\"\n    151                     \"Usuwanie...\"\n    152                     \"Kopiowanie:\"\n    153                     \"Zmiana nazwy...\"\n    154                     \"Przenoszenie...\"\n    155                     \"Usuwanie...\"\n    156                     \"Drukowanie: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"Kopiowanie...\"\n    170                     \"Usuwanie:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \"Razem plików: %d (%s)\"\n    181                     \"Katalogi przeczytane: %d \"\n    182                     \"Wolne: %c:%s: razem: %s\"\n    183                     \"Znaleziono: %d plik(ów)\"\n    185                     \"zaznaczone pliki\"\n    186                     \"Menedżer plików nie może odłączyć dysku sieciowego.\\n\\nNa tym dysku są otwarte pliki.\"\n    187                     \"Wybrano: %d plik(ów) (%s)\"\n    188                     \"W stacji dysków %c nie ma dysku.\\n\\nWłóż dysk i spróbuj ponownie.\"\n    189                     \"Dysk w stacji dysków %c nie jest sformatowany.\\n\\nCzy chcesz go sformatować teraz?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"Za mało miejsca na dysku do drukowania.\\n\\nUsuń jeden lub więcej plików, aby zwiększyć miejsce na dysku i spróbuj ponownie.\"\n    193                     \"Za mało pamięci do drukowania.\\n\\nZakończ działanie jednej lub więcej aplikacji i spróbuj ponownie.\"\n    194                     \"Podczas drukowania wystąpił błąd.\\n\\nSprawdź, czy drukarka jest poprawnie skonfigurowana i wybrana.\"\n    195                     \"Wyświetlono niepełne drzewo katalogów\"\n    197                     \"Dysk docelowy jest zapełniony. Aby kontynuować, proszę włożyć inny dysk.\"\n    198                     \"To jest plik systemowy, ukryty lub tylko-do-odczytu.\"\n    199                     \"Menedżer plików nie może dokonać szybkiego formatowania. \\n\\nCzy kontynuować normalne formatowanie?\"\n    203                     \"Podczas wysyłania tego polecenia do aplikacji wystąpił błąd.\"\n    204                     \"Załadowanie biblioteki potrzebnej do wykonania tej operacji nie jest możliwe.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \"&Udostępnione katalogi...\"\n    210                     \"Formatowanie skasuje z dysku WSZYSTKIE dane. Czy na pewno chcesz sformatować dysk w stacji %c?\"\n    211                     \"Potwierdź formatowanie dysku\"\n    212                     \"Ta operacja spowoduje wykasowanie WSZYSTKICH danych z dysku docelowego. Czy kontynuować?\"\n    213                     \"Potwierdź kopiowanie dysku\"\n    214                     \"&Zamknij\"\n    215                     \"Zamknij\"\n    218                     \"Katalog %s nie istnieje.\\n\\nCzy chcesz go utworzyć?\"\n    219                     \"Programy#*.exe;*.pif;*.com;*.bat#Wszystkie pliki (*.*)#*.*#\"\n    220                     \"Przeglądaj\"\n    221                     \"Uruchom\"\n    222                     \"Wydrukowanie pliku nie jest możliwe\"\n    223                     \"Wyświetlenie informacji Pomocy jest niemożliwe.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"Pliki z rozszerzeniem %s są programami i nie można ich kojarzyć z inną aplikacją.\"\n    225                     \"%s nie jest programem i nie można go skojarzyć z rozszerzeniem pliku.\"\n    226                     \"(brak)\"\n    227                     \"Nie znaleziono plików.\"\n    228                     \"Menedżer plików nie może drukować wielu plików.\\n\\nWybierz tylko jeden plik i spróbuj ponownie.\"\n    230                     \"Jeden z plików biblioteki potrzebnych do uruchomienia tej aplikacji jest uszkodzony. Zainstaluj ponownie tę aplikację.\"\n    231                     \"Ten plik jest używany przez inną aplikację.\"\n    232                     \"Menedżer plików może nie mieć dostępu do plików utworzonych w katalogu '%s'.\\n\\nCzy chcesz kontynuować?\"\n    233                     \"Utwórz katalog\"\n    234                     \"%ld bajtów\"\n    235                     \"%s bajtów\"\n    236                     \"Menedżer plików nie może skopiować wielu plików lub katalogów do Schowka.\\n\\nZaznacz pojedynczy plik i spróbuj ponownie.\"\n    237                     \"%s - %s\"\n    238                     \"Dysk:\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"Podłącz dysk sieciowy\"\n    241                     \"Odłącz dysk sieciowy\"\n    242                     \"Połączenia sieciowe\"\n    243                     \"Udostępnij katalog\"\n    244                     \"Zakończ udostępnianie katalogu\"\n    245                     \"Wyświetl wszystkie szczegóły pliku\"\n    246                     \"Wyświetl tylko nazwę\"\n    247                     \"Sortuj według nazw\"\n    248                     \"Sortuj według typów\"\n    249                     \"Sortuj według rozmiarów\"\n    250                     \"Sortuj według dat\"\n    251                     \"Nowe okno\"\n    252                     \"Kopiuj pliki\"\n    253                     \"Przenieś pliki\"\n    254                     \"&Nazwa katalogu:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"Dysk sieciowy nie jest dostępny.\"\n    259                     \"Udostępniony jako %s\"\n    260                     \"Nie udostępniona\"\n    261                     \"Usuń pliki\"\n    262                     \" - SKOMPRESOWANE\"\n    263                     \"Kopiowanie plików do %s\"\n    264                     \"Przenoszenie plików do %s\"\n    265                     \"Uruchamianie plików z %s\"\n    266                     \"Bajtów: %s\"\n    267                     \"%skB\"\n    268                     \"%sMB\"\n    269                     \"%sGB\"\n    270                     \"%sTB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \"Nie masz uprawnień dostępu do tego katalogu.\"\n    281                     \"Nie masz uprawnień dostępu do tego pliku.\"\n    283                     \"Dysk %c: jest zajęty i nie ma do niego dostępu.\\nMenedżer plików dokonuje kopii dysku.\"\n    284                     \"Dysk %c: jest zajęty i nie ma do niego dostępu.\\nMenedżer plików formatuje ten dysk.\"\n    285                     \"Operacja nie została w pełni zakończona\"\n    286                     \"Zakończenie operacji na wszystkich plikach i katalogach nie było możliwe.\"\n    287                     \"Odczytanie katalogu nie jest możliwe\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"Katalog nie istnieje.\"\n    289                     \"Podłączenie dysku sieciowego jest niemożliwe\"\n    290                     \"Odnalezienie nazwy sieci jest niemożliwe.\"\n    292                     \"\"\"Tak na wszystkie\"\" wpływa na wszystkie pliki, włączając systemowe, ukryte i tylko-do-odczytu.\"\n    294                     \"Otwórz\"\n    295                     \"Drukuj\"\n    298                     \"Dodaj rozszerzenie\"\n    299                     \"Rozszerzenie '%s' jest aktualnie skojarzone z '%s'. Czy kontynuować i zastąpić to skojarzenie?\"\n    300                     \"Edytor skojarzeń plików\"\n    301                     \"Skojarzenie rozszerzenia nie jest możliwe. \"\n    302                     \"Usunięcie rozszerzenia nie było możliwe. \"\n    303                     \"Dodanie typu pliku nie jest możliwe. \"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"Usunięcie typu pliku nie było możliwe. \"\n    305                     \"Odczytanie typu pliku nie jest możliwe. \"\n    306                     \"Pozycja Typ pliku nie może być pusta. Proszę wpisać nowy Typ pliku.\"\n    307                     \"Nie jest możliwe wygenerowanie unikatowego identyfikatora opartego o Typ pliku. Wpisz nowy Typ pliku.\"\n    308                     \"Usuń typ pliku\"\n    309                     \"Operacja spowoduje usunięcie typu pliku i wszystkich skojarzonych rozszerzeń. Czy na pewno chcesz usunąć '%s'?\"\n    312                     \"Pozycja Typ pliku musi zawierać polecenie dla przynajmniej jednej akcji. Proszę wpisać aplikację w polu poleceń.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"Nowy typ pliku\"\n    321                     \"Kopiowanie dysku\"\n    322                     \"Wyszukiwanie...\"\n    324                     \"Menedżer plików obecnie formatuje dysk. Zakończenie działania Menedżera plików spowoduje przerwanie tej operacji.\"\n    325                     \"Menedżer plików obecnie kopiuje dysk. Zakończenie działania Menedżera plików spowoduje przerwanie tej operacji.\"\n    326                     \"Procent ukończono\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360K\"\n    354                     \"1%s2 MB\"\n    355                     \"720K\"\n    356                     \"1%s44 MB\"\n    357                     \"2%s88 MB\"\n    358                     \"Pojemność dysku\"\n    359                     \"Menedżer plików nie może uzyskać informacji o dysku.\\n\\nSprawdź, czy dysk jest w stacji.\"\n    360                     \"20%s8 MB\"\n    361                     \"Nieznany typ dysku\"\n    362                     \"Nieznany typ dysku\"\n    363                     \"Dysk w stacji %s nie może zostać sformatowany za pomocą Menedżera plików. Użyj Administratora dysków do sformatowania tego pliku.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"Niezgodny system plików.\"\n    401                     \"Brak dostępu.\"\n    402                     \"Ten dysk jest chroniony przed zapisem.\"\n    403                     \"Menedżer plików nie może zablokować woluminu.\"\n    404                     \"Menedżer plików nie może dokonać szybkiego formatowania dysku.\\n\\nSprawdź, czy dysk ma właściwą gęstość zapisu.\"\n    405                     \"Błąd We-Wy na dysku źródłowym.\"\n    406                     \"Błąd We-Wy na dysku docelowym.\"\n    407                     \"Błąd We-Wy na dysku źródłowym i docelowym.\"\n    408                     \"Wystąpił błąd We-Wy.\"\n    411                     \"Menedżer plików nie może sformatować dysku.\\n\\nSprawdź, czy dysk jest umieszczony w stacji i nie jest chroniony przed zapisem, uszkodzony lub czy nie ma odpowiedniej gęstości zapisu.\"\n    412                     \"Menedżer plików nie może przypisać dyskowi etykiety.\\n\\nSprawdź, czy etykieta nie zawiera następujących znaków:\\n[spacja] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \"Otwieranie...\"\n    421                     \"Zamykanie...\"\n    422                     \"Jest otwartych za dużo okien katalogów.\\n\\nZamknij jedno lub więcej okien i spróbuj ponownie.\"\n    423                     \"Szybkie formatowanie...\"\n    424                     \"Zainicjowanie obsługi aktualizacji w tle nie było możliwe. Menedżer programów zakończy działanie. \"\n    425                     \"Inicjowanie Menedżera plików\"\n    426                     \"Odczytywanie katalogu, proszę czekać...\"\n    427                     \"Czy chcesz także dokonać kompresji wszystkich plików i podkatalogów katalogu %s?\"\n    428                     \"Czy chcesz dokonać dekompresji wszystkich plików i podkatalogów równiez w katalogu %s?\"\n    429                     \"Menedżer plików nie może zmienić atrybutów kompresji dla %s.\"\n    430                     \"Plik %s nie zostanie skompresowany. Kompresja tego pliku może spowodować, że rozruch systemu nie będzie możliwy.\"\n    431                     \"Menedżer plików dokonuje obecnie kompresji/dekompresji plików.\\nMusisz poczekać na zakończenie procesu przed próbą kompresji/dekompresji dalszych plików.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"Komentarze\"\n    501                     \"Nazwa firmy\"\n    502                     \"Opis pliku\"\n    503                     \"Nazwa wewnętrzna\"\n    504                     \"Prawne znaki towarowe\"\n    505                     \"Pierwotna nazwa pliku\"\n    506                     \"Prywatny opis realizacji\"\n    507                     \"Nazwa produktu\"\n    508                     \"Wersja produktu\"\n    509                     \"Specjalny opis realizacji\"\n    510                     \"Język\"\n    511                     \"Języki\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"&Podłącz dysk sieciowy...\"\n    801                     \"O&dłącz dysk sieciowy...\"\n    802                     \"&Połączenia sieciowe...\"\n    803                     \"Udos&tępnij jako...\"\n    804                     \"&Zakończ udostępnianie...\"\n    805                     \"Po&każ udostępnione katalogi...\"\n    806                     \"&Cofnij usunięcie...\"\n    807                     \"&Otwórz nowe okno przy podłączeniu\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \"Błąd przy przenoszeniu pliku\"\n    1002                    \"Błąd przy kopiowaniu pliku\"\n    1003                    \"Błąd przy usuwaniu pliku\"\n    1004                    \"Błąd przy zmianie nazwy pliku\"\n    1005                    \"Błąd przy wyborze dysku\"\n    1006                    \"Błąd przy odczycie katalogu\"\n    1007                    \"Błąd przy nadawaniu etykiety dysku\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"Menedżer plików nie może przenieść %s: %s\"\n    1012                    \"Menedżer plików nie może skopiować %s: %s\"\n    1013                    \"Menedżer plików nie może usunąć %s: %s\"\n    1014                    \"Menedżer plików nie może zmienić nazwy %s: %s\"\n    1021                    \"Menedżer plików nie może utworzyć katalogu %s: %s\"\n    1022                    \"Menedżer plików nie może usunąć katalogu %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"Menedżer plików nie może utworzyć lub zamienić %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"Miejsce źródłowe jest takie samo jak docelowe.\"\n    1102                    \"Wybierz tylko jeden plik do zmiany nazwy lub użyj symboli wieloznacznych (na przykład *.TXT), aby zmienić nazwę grupy plików o podobnych nazwach.\"\n    1103                    \"Zmiana nazwy na inny katalog lub dysk jest niemożliwa.\\nZamiast tego użyj polecenia File Move.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"Nie możesz zmienić nazwy katalogu głównego.\"\n    1105                    \"Katalog docelowy jest podkatalogiem źródła.\"\n    1106                    \"Plik jest używany w systemie Windows.\"\n    1107                    \"W polu \"\"Do\"\" podaj tylko jeden plik lub katalog. Jeśli chcesz określić grupę plików, użyj symboli wieloznacznych (na przykład *.TXT).\"\n    1108                    \"Plik lub katalog o tej nazwie już istnieje. W katalogu nazwy plików i katalogów muszą być unikatowe.\"\n    1109                    \"Sprawdź, czy podano poprawną ścieżkę i nazwę pliku.\"\n    1110                    \"Sprawdź, czy podano poprawną ścieżkę.\"\n    1111                    \"Zakończ działanie jednej lub więcej aplikacji, a następnie spróbuj ponownie. Możesz również ustawić opcje systemu w Panelu sterowania, tak aby zwiększyć pamięć wirtualną.\"\n    1113                    \"Wyłącz ochronę przed zapisem dla tego dysku lub użyj innego dysku i spróbuj ponownie.\"\n    1114                    \"Zadbaj o to, aby mieć odpowiednie uprawnienia sieciowe do wykonania tej operacji.\"\n    1115                    \"Usuń jeden lub więcej plików, aby zwiększyć ilość wolnego miejsca na dysku i spróbuj ponownie.\"\n    1116                    \"Dla tego nośnika nie wykryto danych.\"\n    1117                    \"Ten katalog już istnieje.\"\n    1118                    \"Określona nazwa jest już używana przez plik.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"W stacji jest zły dysk.\"\n    1151                    \"Tej aplikacji nie można uruchamiać w trybie Windows NT.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \"System operacyjny nie potrafi uruchomić tego składnika.\"\n    1153                    \"Tego składnika nie można uruchomić w trybie Windows NT.\"\n    1154                    \"Ten program nie jest prawidłową aplikacją Windows NT.\"\n    1155                    \"Wystąpił błąd. Dla tego błędu nie ma tekstu komunikatu.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \"�R�s�[Śł(&F):\"\n    2001                    \"�R�s�[�ć(&T):\"\n    2002                    \"Śł‚Ě–Ľ‘O(&F):\"\n    2003                    \"�V‚µ‚˘–Ľ‘O(&T):\"\n    2004                    \"�R�s�[�ć:\"\n    2005                    \"‚±‚Ě�t�H�“�g‚đŽg—p‚·‚é‚ĆŠżŽš‚Ě•\\\\Ž¦‚Ş\\n‚Ĺ‚«‚Č‚­‚Č‚č‚Ü‚·�B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"Polecenia do pracy z plikami\"\n    3985                    \"Polecenia do pracy z dyskami\"\n    3986                    \"Polecenia do pracy w oknie drzewa\"\n    3987                    \"Polecenia do określania sposobu wyświetlania informacji\"\n    3988                    \"Polecenia do ustawiania opcji\"\n    3989                    \"Polecenia do manipulowania zabezpieczeniami plików i katalogów\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"Polecenia rozmieszczania okien\"\n    4001                    \"Polecenia wyświetlania Pomocy Menedżera plików\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"Szuka tematu w Pomocy Menedżera plików\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \"Otwiera zaznaczony element\"\n    4102                    \"Drukuje dokument\"\n    4103                    \"Kojarzy plik z aplikacją\"\n    4104                    \"Szuka plików i katalogów\"\n    4105                    \"Rozpoczyna lub otwiera aplikację lub dokument\"\n    4106                    \"Przenosi wskazany element\"\n    4107                    \"Kopiuje pliki i katalogi\"\n    4108                    \"Usuwa pliki i katalogi\"\n    4109                    \"Zmienia nazwę pliku lub katalogu\"\n    4110                    \"Ustawia atrybuty pliku i wyświetla jego właściwości\"\n    4111                    \"Tworzy katalog\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"Kończy pracę Menedżera plików\"\n    4116                    \"Zaznacza pliki i katalogi\"\n    4117                    \"Odtwarza uprzednio usunięte pliki\"\n    4118                    \"Kopiuje plik do Schowka\"\n    4119                    \"Kompresuje plik lub katalog\"\n    4120                    \"Dekompresuje plik lub katalog\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"Kopiuje zawartość dyskietki\"\n    4202                    \"Przypisuje lub zmienia etykietę dysku\"\n    4203                    \"Formatuje dyskietkę\"\n    4205                    \"Podłącza dysk sieciowy\"\n    4206                    \"Odłącza dysk sieciowy\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"Wybiera inny dysk\"\n    4254                    \"Udostępnia katalog\"\n    4255                    \"Kończy udostępnianie katalogu\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"Wyświetla inny poziom katalogu\"\n    4302                    \"Wyświetla wszystkie poziomy katalogu\"\n    4303                    \"Wyświetla wszystkie poziomy wszystkich katalogów\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \"Zwija wszystkie katalogi wskazanego katalogu\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \"Pokazuje tylko nazwy plików\"\n    4402                    \"Pokazuje wszystkie informacje o plikach\"\n    4403                    \"Pokazuje część informacji o plikach\"\n    4404                    \"Sortuje pliki według nazw\"\n    4405                    \"Sortuje pliki według typów\"\n    4406                    \"Sortuje pliki według rozmiarów\"\n    4407                    \"Sortuje pliki według dat\"\n    4409                    \"Pokazuje pliki określonego typu\"\n    4411                    \"Wyświetla drzewo katalogów\"\n    4412                    \"Wyświetla zawartość bieżącego katalogu\"\n    4413                    \"Wyświetla drzewo katalogów i zawartość bieżącego katalogu\"\n    4414                    \"Dzieli okno katalogu lub przenosi pasek podziału\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"Steruje komunikatami potwierdzenia\"\n    4503                    \"Wyświetla lub ukrywa pasek stanu\"\n    4504                    \"Zmniejsza Menedżera plików do ikony przy uruchomieniu\"\n    4505                    \"Wskazuje katalogi z podkatalogami\"\n    4507                    \"Wyświetla lub ukrywa pasek dysków\"\n    4508                    \"Wyświetla lub ukrywa pasek narzędzi\"\n    4509                    \"Otwiera nowe okno przy podłączaniu\"\n    4510                    \"Zmienia czcionkę Menedżera plików\"\n    4511                    \"Zapisuje ustawienia po zakończeniu pracy z Menedżerem plików\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"Dostosowuje pasek narzędzi\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"Wyświetla lub ustawia informacje o uprawnieniach wybranych elementów\"\n    4606                    \"Wyświetla lub ustawia informacje o inspekcji wybranych elementów\"\n    4607                    \"Wyświetla lub ustawia informacje o własności wybranych elementów\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"Rozmieszcza okna kaskadowo\"\n    5702                    \"Rozmieszcza okna sąsiadująco pionowo\"\n    5703                    \"Rozmieszcza okna sąsiadująco poziomo\"\n    5704                    \"Aktualizuje zawartość okna\"\n    5705                    \"Rozmieszcza ikony\"\n    5706                    \"Otwiera nowe okno\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"Wyświetla spis treści Pomocy Menedżera plików\"\n    5802                    \"Wyświetla informacje o korzystaniu z Pomocy\"\n    5803                    \"Wyświetla informacje o Menedżerze plików\"\nEND\n\n#endif    // Polish (Poland) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/origrc/winfile.pt-BR.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// Portuguese (Brazil) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_PTB)\nLANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN\n#pragma code_page(1252)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"BMP100.BMP\"\n\n\n101                     BITMAP                  \"BMP101.BMP\"\n\n\n102                     BITMAP                  \"BMP102.BMP\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"&Arquivo\"\n    BEGIN\n        MENUITEM \"&Abrir\\tEnter\",               101\n        MENUITEM \"&Mover...\\tF7\",               106\n        MENUITEM \"&Copiar...\\tF8\",              107\n        MENUITEM \"Copiar para rea de trans&ferncia...\\tF9\", 118\n        MENUITEM \"Exc&luir... \\tDel\",           108\n        MENUITEM \"Re&nomear...\",                109\n        MENUITEM \"&Propriedades... \\tAlt+Enter\", 110\n        MENUITEM SEPARATOR\n        MENUITEM \"Compac&tar...\",               119\n        MENUITEM \"D&escompactar...\",            120\n        MENUITEM SEPARATOR\n        MENUITEM \"E&xecutar...\",                105\n        MENUITEM \"&Imprimir...\",                102\n        MENUITEM \"Ass&ociar...\",                103\n        MENUITEM SEPARATOR\n        MENUITEM \"Criar pa&sta...\",             111\n        MENUITEM \"Locali&zar...\",               104\n        MENUITEM \"Selecionar Arqui&vos...\",     116\n        MENUITEM SEPARATOR\n        MENUITEM \"Sai&r\",                       115\n    END\n    POPUP \"&Disco\"\n    BEGIN\n        MENUITEM \"&Copiar disco...\",            201\n        MENUITEM \"&Nomear disco...\",            202\n        MENUITEM SEPARATOR\n        MENUITEM \"&Formatar disco...\",          203\n        MENUITEM SEPARATOR\n        MENUITEM \"Selecionar &unidade...\",      251\n    END\n    POPUP \"rvor&e\"\n    BEGIN\n        MENUITEM \"Expa&ndir um nvel\\t+\",       301\n        MENUITEM \"Expandi&r ramificao\\t*\",    302\n        MENUITEM \"&Expandir tudo\\tCtrl + *\",    303\n        MENUITEM \"&Ocultar ramificaes\\t-\",    304\n        MENUITEM SEPARATOR\n        MENUITEM \"&Indicar ramificaes expansveis\", 505\n    END\n    POPUP \"E&xibir\"\n    BEGIN\n        MENUITEM \"rvor&e e pastas\",            413\n        MENUITEM \"Somente &rvore\",             411\n        MENUITEM \"Somente &pastas\",             412\n        MENUITEM SEPARATOR\n        MENUITEM \"D&ividir\",                    414\n        MENUITEM SEPARATOR\n        MENUITEM \"&Nome\",                       401\n        MENUITEM \"T&odos os detalhes do arquivo\", 402, CHECKED\n        MENUITEM \"Deta&lhes parciais...\",       403\n        MENUITEM SEPARATOR\n        MENUITEM \"&Classificar por nome\",       404\n        MENUITEM \"Classificar por &tipo\",       405\n        MENUITEM \"Classificar por taman&ho\",    406\n        MENUITEM \"Classi&ficar por data\",       407\n        MENUITEM SEPARATOR\n        MENUITEM \"Tipo de ar&quivo...\",         409\n    END\n    POPUP \"&Opes\"\n    BEGIN\n        MENUITEM \"&Confirmao...\",             501\n        MENUITEM \"&Fonte...\",                   510\n        MENUITEM \"&Personalizar barra de ferramentas...\", 512\n        MENUITEM SEPARATOR\n        MENUITEM \"&Barra de ferramentas\",       508\n        MENUITEM \"Barra de &unidades\",          507\n        MENUITEM \"Barra de &status\",            503\n        MENUITEM SEPARATOR\n        MENUITEM \"Mi&nimizar ao usar\",          504\n        MENUITEM \"Salvar c&onfiguraes ao sair\", 511\n    END\n    POPUP \"Segura&na\"\n    BEGIN\n        MENUITEM \"&Permisses...\",              605\n        MENUITEM \"&Auditoria...\",               606\n        MENUITEM \"P&roprietrio...\",            607\n    END\n    POPUP \"&Janela\"\n    BEGIN\n        MENUITEM \"&Nova Janela\",                1706\n        MENUITEM \"Em &cascata\\tShift+F5\",       1701\n        MENUITEM \"Lado a lado &horizontalmente\", 1703\n        MENUITEM \"Lado a lado &verticalmente\\tShift+F4\", 1702\n        MENUITEM \"&Organizar cones\",           1705\n        MENUITEM \"&Atualizar\\tF5\",              1704\n    END\n    POPUP \"Aj&uda\"\n    BEGIN\n        MENUITEM \"&Contedo\",                   1801\n        MENUITEM \"&Procurar Ajuda sobre...\",    30\n        MENUITEM \"Co&mo usar a Ajuda\",          1802\n        MENUITEM SEPARATOR\n        MENUITEM \"So&bre o Gerenciador de arquivos...\", 1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 12, 210, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Executar\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,4,6,159,10\n    CONTROL         \"&Linha de comando:\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,4,18,63,10\n    EDITTEXT        201,4,29,134,12,ES_AUTOHSCROLL\n    CONTROL         \"&Executar minimizado\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,4,45,78,12\n    DEFPUSHBUTTON   \"OK\",1,165,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,165,23,40,14\n    PUSHBUTTON      \"Aj&uda\",254,165,43,40,14\nEND\n\n11 DIALOG 20, 20, 240, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Imprimir\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,4,6,192,10\n    CONTROL         \"&Imprimir:\",-1,\"Static\",SS_LEFTNOWORDWRAP,4,21,30,10\n    EDITTEXT        102,36,19,151,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,4,36,190,10\n    DEFPUSHBUTTON   \"OK\",1,197,5,40,14\n    PUSHBUTTON      \"Cancelar\",2,197,22,40,14\n    PUSHBUTTON      \"Aj&uda\",254,197,43,40,14\nEND\n\n12 DIALOG 20, 20, 246, 118\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Associar\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"A&rquivos com extenso:\",-1,6,7,79,8\n    COMBOBOX        315,89,5,44,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Associar com:\",-1,6,28,55,10\n    EDITTEXT        304,6,42,172,12,ES_AUTOHSCROLL\n    LISTBOX         314,6,54,172,62,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"&Procurar...\",318,128,24,50,14\n    DEFPUSHBUTTON   \"OK\",1,184,7,50,14,WS_GROUP\n    PUSHBUTTON      \"Cancelar\",2,184,24,50,14\n    PUSHBUTTON      \"&Novo tipo...\",300,184,45,50,14\n    PUSHBUTTON      \"Al&terar tipo...\",251,184,62,50,14\n    PUSHBUTTON      \"&Excluir tipo\",219,184,79,50,14\n    PUSHBUTTON      \"Aj&uda\",254,184,96,50,14\nEND\n\n13 DIALOG 20, 20, 263, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Localizar\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Localizar:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,6,45,12\n    EDITTEXT        201,62,5,151,12,ES_AUTOHSCROLL\n    CONTROL         \"&Iniciar de:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,21,58,12\n    EDITTEXT        101,62,20,151,12,ES_AUTOHSCROLL\n    CONTROL         \"Locali&zar em todos as subpastas\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,61,35,130,12\n    DEFPUSHBUTTON   \"OK\",1,217,5,40,14\n    PUSHBUTTON      \"Cancelar\",2,217,22,40,14\n    PUSHBUTTON      \"Aj&uda\",254,217,40,40,14\nEND\n\n14 DIALOG 47, 59, 231, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Mover\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Pasta atual: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,180,10\n    CONTROL         \"&Para:\",2001,\"Static\",SS_LEFTNOWORDWRAP,3,33,20,10\n    EDITTEXT        103,37,32,138,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,49,72,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,76,49,107,10\n    DEFPUSHBUTTON   \"OK\",1,185,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,185,23,40,14\n    PUSHBUTTON      \"Aj&uda\",254,185,40,40,14\n    CONTROL         \"&De:\",2002,\"Static\",SS_LEFTNOWORDWRAP,3,19,20,10\n    EDITTEXT        102,37,18,138,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Excluir\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Pasta atual: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"&Excluir:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,35,10\n    EDITTEXT        102,40,19,155,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,37,46,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,53,37,142,10\n    DEFPUSHBUTTON   \"OK\",1,200,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,200,23,40,14\n    PUSHBUTTON      \"Aj&uda\",254,200,42,40,14\nEND\n\n16 DIALOG 23, 13, 294, 244\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Propriedades de %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,236,4,50,14,WS_GROUP\n    PUSHBUTTON      \"Cancelar\",2,236,21,50,14\n    PUSHBUTTON      \"Aj&uda\",254,236,39,49,14\n    CONTROL         \"&Nome de arquivo:\",261,\"Static\",SS_LEFTNOWORDWRAP,8,4,59,10\n    EDITTEXT        201,96,4,135,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Caminho:\",-1,\"Static\",SS_LEFTNOWORDWRAP,8,17,45,10\n    EDITTEXT        101,96,17,135,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"ltima alterao:\",-1,\"Static\",SS_LEFTNOWORDWRAP,8,30,56,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,96,30,135,10\n    CONTROL         \"Verso:\",258,\"Static\",SS_LEFTNOWORDWRAP,8,43,45,10\n    CONTROL         \"No assinalada\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,96,43,135,10\n    LTEXT           \"Cop&yright:\",-1,8,56,35,10\n    EDITTEXT        265,96,56,135,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Tamanho:\",260,\"Static\",SS_LEFTNOWORDWRAP,8,69,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,96,69,135,10\n    CONTROL         \"Tamanho compactado:\",268,\"Static\",SS_LEFTNOWORDWRAP,8,82,75,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,96,82,135,10\n    CONTROL         \"Razo de compactao:\",270,\"Static\",SS_LEFTNOWORDWRAP,8,95,74,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,96,95,135,10\n    GROUPBOX        \"Atributos\",-1,6,110,132,54\n    CONTROL         \"&Somente para leitura\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,11,121,80,12\n    CONTROL         \"&Oculto\",216,\"Button\",BS_AUTOCHECKBOX,93,122,36,12\n    CONTROL         \"&Arquivo\",217,\"Button\",BS_AUTOCHECKBOX,11,134,44,12\n    CONTROL         \"S&istema\",218,\"Button\",BS_AUTOCHECKBOX,93,136,37,12\n    CONTROL         \"Co&mpactado\",267,\"Button\",BS_AUTOCHECKBOX,11,148,52,12\n    GROUPBOX        \"In&formao sobre a verso\",262,6,168,279,72\n    LISTBOX         263,10,179,108,58,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,121,178,160,58,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 200, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Criar pasta\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,154,10\n    CONTROL         \"No&me:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,23,20,10\n    EDITTEXT        201,35,22,90,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,46,150,10\n    DEFPUSHBUTTON   \"OK\",1,157,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,157,23,40,14\n    PUSHBUTTON      \"Aj&uda\",254,157,43,40,14\nEND\n\n19 DIALOG 20, 20, 131, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Copiar disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Origem:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,25,10\n    COMBOBOX        245,37,6,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Destino:\",206,\"Static\",SS_LEFTNOWORDWRAP,5,22,28,10\n    COMBOBOX        222,37,20,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,87,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,87,23,40,14\n    PUSHBUTTON      \"Aj&uda\",254,87,43,40,14\nEND\n\n22 DIALOG 30, 30, 130, 59\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Copiando o disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Copiando disco na \",-1,0,5,130,10,NOT WS_GROUP\n    CTEXT           \"unidade A:\",222,0,15,130,10,NOT WS_GROUP\n    CTEXT           \"Lendo o disco de origem\",243,0,26,130,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Cancelar\",2,44,39,44,14\nEND\n\n23 DIALOG 20, 20, 161, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Nomear disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Nome:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,30,10\n    EDITTEXT        201,5,26,100,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,115,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,115,23,40,14\n    PUSHBUTTON      \"Aj&uda\",254,115,43,40,14\nEND\n\n24 DIALOG 11, 28, 185, 91\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formatar disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,138,5,40,14\n    PUSHBUTTON      \"Cancelar\",2,138,22,40,14\n    PUSHBUTTON      \"Aj&uda\",254,138,44,40,14\n    CONTROL         \"&Disco em:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,7,40,10\n    COMBOBOX        222,55,5,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Capacidade:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,22,44,10\n    COMBOBOX        241,55,20,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Opes\",102,5,39,115,47,WS_GROUP\n    CONTROL         \"&Nome:\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,51,26,10\n    EDITTEXT        201,38,49,76,12\n    CONTROL         \"&Formatao rpida\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,66,77,12\nEND\n\n26 DIALOG 30, 30, 150, 51\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formatando o disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Formatando o disco\",-1,0,5,150,10,NOT WS_GROUP\n    CTEXT           \"Inicializando a unidade...\",243,0,15,150,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Cancelar\",2,54,32,44,14\nEND\n\n30 DIALOG 20, 20, 216, 73\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Detalhes parciais\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Detalhes\",-1,4,2,155,68\n    CONTROL         \"&Tamanho\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,15,100,9\n    CONTROL         \"&Data da ltima modificao\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,25,114,9\n    CONTROL         \"&Hora da ltima modificao\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,35,110,9\n    CONTROL         \"&Atributos de arquivo\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,45,132,9\n    CONTROL         \"&Nomes de arquivos do MS-DOS\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,55,140,9\n    DEFPUSHBUTTON   \"OK\",1,173,5,38,14\n    PUSHBUTTON      \"Cancelar\",2,173,21,38,14\n    PUSHBUTTON      \"Aj&uda\",254,173,41,38,14\nEND\n\n32 DIALOG 20, 20, 157, 102\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Tipo de arquivo\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"No&me:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,23,10\n    EDITTEXT        201,37,6,62,12,ES_AUTOHSCROLL\n    GROUPBOX        \"Tipo de arquivo\",-1,5,20,94,62\n    CONTROL         \"&Pastas\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,31,60,12\n    CONTROL         \"P&rogramas\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,43,60,12\n    CONTROL         \"D&ocumentos\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,55,60,12\n    CONTROL         \"Outros &arquivos\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,64,12\n    CONTROL         \"Exibir arquivos ocultos ou de &sistema\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,5,85,133,12\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,110,22,40,14\n    PUSHBUTTON      \"Aj&uda\",254,110,41,40,14\nEND\n\n33 DIALOG 20, 20, 274, 96\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmao\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Confirmar\",-1,5,3,219,87,WS_TABSTOP\n    CONTROL         \"Excluir &arquivo\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,15,80,12\n    CONTROL         \"Excluir &pasta\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,27,80,12\n    CONTROL         \"&Substituir arquivo\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,39,92,12\n    CONTROL         \"Ao do &mouse\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,51,80,12\n    CONTROL         \"&Comandos para disco\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,63,80,12\n    CONTROL         \"Modi&ficar arquivos de sistema, ocultos e somente para leitura\",215,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,75,211,12\n    DEFPUSHBUTTON   \"OK\",1,230,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,230,23,40,14\n    PUSHBUTTON      \"Aj&uda\",254,230,42,40,14\nEND\n\n35 DIALOG 20, 20, 250, 46\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Movendo...\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,5,49,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,5,192,10\n    CONTROL         \"Para:\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,15,25,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,15,192,10\n    DEFPUSHBUTTON   \"Cancelar\",2,200,28,40,14,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 125, 58\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Imprimindo o arquivo...\",-1,2,6,120,12\n    CTEXT           \"\",-1,4,20,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"Cancelar\",2,44,40,40,14,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 194, 87\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Propriedades\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"%d arquivos selecionados.\",100,\"Static\",SS_LEFTNOWORDWRAP,5,6,185,10\n    CONTROL         \"Total %s bytes\",111,\"Static\",SS_LEFTNOWORDWRAP,5,18,142,10\n    GROUPBOX        \"Atributos\",-1,5,29,140,52\n    CONTROL         \"&Somente para leitura\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,39,84,12\n    CONTROL         \"&Oculto\",216,\"Button\",BS_AUTOCHECKBOX,102,39,38,12\n    CONTROL         \"&Arquivo\",217,\"Button\",BS_AUTOCHECKBOX,10,52,68,12\n    CONTROL         \"S&istema\",218,\"Button\",BS_AUTOCHECKBOX,102,52,38,12\n    CONTROL         \"&Compactado\",267,\"Button\",BS_AUTOCHECKBOX,10,65,52,12\n    DEFPUSHBUTTON   \"OK\",1,150,32,40,14,WS_GROUP\n    PUSHBUTTON      \"Cancelar\",2,150,49,40,14\n    PUSHBUTTON      \"Aj&uda\",254,150,67,40,14\nEND\n\n39 DIALOG 10, 20, 245, 107\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmar a substituio do arquivo\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Substituir arquivo:\",-1,\"Static\",SS_LEFTNOWORDWRAP,27,14,61,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,93,14,145,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,93,26,145,10\n    CONTROL         \"Pelo arquivo:\",-1,\"Static\",SS_LEFTNOWORDWRAP,27,36,47,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,93,36,145,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,93,48,145,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,58,203,25\n    DEFPUSHBUTTON   \"&Sim\",6,13,87,40,14\n    PUSHBUTTON      \"Sim para &todos\",107,66,87,60,14\n    PUSHBUTTON      \"&No\",7,139,87,40,14\n    PUSHBUTTON      \"Cancelar\",2,192,87,40,14\nEND\n\n40 DIALOG 10, 20, 245, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmar a excluso do arquivo\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,6,203,10\n    CONTROL         \"Excluir arquivo:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,21,55,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,84,21,156,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,33,203,23\n    DEFPUSHBUTTON   \"&Sim\",6,14,58,40,14\n    PUSHBUTTON      \"Sim para &todos\",107,67,58,58,14\n    PUSHBUTTON      \"&No\",7,138,58,40,14\n    PUSHBUTTON      \"Cancelar\",2,191,58,40,14\nEND\n\n41 DIALOG 10, 20, 245, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmar a excluso da pasta\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,6,203,10\n    CONTROL         \"Excluir pasta:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,21,57,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,84,21,156,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,33,211,24\n    DEFPUSHBUTTON   \"&Sim\",6,12,61,40,14\n    PUSHBUTTON      \"Sim para &todos\",107,64,61,64,14\n    PUSHBUTTON      \"&No\",7,140,61,40,14\n    PUSHBUTTON      \"Cancelar\",2,192,61,40,14\nEND\n\n42 DIALOG 10, 22, 245, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmar a movimentao do arquivo\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,26,7,203,10\n    CONTROL         \"Mover arquivo:\",-1,\"Static\",SS_LEFTNOWORDWRAP,26,22,51,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,22,161,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,26,34,203,23\n    DEFPUSHBUTTON   \"&Sim\",6,12,61,40,14\n    PUSHBUTTON      \"Sim para &todos\",107,64,61,65,14\n    PUSHBUTTON      \"&No\",7,141,61,40,14\n    PUSHBUTTON      \"Cancelar\",2,193,61,40,14\nEND\n\n43 DIALOG 10, 22, 245, 68\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmar a renomeao do arquivo\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Renomear arquivo:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,15,68,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,99,15,140,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,30,203,16\n    DEFPUSHBUTTON   \"&Sim\",6,13,48,40,14\n    PUSHBUTTON      \"Sim para &todos\",107,66,48,59,14\n    PUSHBUTTON      \"&No\",7,138,48,40,14\n    PUSHBUTTON      \"Cancelar\",2,191,48,40,14\nEND\n\n44 DIALOG 15, 12, 146, 80\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Selecionar arquivos\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"A&rquivos:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,60,10\n    EDITTEXT        201,5,29,60,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"&Selecionar\",1,76,5,65,14\n    PUSHBUTTON      \"&Cancelar seleo\",6,76,23,65,14\n    PUSHBUTTON      \"Cancelar\",2,76,41,65,14\n    PUSHBUTTON      \"Aj&uda\",254,76,60,65,14\nEND\n\n45 DIALOG 11, 31, 201, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Selecionar unidade\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Un&idades:\",245,\"Static\",SS_LEFTNOWORDWRAP,5,5,90,10\n    LISTBOX         222,5,16,140,60,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,155,6,40,14\n    PUSHBUTTON      \"Cancelar\",2,155,24,40,14\n    PUSHBUTTON      \"Aj&uda\",254,155,47,40,14\nEND\n\n46 DIALOG 11, 28, 250, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Selecionar nome de arquivo\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Este caminho no  compatvel com os nomes de arquivo no formato FAT.  Digite um novo nome.\",99,6,4,190,24,NOT WS_GROUP\n    RTEXT           \"&Novo nome:\",-1,5,55,45,12,NOT WS_GROUP\n    EDITTEXT        103,70,55,130,12\n    RTEXT           \"Caminho original:\",-1,4,38,62,12,NOT WS_GROUP\n    EDITTEXT        102,71,24,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \"Para a pasta:\",-1,5,25,59,11,NOT WS_GROUP\n    EDITTEXT        101,71,38,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"OK\",1,205,4,40,14\n    PUSHBUTTON      \"Cancelar\",2,205,20,40,14\n    PUSHBUTTON      \"Aj&uda\",254,205,36,40,14\nEND\n\n48 DIALOG 23, 13, 300, 112\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Propriedades de %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,244,3,50,14,WS_GROUP\n    PUSHBUTTON      \"Cancelar\",2,244,20,50,14\n    PUSHBUTTON      \"Aj&uda\",254,244,37,50,14\n    CONTROL         \"&Nome do arquivo:\",261,\"Static\",SS_LEFTNOWORDWRAP,4,5,71,10\n    EDITTEXT        201,70,5,166,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Caminho:\",-1,\"Static\",SS_LEFTNOWORDWRAP,4,16,51,10\n    EDITTEXT        101,70,16,167,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"ltima alterao:\",-1,\"Static\",SS_LEFTNOWORDWRAP,4,27,62,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,70,27,97,10\n    CONTROL         \"Tamanho:\",260,\"Static\",SS_LEFTNOWORDWRAP,4,38,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,70,38,90,10\n    GROUPBOX        \"Atributos\",-1,4,48,145,59\n    CONTROL         \"&Somente para leitura\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,60,80,12\n    CONTROL         \"&Oculto\",216,\"Button\",BS_AUTOCHECKBOX,95,60,49,12\n    CONTROL         \"&Arquivo\",217,\"Button\",BS_AUTOCHECKBOX,10,74,57,12\n    CONTROL         \"S&istema\",218,\"Button\",BS_AUTOCHECKBOX,95,74,49,12\n    CONTROL         \"Com&pactado\",267,\"Button\",BS_AUTOCHECKBOX,10,88,52,12\nEND\n\n49 DIALOG 13, 54, 264, 160\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Fonte\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Fo&nte:\",1088,6,3,40,9\n    COMBOBOX        1136,6,13,94,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Estilo da fonte:\",1089,108,3,54,9\n    COMBOBOX        1137,108,13,64,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Tamanho:\",1090,177,3,30,9\n    COMBOBOX        1138,177,13,37,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Efeitos\",1072,10,79,91,49,WS_GROUP\n    CONTROL         \"&Riscado\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,15,89,49,10\n    CONTROL         \"Su&blinhado\",1041,\"Button\",BS_AUTOCHECKBOX,15,101,51,10\n    CONTROL         \"Exibir as unidades &FAT em minsculas\",1042,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,7,135,138,10\n    CONTROL         \"Exibir todas as unidades em &minsculas\",1043,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,7,147,143,10\n    LTEXT           \"&Cor:\",1091,15,113,20,9\n    COMBOBOX        1139,36,113,60,48,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"OK\",1,218,4,40,14,WS_GROUP\n    PUSHBUTTON      \"Cancelar\",2,218,20,40,14,WS_GROUP\n    PUSHBUTTON      \"&Aplicar\",1026,218,36,40,14,WS_GROUP\n    PUSHBUTTON      \"Aj&uda\",1038,218,53,40,14,WS_GROUP\n    GROUPBOX        \"Exemplo\",1073,6,71,252,60,WS_GROUP\n    CTEXT           \"\",1093,8,137,1,2,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBbYyZz\",1092,10,82,243,42,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 77, 27, 160, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formatando o disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\",100,26,36,115,8\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,15,10,131,22\n    PUSHBUTTON      \"Ocultar\",110,36,46,40,14\n    PUSHBUTTON      \"Cancelar\",2,90,46,40,14\nEND\n\n51 DIALOG 10, 20, 260, 75\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmar: Ignorar o arquivo ou a pasta e continuar\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Acesso negado, ignorar:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,15,89,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,116,15,122,10\n    CONTROL         \"No tem permisso ou o arquivo est em uso.\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,30,230,10\n    CONTROL         \"Clique em Sim para ignorar este arquivo e continuar a operao.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,40,230,10\n    DEFPUSHBUTTON   \"&Sim\",6,17,55,40,14\n    PUSHBUTTON      \"Sim para &todos\",107,72,55,61,14\n    PUSHBUTTON      \"&No\",7,148,55,40,14\n    PUSHBUTTON      \"Cancelar\",2,203,55,40,14\nEND\n\n52 DIALOG 10, 20, 245, 72\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Confirmar: Ignorar o arquivo ou a pasta e continuar\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"No foi possvel ter acesso ao destino, ignorar:\",202,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,11,215,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,60,22,123,10\n    CONTROL         \"Clique em Sim para ignorar este arquivo e continuar a operao.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,34,215,10\n    DEFPUSHBUTTON   \"&Sim\",6,13,52,40,14\n    PUSHBUTTON      \"Sim para &todos\",107,66,52,59,14\n    PUSHBUTTON      \"&No\",7,138,52,40,14\n    PUSHBUTTON      \"Cancelar\",2,191,52,40,14\nEND\n\n53 DIALOG 77, 109, 200, 74\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Localizando no disco\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Localizar:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,5,60,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,67,5,120,10\n    CONTROL         \"Iniciando de:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,17,58,10\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,67,17,120,10\n    CONTROL         \"Pastas lidas:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,29,61,10\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,67,29,100,10\n    CONTROL         \"Encontrados:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,41,60,10\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,67,41,100,10\n    PUSHBUTTON      \"Ocultar\",110,58,55,40,14\n    PUSHBUTTON      \"Cancelar\",2,106,55,40,14\nEND\n\n54 DIALOG 20, 20, 288, 56\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Copiar para rea de transferncia\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Pasta atual: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"&Copiar para rea de transferncia:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,120,10\n    EDITTEXT        102,126,19,107,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,241,4,40,14\n    PUSHBUTTON      \"Cancelar\",2,241,20,40,14\n    PUSHBUTTON      \"Aj&uda\",254,241,38,40,14\nEND\n\n55 DIALOG 18, 14, 325, 223\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Alterar tipo de arquivo\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Tipo de ar&quivo:\",302,5,5,55,8\n    EDITTEXT        301,70,3,95,12,ES_AUTOHSCROLL\n    GROUPBOX        \"&Ao: \",-1,5,22,257,130,WS_GROUP\n    COMBOBOX        306,33,21,48,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"Co&mando:\",313,11,40,38,8\n    EDITTEXT        304,77,38,120,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"&Procurar...\",318,203,37,53,14\n    CONTROL         \"U&sar DDE\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,56,52,10\n    LTEXT           \"Mensagem &DDE:\",320,9,70,59,8\n    EDITTEXT        309,76,68,149,12,ES_AUTOHSCROLL\n    LTEXT           \"Mensa&gem DDE quando o aplicativo no  executado:\",322,9,83,64,24\n    LTEXT           \"(opcional)\",324,227,99,32,8\n    EDITTEXT        311,76,97,149,12,ES_AUTOHSCROLL\n    LTEXT           \"Aplicati&vo:\",321,9,117,38,8\n    EDITTEXT        310,76,115,149,12,ES_AUTOHSCROLL\n    LTEXT           \"&Tpico:\",323,9,135,29,8\n    EDITTEXT        312,76,133,149,12,ES_AUTOHSCROLL\n    LTEXT           \"&Nova extenso:\",-1,20,186,52,9\n    EDITTEXT        315,80,184,32,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"Adi&cionar ->\",303,123,176,49,14\n    PUSHBUTTON      \"<- &Remover\",219,123,193,49,14\n    LTEXT           \"&Extenses:\",-1,184,162,41,8\n    LISTBOX         317,183,172,65,44,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Extenses associadas ao tipo de arquivo:\",316,5,156,257,61\n    DEFPUSHBUTTON   \"OK\",1,270,5,50,14\n    PUSHBUTTON      \"Cancelar\",2,270,22,50,14\n    PUSHBUTTON      \"Aj&uda\",254,270,41,50,14\nEND\n\n57 DIALOG 123, 60, 293, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Compactao de arquivos\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Arquivo a ser compactado:\",-1,6,8,87,8\n    LTEXT           \"nomedoarquivo.xxx\",341,139,8,90,8\n    LTEXT           \"Pasta:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,138,20,150,8\n    LTEXT           \"Pastas compactadas:\",-1,6,32,102,8\n    LTEXT           \"1.888.888.999\",343,139,32,60,8\n    LTEXT           \"Arquivos compactados:\",-1,6,44,87,8\n    LTEXT           \"1.888.888.999\",344,139,44,58,8\n    LTEXT           \"Tamanho total antes da compactao:\",-1,6,56,167,8\n    LTEXT           \"9.999.999.999.999\",345,139,55,68,8\n    LTEXT           \"Tamanho total depois da compactao:\",-1,6,68,164,8\n    LTEXT           \"9.999.999.999.999\",346,139,68,68,8\n    LTEXT           \"Razo de compactao do arquivo:\",-1,6,80,126,8\n    LTEXT           \"100%\",347,139,80,27,8\n    PUSHBUTTON      \"Cancelar\",2,123,97,45,14\nEND\n\n58 DIALOG 114, 62, 197, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Descompactao de arquivos\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Arquivo a ser descompactado:\",-1,6,8,99,8\n    LTEXT           \"nomedoarquivo.xxx\",351,110,8,66,8\n    LTEXT           \"Pasta:\",-1,6,20,39,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",352,45,20,144,8\n    LTEXT           \"Pastas descompactadas:\",-1,6,32,91,8\n    LTEXT           \"1.999.999.999\",353,110,32,70,8\n    LTEXT           \"Arquivos descompactados:\",-1,6,44,86,8\n    LTEXT           \"1.999.999.999\",354,110,44,78,8\n    PUSHBUTTON      \"Cancelar\",2,74,64,49,14\nEND\n\n59 DIALOG 11, 28, 245, 70\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Erro na compactao\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,8,8,21,20\n    LTEXT           \"\",100,35,8,190,37\n    DEFPUSHBUTTON   \"&Ignorar\",5,28,50,40,14,WS_GROUP\n    PUSHBUTTON      \"Ignorar &todos\",112,73,50,53,14\n    PUSHBUTTON      \"&Repetir\",4,131,50,40,14\n    PUSHBUTTON      \"&Anular\",3,176,50,40,14\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY, SHIFT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT\n    VK_F4,          1702,                   VIRTKEY, SHIFT\n    VK_F5,          1704,                   VIRTKEY \n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII   \n    VK_ADD,         301,                    VIRTKEY \n    \"*\",            302,                    ASCII   \n    VK_MULTIPLY,    302,                    VIRTKEY \n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL\n    \"-\",            304,                    ASCII   \n    VK_SUBTRACT,    304,                    VIRTKEY \n    VK_RETURN,      110,                    VIRTKEY, ALT\n    VK_F2,          2000,                   VIRTKEY \nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"CUR300.CUR\"\n\n\n301                     CURSOR                  \"CUR301.CUR\"\n\n\n302                     CURSOR                  \"CUR302.CUR\"\n\n\n303                     CURSOR                  \"CUR303.CUR\"\n\n\n306                     CURSOR                  \"CUR306.CUR\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ICO200.ICO\"\n\n\n201                     ICON                    \"ICO201.ICO\"\n\n\n202                     ICON                    \"ICO202.ICO\"\n\n\n204                     ICON                    \"ICO204.ICO\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,318\n PRODUCTVERSION 4,0,1381,318\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"041604B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"Gerenciador de arquivos\"\n            VALUE \"FileVersion\", \"4.00\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"Copyright (C) Microsoft Corp. 1981-1996\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"Sistema operacional Microsoft(R) Windows NT(TM)\"\n            VALUE \"ProductVersion\", \"4.00\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0x416, 1200\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"Copiar Disco\"\n    51                      \"Insira o disco de destino.\"\n    52                      \"Insira o disco de origem.\"\n    53                      \"Insira os discos de origem e de destino.\"\n    54                      \"Formatando disco de destino\"\n    55                      \"Erro de cpia de disco\"\n    56                      \"No foi possvel copiar o disco.\"\n    58                      \"Os discos de origem e de destino no so compatveis.\"\n    60                      \"%d%% completado\"\n    61                      \"Criando a pasta raiz...\"\n    62                      \"Copiando os arquivos de sistema...\"\n    63                      \"Erro na formatao do disco\"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \"Formatao completa.\"\n    67                      \"Espao em disco total:%ld bytes\\nEspao em disco disponvel:%ld bytes\\n\\nDeseja formatar outro disco?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"Erro na rede\"\n    83                      \"Esta unidade contm os arquivos do sistema do Windows e no pode ser desconectada.\"\n    91                      \"O Gerenciador de arquivos no pde alterar os atributos. \"\n    92                      \"O Gerenciador de arquivos no pde criar uma pasta. \"\n    93                      \"O Gerenciador de arquivos no pode nomear o disco.\\n\\nCertifique-se de que o disco no est protegido contra gravao, no  uma unidade de rede e que o nome  vlido.\\nNomes no podem conter os caracteres: \\n[espao]*?/\\\\|.,;:+=[ ] ( ) & ^ <> \"\" \"\n    95                      \"Nenhum arquivo correspondente foi encontrado.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \"O contedo desta unidade foi alterado. Voc deseja atualizar a janela Resultados da localizao?\"\n    98                      \"O logon nesta estao de trabalho deve ser feito como administrador para realizar a operao nos discos rgidos.\"\n    101                     \"Unidade %c:%c\"\n    110                     \"No  possvel executar o programa\"\n    111                     \"Erro inesperado: %d.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"Memria insuficiente para iniciar o aplicativo especificado.\\n\\nFeche um ou mais aplicativos e tente novamente.\"\n    113                     \"O Gerenciador de arquivos no pde localizar o arquivo especificado (ou um dos seus componentes).\\n\\nVerifique se o caminho e o nome do arquivo esto corretos, e se todas as bibliotecas solicitadas esto disponveis.\"\n    114                     \"O caminho especificado no  vlido.\"\n    116                     \"Nenhum aplicativo est associado a este arquivo.\\n\\nEscolha 'Associar' do menu 'Arquivo' para criar uma associao.\"\n    118                     \"O Gerenciador de arquivos no pde abrir ou imprimir o arquivo.\\n\\nInicie o aplicativo utilizado para criar este arquivo e ento abra ou imprima o arquivo a partir dele.\"\n    120                     \"Confirmar Operao do Mouse\"\n    121                     \"Tem certeza de que deseja copiar os arquivos ou as pastas selecionadas para %s?\"\n    122                     \"Tem certeza de que deseja mover os arquivos ou as pastas selecionadas para %s?\"\n    123                     \"Tem certeza de que deseja iniciar %s usando %s como arquivo inicial?\"\n    124                     \"Gerenciador de arquivos\"\n    126                     \"rvore de pastas\"\n    127                     \"Resultado da localizao: \"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \"Muitos arquivos\"\n    133                     \"Gerenciador de arquivos sem memria\"\n    134                     \"No foi possvel ler toda a pasta. Somente uma lista parcial ser exibida.\"\n    140                     \"Pasta atual: %s\"\n    141                     \"Copiar\"\n    143                     \"Renomear\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"Formatar Disco\"\n    146                     \"Selecione o disco a ser formatado.\"\n    150                     \"Criando:\"\n    151                     \"Removendo...\"\n    152                     \"Copiando:\"\n    153                     \"Renomeando...\"\n    154                     \"Movendo...\"\n    155                     \"Excluindo...\"\n    156                     \"Imprimindo: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"Copiando...\"\n    170                     \"Removendo:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \"Total %d arquivo(s) (%s)\"\n    181                     \"Pastas lidas: %d \"\n    182                     \"%c: Livres: %s Total: %s\"\n    183                     \"%d arquivo(s) encontrado(s)\"\n    185                     \"os arquivos selecionados\"\n    186                     \"O Gerenciador de arquivos no pode desconectar a unidade de rede.\\n\\nExistem arquivos abertos nesta unidade.\"\n    187                     \"%d arquivo(s) selecionado(s) (%s)\"\n    188                     \"No h disco na unidade %c.\\n\\nInsira um disco e tente novamente.\"\n    189                     \"O disco na unidade %c no est formatado.\\n\\nDeseja format-lo agora?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"Espao em disco insuficiente para a impresso.\\n\\nExclua um ou mais arquivos para aumentar o espao em disco e tente novamente.\"\n    193                     \"Memria insuficiente para a impresso.\\n\\nFeche um ou mais aplicativos e tente novamente.\"\n    194                     \"Ocorreu um erro durante a impresso.\\n\\nVerifique se a impressora foi selecionada e configurada de forma apropriada.\"\n    195                     \"A rvore de pastas no foi completamente exibida.\"\n    197                     \"A unidade de destino est cheia.\\n\\nInsira um novo disco para continuar.\"\n    198                     \"Este  um arquivo de sistema, oculto ou somente para leitura.\"\n    199                     \"O Gerenciador de arquivos no pode executar uma formatao rpida.\\n\\nContinuar com formatao normal?\"\n    203                     \"Ocorreu um erro no envio do comando para o aplicativo.\"\n    204                     \"No foi possvel carregar a biblioteca solicitada para a operao.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \"Pastas compa&rtilhadas...\"\n    210                     \"A formatao apagar TODOS os dados do disco. Tem certeza de que deseja formatar o disco na unidade %c?\"\n    211                     \"Confirmar Formatao do Disco\"\n    212                     \"Esta operao apagar TODOS os dados do disco de destino. Tem certeza de que deseja continuar?\"\n    213                     \"Confirmar cpia de disco\"\n    214                     \"&Fechar\"\n    215                     \"Fechar\"\n    218                     \"A pasta %s no existe.\\n\\nDeseja cri-la?\"\n    219                     \"Programas#*.exe;*.pif;*.com;*.bat#Todos os arquivos (*.*)#*.*#\"\n    220                     \"Procurar\"\n    221                     \"Executar\"\n    222                     \"No foi possvel imprimir o arquivo.\"\n    223                     \"No foi possvel exibir as informaes da Ajuda.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"Arquivos com a extenso %s so programas e no podem ser associados a outro aplicativo.\"\n    225                     \"%s no  um programa e no pode ser associado a uma extenso de arquivo.\"\n    226                     \"(Nenhum)\"\n    227                     \"Nenhum arquivo foi encontrado.\"\n    228                     \"O Gerenciador de arquivos no pode imprimir mltiplos arquivos.\\n\\nSelecione somente um arquivo e tente novamente.\"\n    230                     \"Um dos arquivos da biblioteca necessrio para executar este aplicativo est danificado. Instale novamente este aplicativo.\"\n    231                     \"Este arquivo est sendo utilizado por outro aplicativo.\"\n    232                     \"Poder no ser possvel ao Gerenciador de arquivos ter acesso aos arquivos criados na pasta \"\"%s\"\".\\n\\nDeseja continuar?\"\n    233                     \"Criar pasta\"\n    234                     \"%ld bytes\"\n    235                     \"%s bytes\"\n    236                     \"O Gerenciador de arquivos no pode copiar vrios arquivos ou pastas para a rea de transferncia.\\n\\nSelecione somente um arquivo e tente novamente.\"\n    237                     \"%s - %s\"\n    238                     \"Unidade:\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"Mapeia a unidade de rede\"\n    241                     \"Desconecta a unidade de rede\"\n    242                     \"Conexes de rede\"\n    243                     \"Compartilha uma pasta\"\n    244                     \"Finaliza o compartilhamento de uma pasta\"\n    245                     \"Exibe todos os detalhes dos arquivos\"\n    246                     \"Exibe somente o nome\"\n    247                     \"Classifica os arquivos por nome\"\n    248                     \"Classifica os arquivos por tipo\"\n    249                     \"Classifica os arquivos por tamanho\"\n    250                     \"Classifica os arquivos por data\"\n    251                     \"Nova Janela\"\n    252                     \"Copiar arquivos\"\n    253                     \"Mover arquivos\"\n    254                     \"&Nome da pasta:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"A unidade de rede no est disponvel.\"\n    259                     \"Compartilhado como %s\"\n    260                     \"No compartilhado\"\n    261                     \"Excluir arquivos\"\n    262                     \" - COMPACTADO\"\n    263                     \"Copiando arquivos para %s\"\n    264                     \"Movendo arquivos para %s\"\n    265                     \"Executando arquivos com %s\"\n    266                     \"%s bytes\"\n    267                     \"%sKB\"\n    268                     \"%sMB\"\n    269                     \"%sGB\"\n    270                     \"%sTB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \"Voc no tem permisso para ter acesso a esta pasta.\"\n    281                     \"Voc no tem permisso para ter acesso a este arquivo.\"\n    283                     \"A unidade %c: est ocupada e no se pode ter acesso a ela.\\nO Gerenciador de arquivos est copiando o disco.\"\n    284                     \"A unidade %c: est ocupada e no se pode ter acesso a ela.\\nO Gerenciador de arquivos est formatando o disco.\"\n    285                     \"Operao incompleta.\"\n    286                     \"No foi possvel finalizar a operao em todos os arquivos e pastas.\"\n    287                     \"No  possvel ler a pasta\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"A pasta no existe.\"\n    289                     \"No  possvel mapear a unidade de rede\"\n    290                     \"No  possvel localizar o nome da rede.\"\n    292                     \"Sim para todos' afeta todos os arquivos, incluindo arquivos de sistema, ocultos e somente para leitura.\"\n    294                     \"Abrir\"\n    295                     \"Imprimir\"\n    298                     \"Adicionar extenso\"\n    299                     \"A extenso '%s' est associada a '%s'. Deseja continuar e sobrescrever a associao?\"\n    300                     \"Editor de associao de arquivos\"\n    301                     \"No foi possvel associar a extenso. \"\n    302                     \"No foi possvel excluir a extenso. \"\n    303                     \"No foi possvel adicionar o tipo de arquivo. \"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"No foi possvel excluir o tipo de arquivo. \"\n    305                     \"No foi possvel ler o tipo de arquivo. \"\n    306                     \"A opo 'Tipo de arquivo' deve ser preenchida. Digite um novo tipo de arquivo.\"\n    307                     \"No foi possvel gerar um identificador exclusivo baseado neste tipo de arquivo. Digite um novo tipo de arquivo.\"\n    308                     \"Excluir Tipo de Arquivo\"\n    309                     \"A operao excluir o tipo de arquivo e todas as extenses associadas. Tem certeza de que deseja excluir '%s'?\"\n    312                     \"O tipo de arquivo deve ter um comando para pelo menos uma das aes. Digite um aplicativo no campo de comando.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"Novo Tipo de Arquivo\"\n    321                     \"Copiando Disco\"\n    322                     \"Localizando...\"\n    324                     \"O Gerenciador de arquivos est formatando um disco. Sair do Gerenciador anular a operao.\"\n    325                     \"O Gerenciador de arquivos est copiando um disco. Sair do Gerenciador anular a operao.\"\n    326                     \"Porcentagem completa\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360 KB\"\n    354                     \"1%s2 MB\"\n    355                     \"720 KB\"\n    356                     \"1%s44 MB\"\n    357                     \"2%s88 MB\"\n    358                     \"Capacidade da unidade\"\n    359                     \"O Gerenciador de arquivos no pde obter informao do disco.\\n\\nVerifique se o disco est na unidade.\"\n    360                     \"20%s8 MB\"\n    361                     \"Tipo de disco desconhecido\"\n    362                     \"Tipo de disco desconhecido\"\n    363                     \"O tipo de disco na unidade %s no pode ser formatado com o Gerenciador de arquivos. Use o Administrador de Disco para format-lo.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"Sistema de arquivos incompatvel.\"\n    401                     \"Acesso negado.\"\n    402                     \"O disco est protegido contra gravao.\"\n    403                     \"O Gerenciador de arquivos no pde proteger o volume.\"\n    404                     \"O Gerenciador de arquivos no pde executar uma formatao rpida do disco.\\n\\nVerifique se o disco tem a densidade adequada.\"\n    405                     \"Erro de E/S no disco de origem.\"\n    406                     \"Erro de E/S no disco de destino.\"\n    407                     \"Erro de E/S no disco de origem e de destino.\"\n    408                     \"Ocorreu um erro de E/S.\"\n    411                     \"O Gerenciador de arquivos no pode formatar o disco.\\n\\nVerifique se o disco est na unidade, se no est danificado, se tem a densidade apropriada e no est protegido contra gravao.\"\n    412                     \"O Gerenciador de arquivos no pode nomear o disco.\\n\\nO nome especificado no  vlido. Certifique-se de que o nome no contm nenhum dos seguintes caracteres:\\n\\n[espao] * ? / \\\\ | . , : ; + = [ ] ( ) & ^ < > \"\" \"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \"Abrindo...\"\n    421                     \"Fechando...\"\n    422                     \"Muitas janelas de pastas esto abertas.\\n\\nFeche uma ou mais janelas e tente novamente.\"\n    423                     \"Formatao rpida...\"\n    424                     \"No foi possvel inicializar o suporte de atualizao em segundo plano. O Gerenciador de arquivos finalizar a sesso. \"\n    425                     \"Inicializao do Gerenciador de arquivos\"\n    426                     \"Lendo a pasta, aguarde...\"\n    427                     \"Deseja compactar todos os arquivos e subpastas em %s?\"\n    428                     \"Deseja descompactar todos os arquivos e subpastas em %s?\"\n    429                     \"O Gerenciador de arquivos no pode alterar os atributos de compactao para %s.\"\n    430                     \"O arquivo %s no pode ser compactado. Compactar este arquivo tornar seu sistema no-inicializvel.\"\n    431                     \"O Gerenciador de arquivos est em processo de compactao/descompactao de arquivos.\\nVoc deve esperar at que isto seja concludo antes de tentar compactar/descompactar arquivos adicionais.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"Comentrios\"\n    501                     \"Nome da empresa\"\n    502                     \"Descrio do arquivo\"\n    503                     \"Nome interno\"\n    504                     \"Marcas registradas\"\n    505                     \"Nome original do arquivo\"\n    506                     \"Descrio particular\"\n    507                     \"Nome do produto\"\n    508                     \"Verso do produto\"\n    509                     \"Descrio especial\"\n    510                     \"Idioma\"\n    511                     \"Idiomas\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"&Mapear unidade de rede...\"\n    801                     \"&Desconectar unidade de rede...\"\n    802                     \"Conexes de &rede...\"\n    803                     \"C&ompartilhar como...\"\n    804                     \"F&inalizar compartilhamento...\"\n    805                     \"E&xibir pastas compartilhadas...\"\n    806                     \"&Recuperar...\"\n    807                     \"Abrir nova &janela ao mapear\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \"Erro ao mover o arquivo\"\n    1002                    \"Erro ao copiar o arquivo\"\n    1003                    \"Erro ao excluir o arquivo\"\n    1004                    \"Erro ao renomear o arquivo\"\n    1005                    \"Erro ao selecionar a unidade\"\n    1006                    \"Erro ao ler a pasta\"\n    1007                    \"Erro ao nomear o disco\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"O Gerenciador de arquivos no pde mover %s: %s\"\n    1012                    \"O Gerenciador de arquivos no pde copiar %s: %s\"\n    1013                    \"O Gerenciador de arquivos no pde excluir %s: %s\"\n    1014                    \"O Gerenciador de arquivos no pde renomear %s: %s\"\n    1021                    \"O Gerenciador de arquivos no pde criar a pasta %s: %s\"\n    1022                    \"O Gerenciador de arquivos no pde remover a pasta %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"O Gerenciador de arquivos no pde criar ou substituir %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"A origem e o destino so iguais.\"\n    1102                    \"Selecione somente um arquivo para ser renomeado ou utilize caracteres curinga (por exemplo, *.TXT) para renomear um grupo de arquivos com nomes similares.\"\n    1103                    \"No se pode renomear um arquivo para uma outra pasta ou disco.\\nUse o comando Mover no menu Arquivo.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"No  possvel renomear a pasta raiz.\"\n    1105                    \"A pasta de destino  uma subpasta da pasta de origem.\"\n    1106                    \"Arquivo sendo utilizado pelo Windows.\"\n    1107                    \"Especifique somente um arquivo ou pasta na caixa Para ou, se voc desejar especificar um grupo de arquivos, utilize os caracteres curinga (por exemplo, *.TXT).\"\n    1108                    \"O nome do arquivo ou da pasta j existe. O nome deve ser exclusivo dentro de uma mesma pasta.\"\n    1109                    \"Certifique-se de que o caminho e o nome do arquivo esto corretamente especificados.\"\n    1110                    \"Verifique se o caminho est especificado corretamente.\"\n    1111                    \"Feche um ou mais aplicativos e tente de novo. Pode-se tambm utilizar a opo Sistemas no Painel de controle para aumentar a memria virtual.\"\n    1113                    \"Desative a proteo contra gravao deste disco ou utilize outro disco e tente novamente.\"\n    1114                    \"Verifique se possui as permisses de rede corretas para realizar a operao.\"\n    1115                    \"Exclua um ou mais arquivos para aumentar o espao em disco e tente novamente.\"\n    1116                    \"Nenhum dado foi detectado neste meio.\"\n    1117                    \"A pasta j existe.\"\n    1118                    \"O nome especificado j est sendo utilizado por um arquivo.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"Disco incorreto na unidade.\"\n    1151                    \"No  possvel executar o aplicativo no modo Windows NT.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \"O sistema operacional no pode executar este componente.\"\n    1153                    \"No  possvel executar o componente no modo Windows NT.\"\n    1154                    \"Este programa no  um aplicativo vlido para Windows NT.\"\n    1155                    \"Ocorreu um erro. No h mensagem para este erro.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \"Rs[(&F):\"\n    2001                    \"Rs[(&T):\"\n    2002                    \"̖O(&F):\"\n    2003                    \"VO(&T):\"\n    2004                    \"Rs[:\"\n    2005                    \"̃tHg?gpƊ?̕\\\\?\\nłȂȂ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"Comandos para trabalhar com arquivos\"\n    3985                    \"Comandos para trabalhar com discos\"\n    3986                    \"Comandos para trabalhar com a janela de pastas\"\n    3987                    \"Comandos para definir como a informao ser apresentada\"\n    3988                    \"Comandos para definir opes\"\n    3989                    \"Comandos para controlar a segurana de arquivos e pastas\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"Comandos para organizar janelas\"\n    4001                    \"Comandos para exibir a Ajuda do Gerenciador de arquivos\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"Localiza um tpico na Ajuda do Gerenciador de arquivos\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \"Abre o item selecionado\"\n    4102                    \"Imprime um documento\"\n    4103                    \"Associa um arquivo a um aplicativo\"\n    4104                    \"Localiza arquivos e pastas\"\n    4105                    \"Inicia ou abre um aplicativo ou documento\"\n    4106                    \"Move o item selecionado\"\n    4107                    \"Copia arquivos e pastas\"\n    4108                    \"Exclui arquivos e pastas\"\n    4109                    \"Renomeia um arquivo ou pasta\"\n    4110                    \"Define os atributos do arquivo e exibe as suas propriedades\"\n    4111                    \"Cria uma pasta\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"Sai do Gerenciador de arquivos\"\n    4116                    \"Seleciona arquivos e pastas\"\n    4117                    \"Recupera arquivos anteriormente excludos\"\n    4118                    \"Copia um arquivo para a rea de transferncia\"\n    4119                    \"Compacta arquivos ou pastas\"\n    4120                    \"Descompacta arquivos ou pastas\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"Copia o contedo de um disquete\"\n    4202                    \"Atribui ou altera o nome de um disco\"\n    4203                    \"Formata um disquete\"\n    4205                    \"Mapeia uma unidade de rede\"\n    4206                    \"Desconecta a unidade de rede\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"Seleciona uma unidade diferente\"\n    4254                    \"Compartilha uma pasta\"\n    4255                    \"Finaliza o compartilhamento de uma pasta\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"Exibe outro nvel de uma pasta\"\n    4302                    \"Exibe todos os nveis de uma pasta\"\n    4303                    \"Exibe todos os nveis de todas as pastas\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \"Oculta todas as subpastas de uma pasta selecionado\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \"Exibe somente os nomes dos arquivos\"\n    4402                    \"Exibe todos os detalhes dos arquivos\"\n    4403                    \"Exibe detalhes parciais dos arquivos\"\n    4404                    \"Classifica arquivos por nome\"\n    4405                    \"Classifica arquivos por tipo\"\n    4406                    \"Classifica arquivos por tamanho\"\n    4407                    \"Classifica arquivos por data\"\n    4409                    \"Exibe os arquivos de um tipo especfico\"\n    4411                    \"Exibe a rvore de pastas\"\n    4412                    \"Exibe o contedo da pasta atual\"\n    4413                    \"Exibe a rvore de pastas e o contedo da pasta atual\"\n    4414                    \"Divide uma janela de pastas ou move a barra de diviso\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"Controla as mensagens de confirmao\"\n    4503                    \"Exibe ou oculta a barra de status\"\n    4504                    \"Reduz o Gerenciador de arquivos a um cone ao iniciar\"\n    4505                    \"Indica as pastas que possuem subpastas\"\n    4507                    \"Exibe ou oculta a barra de unidades\"\n    4508                    \"Exibe ou oculta a barra de ferramentas\"\n    4509                    \"Abre uma nova janela ao mapear\"\n    4510                    \"Altera a fonte a ser usada no Gerenciador de arquivos\"\n    4511                    \"Salva as configuraes ao sair do Gerenciador de arquivos\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"Personaliza a barra de ferramentas\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"Exibe ou define informaes de permisses nos itens selecionados\"\n    4606                    \"Exibe ou define informaes de auditoria nos itens selecionados\"\n    4607                    \"Exibe ou se apropria dos itens selecionados\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"Em cascata\"\n    5702                    \"Lado a lado verticalmente\"\n    5703                    \"Lado a lado horizontalmente\"\n    5704                    \"Atualiza o contedo de uma janela\"\n    5705                    \"Organiza os cones\"\n    5706                    \"Abre uma nova janela\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"Exibe o contedo da Ajuda do Gerenciador de arquivos\"\n    5802                    \"Exibe informaes sobre o uso da Ajuda\"\n    5803                    \"Exibe informaes sobre o Gerenciador de arquivos\"\nEND\n\n#endif    // Portuguese (Brazil) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/origrc/winfile.ru-RU.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Russian (Russia) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)\nLANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT\n#pragma code_page(1251)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"BMP100.BMP\"\n\n\n101                     BITMAP                  \"BMP101.BMP\"\n\n\n102                     BITMAP                  \"BMP102.BMP\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"&Файл\"\n    BEGIN\n        MENUITEM \"&Открыть\\tEnter\",             101\n        MENUITEM \"П&ереместить...\\tF7\",         106\n        MENUITEM \"&Копировать...\\tF8\",          107\n        MENUITEM \"Копировать в &буфер...\\tF9\",  118\n        MENUITEM \"&Удалить...\\tDel\",            108\n        MENUITEM \"Переи&меновать...\",           109\n        MENUITEM \"Сво&йства...\\tAlt+Enter\",     110\n        MENUITEM SEPARATOR\n        MENUITEM \"С&жать...\",                   119\n        MENUITEM \"&Развернуть...\",              120\n        MENUITEM SEPARATOR\n        MENUITEM \"&Выполнить...\",               105\n        MENUITEM \"&Печать...\",                  102\n        MENUITEM \"&Сопоставить...\",             103\n        MENUITEM SEPARATOR\n        MENUITEM \"Созд&ать каталог...\",         111\n        MENUITEM \"&Найти...\",                   104\n        MENUITEM \"Выде&лить...\",                116\n        MENUITEM SEPARATOR\n        MENUITEM \"В&ыход\",                      115\n    END\n    POPUP \"&Диск\"\n    BEGIN\n        MENUITEM \"&Копировать...\",              201\n        MENUITEM \"&Метка...\",                   202\n        MENUITEM SEPARATOR\n        MENUITEM \"&Форматировать...\",           203\n        MENUITEM SEPARATOR\n        MENUITEM \"&Выбрать...\",                 251\n    END\n    POPUP \"&Каталоги\"\n    BEGIN\n        MENUITEM \"&Раскрыть уровень\\t+\",        301\n        MENUITEM \"Р&аскрыть ветвь\\t*\",          302\n        MENUITEM \"Раскрыть &все\\tCtrl+*\",       303\n        MENUITEM \"&Свернуть ветвь\\t-\",          304\n        MENUITEM SEPARATOR\n        MENUITEM \"&Обозначить подкаталоги\",     505\n    END\n    POPUP \"&Вид\"\n    BEGIN\n        MENUITEM \"&Структура и содержимое\",     413\n        MENUITEM \"Т&олько структура\",           411\n        MENUITEM \"Только содер&жимое\",          412\n        MENUITEM SEPARATOR\n        MENUITEM \"&Граница областей\",           414\n        MENUITEM SEPARATOR\n        MENUITEM \"Только и&мена файлов\",        401\n        MENUITEM \"&Полные сведения\",            402, CHECKED\n        MENUITEM \"&Выбранные сведения...\",      403\n        MENUITEM SEPARATOR\n        MENUITEM \"Сортировать по &имени\",       404\n        MENUITEM \"Сортировать по &типу\",        405\n        MENUITEM \"Сортировать по ра&змеру\",     406\n        MENUITEM \"Сортировать по дат&е\",        407\n        MENUITEM SEPARATOR\n        MENUITEM \"Типы &файлов...\",             409\n    END\n    POPUP \"&Параметры\"\n    BEGIN\n        MENUITEM \"&Подтверждение...\",           501\n        MENUITEM \"&Шрифт...\",                   510\n        MENUITEM \"&Настройка панели инструментов...\", 512\n        MENUITEM SEPARATOR\n        MENUITEM \"Панель &инструментов\",        508\n        MENUITEM \"Панель дис&ков\",              507\n        MENUITEM \"&Строка состояния\",           503\n        MENUITEM SEPARATOR\n        MENUITEM \"Свертывать при &запуске\",     504\n        MENUITEM \"Со&хранять настройку при выходе\", 511\n    END\n    POPUP \"&Безопасность\"\n    BEGIN\n        MENUITEM \"Разре&шения...\",              605\n        MENUITEM \"&Аудит...\",                   606\n        MENUITEM \"&Владелец...\",                607\n    END\n    POPUP \"&Окно\"\n    BEGIN\n        MENUITEM \"Созд&ать\",                    1706\n        MENUITEM \"&Каскадом\\tShift+F5\",         1701\n        MENUITEM \"С&верху вниз\",                1703\n        MENUITEM \"&Слева направо\\tShift+F4\",    1702\n        MENUITEM \"&Упорядочить значки\",         1705\n        MENUITEM \"О&бновить\\tF5\",               1704\n    END\n    POPUP \"&?\"\n    BEGIN\n        MENUITEM \"&Содержание\",                 1801\n        MENUITEM \"&Найти...\",                   30\n        MENUITEM \"По&льзование справкой\",       1802\n        MENUITEM SEPARATOR\n        MENUITEM \"&О программе...\",             1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 12, 255, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Запуск программы\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,6,6,191,10\n    CONTROL         \"&Командная строка:\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,6,18,86,10\n    EDITTEXT        201,6,29,188,12,ES_AUTOHSCROLL\n    CONTROL         \"&Выполнять в свернутом окне\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,45,152,12\n    DEFPUSHBUTTON   \"ОК\",1,205,6,44,14\n    PUSHBUTTON      \"Отмена\",2,205,23,44,14\n    PUSHBUTTON      \"&Справка\",254,205,43,44,14\nEND\n\n11 DIALOG 20, 20, 280, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Печать\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,6,6,215,10\n    CONTROL         \"&Печатать:\",-1,\"Static\",SS_LEFTNOWORDWRAP,6,20,42,10\n    EDITTEXT        102,48,18,174,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,6,36,215,10\n    DEFPUSHBUTTON   \"ОК\",1,230,6,44,14\n    PUSHBUTTON      \"Отмена\",2,230,23,44,14\n    PUSHBUTTON      \"&Справка\",254,230,43,44,14\nEND\n\n12 DIALOG 20, 20, 260, 119\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Сопоставление типа файлов и приложения\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Расширению имен файлов:\",-1,6,7,112,10\n    COMBOBOX        315,130,5,60,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"Со&поставить тип и приложение:\",-1,6,30,122,10\n    EDITTEXT        304,6,42,184,12,ES_AUTOHSCROLL\n    LISTBOX         314,11,54,179,52,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"Об&зор...\",318,130,24,60,14\n    DEFPUSHBUTTON   \"ОК\",1,200,6,53,14,WS_GROUP\n    PUSHBUTTON      \"Отмена\",2,200,23,53,14\n    PUSHBUTTON      \"&Новый тип...\",300,200,42,53,14\n    PUSHBUTTON      \"Из&менить...\",251,200,59,53,14\n    PUSHBUTTON      \"&Удалить\",219,200,76,53,14\n    PUSHBUTTON      \"&Справка\",254,200,95,53,14\nEND\n\n13 DIALOG 20, 20, 280, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Поиск\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Образец &имени:\",-1,\"Static\",SS_LEFTNOWORDWRAP,6,7,60,10\n    EDITTEXT        201,69,5,152,12,ES_AUTOHSCROLL\n    CONTROL         \"&Начальный путь:\",-1,\"Static\",SS_LEFTNOWORDWRAP,6,22,61,10\n    EDITTEXT        101,69,20,152,12,ES_AUTOHSCROLL\n    CONTROL         \"&Просмотреть подкаталоги\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,69,36,147,12\n    DEFPUSHBUTTON   \"ОК\",1,230,5,44,14\n    PUSHBUTTON      \"Отмена\",2,230,23,44,14\n    PUSHBUTTON      \"&Справка\",254,230,43,44,14\nEND\n\n14 DIALOG 47, 59, 290, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Перемещение\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Текущий каталог: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,6,6,227,10\n    CONTROL         \"&Конечный файл/каталог:\",2001,\"Static\",SS_LEFTNOWORDWRAP,6,34,88,10\n    EDITTEXT        103,95,32,138,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,6,49,88,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,95,49,138,10\n    DEFPUSHBUTTON   \"ОК\",1,240,6,44,14\n    PUSHBUTTON      \"Отмена\",2,240,23,44,14\n    PUSHBUTTON      \"&Справка\",254,240,40,44,14\n    CONTROL         \"&Исходный файл/каталог:\",2002,\"Static\",SS_LEFTNOWORDWRAP,6,20,88,10\n    EDITTEXT        102,95,18,138,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 280, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Удаление\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Текущий каталог: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,6,5,215,10\n    CONTROL         \"&Удалить:\",-1,\"Static\",SS_LEFTNOWORDWRAP,6,21,39,10\n    EDITTEXT        102,47,19,174,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,6,35,39,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,47,35,174,10\n    DEFPUSHBUTTON   \"ОК\",1,230,6,44,14\n    PUSHBUTTON      \"Отмена\",2,230,23,44,14\n    PUSHBUTTON      \"&Справка\",254,230,40,44,14\nEND\n\n16 DIALOG 23, 13, 270, 229\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Свойства: %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"ОК\",1,196,6,68,14,WS_GROUP\n    PUSHBUTTON      \"Отмена\",2,196,23,68,14\n    PUSHBUTTON      \"&Справка\",254,196,40,68,14\n    CONTROL         \"И&мя файла:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,55,10\n    EDITTEXT        201,72,5,119,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Путь:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,72,16,119,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Изменен:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,66,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,72,27,119,10\n    CONTROL         \"Версия:\",258,\"Static\",SS_LEFTNOWORDWRAP,5,38,45,10\n    CONTROL         \"Не указана\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,72,38,119,10\n    LTEXT           \"А&вторские права:\",-1,5,49,65,10\n    EDITTEXT        265,72,49,119,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Размер:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,60,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,72,60,119,10\n    CONTROL         \"После сжатия:\",268,\"Static\",SS_LEFTNOWORDWRAP,5,71,60,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,72,71,119,10\n    CONTROL         \"Степень сжатия:\",270,\"Static\",SS_LEFTNOWORDWRAP,5,82,63,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,72,82,119,10\n    GROUPBOX        \"Атрибуты\",-1,4,96,150,54\n    CONTROL         \"Только &чтение\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,108,68,12\n    CONTROL         \"Скр&ытый\",216,\"Button\",BS_AUTOCHECKBOX,91,108,56,12\n    CONTROL         \"&Архивный\",217,\"Button\",BS_AUTOCHECKBOX,9,120,52,12\n    CONTROL         \"С&истемный\",218,\"Button\",BS_AUTOCHECKBOX,91,120,60,12\n    CONTROL         \"С&жатый\",267,\"Button\",BS_AUTOCHECKBOX,9,132,73,12\n    GROUPBOX        \"Св&едения о версии\",262,4,155,260,70\n    LISTBOX         263,9,168,91,54,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,110,168,148,50,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 220, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Создание каталога\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,6,6,158,10\n    CONTROL         \"&Имя:\",-1,\"Static\",SS_LEFTNOWORDWRAP,6,24,23,10\n    EDITTEXT        201,30,22,133,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,6,46,157,10\n    DEFPUSHBUTTON   \"ОК\",1,170,6,44,14\n    PUSHBUTTON      \"Отмена\",2,170,23,44,14\n    PUSHBUTTON      \"&Справка\",254,170,43,44,14\nEND\n\n19 DIALOG 20, 20, 165, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Копирование диска\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Исходный диск:\",-1,\"Static\",SS_LEFTNOWORDWRAP,6,8,59,10\n    COMBOBOX        245,66,6,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Конечный диск:\",206,\"Static\",SS_LEFTNOWORDWRAP,6,22,59,10\n    COMBOBOX        222,66,20,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"ОК\",1,115,6,44,14\n    PUSHBUTTON      \"Отмена\",2,115,23,44,14\n    PUSHBUTTON      \"&Справка\",254,115,43,44,14\nEND\n\n22 DIALOG 30, 30, 130, 55\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Копирование диска\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Копирование диска в \",-1,0,5,130,10,NOT WS_GROUP\n    CTEXT           \"устройстве A:\",222,0,15,130,10,NOT WS_GROUP\n    CTEXT           \"Чтение исходного диска\",243,0,26,130,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Отмена\",2,44,38,44,14\nEND\n\n23 DIALOG 20, 20, 170, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Метка диска\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Метка:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,38,10\n    EDITTEXT        201,5,26,108,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"ОК\",1,120,6,44,14\n    PUSHBUTTON      \"Отмена\",2,120,23,44,14\n    PUSHBUTTON      \"&Справка\",254,120,43,44,14\nEND\n\n24 DIALOG 11, 28, 200, 96\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Форматирование диска\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"ОК\",1,150,6,44,14\n    PUSHBUTTON      \"Отмена\",2,150,23,44,14\n    PUSHBUTTON      \"&Справка\",254,150,43,44,14\n    CONTROL         \"&Устройство:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,7,46,10\n    COMBOBOX        222,52,4,83,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Емкость:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,20,46,10\n    COMBOBOX        241,52,19,83,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Параметры\",102,5,39,136,53,WS_GROUP\n    CONTROL         \"&Метка:\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,51,39,10\n    EDITTEXT        201,52,49,83,12\n    CONTROL         \"&Быстрое форматирование\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,64,116,12\nEND\n\n26 DIALOG 30, 30, 150, 50\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Форматирование\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Идет форматирование диска\",-1,0,5,150,10,NOT WS_GROUP\n    CTEXT           \"Инициализация устройства...\",243,0,17,150,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Отмена\",2,54,30,44,14\nEND\n\n30 DIALOG 20, 20, 207, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Выбор отображаемых сведений\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Сведения\",-1,6,4,142,74\n    CONTROL         \"&Размер\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,13,15,132,12\n    CONTROL         \"&Дата последнего изменения\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,13,27,132,12\n    CONTROL         \"&Время последнего изменения\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,13,39,132,12\n    CONTROL         \"&Атрибуты файла\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,13,51,132,12\n    CONTROL         \"&Имена файлов MS-DOS\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,13,63,132,12\n    DEFPUSHBUTTON   \"ОК\",1,157,8,44,14\n    PUSHBUTTON      \"Отмена\",2,157,25,44,14\n    PUSHBUTTON      \"&Справка\",254,157,42,44,14\nEND\n\n32 DIALOG 20, 20, 200, 102\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Выбор типов файлов\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Образец имени:\",-1,\"Static\",SS_LEFTNOWORDWRAP,6,8,64,10\n    EDITTEXT        201,75,6,65,12,ES_AUTOHSCROLL\n    GROUPBOX        \"Типы файлов\",-1,6,20,135,62\n    CONTROL         \"&Каталоги\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,12,31,95,12\n    CONTROL         \"&Программы\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,12,43,95,12\n    CONTROL         \"&Документы\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,12,55,95,12\n    CONTROL         \"Про&чие файлы\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,12,67,95,12\n    CONTROL         \"Скр&ытые/системные файлы\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,85,135,12\n    DEFPUSHBUTTON   \"ОК\",1,150,6,44,14\n    PUSHBUTTON      \"Отмена\",2,150,23,44,14\n    PUSHBUTTON      \"&Справка\",254,150,43,44,14\nEND\n\n33 DIALOG 20, 20, 240, 92\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Подтверждение\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Запрашивать подтверждение на\",-1,6,3,228,64,WS_TABSTOP\n    CONTROL         \"удаление &файлов\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,12,15,105,12\n    CONTROL         \"удаление &каталогов\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,12,27,105,12\n    CONTROL         \"&замену файлов\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,12,39,105,12\n    CONTROL         \"действия &мышью\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,137,15,86,12\n    CONTROL         \"&действия с дисками\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,137,27,86,12\n    CONTROL         \"&изменение файлов системных/скрытых/только для чтения\",215,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,12,51,216,12\n    DEFPUSHBUTTON   \"ОК\",1,38,72,44,14\n    PUSHBUTTON      \"Отмена\",2,98,72,44,14\n    PUSHBUTTON      \"&Справка\",254,158,72,44,14\nEND\n\n35 DIALOG 20, 20, 250, 46\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Перемещение...\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,5,49,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,5,192,10\n    CONTROL         \"в:\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,15,25,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,15,192,10\n    DEFPUSHBUTTON   \"Отмена\",2,103,28,44,14,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 120, 58\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Печать файла...\",-1,0,6,120,12\n    CTEXT           \"\",-1,0,20,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"Отмена\",2,38,40,44,14,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 206, 88\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Свойства\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Выделено файлов: %d\",100,\"Static\",SS_LEFTNOWORDWRAP,5,5,144,10\n    CONTROL         \"Всего байт: %s\",111,\"Static\",SS_LEFTNOWORDWRAP,5,16,144,10\n    GROUPBOX        \"Атрибуты\",-1,5,29,144,54\n    CONTROL         \"Только &чтение\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,40,73,12\n    CONTROL         \"Скр&ытый\",216,\"Button\",BS_AUTOCHECKBOX,88,40,58,12\n    CONTROL         \"&Архивный\",217,\"Button\",BS_AUTOCHECKBOX,10,52,73,12\n    CONTROL         \"С&истемный\",218,\"Button\",BS_AUTOCHECKBOX,88,52,58,12\n    CONTROL         \"С&жатый\",267,\"Button\",BS_AUTOCHECKBOX,10,64,73,12\n    DEFPUSHBUTTON   \"ОК\",1,156,6,44,14,WS_GROUP\n    PUSHBUTTON      \"Отмена\",2,156,23,44,14\n    PUSHBUTTON      \"&Справка\",254,156,43,44,14\nEND\n\n39 DIALOG 10, 20, 276, 107\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Подтверждение замены файла\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,18,20\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,33,3,235,10\n    CONTROL         \"Заменить файл:\",-1,\"Static\",SS_LEFTNOWORDWRAP,33,12,61,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,92,12,176,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,92,22,176,10\n    CONTROL         \"Файлом:\",-1,\"Static\",SS_LEFTNOWORDWRAP,33,34,49,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,92,34,176,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,92,44,176,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,33,56,235,22\n    DEFPUSHBUTTON   \"&Да\",6,15,87,55,14\n    PUSHBUTTON      \"Да для &всех\",107,80,87,55,14\n    PUSHBUTTON      \"&Нет\",7,145,87,55,14\n    PUSHBUTTON      \"Отмена\",2,210,87,55,14\nEND\n\n40 DIALOG 10, 20, 285, 71\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Подтверждение удаления файла\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,21,20\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,33,4,248,10\n    CONTROL         \"Удалить файл:\",-1,\"Static\",SS_LEFTNOWORDWRAP,33,16,55,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,89,16,191,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,33,28,246,22\n    DEFPUSHBUTTON   \"&Да\",6,15,52,55,14\n    PUSHBUTTON      \"Да для &всех\",107,80,52,55,14\n    PUSHBUTTON      \"&Нет\",7,145,52,55,14\n    PUSHBUTTON      \"Отмена\",2,210,52,55,14\nEND\n\n41 DIALOG 10, 20, 285, 71\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Подтверждение удаления каталога\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,18,20\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,33,4,247,10\n    CONTROL         \"Удалить каталог:\",-1,\"Static\",SS_LEFTNOWORDWRAP,33,16,65,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,98,16,182,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,33,28,246,22\n    DEFPUSHBUTTON   \"&Да\",6,15,52,55,14\n    PUSHBUTTON      \"Да для &всех\",107,80,52,55,14\n    PUSHBUTTON      \"&Нет\",7,145,52,55,14\n    PUSHBUTTON      \"Отмена\",2,210,52,55,14\nEND\n\n42 DIALOG 10, 22, 285, 71\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Подтверждение перемещения файла\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,18,20\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,33,4,250,10\n    CONTROL         \"Переместить файл:\",-1,\"Static\",SS_LEFTNOWORDWRAP,33,16,71,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,105,16,175,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,33,28,247,22\n    DEFPUSHBUTTON   \"&Да\",6,15,52,55,14\n    PUSHBUTTON      \"Да для &всех\",107,80,52,55,14\n    PUSHBUTTON      \"&Нет\",7,145,52,55,14\n    PUSHBUTTON      \"Отмена\",2,210,52,55,14\nEND\n\n43 DIALOG 10, 22, 285, 71\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Подтверждение переименования файла\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,18,20\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,33,4,250,10\n    CONTROL         \"Переименовать файл:\",-1,\"Static\",SS_LEFTNOWORDWRAP,33,16,80,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,114,16,167,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,33,28,247,22\n    DEFPUSHBUTTON   \"&Да\",6,15,52,55,14\n    PUSHBUTTON      \"Да для &всех\",107,80,52,55,14\n    PUSHBUTTON      \"&Нет\",7,145,52,55,14\n    PUSHBUTTON      \"Отмена\",2,210,52,55,14\nEND\n\n44 DIALOG 15, 12, 150, 82\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Выделение файлов\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Файл(ы):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,60,10\n    EDITTEXT        201,5,29,60,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"&Выделить\",1,72,6,72,14\n    PUSHBUTTON      \"Сн&ять выделение\",6,72,23,72,14\n    PUSHBUTTON      \"Отмена\",2,72,40,72,14\n    PUSHBUTTON      \"&Справка\",254,72,63,72,14\nEND\n\n45 DIALOG 11, 31, 205, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Выбор диска\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Диски:\",245,\"Static\",SS_LEFTNOWORDWRAP,5,5,41,10\n    LISTBOX         222,5,16,140,60,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"ОК\",1,155,6,44,14\n    PUSHBUTTON      \"Отмена\",2,155,23,44,14\n    PUSHBUTTON      \"&Справка\",254,155,44,44,14\nEND\n\n46 DIALOG 11, 28, 259, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Выбор имени файла\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Указанный путь не соответствует формату имен файлов FAT. Введите новое имя.\",99,5,4,190,24,NOT WS_GROUP\n    RTEXT           \"&Новое имя:\",-1,4,56,64,12,NOT WS_GROUP\n    EDITTEXT        103,73,55,130,12\n    RTEXT           \"Исходный путь:\",-1,4,28,64,11,NOT WS_GROUP\n    EDITTEXT        102,73,28,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \"Конечный путь:\",-1,4,42,64,11,NOT WS_GROUP\n    EDITTEXT        101,73,42,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"ОК\",1,209,4,44,14\n    PUSHBUTTON      \"Отмена\",2,209,20,44,14\n    PUSHBUTTON      \"&Справка\",254,209,36,44,14\nEND\n\n48 DIALOG 23, 13, 260, 119\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Свойства: %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"ОК\",1,187,6,66,14,WS_GROUP\n    PUSHBUTTON      \"Отмена\",2,187,23,66,14\n    PUSHBUTTON      \"&Справка\",254,187,43,66,14\n    CONTROL         \"И&мя файла:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,44,10\n    EDITTEXT        201,50,5,131,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"&Путь:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,44,10\n    EDITTEXT        101,50,16,131,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Изменен:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,44,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,50,27,131,10\n    CONTROL         \"Размер:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,38,44,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,50,38,131,10\n    GROUPBOX        \"Атрибуты\",-1,4,52,173,54\n    CONTROL         \"Только &чтение\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,64,74,12\n    CONTROL         \"Скр&ытый\",216,\"Button\",BS_AUTOCHECKBOX,91,64,68,12\n    CONTROL         \"&Архивный\",217,\"Button\",BS_AUTOCHECKBOX,9,76,74,12\n    CONTROL         \"С&истемный\",218,\"Button\",BS_AUTOCHECKBOX,91,76,68,12\n    CONTROL         \"С&жатый\",267,\"Button\",BS_AUTOCHECKBOX,9,88,74,12\nEND\n\n49 DIALOG 13, 54, 290, 154\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Выбор шрифта\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Шрифт:\",1088,6,3,40,9\n    COMBOBOX        1136,6,13,103,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Начертание:\",1089,115,3,44,9\n    COMBOBOX        1137,115,13,80,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Размер:\",1090,200,3,30,9\n    COMBOBOX        1138,200,13,27,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Атрибуты\",1072,6,73,103,62,WS_GROUP\n    CONTROL         \"&Зачеркнутый\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,15,83,73,10\n    CONTROL         \"Под&черкнутый\",1041,\"Button\",BS_AUTOCHECKBOX,15,95,73,10\n    CONTROL         \"С&трочные буквы для дисков FAT\",1042,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,115,127,149,10\n    CONTROL         \"Строчные &буквы для всех дисков\",1043,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,115,139,149,10\n    LTEXT           \"Ц&вет:\",1091,15,107,30,9\n    COMBOBOX        1139,15,117,85,50,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"ОК\",1,235,6,47,14,WS_GROUP\n    PUSHBUTTON      \"Отмена\",2,235,23,47,14,WS_GROUP\n    PUSHBUTTON      \"При&менить\",1026,235,40,47,14,WS_GROUP\n    PUSHBUTTON      \"&Справка\",1038,235,57,47,14,WS_GROUP\n    GROUPBOX        \"Образец\",1073,115,72,167,49,WS_GROUP\n    CTEXT           \"\",1093,10,137,1,2,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBbБбФф\",1092,121,82,155,34,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 77, 27, 160, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Форматирование диска\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\",100,15,36,131,8\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,15,10,131,22\n    PUSHBUTTON      \"Скрыть\",110,28,48,44,14\n    PUSHBUTTON      \"Отмена\",2,88,48,44,14\nEND\n\n51 DIALOG 10, 20, 280, 76\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Подтверждение: пропустить файл или каталог и продолжить\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,18,20\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,33,3,242,10\n    CONTROL         \"Нет доступа, пропустить:\",202,\"Static\",SS_LEFTNOWORDWRAP,33,15,86,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,124,15,150,10\n    CONTROL         \"Нет разрешения на доступ или файл уже используется.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,33,27,241,10\n    CONTROL         \"Выберите ''Да'' для пропуска файла и продолжения выполнения.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,33,39,241,10\n    DEFPUSHBUTTON   \"&Да\",6,15,54,55,14\n    PUSHBUTTON      \"Да для &всех\",107,77,54,55,14\n    PUSHBUTTON      \"&Нет\",7,139,54,55,14\n    PUSHBUTTON      \"Отмена\",2,201,54,55,14\nEND\n\n52 DIALOG 10, 20, 280, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Подтверждение: пропустить файл или каталог и продолжить\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,18,20\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,33,3,242,10\n    CONTROL         \"Нет доступа, пропустить:\",202,\"Static\",SS_LEFTNOWORDWRAP,33,15,86,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,124,15,151,10\n    CONTROL         \"Выберите ''Да'' для пропуска файла и продолжения выполнения.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,33,27,241,10\n    DEFPUSHBUTTON   \"&Да\",6,11,44,55,14\n    PUSHBUTTON      \"Да для &всех\",107,73,44,55,14\n    PUSHBUTTON      \"&Нет\",7,135,44,55,14\n    PUSHBUTTON      \"Отмена\",2,197,44,55,14\nEND\n\n53 DIALOG 77, 109, 190, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Поиск на диске\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Образец имени:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,5,64,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,94,5,91,10\n    CONTROL         \"Начальный путь:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,64,10\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,94,15,91,10\n    CONTROL         \"Просмотрено каталогов:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,25,88,10\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,94,25,91,10\n    CONTROL         \"Результаты поиска:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,35,81,10\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,94,35,91,10\n    PUSHBUTTON      \"Скрыть\",110,47,47,44,14\n    PUSHBUTTON      \"Отмена\",2,103,47,44,14\nEND\n\n54 DIALOG 20, 20, 256, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Копирование в буфер\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Текущий каталог: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,6,5,193,10\n    CONTROL         \"Копировать в &буфер:\",-1,\"Static\",SS_LEFTNOWORDWRAP,6,21,76,10\n    EDITTEXT        102,83,19,115,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"ОК\",1,206,6,44,14\n    PUSHBUTTON      \"Отмена\",2,206,23,44,14\n    PUSHBUTTON      \"&Справка\",254,206,43,44,14\nEND\n\n55 DIALOG 18, 14, 335, 224\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Изменение типа файла\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Тип файлов:\",302,6,6,46,8\n    EDITTEXT        301,53,4,95,12,ES_AUTOHSCROLL\n    GROUPBOX        \"&Команда:    \",-1,6,22,273,126,WS_GROUP\n    COMBOBOX        306,53,20,95,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"Ко&мандная строка:\",313,11,42,69,8\n    EDITTEXT        304,82,40,130,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"Об&зор...\",318,223,38,44,14\n    CONTROL         \"&Использовать DDE\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,11,57,90,10\n    LTEXT           \"Соо&бщение DDE:\",320,23,71,81,8\n    EDITTEXT        309,112,69,100,12,ES_AUTOHSCROLL\n    LTEXT           \"Сооб&щение DDE (приложение неактивно):\",322,23,84,89,19\n    LTEXT           \"(необязательно)\",324,217,90,59,8\n    EDITTEXT        311,112,87,100,12,ES_AUTOHSCROLL\n    LTEXT           \"&Приложение:\",321,23,108,54,8\n    EDITTEXT        310,112,106,100,12,ES_AUTOHSCROLL\n    LTEXT           \"Д&окумент:\",323,24,126,46,8\n    EDITTEXT        312,112,124,100,12,ES_AUTOHSCROLL\n    LTEXT           \"&Новое расширение:\",-1,12,182,73,10\n    EDITTEXT        315,87,181,32,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"&Добавить ->\",303,133,172,52,14\n    PUSHBUTTON      \"<- &Удалить\",219,133,189,52,14\n    LTEXT           \"&Расширения:\",-1,197,162,67,8\n    LISTBOX         317,197,172,65,29,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Расширения, связанные с типом файлов:\",316,6,154,273,60\n    DEFPUSHBUTTON   \"ОК\",1,286,6,44,14\n    PUSHBUTTON      \"Отмена\",2,286,23,44,14\n    PUSHBUTTON      \"&Справка\",254,286,40,44,14\nEND\n\n57 DIALOG 123, 60, 207, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Ход сжатия файлов\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Идет сжатие файла:\",-1,6,8,79,8\n    LTEXT           \"filename.xxx\",341,86,8,116,8\n    LTEXT           \"Каталог:\",-1,6,20,36,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,86,20,116,8\n    LTEXT           \"Сжато каталогов:\",-1,6,32,79,8\n    LTEXT           \"1 888 888 999\",343,86,32,60,8\n    LTEXT           \"Сжато файлов:\",-1,6,44,79,8\n    LTEXT           \"1 888 888 999\",344,86,44,60,8\n    LTEXT           \"Объем до сжатия:\",-1,6,56,79,8\n    LTEXT           \"9 999 999 999 999\",345,86,56,68,8\n    LTEXT           \"Объем после сжатия:\",-1,6,68,79,8\n    LTEXT           \"9 999 999 999 999\",346,86,68,68,8\n    LTEXT           \"Степень сжатия:\",-1,6,80,79,8\n    LTEXT           \"100%\",347,86,80,27,8\n    PUSHBUTTON      \"Отмена\",2,79,97,48,14\nEND\n\n58 DIALOG 114, 62, 207, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Снятие сжатия с файлов\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Снимается сжатие с файла:\",-1,6,8,99,8\n    LTEXT           \"filename.xxx\",351,106,8,94,8\n    LTEXT           \"Каталог:\",-1,6,20,35,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\",352,42,20,158,8\n    LTEXT           \"Развернуто каталогов:\",-1,6,32,83,8\n    LTEXT           \"1 999 999 999\",353,91,32,78,8\n    LTEXT           \"Развернуто файлов:\",-1,6,44,78,8\n    LTEXT           \"1 999 999 999\",354,91,44,78,8\n    PUSHBUTTON      \"Отмена\",2,79,64,48,14\nEND\n\n59 DIALOG 11, 28, 245, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Ошибка сжатия\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,8,8,21,20\n    LTEXT           \"\",100,35,8,203,20\n    DEFPUSHBUTTON   \"&Пропуск\",5,18,45,50,14,WS_GROUP\n    PUSHBUTTON      \"Пр&опустить все\",112,71,45,63,14\n    PUSHBUTTON      \"По&втор\",4,137,45,50,14\n    PUSHBUTTON      \"С&топ\",3,190,45,50,14\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY, SHIFT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT\n    VK_F4,          1702,                   VIRTKEY, SHIFT\n    VK_F5,          1704,                   VIRTKEY \n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII   \n    VK_ADD,         301,                    VIRTKEY \n    \"*\",            302,                    ASCII   \n    VK_MULTIPLY,    302,                    VIRTKEY \n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL\n    \"-\",            304,                    ASCII   \n    VK_SUBTRACT,    304,                    VIRTKEY \n    VK_RETURN,      110,                    VIRTKEY, ALT\n    VK_F2,          2000,                   VIRTKEY \nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"CUR300.CUR\"\n\n\n301                     CURSOR                  \"CUR301.CUR\"\n\n\n302                     CURSOR                  \"CUR302.CUR\"\n\n\n303                     CURSOR                  \"CUR303.CUR\"\n\n\n306                     CURSOR                  \"CUR306.CUR\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ICO200.ICO\"\n\n\n201                     ICON                    \"ICO201.ICO\"\n\n\n202                     ICON                    \"ICO202.ICO\"\n\n\n204                     ICON                    \"ICO204.ICO\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,318\n PRODUCTVERSION 4,0,1381,318\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"041904B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"Диспетчер файлов\"\n            VALUE \"FileVersion\", \"4.00\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"© Microsoft Corp. 1981-1996\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"Операционная система Microsoft® Windows NT™\"\n            VALUE \"ProductVersion\", \"4.00\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0x419, 1200\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"Копирование диска\"\n    51                      \"Вставьте конечный диск.\"\n    52                      \"Вставьте исходный диск.\"\n    53                      \"Вставьте исходный и конечный диски.\"\n    54                      \"Форматирование конечного диска\"\n    55                      \"Ошибка при копировании диска\"\n    56                      \"Копирование невозможно.\"\n    58                      \"Исходный и конечный диски несовместимы.\"\n    60                      \"%d%% завершено\"\n    61                      \"Создание корневого каталога...\"\n    62                      \"Копирование системных файлов...\"\n    63                      \"Ошибка при форматировании диска\"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \"Форматирование завершено\"\n    67                      \"Полный объем диска: %ld байт\\nСвободно: %ld байт\\n\\nФорматировать следующий диск?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"Сетевая ошибка\"\n    83                      \"Диск содержит системные файлы Windows и не может быть отключен.\"\n    91                      \"Изменение атрибутов невозможно. \"\n    92                      \"Не удается создать каталог. \"\n    93                      \"Создание метки диска невозможно.\\n\\nУбедитесь, что диск не защищен от записи и не является сетевым, а также проверьте правильность метки. В метках запрещается использовать следующие символы:\\n[пробел] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n    95                      \"Соответствующие образцу файлы не найдены.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \"Содержимое диска изменилось. Обновить окно результатов поиска?\"\n    98                      \"Для выполнения этой операции с жесткими дисками необходимо войти на рабочую станцию с правами администратора.\"\n    101                     \"Диск %c:%c\"\n    110                     \"Запуск программы невозможен\"\n    111                     \"Неопознанная ошибка: %d.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"Недостаточно памяти для запуска приложения.\\n\\nЗакройте ненужные приложения и повторите попытку.\"\n    113                     \"Диспетчеру файлов не удалось найти файл или один из его компонентов.\\n\\nПроверьте правильность ввода пути и имени файла, а также наличие необходимых библиотек.\"\n    114                     \"Указан неверный путь.\"\n    116                     \"Этому типу файлов не сопоставлено ни одно приложение.\\n\\nДля сопоставления приложения и типа файлов воспользуйтесь командой 'Сопоставить' из меню 'Файл'.\"\n    118                     \"Не удается открыть или напечатать файл.\\n\\nЗапустите приложение, в котором файл был создан, и выполните нужную операцию из приложения.\"\n    120                     \"Подтверждение действия с помощью мыши\"\n    121                     \"Копировать выбранные файлы или каталоги в каталог '%s'?\"\n    122                     \"Переместить выбранные файлы или каталоги в каталог '%s'?\"\n    123                     \"Запустить %s с исходным файлом %s?\"\n    124                     \"Диспетчер файлов\"\n    126                     \"Структура каталогов\"\n    127                     \"Результаты поиска: \"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \"Слишком много файлов\"\n    133                     \"Диспетчер файлов: недостаточно памяти\"\n    134                     \"Не удается прочитать каталог полностью. Только часть каталога будет отображена.\"\n    140                     \"Текущий каталог: %s\"\n    141                     \"Копирование\"\n    143                     \"Переименование\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"Форматирование диска\"\n    146                     \"Укажите форматируемый диск.\"\n    150                     \"Создание:\"\n    151                     \"Удаление...\"\n    152                     \"Копирование:\"\n    153                     \"Переименование...\"\n    154                     \"Перемещение...\"\n    155                     \"Удаление...\"\n    156                     \"Печать: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"Копирование...\"\n    170                     \"Удаление:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \"Всего файлов: %d (%s)\"\n    181                     \"Найдено каталогов: %d \"\n    182                     \"%c: свободно %s; всего %s\"\n    183                     \"Найдено файлов: %d\"\n    185                     \"выделенные файлы\"\n    186                     \"Отключение сетевого диска невозможно.\\n\\nНа этом диске открыты файлы.\"\n    187                     \"Выделено файлов: %d (%s)\"\n    188                     \"В устройстве %c нет диска.\\n\\nВставьте диск и повторите попытку.\"\n    189                     \"Диск в устройстве %c не отформатирован.\\n\\nВыполнить его форматирование?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"Недостаточно места на диске для печати.\\n\\nУдалите ненужные файлы и повторите попытку.\"\n    193                     \"Недостаточно памяти для печати.\\n\\nЗакройте ненужные приложения и повторите попытку.\"\n    194                     \"Ошибка при печати.\\n\\nПроверьте правильность настройки принтера.\"\n    195                     \"Структура каталогов отображается не полностью\"\n    197                     \"Конечный диск полон. Для продолжения операции поместите в устройство другой диск.\"\n    198                     \"Файл является системным, скрытым или доступен только для чтения.\"\n    199                     \"Быстрое форматирование невозможно.\\n\\nВыполнить обычное форматирование?\"\n    203                     \"Ошибка при отправке команды в приложение.\"\n    204                     \"Не удается загрузить нужную библиотеку.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \"О&бщие каталоги...\"\n    210                     \"При форматировании ВСЕ данные на диске будут уничтожены. Форматировать диск в устройстве %c?\"\n    211                     \"Подтверждение форматирования диска\"\n    212                     \"Эта операция приведет к уничтожению ВСЕХ файлов на конечном диске. Продолжить?\"\n    213                     \"Подтверждение копирования диска\"\n    214                     \"&Закрыть\"\n    215                     \"Закрыть\"\n    218                     \"Каталог %s не существует.\\n\\nСоздать его?\"\n    219                     \"Программы#*.exe;*.pif;*.com;*.bat#Все файлы (*.*)#*.*#\"\n    220                     \"Обзор\"\n    221                     \"Выполнить\"\n    222                     \"Печать файла невозможна\"\n    223                     \"Не удается отобразить справку.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"Файлы с расширением %s являются программами и не могут быть сопоставлены другому приложению.\"\n    225                     \"Файл '%s' не является программой и не может быть сопоставлен для файлов с указанным расширением.\"\n    226                     \"(Нет)\"\n    227                     \"Файлы не найдены.\"\n    228                     \"Одновременная печать нескольких файлов не допускается.\\n\\nВыберите один файл и повторите попытку.\"\n    230                     \"Поврежден один из файлов, необходимых для запуска приложения. Переустановите приложение.\"\n    231                     \"Файл используется другим приложением.\"\n    232                     \"Доступ к файлам, созданным в каталоге '%s', может отсутствовать.\\n\\nПродолжить?\"\n    233                     \"Создание каталога\"\n    234                     \"%ld байт\"\n    235                     \"%s байт\"\n    236                     \"Копирование в буфер обмена нескольких файлов или целых каталогов не допускается.\\n\\nВыберите один файл и повторите попытку.\"\n    237                     \"%s - %s\"\n    238                     \"Диск:\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"Подключение сетевого диска\"\n    241                     \"Отключение сетевого диска\"\n    242                     \"Сетевые устройства\"\n    243                     \"Установка общего доступа к каталогу\"\n    244                     \"Прекращение общего доступа к каталогу\"\n    245                     \"Отображение полных сведений о файлах\"\n    246                     \"Отображение только имен файлов\"\n    247                     \"Сортировка по имени\"\n    248                     \"Сортировка по типу\"\n    249                     \"Сортировка по размеру\"\n    250                     \"Сортировка по дате\"\n    251                     \"Открытие нового окна\"\n    252                     \"Копирование файлов\"\n    253                     \"Перемещение файлов\"\n    254                     \"&Каталог:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"Сетевой диск недоступен.\"\n    259                     \"Сетевое имя: %s\"\n    260                     \"Нет совместного доступа\"\n    261                     \"Удаление файлов\"\n    262                     \" - УПЛОТНЕН\"\n    263                     \"Копирование файлов в '%s'\"\n    264                     \"Перемещение файлов в '%s'\"\n    265                     \"Запуск файлов с помощью '%s'\"\n    266                     \"%s байт\"\n    267                     \"%s Кбайт\"\n    268                     \"%s Мбайт\"\n    269                     \"%s Гбайт\"\n    270                     \"%s Тбайт\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \"Отсутствует разрешение на доступ к каталогу.\"\n    281                     \"Отсутствует разрешение на доступ к файлу.\"\n    283                     \"Диск %c: занят и недоступен.\\nВыполняется копирование диска.\"\n    284                     \"Диск %c: занят и недоступен.\\nВыполняется форматирование диска.\"\n    285                     \"Операция завершена не полностью\"\n    286                     \"Завершение операции для всех файлов и каталогов невозможно.\"\n    287                     \"Не удается прочитать каталог\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"Каталог не существует.\"\n    289                     \"Не удается подключить сетевой диск\"\n    290                     \"Не найдено сетевое имя.\"\n    292                     \"Кнопка \"\"Да для всех\"\" выполняет операцию для всех файлов, \\nвключая системные, скрытые и доступные только для чтения.\"\n    294                     \"Открыть\"\n    295                     \"Печать\"\n    298                     \"Добавить расширение\"\n    299                     \"Расширению '%s' в настоящее время сопоставлено приложение '%s'. Переопределить сопоставление?\"\n    300                     \"Редактор сопоставлений файлов\"\n    301                     \"Не удается сопоставить расширение. \"\n    302                     \"Не удается удалить расширение. \"\n    303                     \"Не удается добавить тип файла. \"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"Не удается удалить тип файла. \"\n    305                     \"Не удается прочитать тип файла. \"\n    306                     \"Описание типа файлов не может быть пусто. Введите новый тип файлов.\"\n    307                     \"Не удается создать уникальный идентификатор для типа файлов. Введите новый тип файлов.\"\n    308                     \"Удаление типа файлов\"\n    309                     \"Выполнение этой операции приведет к удалению типа файлов '%s' и всех сопоставленных ему расширений. Продолжить?\"\n    312                     \"Необходимо определить команду хотя бы для одного действия, связанного с типом файлов. Введите имя приложения в поле командной строки.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"Новый тип файлов\"\n    321                     \"Копирование диска\"\n    322                     \"Идет поиск...\"\n    324                     \"Выполняется форматирование диска. Выход из диспетчера файлов приведет к прерыванию этой операции.\"\n    325                     \"Выполняется копирование диска. Выход из диспетчера файлов приведет к прерыванию этой операции.\"\n    326                     \"Степень завершения\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360 Кбайт\"\n    354                     \"1%s2 Мбайт\"\n    355                     \"720 Кбайт\"\n    356                     \"1%s44 Мбайт\"\n    357                     \"2%s88 Мбайт\"\n    358                     \"Емкость диска\"\n    359                     \"Не удается получить сведения о диске.\\n\\nПроверьте наличие диска в дисководе.\"\n    360                     \"20%s8 Мбайт\"\n    361                     \"Неизвестный тип диска\"\n    362                     \"Неизвестный тип диска\"\n    363                     \"Диск в устройстве %s нельзя форматировать с помощью диспетчера файлов. Воспользуйтесь диспетчером дисков.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"Несовместимая файловая система.\"\n    401                     \"Нет доступа.\"\n    402                     \"Диск защищен от записи.\"\n    403                     \"Блокировка тома невозможна.\"\n    404                     \"Быстрое форматирование диска невозможно.\\n\\nПроверьте правильность емкости диска.\"\n    405                     \"Ошибка ввода/вывода для исходного диска.\"\n    406                     \"Ошибка ввода/вывода для конечного диска.\"\n    407                     \"Ошибка ввода/вывода для обоих дисков.\"\n    408                     \"Ошибка ввода/вывода.\"\n    411                     \"Форматирование диска невозможно.\\n\\nПроверьте наличие диска в дисководе, убедитесь, что он не защищен от записи, не поврежден и имеет нужную емкость.\"\n    412                     \"Создание метки диска невозможно.\\n\\nУказана недопустимая метка. В метках дисков запрещается использовать следующие символы:\\n[пробел] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \"Открытие...\"\n    421                     \"Закрытие...\"\n    422                     \"Открыто слишком много окон.\\n\\nЗакройте ненужные окна и повторите попытку.\"\n    423                     \"Быстрое форматирование...\"\n    424                     \"Инициализация поддержки фонового обновления невозможна. Диспетчер файлов прекращает работу. \"\n    425                     \"Инициализация диспетчера файлов\"\n    426                     \"Идет чтение каталога, немного подождите...\"\n    427                     \"Сжать также все файлы и подкаталоги в %s?\"\n    428                     \"Развернуть также все сжатые файлы и подкаталоги в %s?\"\n    429                     \"Изменение атрибутов сжатия для %s невозможно.\"\n    430                     \"Файл %s сжат не будет, так как при этом система перестанет загружаться.\"\n    431                     \"Проводится сжатие или развертывание файлов.\\nНеобходимо дождаться завершения этой операции перед обработкой дополнительных файлов.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"Заметки\"\n    501                     \"Производитель\"\n    502                     \"Описание файла\"\n    503                     \"Внутреннее имя\"\n    504                     \"Товарные знаки\"\n    505                     \"Исходное имя файла\"\n    506                     \"Вариант\"\n    507                     \"Название продукта\"\n    508                     \"Версия продукта\"\n    509                     \"Дополнительные сведения\"\n    510                     \"Язык\"\n    511                     \"Языки\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"Подклю&чить сетевой диск...\"\n    801                     \"Отк&лючить сетевой диск...\"\n    802                     \"С&етевые подключения...\"\n    803                     \"О&бщий доступ...\"\n    804                     \"&Запретить доступ...\"\n    805                     \"&Показать общие каталоги...\"\n    806                     \"Восс&тановить...\"\n    807                     \"Новое &окно при подключении диска\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \"Ошибка при перемещении файла\"\n    1002                    \"Ошибка при копировании файла\"\n    1003                    \"Ошибка при удалении файла\"\n    1004                    \"Ошибка при переименовании файла\"\n    1005                    \"Ошибка при выборе диска\"\n    1006                    \"Ошибка при чтении каталога\"\n    1007                    \"Ошибка при назначении диску метки\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"Не удается переместить %s. %s\"\n    1012                    \"Не удается скопировать %s. %s\"\n    1013                    \"Не удается удалить %s. %s\"\n    1014                    \"Не удается переименовать %s. %s\"\n    1021                    \"Не удается создать каталог %s. %s\"\n    1022                    \"Не удается удалить каталог %s. %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"Не удается создать или заменить %s. %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"Исходный и конечный объекты совпадают.\"\n    1102                    \"Выберите один файл для переименования или воспользуйтесь подстановочными знаками (например *.TXT) для переименования группы файлов с похожими именами.\"\n    1103                    \"Переименование в другой каталог или на другой диск не допускается.\\nВоспользуйтесь вместо этого командой ''Переместить''.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"Переименование корневого каталога невозможно.\"\n    1105                    \"Конечный каталог является подкаталогом исходного.\"\n    1106                    \"Файл используется системой Windows.\"\n    1107                    \"Укажите один файл или каталог, либо воспользуйтесь подстановочными знаками (например *.TXT) для операций с группами файлов.\"\n    1108                    \"Файл или каталог с данным именем уже существует. В пределах каталога имена всех файлов и каталогов должны быть уникальными.\"\n    1109                    \"Проверьте правильность ввода пути и имени файла.\"\n    1110                    \"Проверьте правильность ввода пути.\"\n    1111                    \"Закройте ненужные приложения и повторите попытку, либо увеличьте объем виртуальной памяти с помощью раздела ''Система'' панели управления.\"\n    1113                    \"Снимите защиту диска от записи или возьмите другой диск, а затем повторите попытку.\"\n    1114                    \"Проверьте наличие необходимых разрешений для данной операции.\"\n    1115                    \"Удалите ненужные файлы и повторите попытку.\"\n    1116                    \"Носитель не содержит данных.\"\n    1117                    \"Каталог уже существует.\"\n    1118                    \"Указанное имя уже используется файлом.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"Неверный диск в устройстве.\"\n    1151                    \"Приложение не предназначено для работы с Windows NT.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \"Выполнение данного компонента невозможно.\"\n    1153                    \"Компонент не предназначен для работы с Windows NT.\"\n    1154                    \"Данная программа не является приложением для Windows NT.\"\n    1155                    \"Возникла ошибка. Текст сообщения об ошибке отсутствует.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \"ѓRѓsЃ[Њі(&F):\"\n    2001                    \"ѓRѓsЃ[ђж(&T):\"\n    2002                    \"Њі‚М–ј‘O(&F):\"\n    2003                    \"ђV‚µ‚ў–ј‘O(&T):\"\n    2004                    \"ѓRѓsЃ[ђж:\"\n    2005                    \"‚±‚МѓtѓHѓ“ѓg‚рЋg—p‚·‚й‚ЖЉїЋљ‚М•\\\\Ћ¦‚Є\\n‚Е‚«‚И‚­‚И‚и‚Ь‚·ЃB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"Команды для работы с файлами\"\n    3985                    \"Команды для работы с дисками\"\n    3986                    \"Команды для работы в окне структуры каталогов\"\n    3987                    \"Команды установки режима вывода данных\"\n    3988                    \"Команды настройки параметров\"\n    3989                    \"Команды управления безопасностью файлов и каталогов\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"Команды для работы с окнами\"\n    4001                    \"Команды для работы со справкой\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"Поиск нужного раздела в справочной системе\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \"Открытие выбранного элемента\"\n    4102                    \"Печать документа\"\n    4103                    \"Сопоставление файла и приложения\"\n    4104                    \"Поиск файлов и каталогов\"\n    4105                    \"Запуск приложения или открытие документа\"\n    4106                    \"Перемещение выбранных элементов\"\n    4107                    \"Копирование файлов и каталогов\"\n    4108                    \"Удаление файлов и каталогов\"\n    4109                    \"Переименование файлов и каталогов\"\n    4110                    \"Установка атрибутов и отображение свойств файлов\"\n    4111                    \"Создание каталога\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"Завершение работы с диспетчером файлов\"\n    4116                    \"Выделение файлов и каталогов\"\n    4117                    \"Восстановление удаленных файлов\"\n    4118                    \"Копирование файла в буфер обмена\"\n    4119                    \"Уплотнение файла или каталога\"\n    4120                    \"Распаковка файла или каталога\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"Копирование диска\"\n    4202                    \"Изменение метки диска\"\n    4203                    \"Форматирование диска\"\n    4205                    \"Подключение сетевого диска\"\n    4206                    \"Отключение сетевого диска\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"Выбор текущего диска\"\n    4254                    \"Установка общего доступа к каталогу\"\n    4255                    \"Отмена общего доступа к каталогу\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"Отображение подкаталогов первого уровня\"\n    4302                    \"Отображение подкаталогов всех уровней\"\n    4303                    \"Отображение полной структуры каталогов\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \"Свертывание структуры выбранного подкаталога\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \"Отображение только имен файлов\"\n    4402                    \"Отображение полных сведений о файлах\"\n    4403                    \"Отображение выбранных сведений о файлах\"\n    4404                    \"Сортировка файлов по имени\"\n    4405                    \"Сортировка файлов по типу\"\n    4406                    \"Сортировка файлов по размеру\"\n    4407                    \"Сортировка файлов по дате\"\n    4409                    \"Отображение файлов выбранных типов\"\n    4411                    \"Отображение структуры каталогов\"\n    4412                    \"Отображение содержимого текущего каталога\"\n    4413                    \"Отображение структуры каталогов и содержимого текущего каталога\"\n    4414                    \"Перемещение разделителя областей в окне просмотра\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"Управление сообщениями о подтверждении операций\"\n    4503                    \"Вывод и скрытие строки состояния\"\n    4504                    \"Свертывание окна диспетчера файлов в значок при запуске программы\"\n    4505                    \"Обозначение каталогов, содержащих подкаталоги\"\n    4507                    \"Вывод и скрытие панели дисков\"\n    4508                    \"Вывод и скрытие панели инструментов\"\n    4509                    \"Открытие новых окон при подключении сетевых устройств\"\n    4510                    \"Изменение шрифта для диспетчера файлов\"\n    4511                    \"Сохранение настройки при выходе из программы\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"Настройка панели инструментов\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"Просмотр и установка разрешений для выделенных объектов\"\n    4606                    \"Просмотр и установка параметров аудита для выделенных объектов\"\n    4607                    \"Просмотр и смена владельца выделенных объектов\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"Расположение окон каскадом (с наложением)\"\n    5702                    \"Расположение окон справа налево без наложения\"\n    5703                    \"Расположение окон сверху вниз без наложения\"\n    5704                    \"Обновление содержимого окна\"\n    5705                    \"Упорядочивание значков в окне\"\n    5706                    \"Открытие нового окна\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"Вывод содержания справочной системы диспетчера файлов\"\n    5802                    \"Вывод сведений о работе со справкой\"\n    5803                    \"Вывод сведений о диспетчере файлов\"\nEND\n\n#endif    // Russian (Russia) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/origrc/winfile.sv-SE.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// Swedish (Sweden) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_SVE)\nLANGUAGE LANG_SWEDISH, SUBLANG_SWEDISH\n#pragma code_page(1252)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"BMP100.BMP\"\n\n\n101                     BITMAP                  \"BMP101.BMP\"\n\n\n102                     BITMAP                  \"BMP102.BMP\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"&Arkiv\"\n    BEGIN\n        MENUITEM \"&ppna\\tRetur\",               101\n        MENUITEM \"&Flytta...\\tF7\",              106\n        MENUITEM \"K&opiera...\\tF8\",             107\n        MENUITEM \"Kop&iera till Urklipp...\\tF9\", 118\n        MENUITEM \"&Ta bort...\\tDel\",            108\n        MENUITEM \"&Byt namn...\",                109\n        MENUITEM \"&Egenskaper...\\tAlt+Retur\",   110\n        MENUITEM SEPARATOR\n        MENUITEM \"Komp&rimera...\",              119\n        MENUITEM \"E&xpandera...\",               120\n        MENUITEM SEPARATOR\n        MENUITEM \"&Kr...\",                     105\n        MENUITEM \"Skriv &ut...\",                102\n        MENUITEM \"Asso&ciera...\",               103\n        MENUITEM SEPARATOR\n        MENUITEM \"Skapa kata&log...\",           111\n        MENUITEM \"&Sk...\",                     104\n        MENUITEM \"&Markera filer...\",           116\n        MENUITEM SEPARATOR\n        MENUITEM \"&Avsluta\",                    115\n    END\n    POPUP \"&Disk\"\n    BEGIN\n        MENUITEM \"&Kopiera diskett...\",         201\n        MENUITEM \"&Namnge disk/diskett...\",     202\n        MENUITEM SEPARATOR\n        MENUITEM \"&Formatera diskett...\",       203\n        MENUITEM SEPARATOR\n        MENUITEM \"&Vlj enhet...\",              251\n    END\n    POPUP \"&Trd\"\n    BEGIN\n        MENUITEM \"&Utka en niv\\t+\",           301\n        MENUITEM \"&Visa underkataloger\\t*\",     302\n        MENUITEM \"Utk&a alla\\tCtrl+*\",         303\n        MENUITEM \"&Dlj underkataloger\\t-\",     304\n        MENUITEM SEPARATOR\n        MENUITEM \"&Indikera underkatalog\",      505\n    END\n    POPUP \"Vi&sa\"\n    BEGIN\n        MENUITEM \"&Trd och katalog\",           413\n        MENUITEM \"&Endast trd\",                411\n        MENUITEM \"Endast &katalog\",             412\n        MENUITEM SEPARATOR\n        MENUITEM \"&Delningslist\",               414\n        MENUITEM SEPARATOR\n        MENUITEM \"&Namn\",                       401\n        MENUITEM \"&All filinformation\",         402, CHECKED\n        MENUITEM \"Vlj &filinformation...\",     403\n        MENUITEM SEPARATOR\n        MENUITEM \"S&ortera efter namn\",         404\n        MENUITEM \"&Sortera efter typ\",          405\n        MENUITEM \"Sortera efter stor&lek\",      406\n        MENUITEM \"So&rtera efter datum\",        407\n        MENUITEM SEPARATOR\n        MENUITEM \"&Visa filtyp...\",             409\n    END\n    POPUP \"Alternati&v\"\n    BEGIN\n        MENUITEM \"&Bekrftelse...\",             501\n        MENUITEM \"&Teckensnitt...\",             510\n        MENUITEM \"&Anpassa verktygsfltet...\",  512\n        MENUITEM SEPARATOR\n        MENUITEM \"&Verktygsflt\",               508\n        MENUITEM \"&Enhetsflt\",                 507\n        MENUITEM \"&Statusflt\",                 503\n        MENUITEM SEPARATOR\n        MENUITEM \"&Minimera vid anvndning\",    504\n        MENUITEM \"Spara &instllningar vid avslut\", 511\n    END\n    POPUP \"S&kerhet\"\n    BEGIN\n        MENUITEM \"&Behrighet...\",              605\n        MENUITEM \"&Granskning...\",              606\n        MENUITEM \"&gare...\",                   607\n    END\n    POPUP \"F&nster\"\n    BEGIN\n        MENUITEM \"&Nytt fnster\",               1706\n        MENUITEM \"v&erlappande\\tSkift+F5\",     1701\n        MENUITEM \"&ver och under\",             1703\n        MENUITEM \"&Sida vid sida\\tSkift+F4\",    1702\n        MENUITEM \"&Ordna ikoner\",               1705\n        MENUITEM \"&Uppdatera\\tF5\",              1704\n    END\n    POPUP \"&Hjlp\"\n    BEGIN\n        MENUITEM \"&Innehll\",                   1801\n        MENUITEM \"&Sk hjlp om...\",            30\n        MENUITEM \"Anvnda &Hjlp\",              1802\n        MENUITEM SEPARATOR\n        MENUITEM \"&Om Filhanteraren...\",        1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 12, 210, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kr\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,160,10\n    CONTROL         \"&Kommandorad:\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,3,18,60,10\n    EDITTEXT        201,3,29,150,12,ES_AUTOHSCROLL\n    CONTROL         \"Kr &minimerat\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,3,45,71,12\n    DEFPUSHBUTTON   \"OK\",1,165,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,165,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,165,43,40,14\nEND\n\n11 DIALOG 20, 20, 240, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Skriv ut\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,193,10\n    CONTROL         \"&Skriv ut:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,29,10\n    EDITTEXT        102,35,18,157,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,36,190,10\n    DEFPUSHBUTTON   \"OK\",1,197,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,197,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,197,43,40,14\nEND\n\n12 DIALOG 20, 20, 240, 118\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Associera\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Filer med tillgg:\",-1,6,7,55,8\n    COMBOBOX        315,63,5,44,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Associera med:\",-1,6,30,51,10\n    EDITTEXT        304,6,42,172,12,ES_AUTOHSCROLL\n    LISTBOX         314,11,54,167,62,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"&Blddra...\",318,130,24,41,14\n    DEFPUSHBUTTON   \"OK\",1,187,6,47,14,WS_GROUP\n    PUSHBUTTON      \"Avbryt\",2,187,23,47,14\n    PUSHBUTTON      \"&Ny typ...\",300,187,42,47,14\n    PUSHBUTTON      \"ndra t&yp...\",251,187,59,47,14\n    PUSHBUTTON      \"&Ta bort typ\",219,187,76,47,14\n    PUSHBUTTON      \"&Hjlp\",254,187,95,47,14\nEND\n\n13 DIALOG 20, 20, 263, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Sk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Sk efter:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,6,34,12\n    EDITTEXT        201,48,5,160,12,ES_AUTOHSCROLL\n    CONTROL         \"Starta &frn:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,21,38,12\n    EDITTEXT        101,48,20,160,12,ES_AUTOHSCROLL\n    CONTROL         \"Sk &i alla underkataloger\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,48,34,94,12\n    DEFPUSHBUTTON   \"OK\",1,217,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,217,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,217,43,40,14\nEND\n\n14 DIALOG 47, 59, 280, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Flytta\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Aktuell katalog: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,221,10\n    CONTROL         \"&Till:\",2001,\"Static\",SS_LEFTNOWORDWRAP,3,33,14,10\n    EDITTEXT        103,24,32,200,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,49,40,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,45,49,140,10\n    DEFPUSHBUTTON   \"OK\",1,235,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,235,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,235,40,40,14\n    CONTROL         \"&Frn:\",2002,\"Static\",SS_LEFTNOWORDWRAP,3,19,18,10\n    EDITTEXT        102,24,18,200,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 286, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Ta bort\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Aktuell katalog: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"&Ta bort:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,27,10\n    EDITTEXT        102,33,19,200,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,35,35,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,40,35,155,10\n    DEFPUSHBUTTON   \"OK\",1,241,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,241,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,241,40,40,14\nEND\n\n16 DIALOG 23, 13, 278, 233\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Egenskaper fr %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,223,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Avbryt\",2,223,23,50,14\n    PUSHBUTTON      \"&Hjlp\",254,223,40,50,14\n    CONTROL         \"Fil&namn:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,55,10\n    EDITTEXT        201,91,5,132,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Sk&vg:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,91,16,132,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Senaste ndring:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,62,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,91,27,132,10\n    CONTROL         \"Version:\",258,\"Static\",SS_LEFTNOWORDWRAP,5,38,45,10\n    CONTROL         \"Anges inte\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,91,38,132,10\n    LTEXT           \"&Copyright:\",-1,5,49,45,10\n    EDITTEXT        265,91,49,132,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Storlek:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,60,45,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,91,60,132,10\n    CONTROL         \"Komprimerad storlek:\",268,\"Static\",SS_LEFTNOWORDWRAP,5,71,69,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,91,71,132,10\n    CONTROL         \"Komprimeringsfrhllande:\",270,\"Static\",SS_LEFTNOWORDWRAP,5,82,86,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,91,82,132,10\n    GROUPBOX        \"Attribut\",-1,4,96,120,54\n    CONTROL         \"Sk&rivskydd\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,108,52,12\n    CONTROL         \"&Dold\",216,\"Button\",BS_AUTOCHECKBOX,71,108,49,12\n    CONTROL         \"&Arkiv\",217,\"Button\",BS_AUTOCHECKBOX,9,120,52,12\n    CONTROL         \"&System\",218,\"Button\",BS_AUTOCHECKBOX,71,120,49,12\n    CONTROL         \"&Komprimerad\",267,\"Button\",BS_AUTOCHECKBOX,9,132,54,12\n    GROUPBOX        \"Vers&ionsinformation\",262,4,155,269,74\n    LISTBOX         263,9,168,91,58,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,110,168,157,58,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 200, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Skapa katalog\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,154,10\n    CONTROL         \"&Namn:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,23,22,10\n    EDITTEXT        201,30,22,90,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,46,150,10\n    DEFPUSHBUTTON   \"OK\",1,157,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,157,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,157,43,40,14\nEND\n\n19 DIALOG 20, 20, 136, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kopiera diskett\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Frn:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,18,10\n    COMBOBOX        245,29,6,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Till:\",206,\"Static\",SS_LEFTNOWORDWRAP,5,22,14,10\n    COMBOBOX        222,29,20,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,82,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,82,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,82,43,40,14\nEND\n\n22 DIALOG 30, 30, 130, 55\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kopierar diskett\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Kopierar diskett i \",-1,0,5,130,10,NOT WS_GROUP\n    CTEXT           \"enhet A:\",222,0,15,130,10,NOT WS_GROUP\n    CTEXT           \"Lser klldisketten\",243,0,26,130,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Avbryt\",2,44,39,44,14\nEND\n\n23 DIALOG 20, 20, 161, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Namnge disk/diskett\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Etikett:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,25,10\n    EDITTEXT        201,5,26,100,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,115,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,115,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,115,43,40,14\nEND\n\n24 DIALOG 11, 28, 183, 96\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formatera diskett\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,132,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,132,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,132,43,40,14\n    CONTROL         \"&Diskett i:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,7,31,10\n    COMBOBOX        222,42,4,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"&Format:\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,51,26,10\n    COMBOBOX        241,42,19,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Alternativ\",102,5,39,115,53,WS_GROUP\n    CONTROL         \"&Etikett:\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,51,39,10\n    EDITTEXT        201,40,49,63,12\n    CONTROL         \"Sna&bbformatering\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,62,70,12\nEND\n\n26 DIALOG 30, 30, 150, 50\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formaterar diskett\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Formaterar diskett\",-1,0,5,150,10,NOT WS_GROUP\n    CTEXT           \"Initierar enhet...\",243,0,17,150,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"Avbryt\",2,54,30,44,14\nEND\n\n30 DIALOG 20, 20, 194, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Vlj filinformation\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Information\",-1,4,4,121,74\n    CONTROL         \"Storle&k\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,15,36,12\n    CONTROL         \"Senaste &ndringsdatum\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,27,88,12\n    CONTROL         \"&Senaste ndringstid\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,39,77,12\n    CONTROL         \"&Filattribut\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,51,43,12\n    CONTROL         \"&MS-DOS-filnamn\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,63,66,12\n    DEFPUSHBUTTON   \"OK\",1,147,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,147,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,147,60,40,14\nEND\n\n32 DIALOG 20, 20, 157, 102\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Visa filtyp\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Namn:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,22,10\n    EDITTEXT        201,31,6,65,12,ES_AUTOHSCROLL\n    GROUPBOX        \"Filtyp\",-1,5,20,94,62\n    CONTROL         \"&Kataloger\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,31,44,12\n    CONTROL         \"&Program\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,43,39,12\n    CONTROL         \"&Dokument\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,55,46,12\n    CONTROL         \"&Andra filer\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,46,12\n    CONTROL         \"&Visa dolda filer och systemfiler\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,5,85,111,12\n    DEFPUSHBUTTON   \"OK\",1,110,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,110,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,110,43,40,14\nEND\n\n33 DIALOG 20, 20, 266, 92\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekrftelse\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    GROUPBOX        \"Bekrfta vid\",-1,5,3,206,85,WS_TABSTOP\n    CONTROL         \"&Radering av filer\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,15,67,12\n    CONTROL         \"R&adering av kataloger\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,27,85,12\n    CONTROL         \"&Ersttning av filer\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,39,70,12\n    CONTROL         \"&Musoperationer\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,51,63,12\n    CONTROL         \"&Diskkommandon\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,63,66,12\n    CONTROL         \"&ndring av systemfiler, dolda filer och skrivskyddade filer\",215,\n                    \"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,75,198,12\n    DEFPUSHBUTTON   \"OK\",1,220,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,220,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,220,44,40,14\nEND\n\n35 DIALOG 20, 20, 250, 46\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Flyttar...\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,5,49,9\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,5,192,10\n    CONTROL         \"Till:\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,15,14,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,16,192,10\n    DEFPUSHBUTTON   \"Avbryt\",2,200,28,40,14,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 120, 58\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"Skriver ut fil...\",-1,4,6,120,12\n    CTEXT           \"\",-1,4,20,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"Avbryt\",2,44,40,32,14,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 206, 88\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Egenskaper\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"%d filer markerade\",100,\"Static\",SS_LEFTNOWORDWRAP,5,5,144,10\n    CONTROL         \"Totalt %s byte\",111,\"Static\",SS_LEFTNOWORDWRAP,5,16,144,10\n    GROUPBOX        \"Attribut\",-1,5,29,120,54\n    CONTROL         \"Sk&rivskydd\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,40,48,12\n    CONTROL         \"&Dold\",216,\"Button\",BS_AUTOCHECKBOX,72,40,28,12\n    CONTROL         \"&Arkiv\",217,\"Button\",BS_AUTOCHECKBOX,10,52,30,12\n    CONTROL         \"&System\",218,\"Button\",BS_AUTOCHECKBOX,72,52,36,12\n    CONTROL         \"&Komprimerad\",267,\"Button\",BS_AUTOCHECKBOX,10,64,54,12\n    DEFPUSHBUTTON   \"OK\",1,150,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Avbryt\",2,150,23,50,14\n    PUSHBUTTON      \"&Hjlp\",254,150,43,50,14\nEND\n\n39 DIALOG 10, 20, 245, 95\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekrfta Erstt fil\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Erstt fil:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,12,31,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,68,12,165,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,75,22,170,10\n    CONTROL         \"Med fil:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,34,25,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,66,34,165,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,75,44,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,54,203,10\n    DEFPUSHBUTTON   \"&Ja\",6,23,73,45,14\n    PUSHBUTTON      \"&Erstt alla\",107,74,73,45,14\n    PUSHBUTTON      \"&Nej\",7,125,73,45,14\n    PUSHBUTTON      \"Avbryt\",2,176,73,45,14\nEND\n\n40 DIALOG 10, 20, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekrfta Ta bort fil\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Ta bort filen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,43,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Ja\",6,20,42,48,14\n    PUSHBUTTON      \"&Ta bort alla\",107,72,42,48,14\n    PUSHBUTTON      \"&Nej\",7,124,42,48,14\n    PUSHBUTTON      \"Avbryt\",2,176,42,48,14\nEND\n\n41 DIALOG 10, 20, 250, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekrfta Ta bort katalog\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Ta bort katalogen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,62,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,88,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Ja\",6,23,42,48,14\n    PUSHBUTTON      \"&Ta bort alla\",107,75,42,48,14\n    PUSHBUTTON      \"&Nej\",7,128,42,48,14\n    PUSHBUTTON      \"Avbryt\",2,180,42,48,14\nEND\n\n42 DIALOG 10, 22, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekrfta Flytta fil\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Flytta filen:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,38,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,65,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Ja\",6,23,42,45,14\n    PUSHBUTTON      \"&Flytta alla\",107,74,42,45,14\n    PUSHBUTTON      \"&Nej\",7,125,42,45,14\n    PUSHBUTTON      \"Avbryt\",2,176,42,45,14\nEND\n\n43 DIALOG 10, 22, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekrfta Byt namn\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"Byt namn p:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,44,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,74,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,28,203,10\n    DEFPUSHBUTTON   \"&Ja\",6,23,42,45,14\n    PUSHBUTTON      \"&Byt p alla\",107,74,42,45,14\n    PUSHBUTTON      \"&Nej\",7,125,42,45,14\n    PUSHBUTTON      \"Avbryt\",2,176,42,45,14\nEND\n\n44 DIALOG 15, 12, 121, 83\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Markera filer\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Fil(er):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,22,10\n    EDITTEXT        201,5,29,60,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"&Markera\",1,70,6,47,14\n    PUSHBUTTON      \"&Avmarkera\",6,70,23,47,14\n    PUSHBUTTON      \"Avbryt\",2,70,40,47,14\n    PUSHBUTTON      \"&Hjlp\",254,70,63,47,14\nEND\n\n45 DIALOG 11, 31, 201, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Vlj enhet\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"&Enheter:\",245,\"Static\",SS_LEFTNOWORDWRAP,5,5,29,10\n    LISTBOX         222,5,16,140,60,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"OK\",1,155,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,155,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,155,44,40,14\nEND\n\n46 DIALOG 11, 28, 250, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Vlj filnamn\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Skvgen r inte angiven enligt de filnamnsregler som gller fr FAT-filsystem. Skriv in ett nytt namn.\",99,5,4,190,24,NOT WS_GROUP\n    RTEXT           \"&Nytt namn:\",-1,19,56,50,12,NOT WS_GROUP\n    EDITTEXT        103,71,55,130,12\n    RTEXT           \"Ursprunglig skvg:\",-1,3,28,66,11,NOT WS_GROUP\n    EDITTEXT        102,71,28,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \"Till katalog:\",-1,29,42,40,11,NOT WS_GROUP\n    EDITTEXT        101,71,42,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"OK\",1,205,4,40,14\n    PUSHBUTTON      \"Avbryt\",2,205,20,40,14\n    PUSHBUTTON      \"&Hjlp\",254,205,36,40,14\nEND\n\n48 DIALOG 23, 13, 250, 109\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Egenskaper fr %s\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    DEFPUSHBUTTON   \"OK\",1,197,6,50,14,WS_GROUP\n    PUSHBUTTON      \"Avbryt\",2,197,23,50,14\n    PUSHBUTTON      \"&Hjlp\",254,197,43,50,14\n    CONTROL         \"Fil&namn:\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,55,10\n    EDITTEXT        201,63,5,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Sk&vg:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,51,10\n    EDITTEXT        101,63,16,134,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Senaste ndring:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,56,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,63,27,97,10\n    CONTROL         \"Storlek:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,38,27,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,63,38,90,10\n    GROUPBOX        \"Attribut\",-1,4,52,120,52\n    CONTROL         \"Sk&rivskydd\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,64,48,12\n    CONTROL         \"&Dold\",216,\"Button\",BS_AUTOCHECKBOX,71,64,28,12\n    CONTROL         \"&Arkiv\",217,\"Button\",BS_AUTOCHECKBOX,9,76,30,12\n    CONTROL         \"&System\",218,\"Button\",BS_AUTOCHECKBOX,71,76,36,12\n    CONTROL         \"&Komprimerad\",267,\"Button\",BS_AUTOCHECKBOX,9,88,54,12\nEND\n\n49 DIALOG 13, 54, 264, 160\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Teckensnitt\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Teckensnitt:\",1088,6,3,42,9\n    COMBOBOX        1136,6,13,94,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Stil:\",1089,108,3,14,9\n    COMBOBOX        1137,108,13,64,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"St&orlek:\",1090,179,3,27,9\n    COMBOBOX        1138,179,13,32,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Effekter\",1072,6,73,84,61,WS_GROUP\n    CONTROL         \"&Genomstruken\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,83,59,10\n    CONTROL         \"&Understruken\",1041,\"Button\",BS_AUTOCHECKBOX,10,95,56,10\n    CONTROL         \"Visa med ge&mener fr FAT-enheter\",1042,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,135,125,10\n    CONTROL         \"Visa med gemener fr alla &enheter\",1043,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,147,123,10\n    LTEXT           \"&Frg:\",1091,10,107,18,9\n    COMBOBOX        1139,10,117,75,50,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"OK\",1,218,6,40,14,WS_GROUP\n    PUSHBUTTON      \"Avbryt\",2,218,23,40,14,WS_GROUP\n    PUSHBUTTON      \"&Verkstll\",1026,218,40,40,14,WS_GROUP\n    PUSHBUTTON      \"&Hjlp\",1038,218,57,40,14,WS_GROUP\n    GROUPBOX        \"Exempel\",1073,6,72,252,49,WS_GROUP\n    CTEXT           \"\",1093,10,137,1,2,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBb\",1092,10,81,243,37,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 77, 27, 160, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Formaterar diskett\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CTEXT           \"\",100,15,36,131,8\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,15,10,131,22\n    PUSHBUTTON      \"Dlj\",110,38,48,40,14\n    PUSHBUTTON      \"Avbryt\",2,82,48,40,14\nEND\n\n51 DIALOG 10, 20, 269, 70\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekrfta: Hoppa ver filen eller katalogen och fortstt\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"tkomst nekas, hoppa ver:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,14,92,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,119,14,122,10\n    CONTROL         \"Du har inte tillrcklig behrighet eller filen anvnds redan.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,25,190,10\n    CONTROL         \"Vlj Ja om du vill hoppa ver denna fil och fortstta operationen.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,36,212,10\n    DEFPUSHBUTTON   \"&Ja\",6,4,50,60,14\n    PUSHBUTTON      \"&Hoppa ver alla\",107,71,50,60,14\n    PUSHBUTTON      \"&Nej\",7,138,50,60,14\n    PUSHBUTTON      \"Avbryt\",2,205,50,60,14\nEND\n\n52 DIALOG 10, 20, 269, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Bekrfta: Hoppa ver filen eller katalogen och fortstt\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Kan inte komma t mlet, hoppa ver:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,14,124,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,152,14,106,10\n    CONTROL         \"Klicka p Ja fr att hoppa ver filen och fortstta med operationen.\",-1,\n                    \"Static\",SS_LEFTNOWORDWRAP,25,25,220,10\n    DEFPUSHBUTTON   \"&Ja\",6,4,40,60,14\n    PUSHBUTTON      \"&Hoppa ver alla\",107,71,40,60,14\n    PUSHBUTTON      \"&Nej\",7,138,40,60,14\n    PUSHBUTTON      \"Avbryt\",2,205,40,60,14\nEND\n\n53 DIALOG 77, 109, 205, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"Sker p disk\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Sk efter:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,5,60,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,49,5,152,10\n    CONTROL         \"Startar frn:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,40,10\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,50,15,147,10\n    CONTROL         \"Genomskta kataloger:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,25,78,10\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,84,25,116,10\n    CONTROL         \"Antal matchningar:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,35,62,10\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,70,35,135,10\n    PUSHBUTTON      \"Dlj\",110,60,48,40,14\n    PUSHBUTTON      \"Avbryt\",2,104,48,40,14\nEND\n\n54 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Kopiera till Urklipp\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    CONTROL         \"Aktuell katalog: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"&Kopiera till Urklipp:\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,63,10\n    EDITTEXT        102,70,19,125,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"OK\",1,200,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,200,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,200,43,40,14\nEND\n\n55 DIALOG 18, 14, 290, 224\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ndra filtyp\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"&Filtyp:\",302,5,6,21,8\n    EDITTEXT        301,42,5,95,12,ES_AUTOHSCROLL\n    GROUPBOX        \"&Operation: \",-1,5,22,235,126,WS_GROUP\n    COMBOBOX        306,45,22,48,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"&Kommando:\",313,10,42,39,8\n    EDITTEXT        304,49,39,115,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"&Blddra...\",318,169,38,40,14\n    CONTROL         \"&Anvnder DDE\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,57,61,10\n    LTEXT           \"&DDE-meddelande:\",320,18,72,60,8\n    EDITTEXT        309,109,70,100,12,ES_AUTOHSCROLL\n    LTEXT           \"Programmet DDE-meddelande krs &inte:\",322,17,84,89,19\n    LTEXT           \"(valfritt)\",324,210,90,27,8\n    EDITTEXT        311,109,88,100,12,ES_AUTOHSCROLL\n    LTEXT           \"&Program:\",321,18,109,30,8\n    EDITTEXT        310,109,107,100,12,ES_AUTOHSCROLL\n    LTEXT           \"A&vsnitt:\",323,18,127,26,8\n    EDITTEXT        312,109,125,100,12,ES_AUTOHSCROLL\n    LTEXT           \"&Nytt filtillgg:\",-1,11,184,44,8\n    EDITTEXT        315,64,183,32,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"&Lgg till ->\",303,102,174,44,14\n    PUSHBUTTON      \"<- Ta bo&rt\",219,102,191,44,14\n    LTEXT           \"Fil&tillgg:\",-1,157,162,31,8\n    LISTBOX         317,157,172,65,40,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Filtillgg associerade med denna filtyp:\",316,5,154,235,66\n    DEFPUSHBUTTON   \"OK\",1,244,6,40,14\n    PUSHBUTTON      \"Avbryt\",2,244,23,40,14\n    PUSHBUTTON      \"&Hjlp\",254,244,40,40,14\nEND\n\n57 DIALOG 123, 60, 238, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Komprimerar filer\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Fil som komprimeras:\",-1,6,8,68,8\n    LTEXT           \"filename.xxx\",341,94,8,90,8\n    LTEXT           \"Katalog:\",-1,6,20,28,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,36,20,200,8\n    LTEXT           \"Komprimerade kataloger:\",-1,6,32,82,8\n    LTEXT           \"1,888,888,999\",343,94,32,60,8\n    LTEXT           \"Komprimerade filer:\",-1,6,44,63,8\n    LTEXT           \"1,888,888,999\",344,94,44,58,8\n    LTEXT           \"Total filstorlek fre komprimering:\",-1,6,56,110,8\n    LTEXT           \"9,999,999,999,999\",345,134,56,68,8\n    LTEXT           \"Total filstorlek efter komprimering:\",-1,6,68,112,8\n    LTEXT           \"9,999,999,999,999\",346,134,69,68,8\n    LTEXT           \"Komprimeringsfrhllande:\",-1,6,80,86,8\n    LTEXT           \"100%\",347,94,80,27,8\n    PUSHBUTTON      \"Avbryt\",2,91,97,55,14\nEND\n\n58 DIALOG 114, 62, 238, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"Expanderar filer\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    LTEXT           \"Fil som expanderas:\",-1,6,8,66,8\n    LTEXT           \"filename.xxx\",351,93,8,78,8\n    LTEXT           \"Katalog:\",-1,6,20,28,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",352,36,20,200,8\n    LTEXT           \"Expanderade kataloger:\",-1,6,32,79,8\n    LTEXT           \"1,999,999,999\",353,93,32,78,8\n    LTEXT           \"Expanderade filer:\",-1,6,44,60,8\n    LTEXT           \"1,999,999,999\",354,93,44,78,8\n    PUSHBUTTON      \"Avbryt\",2,94,64,49,14\nEND\n\n59 DIALOG 11, 28, 245, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Komprimeringsfel\"\nFONT 8, \"MS Shell Dlg\"\nBEGIN\n    ICON            32515,-1,8,8,21,20\n    LTEXT           \"\",100,35,8,190,20\n    DEFPUSHBUTTON   \"&Ignorera\",5,13,47,50,14,WS_GROUP\n    PUSHBUTTON      \"Ignorera a&lla\",112,69,47,50,14\n    PUSHBUTTON      \"&Frsk igen\",4,125,47,51,14\n    PUSHBUTTON      \"&Avbryt\",3,181,47,50,14\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY, SHIFT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT\n    VK_F4,          1702,                   VIRTKEY, SHIFT\n    VK_F5,          1704,                   VIRTKEY \n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII   \n    VK_ADD,         301,                    VIRTKEY \n    \"*\",            302,                    ASCII   \n    VK_MULTIPLY,    302,                    VIRTKEY \n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL\n    \"-\",            304,                    ASCII   \n    VK_SUBTRACT,    304,                    VIRTKEY \n    VK_RETURN,      110,                    VIRTKEY, ALT\n    VK_F2,          2000,                   VIRTKEY \nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"CUR300.CUR\"\n\n\n301                     CURSOR                  \"CUR301.CUR\"\n\n\n302                     CURSOR                  \"CUR302.CUR\"\n\n\n303                     CURSOR                  \"CUR303.CUR\"\n\n\n306                     CURSOR                  \"CUR306.CUR\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ICO200.ICO\"\n\n\n201                     ICON                    \"ICO201.ICO\"\n\n\n202                     ICON                    \"ICO202.ICO\"\n\n\n204                     ICON                    \"ICO204.ICO\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,91\n PRODUCTVERSION 4,0,1381,91\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"041D04B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"Filhanteraren\"\n            VALUE \"FileVersion\", \"4.00\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"Copyright  Microsoft Corp. 1981-1995\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"Microsoft Windows NT(TM) operativsystem\"\n            VALUE \"ProductVersion\", \"4.00\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0x41d, 1200\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"Kopiera diskett\"\n    51                      \"Stt in mldisketten.\"\n    52                      \"Stt in klldisketten.\"\n    53                      \"Stt in kll- och mldisketterna.\"\n    54                      \"Formaterar mldisketten\"\n    55                      \"Kopieringsfel\"\n    56                      \"Det gr inte att kopiera disketten.\"\n    58                      \"Kll- och mldisketten r inte kompatibla.\"\n    60                      \"%d%% frdigt\"\n    61                      \"Skapar rotkatalog...\"\n    62                      \"Kopierar systemfiler...\"\n    63                      \"Formateringsfel\"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \"Formatering klar\"\n    67                      \"%ld byte totalt diskettutrymme\\n%ld byte ledigt diskettutrymme\\n\\nVill du formatera fler disketter?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"Ntverksfel\"\n    83                      \"Enheten innehller Windows systemfiler och kan drfr inte frnkopplas.\"\n    91                      \"Filhanteraren kan inte ndra attributen.  \"\n    92                      \"Filhanteraren kan inte skapa katalogen.  \"\n    93                      \"Filhanteraren kan inte namnge disken/disketten.\\n\\nKontrollera att disketten inte r skrivskyddad, inte r en ntverksenhet och att etiketten inte r felaktig.\\nFljande tecken fr inte anvndas:\\n[blanksteg] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n    95                      \"Det finns inte ngra filer som matchar.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \"Enhetens innehll har frndrats. Vill du uppdatera informationen i fnstret Skresultat?\"\n    98                      \"Du mste vara inloggad p denna arbetsstation som administratr fr att kunna utfra denna operation p hrddiskar.\"\n    101                     \"Enhet %c:%c\"\n    110                     \"Det gr inte att kra programmet\"\n    111                     \"Ovntat fel: %d.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"Det finns inte tillrckligt med ledigt minne fr att starta programmet.\\n\\nAvsluta ett eller flera program och frsk igen.\"\n    113                     \"Filhanteraren hittar inte filen (eller en av dess komponenter).\\n\\nKontrollera att skvg och filnamn r riktiga och att erforderliga DLL r tillgngliga.\"\n    114                     \"Den angivna skvgen r felaktig.\"\n    116                     \"Det finns inte ngot program associerat med filen.\\n\\nVlj Associera p Arkiv-menyn fr att skapa en association.\"\n    118                     \"Filhanteraren kan inte ppna eller skriva ut filen.\\n\\nStarta programmet med vilket filen skapats och frsk skriva ut drifrn.\"\n    120                     \"Bekrfta musoperation\"\n    121                     \"Vill du kopiera de markerade filerna eller katalogerna till %s?\"\n    122                     \"Vill du flytta de markerade filerna eller katalogerna till %s?\"\n    123                     \"Ska %s anvnda %s som initieringsfil?\"\n    124                     \"Filhanteraren\"\n    126                     \"Katalogtrd\"\n    127                     \"Skresultat: \"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \"Fr mnga filer\"\n    133                     \"Filhanteraren - Slut p ledigt minne\"\n    134                     \"Det gr inte att lsa hela katalogen. Enbart delar av katalogen kommer att visas.\"\n    140                     \"Aktuell katalog: %s\"\n    141                     \"Kopiera\"\n    143                     \"Byt namn\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"Formatera diskett\"\n    146                     \"Vlj den diskett som ska formateras.\"\n    150                     \"Skapar:\"\n    151                     \"Tar bort...\"\n    152                     \"Kopierar:\"\n    153                     \"Byter namn...\"\n    154                     \"Flyttar...\"\n    155                     \"Tar bort...\"\n    156                     \"Skriver ut: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"Kopierar...\"\n    170                     \"Tar bort:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \"Totalt %d fil(er) (%s)\"\n    181                     \"Genomskta kataloger: %d \"\n    182                     \"%c: %s ledigt, %s totalt\"\n    183                     \"%d fil(er)\"\n    185                     \"markerade filer\"\n    186                     \"Filhanteraren kan inte koppla frn ntverksenheten.\\n\\nDet finns ppna filer p enheten.\"\n    187                     \"%d fil(er) markerade (%s)\"\n    188                     \"Det finns inte ngon diskett i enheten %c.\\n\\nStt in en diskett och frsk igen.\"\n    189                     \"Disketten i enhet %c r inte formaterad.\\n\\nVill du formatera den nu?\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"Det finns inte tillrckligt med ledigt diskutrymme fr att skriva ut.\\n\\nTa bort en eller flera filer och frsk igen.\"\n    193                     \"Det finns inte tillrckligt med ledigt minne fr att skriva ut.\\n\\nAvsluta ett eller flera program och frsk sedan igen.\"\n    194                     \"Det har uppsttt ett fel vid utskriften.\\n\\nKontrollera att skrivaren r riktigt konfigurerad.\"\n    195                     \"Ofullstndigt katalogtrd visas\"\n    197                     \"Mldisketten r full.\\n\\nDu mste stta in en ny diskett fr att kunna fortstta.\"\n    198                     \"Detta r en system-, dold eller skrivskyddad fil.\"\n    199                     \"Det gr inte att snabbformatera.\\n\\nVill du fortstta med vanlig formatering?\"\n    203                     \"Det uppstod ett fel nr kommandot sndes till programmet.\"\n    204                     \"Det gr inte att lsa biblioteket som behvs fr operationen.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \"&Delade kataloger...\"\n    210                     \"Formateringen tar bort ALL information p disketten i enhet %c. Vill du fortstta?\"\n    211                     \"Bekrfta Formatera diskett\"\n    212                     \"ALL information p mldisketten kommer att frsvinna. Vill du fortstta?\"\n    213                     \"Bekrfta Kopiera diskett\"\n    214                     \"&Stng\"\n    215                     \"Stng\"\n    218                     \"Katalogen %s finns inte.\\n\\nVill du skapa den?\"\n    219                     \"Program#*.EXE;*.PIF;*.COM;*.BAT#Alla filer (*.*)#*.*#\"\n    220                     \"Blddra\"\n    221                     \"Kr\"\n    222                     \"Det gr inte att skriva ut filen\"\n    223                     \"Det gr inte att visa hjlpinformation.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"Filer med tillgget %s r programfiler och kan drfr inte associeras med ngot annat program.\"\n    225                     \"%s r inte ett program och kan inte associeras med ett filtillgg.\"\n    226                     \"(Inget)\"\n    227                     \"Det gr inte att hitta ngra filer.\"\n    228                     \"Filhanteraren kan inte skriva ut flera filer p en gng.\\n\\nMarkera endast en fil och frsk igen.\"\n    230                     \"En av biblioteksfilerna som krvs fr att kunna kra programmet r skadad.\"\n    231                     \"Filen anvnds fr tillfllet av ett annat program.\"\n    232                     \"Det r mjligt att Filhanteraren inte fr tillgng till filer som skapats i katalogen \"\"%s.\"\"\\n\\nVill du fortstta?\"\n    233                     \"Skapa katalog\"\n    234                     \"%ld byte\"\n    235                     \"%s byte\"\n    236                     \"Filhanteraren kan inte kopiera flera filer eller kataloger till Urklipp.\\n\\nMarkera endast en fil och frsk igen.\"\n    237                     \"%s - %s\"\n    238                     \"Enhet:\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"Anslut ntverksenhet\"\n    241                     \"Koppla frn ntverksenhet\"\n    242                     \"Ntverksanslutningar\"\n    243                     \"Dela katalog\"\n    244                     \"Sluta dela katalog\"\n    245                     \"Visa all filinformation\"\n    246                     \"Visa endast namnet\"\n    247                     \"Sortera efter namn\"\n    248                     \"Sortera efter typ\"\n    249                     \"Sortera efter storlek\"\n    250                     \"Sortera efter datum\"\n    251                     \"Nytt fnster\"\n    252                     \"Kopierar filer\"\n    253                     \"Flytta filer\"\n    254                     \"Katalog&namn:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"Ntverksenheten r inte tillgnglig.\"\n    259                     \"Delad som %s\"\n    260                     \"Delas inte\"\n    261                     \"Ta bort filer\"\n    262                     \" - Komprimerade\"\n    263                     \"Kopierar filer till %s\"\n    264                     \"Flyttar filer till %s\"\n    265                     \"Kr filer med %s\"\n    266                     \"%s byte\"\n    267                     \"%s kB\"\n    268                     \"%s MB\"\n    269                     \"%s GB\"\n    270                     \"%s TB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \"Du har inte behrighet fr att anvnda den hr katalogen.\"\n    281                     \"Du har inte behrighet fr att anvnda den hr filen.\"\n    283                     \"Enhet %c: r upptagen.\\nFilhanteraren kopierar en diskett.\"\n    284                     \"Enhet %c: r upptagen.\\nFilhanteraren hller p att formatera disketten.\"\n    285                     \"Operationen fullbordades inte\"\n    286                     \"Det gr inte att slutfra operationen p alla filer och kataloger.\"\n    287                     \"Det gr inte att lsa katalogen\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"Katalogen finns inte.\"\n    289                     \"Det gr inte att ansluta ntverksenheten\"\n    290                     \"Det gr inte att hitta ntverksnamnet.\"\n    292                     \"Med \"\"alla\"\" menas ven system-, dolda och skrivskyddade filer.\"\n    294                     \"ppna\"\n    295                     \"Skriv ut\"\n    298                     \"Lgg till tillgg\"\n    299                     \"Tillgget \"\"%s\"\" r associerat med \"\"%s\"\". Vill du erstta den hr associationen?\"\n    300                     \"Editor fr filassociationer\"\n    301                     \"Det gr inte att associera tillgget.  \"\n    302                     \"Det gr inte att ta bort tillgget.  \"\n    303                     \"Det gr inte att lgga till filtypen.  \"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"Det gr inte att ta bort filtypen.  \"\n    305                     \"Det gr inte att lsa filtypen.  \"\n    306                     \"Filtypsbeskrivningen kan inte vara tom. Skriv in en ny filtyp.\"\n    307                     \"Det gr inte att generera en unik identifierare baserad p din filtyp. Skriv in en ny filtyp.\"\n    308                     \"Ta bort filtyp\"\n    309                     \"Filtypen och alla associerade tillgg kommer att tas bort. Vill du ta bort \"\"%s\"\"?\"\n    312                     \"Filtypen mste ha ett kommando knutet till tminstone en av operationerna. Skriv in ett program i kommandofltet.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"Ny filtyp\"\n    321                     \"Kopierar diskett\"\n    322                     \"Sker...\"\n    324                     \"Filhanteraren formaterar fr tillfllet en diskett. Genom att avsluta Filhanteraren avbryter du operationen.\"\n    325                     \"Filhanteraren kopierar fr tillfllet en diskett. Genom att avsluta Filhanteraren avbryter du operationen.\"\n    326                     \"procent frdigt\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360 kB\"\n    354                     \"1%s2 MB\"\n    355                     \"720 kB\"\n    356                     \"1%s44 MB\"\n    357                     \"2%s88 MB\"\n    358                     \"Storlek p enhet\"\n    359                     \"Filhanteraren kan inte erhlla diskettinformationen.\\n\\nKontrollera att disketten finns i enheten.\"\n    360                     \"20%s8 MB\"\n    361                     \"Oknd disktyp\"\n    362                     \"Oknd disktyp\"\n    363                     \"Det gr inte att formatera disken i enheten %s med filhanteraren. Anvnd diskhanteraren fr formatera disken.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"Inkompatibelt filsystem.\"\n    401                     \"tkomst nekad.\"\n    402                     \"Disketten r skrivskyddad.\"\n    403                     \"Filhanteraren kan inte lsa volymen.\"\n    404                     \"Filhanteraren kan inte snabbformatera disketten.\\n\\nKontrollera att du anvnder en diskett med rtt kapacitet.\"\n    405                     \"I/O-fel p klldisken.\"\n    406                     \"I/O-fel p mldisken.\"\n    407                     \"I/O-fel p bde kll- och mldisk.\"\n    408                     \"Det uppstod ett I/O-fel.\"\n    411                     \"Filhanteraren kan inte formatera disketten.\\n\\nKontrollera att disketten finns i enheten, inte r skrivskyddad, skadad eller har felaktig kapacitet.\"\n    412                     \"Filhanteraren kan inte namnge disken/disketten.\\n\\nDen angivna etiketten r felaktig. Kontrollera att etiketten inte innehller ngra av fljande tecken.\\n[blanksteg] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \"ppnar...\"\n    421                     \"Stnger...\"\n    422                     \"Det finns fr mnga ppna katalogfnster.\\n\\nStng ett eller flera fnster och frsk igen.\"\n    423                     \"Snabbformaterar...\"\n    424                     \"Det gr inte att initiera uppdateringarna av bakgrunden. Filhanteraren kommer att avslutas.\"\n    425                     \"Initiering av Filhanteraren\"\n    426                     \"Lser katalog, vnta...\"\n    427                     \"Vill du komprimera alla filer och underkataloger i %s?\"\n    428                     \"Vill du expandera alla filer och underkataloger i %s ocks?\"\n    429                     \"Det gick inte att ndra komprimeringsattributen fr %s.\"\n    430                     \"Filen %s kommer inte att komprimeras eftersom systemet kanske inte skulle kunna starta d.\"\n    431                     \"Filhanteraren hller p att komprimera/expandera filer.\\nDu mste vnta tills detta r klart innan du kan komprimera/expandera nya filer.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"Kommentarer\"\n    501                     \"Fretagsnamn\"\n    502                     \"Filbeskrivning\"\n    503                     \"Internt namn\"\n    504                     \"Juridiska varumrken\"\n    505                     \"Ursprungligt filnamn\"\n    506                     \"Beskrivning fr privat build\"\n    507                     \"Produktnamn\"\n    508                     \"Produktversion\"\n    509                     \"Beskrivning fr special-build\"\n    510                     \"Sprk\"\n    511                     \"Sprk\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"&Anslut ntverksenhet...\"\n    801                     \"K&oppla frn ntverksenhet...\"\n    802                     \"&Ntverksanslutningar...\"\n    803                     \"&Dela katalog...\"\n    804                     \"&Sluta dela katalog...\"\n    805                     \"&Visa delade kataloger...\"\n    806                     \"&terstll...\"\n    807                     \"&ppna nytt fnster vid anslutning\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \"Det uppstod ett fel nr filen flyttades.\"\n    1002                    \"Det uppstod ett fel nr filen kopierades.\"\n    1003                    \"Det uppstod ett fel nr filen togs bort.\"\n    1004                    \"Det uppstod ett fel nr filnamnet ndrades.\"\n    1005                    \"Det uppstod ett fel nr enheten valdes.\"\n    1006                    \"Det uppstod ett fel nr katalogen lstes.\"\n    1007                    \"Det uppstod ett fel nr disken namngavs.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"Filhanteraren kan inte flytta %s: %s.\"\n    1012                    \"Filhanteraren kan inte kopiera %s: %s.\"\n    1013                    \"Filhanteraren kan inte ta bort %s: %s.\"\n    1014                    \"Filhanteraren kan inte byta namn p %s: %s.\"\n    1021                    \"Filhanteraren kan inte skapa katalogen %s: %s.\"\n    1022                    \"Filhanteraren kan inte flytta katalogen %s: %s.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"Filhanteraren kan inte skapa eller erstta %s: %s.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"Klla och ml refererar till samma sak.\"\n    1102                    \"Markera endast en fil fr namnbyte. Anvnd jokertecken (t ex *.TXT) fr att markera en grupp av filer med liknande namn.\"\n    1103                    \"Det gr inte att byta namn till en annan katalog eller disk.\\nAnvnd istllet kommandot Flytta.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"Du kan inte byta namn p rotkatalogen.\"\n    1105                    \"Mlkatalogen r en underkatalog till kllan.\"\n    1106                    \"Filen anvnds av Windows.\"\n    1107                    \"Ange endast en fil eller en katalog i rutan Till. Anvnd  jokertecken om du vill ange en grupp av filer(t ex *.TXT).\"\n    1108                    \"Fil- eller katalognamnet finns redan. Namn p underkataloger och filer i samma katalog mste vara unika.\"\n    1109                    \"Kontrollera att korrekt skvg och filnamn r angivna.\"\n    1110                    \"Kontrollera skvgen.\"\n    1111                    \"Avsluta ett eller flera program och frsk igen eller anvnd alternativet System i Kontrollpanelen fr att ka det virtuella minnet.\"\n    1113                    \"Anvnd en annan diskett eller ta bort skrivskyddet frn den hr disketten och frsk igen.\"\n    1114                    \"Kontrollera att du har behrighet fr att utfra den hr operationen.\"\n    1115                    \"Ta bort en eller flera filer och frsk igen.\"\n    1116                    \"Det finns inte ngon information p det hr mediet.\"\n    1117                    \"Katalogen finns redan.\"\n    1118                    \"Den angivna namnet anvnds redan av en fil.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"Det r fel diskett i enheten.\"\n    1151                    \"Programmet kan inte kras frn Windows NT.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \"Operativsystemet kan inte kra den hr komponenten.\"\n    1153                    \"Det gr inte att kra den hr komponenten i Windows NT-lge.\"\n    1154                    \"Det hr r inte ett Windows NT-program.\"\n    1155                    \"Det uppstod ett fel. Det finns ingen meddelandetext fr det hr felet.\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \"Rs[(&F):\"\n    2001                    \"Rs[(&T):\"\n    2002                    \"̖O(&F):\"\n    2003                    \"VO(&T):\"\n    2004                    \"Rs[:\"\n    2005                    \"̃tHg?gpƊ?̕\\\\?\\nłȂȂ܂B\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"Kommandon fr filhantering\"\n    3985                    \"Kommandon fr diskhantering\"\n    3986                    \"Kommandon fr kataloghantering\"\n    3987                    \"Kommandon fr instllningar av visning av information\"\n    3988                    \"Kommandon fr instllningar av alternativ\"\n    3989                    \"Kommandon fr ndring av fil- och katalogskerhet\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"Kommandon fr att ordna fnster\"\n    4001                    \"Kommandon fr visning av Hjlp\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"Sker efter avsnitt i Hjlp\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \"ppnar markerat objekt\"\n    4102                    \"Skriver ut dokument\"\n    4103                    \"Associerar filer med program\"\n    4104                    \"Sker efter filer och kataloger\"\n    4105                    \"Kr program eller ppnar dokument\"\n    4106                    \"Flyttar markerat objekt\"\n    4107                    \"Kopierar filer och kataloger\"\n    4108                    \"Tar bort filer och kataloger\"\n    4109                    \"Byter namn p filer eller kataloger\"\n    4110                    \"Anger filattribut och visar egenskaper\"\n    4111                    \"Skapar kataloger\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"Avslutar Filhanteraren\"\n    4116                    \"Markerar filer och kataloger\"\n    4117                    \"terstller tidigare borttagna filer\"\n    4118                    \"Kopierar en fil till Urklipp\"\n    4119                    \"Komprimerar en fil eller en katalog\"\n    4120                    \"Expanderar en fil eller en katalog\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"Kopierar diskettinnehll\"\n    4202                    \"Anger volymetiketter\"\n    4203                    \"Formaterar disketter\"\n    4205                    \"Ansluter ntverksenheter\"\n    4206                    \"Kopplar frn ntverksenheter\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"Vljer ny enhet\"\n    4254                    \"Delar kataloger\"\n    4255                    \"Slutar dela kataloger\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"Visar ytterligare en niv i katalogtrdet fr markerad katalog\"\n    4302                    \"Visar alla underkataloger till markerad katalog\"\n    4303                    \"Visar hela katalogtrdet fr enheten\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \"Dljer underkatalogerna i markerad katalog\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \"Visar endast filnamn\"\n    4402                    \"Visar all filinformation\"\n    4403                    \"Visar valfri filinformation\"\n    4404                    \"Sorterar filer efter namn\"\n    4405                    \"Sorterar filer efter typ\"\n    4406                    \"Sorterar filer efter storlek\"\n    4407                    \"Sorterar filer efter datum\"\n    4409                    \"Visar filer av valfri filtyp\"\n    4411                    \"Visar katalogtrdet fr aktivt fnster\"\n    4412                    \"Visar aktuell katalog och dess innehll\"\n    4413                    \"Visar katalogtrdet och innehllet i markerad katalog\"\n    4414                    \"Delar katalogfnstret eller flyttar delningslisten\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"Bestmmer vilka operationer som ska bekrftas\"\n    4503                    \"Visar eller dljer statusfltet\"\n    4504                    \"Frminskar Filhanteraren till en ikon vid start\"\n    4505                    \"Markerar kataloger som har underkataloger\"\n    4507                    \"Visar eller dljer enhetsfltet\"\n    4508                    \"Visar eller dljer verktygsfltet\"\n    4509                    \"ppnar ett nytt fnster vid anslutning\"\n    4510                    \"ndrar Filhanterarens teckensnitt\"\n    4511                    \"Sparar instllningar nr Filhanteraren avslutas\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"Anpassar verktygsfltet\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"Visar eller stller in information om behrighet fr valda poster\"\n    4606                    \"Visar eller stller in information om granskning fr valda poster\"\n    4607                    \"Visar eller tar garskap till valda poster\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"Ordnar fnster verlappande\"\n    5702                    \"Ordnar fnster sida vid sida\"\n    5703                    \"Ordnar fnster ver och under\"\n    5704                    \"Uppdaterar innehllet i ett fnster\"\n    5705                    \"Ordnar ikoner\"\n    5706                    \"ppnar ett nytt fnster\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"Visar innehllet i Hjlp\"\n    5802                    \"Visar hur Hjlp kan anvndas\"\n    5803                    \"Visar information om Filhanteraren\"\nEND\n\n#endif    // Swedish (Sweden) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/origrc/winfile.zh-CN.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Chinese (Simplified, PRC) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHS)\nLANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED\n#pragma code_page(936)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"BMP100.BMP\"\n\n\n101                     BITMAP                  \"BMP101.BMP\"\n\n\n102                     BITMAP                  \"BMP102.BMP\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"ļ(&F)\"\n    BEGIN\n        MENUITEM \"(&O)\\tEnter\",               101\n        MENUITEM \"ƶ(&M)...\\tF7\",               106\n        MENUITEM \"(&C)...\\tF8\",               107\n        MENUITEM \"Ƶ(&B)...\\tF9\",           118\n        MENUITEM \"ɾ(&D)...\\tDel\",              108\n        MENUITEM \"(&N)...\",                  109\n        MENUITEM \"(&T)...\\tAlt+Enter\",        110\n        MENUITEM SEPARATOR\n        MENUITEM \"ѹ(&S)...\",                   119\n        MENUITEM \"ѹ(&U)...\",                  120\n        MENUITEM SEPARATOR\n        MENUITEM \"(&R)...\",                   105\n        MENUITEM \"ӡ(&P)...\",                   102\n        MENUITEM \"(&A)...\",                   103\n        MENUITEM SEPARATOR\n        MENUITEM \"Ŀ¼(&E)...\",                 111\n        MENUITEM \"(&C)...\",                   104\n        MENUITEM \"ѡļ(&F)...\",                 116\n        MENUITEM SEPARATOR\n        MENUITEM \"˳(&X)\",                      115\n    END\n    POPUP \"(&D)\"\n    BEGIN\n        MENUITEM \"ƴ(&C)...\",                 201\n        MENUITEM \"ע(&L)...\",                 202\n        MENUITEM SEPARATOR\n        MENUITEM \"ʽ(&F)...\",                203\n        MENUITEM SEPARATOR\n        MENUITEM \"ѡ(&S)...\",                251\n    END\n    POPUP \"Ŀ¼(&T)\"\n    BEGIN\n        MENUITEM \"չһ(&X)\\t+\",                 301\n        MENUITEM \"չ֧(&B)\\t*\",                 302\n        MENUITEM \"չȫ(&A)\\tCtrl+*\",            303\n        MENUITEM \"۵֧(&C)\\t-\",                 304\n        MENUITEM SEPARATOR\n        MENUITEM \"չķ֧(&I)\",                505\n    END\n    POPUP \"鿴(&V)\"\n    BEGIN\n        MENUITEM \"Ŀ¼Ŀ¼(&R)\",                  413\n        MENUITEM \"Ŀ¼(&E)\",                     411\n        MENUITEM \"Ŀ¼(&O)\",                      412\n        MENUITEM SEPARATOR\n        MENUITEM \"(&L)\",                      414\n        MENUITEM SEPARATOR\n        MENUITEM \"(&N)\",                      401\n        MENUITEM \"ļȫϸ(&A)\",               402, CHECKED\n        MENUITEM \"ϸ(&P)...\",               403\n        MENUITEM SEPARATOR\n        MENUITEM \"(&S)\",                   404\n        MENUITEM \"(&B)\",                   405\n        MENUITEM \"С(&Z)\",                   406\n        MENUITEM \"(&D)\",                   407\n        MENUITEM SEPARATOR\n        MENUITEM \"ļ(&T)...\",                409\n    END\n    POPUP \"ѡ(&O)\"\n    BEGIN\n        MENUITEM \"ȷ(&C)...\",                   501\n        MENUITEM \"(&F)...\",                   510\n        MENUITEM \"Զ幤(&B)...\",               512\n        MENUITEM SEPARATOR\n        MENUITEM \"(&T)\",                     508\n        MENUITEM \"(&D)\",                    507\n        MENUITEM \"״̬(&S)\",                     503\n        MENUITEM SEPARATOR\n        MENUITEM \"Զͼ(&M)\",                  504\n        MENUITEM \"˳ʱ(&E)\",                 511\n    END\n    POPUP \"ȫ(&S)\"\n    BEGIN\n        MENUITEM \"Ȩ(&P)...\",                   605\n        MENUITEM \"(&A)...\",                   606\n        MENUITEM \"(&O)...\",                  607\n    END\n    POPUP \"(&W)\"\n    BEGIN\n        MENUITEM \"½(&N)\",                    1706\n        MENUITEM \"(&C)\\tShift+F5\",            1701\n        MENUITEM \"ƽ(&H)\",                    1703\n        MENUITEM \"ֱƽ(&T)\\tShift+F4\",          1702\n        MENUITEM \"ͼ(&A)\",                    1705\n        MENUITEM \"ˢ(&R)\\tF5\",                  1704\n    END\n    POPUP \"(&H)\"\n    BEGIN\n        MENUITEM \"Ŀ¼(&C)\",                      1801\n        MENUITEM \"Ұ(&S)...\",               30\n        MENUITEM \"ʹ÷(&H)\",                  1802\n        MENUITEM SEPARATOR\n        MENUITEM \"ļ(&A)...\",              1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 12, 223, 68\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,162,10\n    CONTROL         \"(&C):\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,3,21,60,10\n    EDITTEXT        201,3,34,134,12,ES_AUTOHSCROLL\n    CONTROL         \"ʱС(&M)\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,3,50,71,12\n    DEFPUSHBUTTON   \"ȷ\",1,173,6,40,14\n    PUSHBUTTON      \"ȡ\",2,173,23,40,14\n    PUSHBUTTON      \"(&H)\",254,173,43,40,14\nEND\n\n11 DIALOG 20, 20, 242, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ӡ\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,189,10\n    CONTROL         \"ӡ(&P):\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,23,38,10\n    EDITTEXT        102,44,21,149,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,39,190,10\n    DEFPUSHBUTTON   \"ȷ\",1,197,6,40,14\n    PUSHBUTTON      \"ȡ\",2,197,23,40,14\n    PUSHBUTTON      \"(&H)\",254,197,43,40,14\nEND\n\n12 DIALOG 20, 20, 254, 120\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"\"\nFONT 9, \"\"\nBEGIN\n    LTEXT           \"ļչ(&F):\",-1,6,7,68,8\n    COMBOBOX        315,79,5,44,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"(&A):\",-1,6,27,92,10\n    EDITTEXT        304,6,42,172,12,ES_AUTOHSCROLL\n    LISTBOX         314,11,54,167,62,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"(&B)...\",318,130,24,47,14\n    DEFPUSHBUTTON   \"ȷ\",1,187,6,62,14,WS_GROUP\n    PUSHBUTTON      \"ȡ\",2,187,23,62,14\n    PUSHBUTTON      \"½(&N)...\",300,187,42,62,14\n    PUSHBUTTON      \"(&C)...\",251,187,59,62,14\n    PUSHBUTTON      \"ɾ(&D)\",219,187,76,62,14\n    PUSHBUTTON      \"(&H)\",254,187,95,62,14\nEND\n\n13 DIALOG 20, 20, 269, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"Ŀ(&S):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,51,12\n    EDITTEXT        201,58,7,160,12,ES_AUTOHSCROLL\n    CONTROL         \"ʼ(&F):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,23,49,12\n    EDITTEXT        101,58,22,160,12,ES_AUTOHSCROLL\n    CONTROL         \"ȫĿ¼(&E)\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,58,39,100,12\n    DEFPUSHBUTTON   \"ȷ\",1,223,6,40,14\n    PUSHBUTTON      \"ȡ\",2,223,23,40,14\n    PUSHBUTTON      \"(&H)\",254,223,41,40,14\nEND\n\n14 DIALOG 47, 59, 265, 68\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ƶ\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"ǰĿ¼: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,5,173,10\n    CONTROL         \"(&T):\",2001,\"Static\",SS_LEFTNOWORDWRAP,3,33,53,10\n    EDITTEXT        103,64,32,138,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,52,40,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,47,52,134,10\n    DEFPUSHBUTTON   \"ȷ\",1,216,6,40,14\n    PUSHBUTTON      \"ȡ\",2,216,23,40,14\n    PUSHBUTTON      \"(&H)\",254,216,40,40,14\n    CONTROL         \"(&F):\",2002,\"Static\",SS_LEFTNOWORDWRAP,3,19,53,10\n    EDITTEXT        102,64,18,138,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 257, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ɾ\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"ǰĿ¼: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"ɾ(&L):\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,41,10\n    EDITTEXT        102,48,19,155,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,35,41,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,48,35,155,10\n    DEFPUSHBUTTON   \"ȷ\",1,212,6,40,14\n    PUSHBUTTON      \"ȡ\",2,212,23,40,14\n    PUSHBUTTON      \"(&H)\",254,212,40,40,14\nEND\n\n16 DIALOG 23, 13, 275, 246\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"%s \"\nFONT 9, \"\"\nBEGIN\n    DEFPUSHBUTTON   \"ȷ\",1,215,6,54,14,WS_GROUP\n    PUSHBUTTON      \"ȡ\",2,215,23,54,14\n    PUSHBUTTON      \"(&H)\",254,215,40,54,14\n    CONTROL         \"ļ(&F):\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,47,10\n    EDITTEXT        201,57,5,147,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"·(&P):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,47,10\n    EDITTEXT        101,57,16,147,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"ϴ޸:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,47,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,57,27,147,10\n    CONTROL         \"汾:\",258,\"Static\",SS_LEFTNOWORDWRAP,5,38,47,10\n    CONTROL         \"δ\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,57,38,147,10\n    LTEXT           \"Ȩ(&Y):\",-1,5,49,47,10\n    EDITTEXT        265,57,49,147,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"С:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,60,47,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,57,60,147,10\n    CONTROL         \"ѹĴС:\",268,\"Static\",SS_LEFTNOWORDWRAP,5,71,47,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,57,71,147,10\n    CONTROL         \"ѹ:\",270,\"Static\",SS_LEFTNOWORDWRAP,5,82,47,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,57,82,147,10\n    GROUPBOX        \"\",-1,4,96,150,54\n    CONTROL         \"ֻ(&R)\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,14,108,52,12\n    CONTROL         \"(&I)\",216,\"Button\",BS_AUTOCHECKBOX,85,108,49,12\n    CONTROL         \"(&A)\",217,\"Button\",BS_AUTOCHECKBOX,14,120,52,12\n    CONTROL         \"ϵͳ(&S)\",218,\"Button\",BS_AUTOCHECKBOX,85,120,49,12\n    CONTROL         \"ѹ(&C)\",267,\"Button\",BS_AUTOCHECKBOX,14,132,52,12\n    GROUPBOX        \"汾Ϣ(&V)\",262,4,155,261,80\n    LISTBOX         263,9,168,104,58,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,121,168,138,58,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 212, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Ŀ¼\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,154,10\n    CONTROL         \"(&N):\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,23,39,10\n    EDITTEXT        201,47,22,105,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,46,150,10\n    DEFPUSHBUTTON   \"ȷ\",1,167,6,40,14\n    PUSHBUTTON      \"ȡ\",2,167,23,40,14\n    PUSHBUTTON      \"(&H)\",254,167,43,40,14\nEND\n\n19 DIALOG 20, 20, 154, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ƴ\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"Դ(&S):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,46,10\n    COMBOBOX        245,55,6,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"Ŀ(&D):\",206,\"Static\",SS_LEFTNOWORDWRAP,5,22,46,10\n    COMBOBOX        222,55,20,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"ȷ\",1,110,6,40,14\n    PUSHBUTTON      \"ȡ\",2,110,23,40,14\n    PUSHBUTTON      \"(&H)\",254,110,43,40,14\nEND\n\n22 DIALOG 30, 30, 144, 63\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ڸƴ\"\nFONT 9, \"\"\nBEGIN\n    CTEXT           \"ڸ\",-1,7,5,130,10,NOT WS_GROUP\n    CTEXT           \" A: еĴ\",222,7,16,130,10,NOT WS_GROUP\n    CTEXT           \"ȡԴ\",243,7,27,130,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"ȡ\",2,50,44,44,14\nEND\n\n23 DIALOG 20, 20, 161, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ע\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"(&L):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,56,10\n    EDITTEXT        201,5,27,100,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"ȷ\",1,115,6,40,14\n    PUSHBUTTON      \"ȡ\",2,115,23,40,14\n    PUSHBUTTON      \"(&H)\",254,115,43,40,14\nEND\n\n24 DIALOG 11, 28, 184, 101\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ʽ\"\nFONT 9, \"\"\nBEGIN\n    DEFPUSHBUTTON   \"ȷ\",1,140,6,40,14\n    PUSHBUTTON      \"ȡ\",2,140,23,40,14\n    PUSHBUTTON      \"(&H)\",254,140,43,40,14\n    CONTROL         \"λ(&D):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,7,47,10\n    COMBOBOX        222,55,4,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"(&C):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,20,47,10\n    COMBOBOX        241,55,19,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"ѡ\",102,5,39,115,53,WS_GROUP\n    CONTROL         \"(&L):\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,51,39,10\n    EDITTEXT        201,53,49,63,12\n    CONTROL         \"ٸʽ(&Q)\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,66,90,12\nEND\n\n26 DIALOG 30, 30, 154, 53\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ڸʽ\"\nFONT 9, \"\"\nBEGIN\n    CTEXT           \"ڸʽ\",-1,0,5,150,10,NOT WS_GROUP\n    CTEXT           \"ʼ...\",243,0,18,150,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"ȡ\",2,55,33,44,14\nEND\n\n30 DIALOG 20, 20, 174, 83\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ϸ\"\nFONT 9, \"\"\nBEGIN\n    GROUPBOX        \"ϸ\",-1,4,4,121,74\n    CONTROL         \"С(&S)\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,15,100,12\n    CONTROL         \"ϴ޸(&M)\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,27,100,12\n    CONTROL         \"ϴ޸ʱ(&T)\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,39,100,12\n    CONTROL         \"ļ(&F)\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,51,100,12\n    CONTROL         \"MS-DOS ļ(&D)\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,63,100,12\n    DEFPUSHBUTTON   \"ȷ\",1,130,6,40,14\n    PUSHBUTTON      \"ȡ\",2,130,23,40,14\n    PUSHBUTTON      \"(&H)\",254,130,60,40,14\nEND\n\n32 DIALOG 20, 20, 172, 100\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ļ\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"(&N):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,37,10\n    EDITTEXT        201,45,6,79,12,ES_AUTOHSCROLL\n    GROUPBOX        \"ļ\",-1,5,20,94,62\n    CONTROL         \"Ŀ¼(&D)\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,31,60,12\n    CONTROL         \"(&P)\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,43,60,12\n    CONTROL         \"ĵ(&M)\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,55,60,12\n    CONTROL         \"ļ(&O)\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,60,12\n    CONTROL         \"ʾ/ϵͳļ(&S)\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,5,85,101,12\n    DEFPUSHBUTTON   \"ȷ\",1,127,6,40,14\n    PUSHBUTTON      \"ȡ\",2,127,23,40,14\n    PUSHBUTTON      \"(&H)\",254,127,43,40,14\nEND\n\n33 DIALOG 20, 20, 212, 96\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ȷ\"\nFONT 9, \"\"\nBEGIN\n    GROUPBOX        \"ȷ\",-1,5,5,160,87,WS_TABSTOP\n    CONTROL         \"ļɾ(&D)\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,15,80,12\n    CONTROL         \"Ŀ¼ɾ(&I)\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,27,80,12\n    CONTROL         \"ļ滻(&R)\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,39,80,12\n    CONTROL         \"(&M)\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,51,80,12\n    CONTROL         \"̲(&K)\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,63,80,12\n    CONTROL         \"޸ϵͳءֻļ(&S)\",215,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,75,150,12\n    DEFPUSHBUTTON   \"ȷ\",1,168,6,40,14\n    PUSHBUTTON      \"ȡ\",2,168,23,40,14\n    PUSHBUTTON      \"(&H)\",254,168,44,40,14\nEND\n\n35 DIALOG 20, 20, 256, 50\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ƶ...\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,5,45,8\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,56,5,192,10\n    CONTROL         \"(&T):\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,18,40,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,56,18,192,10\n    DEFPUSHBUTTON   \"ȡ\",2,212,33,40,14,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 128, 59\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 9, \"\"\nBEGIN\n    CTEXT           \"ڴӡļ...\",-1,4,6,120,12\n    CTEXT           \"\",-1,4,21,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"ȡ\",2,47,41,32,14,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 206, 91\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"ѡ %d ļ\",100,\"Static\",SS_LEFTNOWORDWRAP,5,5,140,10\n    CONTROL         \"ܹ %s ֽ\",111,\"Static\",SS_LEFTNOWORDWRAP,5,16,139,10\n    GROUPBOX        \"\",-1,5,29,123,54\n    CONTROL         \"ֻ(&R)\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,40,52,12\n    CONTROL         \"(&I)\",216,\"Button\",BS_AUTOCHECKBOX,72,40,52,12\n    CONTROL         \"(&A)\",217,\"Button\",BS_AUTOCHECKBOX,10,52,52,12\n    CONTROL         \"ϵͳ(&S)\",218,\"Button\",BS_AUTOCHECKBOX,72,52,52,12\n    CONTROL         \"ѹ(&C)\",267,\"Button\",BS_AUTOCHECKBOX,10,64,52,12\n    DEFPUSHBUTTON   \"ȷ\",1,150,6,50,14,WS_GROUP\n    PUSHBUTTON      \"ȡ\",2,150,23,50,14\n    PUSHBUTTON      \"(&H)\",254,150,43,50,14\nEND\n\n39 DIALOG 10, 20, 257, 136\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ȷļȡ\"\nFONT 9, \"\"\nBEGIN\n    ICON            32515,-1,3,12,21,21\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,221,10\n    CONTROL         \"滻ļ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,17,49,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,17,171,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,75,34,171,10\n    CONTROL         \"滻Ϊ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,50,49,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,50,171,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,75,66,171,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,29,84,217,23\n    DEFPUSHBUTTON   \"(&Y)\",6,38,116,40,14\n    PUSHBUTTON      \"ȫ(&A)\",107,84,116,40,14\n    PUSHBUTTON      \"(&N)\",7,130,116,40,14\n    PUSHBUTTON      \"ȡ\",2,176,116,40,14\nEND\n\n40 DIALOG 10, 20, 247, 89\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ȷļɾ\"\nFONT 9, \"\"\nBEGIN\n    ICON            32515,-1,3,12,21,21\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"ɾļ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,21,44,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,71,21,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,36,203,22\n    DEFPUSHBUTTON   \"(&Y)\",6,34,67,40,14\n    PUSHBUTTON      \"ȫ(&A)\",107,80,67,40,14\n    PUSHBUTTON      \"(&N)\",7,126,67,40,14\n    PUSHBUTTON      \"ȡ\",2,172,67,40,14\nEND\n\n41 DIALOG 10, 20, 247, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ȷĿ¼ɾ\"\nFONT 9, \"\"\nBEGIN\n    ICON            32515,-1,3,12,21,21\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,34,3,203,10\n    CONTROL         \"ɾĿ¼:\",-1,\"Static\",SS_LEFTNOWORDWRAP,34,18,39,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,34,35,203,23\n    DEFPUSHBUTTON   \"(&Y)\",6,34,66,40,14\n    PUSHBUTTON      \"ȫ(&A)\",107,80,66,40,14\n    PUSHBUTTON      \"(&N)\",7,126,66,40,14\n    PUSHBUTTON      \"ȡ\",2,172,66,40,14\nEND\n\n42 DIALOG 10, 22, 246, 69\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ȷļƶ\"\nFONT 9, \"\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"ƶļ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,42,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,18,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,32,203,10\n    DEFPUSHBUTTON   \"(&Y)\",6,34,50,40,14\n    PUSHBUTTON      \"ȫ(&A)\",107,80,50,40,14\n    PUSHBUTTON      \"(&N)\",7,126,50,40,14\n    PUSHBUTTON      \"ȡ\",2,172,50,40,14\nEND\n\n43 DIALOG 10, 22, 245, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ȷļ\"\nFONT 9, \"\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"ļ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,18,50,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,81,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,33,203,10\n    DEFPUSHBUTTON   \"(&Y)\",6,33,48,40,14\n    PUSHBUTTON      \"ȫ(&A)\",107,79,48,40,14\n    PUSHBUTTON      \"(&N)\",7,125,48,40,14\n    PUSHBUTTON      \"ȡ\",2,171,48,40,14\nEND\n\n44 DIALOG 15, 12, 141, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ѡļ\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"ļ(&F):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,14,60,10\n    EDITTEXT        201,5,29,75,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"ѡ(&S)\",1,85,6,51,14\n    PUSHBUTTON      \"ѡ(&D)\",6,85,23,51,14\n    PUSHBUTTON      \"ȡ\",2,85,40,51,14\n    PUSHBUTTON      \"(&H)\",254,85,63,51,14\nEND\n\n45 DIALOG 11, 31, 198, 77\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ѡ\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"(&D):\",245,\"Static\",SS_LEFTNOWORDWRAP,5,5,41,10\n    LISTBOX         222,5,17,140,60,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"ȷ\",1,153,6,40,14\n    PUSHBUTTON      \"ȡ\",2,153,23,40,14\n    PUSHBUTTON      \"(&H)\",254,153,44,40,14\nEND\n\n46 DIALOG 11, 28, 249, 77\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ѡļ\"\nFONT 9, \"\"\nBEGIN\n    LTEXT           \"· FAT ļʽµơ\",99,5,4,190,20,NOT WS_GROUP\n    RTEXT           \"(&N):\",-1,5,58,50,12,NOT WS_GROUP\n    EDITTEXT        103,62,57,130,12\n    RTEXT           \"ԭ·:\",-1,5,28,50,11,NOT WS_GROUP\n    EDITTEXT        102,63,28,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \"ĿĿ¼:\",-1,5,44,50,11,NOT WS_GROUP\n    EDITTEXT        101,63,43,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"ȷ\",1,203,4,40,14\n    PUSHBUTTON      \"ȡ\",2,203,20,40,14\n    PUSHBUTTON      \"(&H)\",254,203,36,40,14\nEND\n\n48 DIALOG 23, 13, 253, 114\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"%s \"\nFONT 9, \"\"\nBEGIN\n    DEFPUSHBUTTON   \"ȷ\",1,197,6,50,14,WS_GROUP\n    PUSHBUTTON      \"ȡ\",2,197,23,50,14\n    PUSHBUTTON      \"(&H)\",254,197,43,50,14\n    CONTROL         \"ļ(&F):\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,49,10\n    EDITTEXT        201,60,5,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"·(&P):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,49,10\n    EDITTEXT        101,60,16,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"ϴ޸:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,49,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,60,27,130,10\n    CONTROL         \"С:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,38,49,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,60,38,130,10\n    GROUPBOX        \"\",-1,4,52,120,54\n    CONTROL         \"ֻ(&R)\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,64,52,12\n    CONTROL         \"(&I)\",216,\"Button\",BS_AUTOCHECKBOX,71,64,49,12\n    CONTROL         \"(&A)\",217,\"Button\",BS_AUTOCHECKBOX,9,76,52,12\n    CONTROL         \"ϵͳ(&S)\",218,\"Button\",BS_AUTOCHECKBOX,71,76,49,12\n    CONTROL         \"ѹ(&C)\",267,\"Button\",BS_AUTOCHECKBOX,9,88,52,12\nEND\n\n49 DIALOG 13, 54, 264, 168\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"\"\nFONT 9, \"\"\nBEGIN\n    LTEXT           \"(&F):\",1088,6,3,47,9\n    COMBOBOX        1136,6,13,94,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"(&Y):\",1089,108,3,44,9\n    COMBOBOX        1137,108,13,64,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"С(&S):\",1090,179,3,36,9\n    COMBOBOX        1138,179,13,32,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"Ч\",1072,6,73,112,87,WS_GROUP\n    CONTROL         \"ɾ(&K)\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,83,67,10\n    CONTROL         \"»(&U)\",1041,\"Button\",BS_AUTOCHECKBOX,10,95,52,10\n    CONTROL         \"FAT Сдʾ(&L)\",1042,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,107,104,10\n    CONTROL         \"Сдʾ(&D)\",1043,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,120,104,10\n    LTEXT           \"ɫ(&C):\",1091,11,135,44,9\n    COMBOBOX        1139,63,133,43,50,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"ȷ\",1,218,6,40,14,WS_GROUP\n    PUSHBUTTON      \"ȡ\",2,218,23,40,14,WS_GROUP\n    PUSHBUTTON      \"Ӧ(&A)\",1026,218,40,40,14,WS_GROUP\n    PUSHBUTTON      \"(&H)\",1038,218,57,40,14,WS_GROUP\n    GROUPBOX        \"ʾ\",1073,128,74,127,64,WS_GROUP\n    CTEXT           \"\",1093,131,144,123,16,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"AaBbYyZz\",1092,137,89,110,39,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 77, 27, 160, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ڸʽ\"\nFONT 9, \"\"\nBEGIN\n    CTEXT           \"\",100,15,36,131,8\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,15,10,131,22\n    PUSHBUTTON      \"\",110,38,48,40,14\n    PUSHBUTTON      \"ȡ\",2,82,48,40,14\nEND\n\n51 DIALOG 10, 20, 245, 74\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ȷ: ļĿ¼Ȼ\"\nFONT 9, \"\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"ʱܾ:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,16,79,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,111,14,122,10\n    CONTROL         \"ûʹȨ޻ļʹС\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,29,139,10\n    CONTROL         \"ѡǡԹļȻ\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,41,180,10\n    DEFPUSHBUTTON   \"(&Y)\",6,33,56,40,14\n    PUSHBUTTON      \"ȫ(&A)\",107,79,56,40,14\n    PUSHBUTTON      \"(&N)\",7,125,56,40,14\n    PUSHBUTTON      \"ȡ\",2,171,56,40,14\nEND\n\n52 DIALOG 10, 20, 237, 62\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ȷ: ļĿ¼Ȼ\"\nFONT 9, \"\"\nBEGIN\n    ICON            32515,-1,3,12,16,16\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"޷Ŀλã:\",202,\"Static\",SS_LEFTNOWORDWRAP,25,16,95,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,125,15,106,10\n    CONTROL         \"ѡǡɺԴļҼ\",-1,\"Static\",SS_LEFTNOWORDWRAP,25,29,180,10\n    DEFPUSHBUTTON   \"(&Y)\",6,30,44,40,14\n    PUSHBUTTON      \"ȫ(&A)\",107,76,44,40,14\n    PUSHBUTTON      \"(&N)\",7,122,44,40,14\n    PUSHBUTTON      \"ȡ\",2,168,44,40,14\nEND\n\n53 DIALOG 77, 109, 209, 82\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \":\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,5,60,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,73,5,120,10\n    CONTROL         \":\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,18,60,10\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,73,17,120,10\n    CONTROL         \"ȡĿ¼:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,31,60,10\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,73,29,120,10\n    CONTROL         \"ҵƥ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,45,60,10\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,73,43,120,10\n    PUSHBUTTON      \"\",110,62,64,40,14\n    PUSHBUTTON      \"ȡ\",2,106,64,40,14\nEND\n\n54 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Ƶ\"\nFONT 9, \"\"\nBEGIN\n    CONTROL         \"ǰĿ¼: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"Ƶ(&B):\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,67,10\n    EDITTEXT        102,71,19,125,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"ȷ\",1,200,6,40,14\n    PUSHBUTTON      \"ȡ\",2,200,23,40,14\n    PUSHBUTTON      \"(&H)\",254,200,43,40,14\nEND\n\n55 DIALOG 18, 14, 289, 230\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ļ\"\nFONT 9, \"\"\nBEGIN\n    LTEXT           \"ļ(&F):\",302,5,6,51,8\n    EDITTEXT        301,59,5,95,12,ES_AUTOHSCROLL\n    GROUPBOX        \"(&A):\",-1,5,22,235,126,WS_GROUP\n    COMBOBOX        306,165,5,48,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"(&C):\",313,9,41,38,8\n    EDITTEXT        304,51,39,111,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"(&B)...\",318,166,38,46,14\n    CONTROL         \"ʹ DDE(&U)\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,57,69,10\n    LTEXT           \"DDE Ϣ(&D):\",320,22,72,64,8\n    EDITTEXT        309,105,70,100,12,ES_AUTOHSCROLL\n    LTEXT           \"Ӧóδʱ DDE Ϣ(&N):\",322,22,84,77,19\n    LTEXT           \"(ѡ)\",324,209,90,26,8\n    EDITTEXT        311,105,88,100,12,ES_AUTOHSCROLL\n    LTEXT           \"Ӧó(&C):\",321,22,109,65,8\n    EDITTEXT        310,105,107,100,12,ES_AUTOHSCROLL\n    LTEXT           \"Ŀ(&T):\",323,23,127,50,8\n    EDITTEXT        312,105,125,100,12,ES_AUTOHSCROLL\n    LTEXT           \"չ(&W):\",-1,11,184,51,8\n    EDITTEXT        315,66,183,32,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"(&D) ->\",303,102,174,51,14\n    PUSHBUTTON      \"<-  ɾ(&R)\",219,102,191,51,14\n    LTEXT           \"չ(&E):\",-1,157,162,51,8\n    LISTBOX         317,157,173,65,40,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"뱾ļصչ:\",316,5,154,235,66\n    DEFPUSHBUTTON   \"ȷ\",1,244,6,40,14\n    PUSHBUTTON      \"ȡ\",2,244,23,40,14\n    PUSHBUTTON      \"(&H)\",254,244,40,40,14\nEND\n\n57 DIALOG 123, 60, 244, 118\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"ļѹ\"\nFONT 9, \"\"\nBEGIN\n    LTEXT           \"ѹļ:\",-1,6,8,71,8\n    LTEXT           \"filename.xxx\",341,87,8,147,8\n    LTEXT           \"Ŀ¼:\",-1,6,20,71,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,87,20,151,8\n    LTEXT           \"ѹĿ¼:\",-1,6,32,71,8\n    LTEXT           \"1,888,888,999\",343,87,32,153,8\n    LTEXT           \"Ѿѹļ:\",-1,6,44,71,8\n    LTEXT           \"1,888,888,999\",344,87,44,150,8\n    LTEXT           \"ѹǰļĴС:\",-1,6,56,71,8\n    LTEXT           \"9,999,999,999,999\",345,87,56,146,8\n    LTEXT           \"ѹļС:\",-1,6,68,71,8\n    LTEXT           \"9,999,999,999,999\",346,87,69,150,8\n    LTEXT           \"ļѹ:\",-1,6,80,71,8\n    LTEXT           \"100%\",347,87,80,154,8\n    PUSHBUTTON      \"ȡ\",2,94,97,55,14\nEND\n\n58 DIALOG 114, 62, 238, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"ļѹ\"\nFONT 9, \"\"\nBEGIN\n    LTEXT           \"ڽѹļ:\",-1,6,8,74,8\n    LTEXT           \"filename.xxx\",351,88,8,139,8\n    LTEXT           \"Ŀ¼:\",-1,6,20,74,8\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\",352,88,20,144,8\n    LTEXT           \"Ѿѹļ:\",-1,6,32,74,8\n    LTEXT           \"1,999,999,999\",353,88,32,111,8\n    LTEXT           \"Ѿѹļ:\",-1,6,44,74,8\n    LTEXT           \"1,999,999,999\",354,88,44,114,8\n    PUSHBUTTON      \"ȡ\",2,94,64,49,14\nEND\n\n59 DIALOG 11, 28, 233, 68\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ѹ\"\nFONT 9, \"\"\nBEGIN\n    ICON            32515,-1,8,8,21,20\n    LTEXT           \"\",100,35,8,190,20\n    DEFPUSHBUTTON   \"(&I)\",5,19,47,45,14,WS_GROUP\n    PUSHBUTTON      \"ȫ(&G)\",112,69,47,45,14\n    PUSHBUTTON      \"(&R)\",4,119,47,45,14\n    PUSHBUTTON      \"(&A)\",3,169,47,45,14\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY, SHIFT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT\n    VK_F4,          1702,                   VIRTKEY, SHIFT\n    VK_F5,          1704,                   VIRTKEY \n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII   \n    VK_ADD,         301,                    VIRTKEY \n    \"*\",            302,                    ASCII   \n    VK_MULTIPLY,    302,                    VIRTKEY \n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL\n    \"-\",            304,                    ASCII   \n    VK_SUBTRACT,    304,                    VIRTKEY \n    VK_RETURN,      110,                    VIRTKEY, ALT\n    VK_F2,          2000,                   VIRTKEY \nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"CUR300.CUR\"\n\n\n301                     CURSOR                  \"CUR301.CUR\"\n\n\n302                     CURSOR                  \"CUR302.CUR\"\n\n\n303                     CURSOR                  \"CUR303.CUR\"\n\n\n306                     CURSOR                  \"CUR306.CUR\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ICO200.ICO\"\n\n\n201                     ICON                    \"ICO201.ICO\"\n\n\n202                     ICON                    \"ICO202.ICO\"\n\n\n204                     ICON                    \"ICO204.ICO\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,52\n PRODUCTVERSION 4,0,1381,52\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"080404B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"File Manager\"\n            VALUE \"FileVersion\", \"4.00\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"Copyright (C) Microsoft Corp. 1981-1996\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"Microsoft(R) Windows NT(TM) Operating System\"\n            VALUE \"ProductVersion\", \"4.00\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0x804, 1200\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"ƴ\"\n    51                      \"Ŀ̡\"\n    52                      \"Դ̡\"\n    53                      \"Դ̼Ŀ̡\"\n    54                      \"ʽĿ\"\n    55                      \"ƴ̴\"\n    56                      \"ܸƴ̡\"\n    58                      \"ԴĿ̲ݡ\"\n    60                      \"%d%%\"\n    61                      \"ڴĿ¼...\"\n    62                      \"ڸϵͳļ...\"\n    63                      \"ʽ̴\"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \"ʽ\"\n    67                      \"ȫ̿ռ %ld ֽ\\nϻ%ld ֽڿ\\n\\nʽһ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"\"\n    83                      \" Windows ϵͳļܱϿ\"\n    91                      \"ļ޷ԡ\"\n    92                      \"ļ޷Ŀ¼\"\n    93                      \"ļ޷Ϊ\\n\\nȷδдȷơ\\nƲɰַ: \\n[ո] * ? / \\\\ | . , ; : + = [ ] ( ) & ^ < > \"\" \"\n    95                      \"δҵƥļ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \"б仯¡\"\n    98                      \"ԹԱݵ¼˹վԱӲд\"\n    101                     \" %c:%c\"\n    110                     \"г\"\n    111                     \": %d\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"û㹻ڴָӦó\\n\\n˳ʹһӦóȻԡ\"\n    113                     \"ļ޷ҵļ\\n\\nȷ·ļȷģбҪĿⶼǿõġ\"\n    114                     \"ָ·Ч\"\n    116                     \"ûӦóļйء\\n\\nӡļ˵ѡ񡸹Դ\"\n    118                     \"ļ޷򿪻ӡļ\\n\\nԴļӦó򣬲򿪻ӡļ\"\n    120                     \"ȷ\"\n    121                     \"϶ѡļĿ¼Ƶ %s \"\n    122                     \"϶ѡļĿ¼ƶ %s \"\n    123                     \"ǷȷҪ %s,ʹ %s Ϊʼļ\"\n    124                     \"ļ\"\n    126                     \"Ŀ¼\"\n    127                     \":\"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \"̫ļ\"\n    133                     \"ļ - ڴþ\"\n    134                     \"޷ȡĿ¼ʾб\"\n    140                     \"ǰĿ¼: %s\"\n    141                     \"\"\n    143                     \"\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"ʽ\"\n    146                     \"ѡҪʽĴ̡\"\n    150                     \":\"\n    151                     \"ɾ...\"\n    152                     \"ڸ:\"\n    153                     \"...\"\n    154                     \"ƶ...\"\n    155                     \"ɾ...\"\n    156                     \"ڴӡ: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"ڸ...\"\n    170                     \"ɾ:\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \" %d ļ (%s)\"\n    181                     \"Ŀ¼ȡ: %d\"\n    182                     \"%c: %s ÿռ䣬%s ȫռ\"\n    183                     \"ҵ %d ļ\"\n    185                     \"ѡļ\"\n    186                     \"ļ޷жӡ\\n\\nڴϴļ\"\n    187                     \"ѡ %d ļ (%s)\"\n    188                     \" %c ûд̡\\n\\nԡ\"\n    189                     \" %c Ĵδʽ\\n\\nڰʽ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"û㹻Ĵ̿ռɹӡ\\n\\nɾһļӴ̿ռ䣬ȻһΡ\"\n    193                     \"û㹻ڴɹӡ\\n\\n˳ʹһӦóȻһΡ\"\n    194                     \"ӡʱִ\\n\\nȷӡǷȷǷѡȷ\"\n    195                     \"ʾǲĿ¼\"\n    197                     \"ĿһԼ\"\n    198                     \"һϵͳֻļ\"\n    199                     \"ļܽпٸʽ\\n\\nʽ\"\n    203                     \"ڽ͵Ӧóʱ\"\n    204                     \"Ϊһ⡣\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \"Ŀ¼(&H)...\"\n    210                     \"ʽеݡǷȷҪʽ %c ڵ̣\"\n    211                     \"ȷϸʽ\"\n    212                     \"˲Ŀϵݡ\"\n    213                     \"ȷƴ\"\n    214                     \"ر(&C)\"\n    215                     \"ر\"\n    218                     \"%s Ŀ¼ڡ\\n\\nǷ񴴽Ŀ¼\"\n    219                     \"#*.exe;*.pif;*.com;*.bat#ļ (*.*)#*.*#\"\n    220                     \"\"\n    221                     \"\"\n    222                     \"ܴӡļ\"\n    223                     \"ʾϢ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"չ %s ļǳ򣬲һӦó\"\n    225                     \"%s һ򣬲һļչ\"\n    226                     \"()\"\n    227                     \"ûҵļ\"\n    228                     \"ļͬʱӡļ\\n\\nֻѡһļȻԡ\"\n    230                     \"ӦóĿļ֮һ١°װӦó\"\n    231                     \"ļӦóʹá\"\n    232                     \"ļ޷ڡ%sĿ¼ļ\\n\\nǷ\"\n    233                     \"Ŀ¼\"\n    234                     \"%ld ֽ\"\n    235                     \"%s ֽ\"\n    236                     \"ļ޷ļĿ¼ƵС\\n\\nֻѡһļȻԡ\"\n    237                     \"%s - %s\"\n    238                     \":\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"\"\n    241                     \"ж\"\n    242                     \"\"\n    243                     \"Ŀ¼\"\n    244                     \"ֹͣĿ¼\"\n    245                     \"鿴ļϸ\"\n    246                     \"鿴\"\n    247                     \"\"\n    248                     \"\"\n    249                     \"С\"\n    250                     \"\"\n    251                     \"½\"\n    252                     \"ļ\"\n    253                     \"ƶļ\"\n    254                     \"Ŀ¼(&D):\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"޷ʹ\"\n    259                     \"Ϊ %s\"\n    260                     \"δ\"\n    261                     \"ɾļ\"\n    262                     \" - COMPRESSED\"\n    263                     \"ļƵ %s\"\n    264                     \"ļƶ %s\"\n    265                     \" %s ļ\"\n    266                     \"%s ֽ\"\n    267                     \"%sKB\"\n    268                     \"%sMB\"\n    269                     \"%sGB\"\n    270                     \"%sTB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \"ûзʴĿ¼Ȩޡ\"\n    281                     \"ûзʴļȨޡ\"\n    283                     \"%c: ʹУ޷ʡ\\nļڸƴ̡\"\n    284                     \"%c: ʹУ޷ʡ\\nļڸʽ̡\"\n    285                     \"δȫɲ\"\n    286                     \"޷ļĿ¼еĲ\"\n    287                     \"޷ȡĿ¼\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"Ŀ¼ڡ\"\n    289                     \"޷\"\n    290                     \"Ҳơ\"\n    292                     \"ȫȷõļϵͳغ\\nֻļ\"\n    294                     \"\"\n    295                     \"ӡ\"\n    298                     \"չ\"\n    299                     \"%sչǰ%sǷ滻ԭй\"\n    300                     \"ļ༭\"\n    301                     \"޷չ\"\n    302                     \"޷ɾչ\"\n    303                     \"޷ļ͡\"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"޷ɾļ͡\"\n    305                     \"޷ȡļ͡\"\n    306                     \"ļ˵ǿյġµļ͡\"\n    307                     \"޷ļͲΨһıʶšµļ͡\"\n    308                     \"ɾļ\"\n    309                     \"˽ɾļͼصչǷȷҪɾ%s\"\n    312                     \"ļ͵Ĳٱһ䡣ֶμӦó\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"ļ\"\n    321                     \"ڸƴ\"\n    322                     \"\"\n    324                     \"ļǰڸʽ̡˳ļжϴ\"\n    325                     \"ļǰڸ̡˳ļжϴ\"\n    326                     \"ɰٷֱ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360K\"\n    354                     \"1%s2 MB\"\n    355                     \"720K\"\n    356                     \"1%s44 MB\"\n    357                     \"2%s88 MB\"\n    358                     \"\"\n    359                     \"ļ޷ȡϢ\\n\\nȷλС\"\n    360                     \"20%s8 MB\"\n    361                     \"δ֪Ĵ\"\n    362                     \"δ֪Ĵ\"\n    363                     \"ļ޷ʽ %s еĴ͡ʹô̹ʽ̡\"\nEND\n\nSTRINGTABLE\nBEGIN\n    370                     \"128 MB\"\n    371                     \"230 MB\"\n    375                     \"1%s23 MB\"\n    376                     \"640K\"\n    377                     \"1%s25 MB\"\n    378                     \"256K\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"ݵļϵͳ\"\n    401                     \"ֹʡ\"\n    402                     \"д\"\n    403                     \"ļ޷̾\"\n    404                     \"ļ޷ٸʽ̡\\n\\nȷ̵ܶȷġ\"\n    405                     \"Դϵ IO \"\n    406                     \"Ŀϵ IO \"\n    407                     \"Դ̺Ŀϵ IO \"\n    408                     \" IO \"\n    411                     \"ļ޷ʽ̡\\n\\nȷλڣδд𻵻ܶȴ\"\n    412                     \"ļ޷Ϊ\\n\\nָĴ̾ЧȷϾ겢δκַ\\n\\n[ո] * ? / \\\\ | . , ; : +  = [ ] ( ) & ^ < > \"\" \"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \"...\"\n    421                     \"ر...\"\n    422                     \"̫Ŀ¼ڡ\\n\\nرһڣȻԡ\"\n    423                     \"ٸʽ...\"\n    424                     \"޷ʼ֧֡ļ˳\"\n    425                     \"ļʼ\"\n    426                     \"ڶȡĿ¼Ժ...\"\n    427                     \"Ҫͬʱѹ %s еļĿ¼?\"\n    428                     \"Ҫͬʱѹ %s еļĿ¼?\"\n    429                     \"ļ޷ %s ѹԡ\"\n    430                     \"%s ļѹѹļϵͳܾ޷\"\n    431                     \"ļǰѹѹļ/nѹеļѹļ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"ע\"\n    501                     \"˾\"\n    502                     \"ļ˵\"\n    503                     \"ڲ\"\n    504                     \"Ϸ̱\"\n    505                     \"ԭʼļ\"\n    506                     \"ڲ汾˵\"\n    507                     \"Ʒ\"\n    508                     \"Ʒ汾\"\n    509                     \"汾˵\"\n    510                     \"\"\n    511                     \"\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"(&N)...\"\n    801                     \"Ͽ(&D)...\"\n    802                     \"(&N)...\"\n    803                     \"Ϊ(&A)...\"\n    804                     \"ֹͣ(&T)...\"\n    805                     \"鿴Ŀ¼(&H)...\"\n    806                     \"ָɾ(&U)...\"\n    807                     \"ʱ´(&O)\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \"ƶļ\"\n    1002                    \"ļ\"\n    1003                    \"ɾļ\"\n    1004                    \"ļ\"\n    1005                    \"ѡ\"\n    1006                    \"ȡĿ¼\"\n    1007                    \"ע̳\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"ļƶ %s: %s\"\n    1012                    \"ļܸ %s: %s\"\n    1013                    \"ļɾ %s: %s\"\n    1014                    \"ļ %s: %s\"\n    1021                    \"ļܴĿ¼ %s: %s\"\n    1022                    \"ļɾĿ¼ %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"ļܴ滻 %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"ԴĿͬ\"\n    1102                    \"ѡһļʹַͨ *.TXTΪһƵļ\"\n    1103                    \"޷ΪͬĿ¼̡\\náļƶ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"޷ΪĿ¼\"\n    1105                    \"ĿĿ¼ΪԴĿ¼\"\n    1106                    \"Windows ʹļ\"\n    1107                    \"нָһļĿ¼Ҫָһļʹַͨ *.TXT\"\n    1108                    \"ѾʹƵļĿ¼ڡĿ¼УļĿ¼ƶΨһġ\"\n    1109                    \"ȷǷָȷ·ļ\"\n    1110                    \"ȷǷָȷ·\"\n    1111                    \"˳ʹһӦóȻԡʹÿġϵͳѡڴ档\"\n    1113                    \"ȡ˴̵дʹһ̣ȻһΡ\"\n    1114                    \"ȷӵȷȨԱд\"\n    1115                    \"ɾһļӴ̿ռ䣬ȻһΡ\"\n    1116                    \"ڴýδ⵽κݡ\"\n    1117                    \"Ŀ¼Ѿڡ\"\n    1118                    \"ָһļʹá\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"Ǵ̡\"\n    1151                    \"Ӧó޷ Windows NT ʽС\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \"ϵͳ޷д\"\n    1153                    \"޷ Windows NT ʽС\"\n    1154                    \"˳򲢷Ч Windows NT Ӧó\"\n    1155                    \"ûκιڴ˴Ϣ֡\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \"Դ(&F):\"\n    2001                    \"Ƶ(&T):\"\n    2002                    \"ԭļ(&F):\"\n    2003                    \"ļ(&T):\"\n    2004                    \"ø壬޷ʾ֡\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"ļв\"\n    3985                    \"ڶԴ̽в\"\n    3986                    \"Ŀ¼в\"\n    3987                    \"ھʾϢ\"\n    3988                    \"ѡ\"\n    3989                    \"ļĿ¼ȫ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"ڰŴڵ\"\n    4001                    \"ʾļ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"ڡļһ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \"ѡĿ\"\n    4102                    \"ӡһĵ\"\n    4103                    \"һļһӦó\"\n    4104                    \"ļĿ¼\"\n    4105                    \"һӦóĵ\"\n    4106                    \"ƶѡĿ\"\n    4107                    \"ļĿ¼\"\n    4108                    \"ɾļĿ¼\"\n    4109                    \"һļĿ¼\"\n    4110                    \"ļԼʾ\"\n    4111                    \"Ŀ¼\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"˳ļ\"\n    4116                    \"ѡļĿ¼\"\n    4117                    \"ǰɾļ\"\n    4118                    \"ļ\"\n    4119                    \"ѹļĿ¼\"\n    4120                    \"ѹļĿ¼\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"һ̵\"\n    4202                    \"ָı̵ľ\"\n    4203                    \"ʽ\"\n    4205                    \"ӵһ\"\n    4206                    \"Ͽһ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"ѡһͬ\"\n    4254                    \"һĿ¼\"\n    4255                    \"ֹͣһĿ¼\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"ʾһĿ¼һ\"\n    4302                    \"ʾһĿ¼ȫ\"\n    4303                    \"ʾȫĿ¼ȫ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \"۵һѡĿ¼ȫĿ¼\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \"ֻʾļ\"\n    4402                    \"ʾȫļϸ\"\n    4403                    \"ʾļϸ\"\n    4404                    \"ļ\"\n    4405                    \"ļ\"\n    4406                    \"Сļ\"\n    4407                    \"ļ\"\n    4409                    \"ʾһָ͵ļ\"\n    4411                    \"ʾĿ¼\"\n    4412                    \"ʾǰĿ¼\"\n    4413                    \"ʾĿ¼ǰĿ¼\"\n    4414                    \"һĿ¼ڻƶ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"ȷϢ\"\n    4503                    \"ʾ״̬\"\n    4504                    \"ʱļһͼ\"\n    4505                    \"ָĿ¼Ŀ¼\"\n    4507                    \"ʾʾ\"\n    4508                    \"ʾع\"\n    4509                    \"ʱһ´\"\n    4510                    \"ıļ\"\n    4511                    \"˳ļʱ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"Զ幤\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"鿴ָĿȨϢ\"\n    4606                    \"鿴ָĿϢ\"\n    4607                    \"鿴ȡָĿȨ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"صʾ\"\n    5702                    \"ֱƽ̴\"\n    5703                    \"ˮƽƽ̴\"\n    5704                    \"´ڵ\"\n    5705                    \"ͼ\"\n    5706                    \"һ´\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"ʾļİ\"\n    5802                    \"ʾʹáϢ\"\n    5803                    \"ʾļϢ\"\nEND\n\n#endif    // Chinese (Simplified, PRC) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/origrc/winfile.zh-TW.rc",
    "content": "// Microsoft Visual C++ generated resource script.\n//\n#include \"resource.h\"\n\n#define APSTUDIO_READONLY_SYMBOLS\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 2 resource.\n//\n#include \"afxres.h\"\n\n/////////////////////////////////////////////////////////////////////////////\n#undef APSTUDIO_READONLY_SYMBOLS\n\n/////////////////////////////////////////////////////////////////////////////\n// Chinese (Traditional, Taiwan) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_CHT)\nLANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL\n#pragma code_page(950)\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Bitmap\n//\n\n100                     BITMAP                  \"BMP100.BMP\"\n\n\n101                     BITMAP                  \"BMP101.BMP\"\n\n\n102                     BITMAP                  \"BMP102.BMP\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Menu\n//\n\n500 MENU\nBEGIN\n    POPUP \"ɮ(&F)\"\n    BEGIN\n        MENUITEM \"}(&O)\\tEnter\",             101\n        MENUITEM \"(&M)...\\tF7\",               106\n        MENUITEM \"ƻs(&C)...\\tF8\",               107\n        MENUITEM \"ƻsŶKï(&B)...\\tF9\",           118\n        MENUITEM \"R(&D)...\\tDel\",              108\n        MENUITEM \"W(&N)...\",                   109\n        MENUITEM \"e(&T)...\\tAlt+Enter\",        110\n        MENUITEM SEPARATOR\n        MENUITEM \"Y(&S)...\",                   119\n        MENUITEM \"Y(&U)...\",                  120\n        MENUITEM SEPARATOR\n        MENUITEM \"(&R)...\",                   105\n        MENUITEM \"CL(&P)...\",                   102\n        MENUITEM \"p(&A)...\",                   103\n        MENUITEM SEPARATOR\n        MENUITEM \"إߥؿ(&E)...\",                 111\n        MENUITEM \"jM(&H)...\",                   104\n        MENUITEM \"ɮ(&F)...\",                 116\n        MENUITEM SEPARATOR\n        MENUITEM \"(&X)\",                      115\n    END\n    POPUP \"Ϻ(&D)\"\n    BEGIN\n        MENUITEM \"ƻsϺ(&C)...\",                 201\n        MENUITEM \"ϺЩRW(&L)...\",                202\n        MENUITEM SEPARATOR\n        MENUITEM \"榡ƺϤ(&F)...\",                203\n        MENUITEM SEPARATOR\n        MENUITEM \"ܺϺо(&S)...\",                251\n    END\n    POPUP \"ؿ(&T)\"\n    BEGIN\n        MENUITEM \"ܦhlؿ(&X)\\t+\",              301\n        MENUITEM \"ܦhhlؿ(&B)\\t*\",              302\n        MENUITEM \"ܩҦlؿ(&A)\\tCtrl+*\",         303\n        MENUITEM \"älؿ(&C)\\t-\",                304\n        MENUITEM SEPARATOR\n        MENUITEM \"Хܥiܪhhlؿ(&I)\",             505\n    END\n    POPUP \"˵(&V)\"\n    BEGIN\n        MENUITEM \"𪬵cPؿ(&R)\",                 413\n        MENUITEM \"uݾ𪬵c(&E)\",                  411\n        MENUITEM \"uݥؿ(&O)\",                    412\n        MENUITEM SEPARATOR\n        MENUITEM \"(&L)\",                      414\n        MENUITEM SEPARATOR\n        MENUITEM \"W(&N)\",                      401\n        MENUITEM \"ɮתҦԲӸ(&A)\",               402, CHECKED\n        MENUITEM \"ԲӸ(&P)...\",              403\n        MENUITEM SEPARATOR\n        MENUITEM \"̦WٱƧ(&S)\",                   404\n        MENUITEM \"Ƨ(&B)\",                   405\n        MENUITEM \"̤jpƧ(&Z)\",                   406\n        MENUITEM \"̤Ƨ(&D)\",                   407\n        MENUITEM SEPARATOR\n        MENUITEM \"ɮ(&T)...\",                409\n    END\n    POPUP \"ﶵ(&O)\"\n    BEGIN\n        MENUITEM \"T{(&C)...\",                   501\n        MENUITEM \"r(&F)...\",                   510\n        MENUITEM \"ۭquC(&B)...\",                512\n        MENUITEM SEPARATOR\n        MENUITEM \"uC(&T)\",                     508\n        MENUITEM \"ϺоC(&D)\",                    507\n        MENUITEM \"AC(&S)\",                     503\n        MENUITEM SEPARATOR\n        MENUITEM \"ϥήɳ̤p(&M)\",                  504\n        MENUITEM \"ɱN]wȦs(&E)\",               511\n    END\n    POPUP \"w(&S)\"\n    BEGIN\n        MENUITEM \"ϥv(&P)...\",                 605\n        MENUITEM \"](&A)...\",                   606\n        MENUITEM \"֦H(&O)...\",                  607\n    END\n    POPUP \"(&W)\"\n    BEGIN\n        MENUITEM \"}s(&N)\",                    1706\n        MENUITEM \"|(&C)\\tShift+F5\",          1701\n        MENUITEM \"WUñ(&H)\",                    1703\n        MENUITEM \"kñ(&T)\\tShift+F4\",          1702\n        MENUITEM \"ƦCϥ(&A)\",                    1705\n        MENUITEM \"sz(&R)\\tF5\",                1704\n    END\n    POPUP \"(&H)\"\n    BEGIN\n        MENUITEM \"e(&C)\",                      1801\n        MENUITEM \"jMDD(&S)...\",               30\n        MENUITEM \"ϥΤk(&H)\",                  1802\n        MENUITEM SEPARATOR\n        MENUITEM \"ɮ׺޲z(&A)...\",              1803\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Dialog\n//\n\n10 DIALOG 15, 12, 210, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"\"\nFONT 9, \"sө\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,162,10\n    CONTROL         \"O(&C):\",-1,\"Static\",SS_LEFTNOWORDWRAP | WS_GROUP,10,18,134,10\n    EDITTEXT        201,10,29,134,12,ES_AUTOHSCROLL\n    CONTROL         \"ɳ̤p(&M)\",214,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,45,134,12\n    DEFPUSHBUTTON   \"Tw\",1,165,6,40,14\n    PUSHBUTTON      \"\",2,165,24,40,14\n    PUSHBUTTON      \"(&H)\",254,165,42,40,14\nEND\n\n11 DIALOG 20, 20, 240, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"CL\"\nFONT 9, \"sө\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,193,10\n    CONTROL         \"CL(&P):\",-1,\"Static\",SS_LEFTNOWORDWRAP,8,19,30,10\n    EDITTEXT        102,39,18,147,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,36,193,10\n    DEFPUSHBUTTON   \"Tw\",1,197,6,40,14\n    PUSHBUTTON      \"\",2,197,24,40,14\n    PUSHBUTTON      \"(&H)\",254,197,42,40,14\nEND\n\n12 DIALOG 20, 20, 255, 118\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"p\"\nFONT 9, \"sө\"\nBEGIN\n    LTEXT           \"ɦW(&F):\",-1,7,7,52,9\n    COMBOBOX        315,73,5,44,55,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"pε{(&A):\",-1,6,30,92,10\n    EDITTEXT        304,6,42,172,12,ES_AUTOHSCROLL\n    LISTBOX         314,11,54,167,62,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    PUSHBUTTON      \"s(&B)...\",318,130,26,47,14\n    DEFPUSHBUTTON   \"Tw\",1,187,6,62,14,WS_GROUP\n    PUSHBUTTON      \"\",2,187,23,62,14\n    PUSHBUTTON      \"sW(&N)...\",300,187,42,62,14\n    PUSHBUTTON      \"ܧ(&C)...\",251,187,59,62,14\n    PUSHBUTTON      \"R(&D)\",219,187,76,62,14\n    PUSHBUTTON      \"(&H)\",254,187,95,62,14\nEND\n\n13 DIALOG 20, 20, 263, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"jM\"\nFONT 9, \"sө\"\nBEGIN\n    CONTROL         \"jMH(&S):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,6,51,12\n    EDITTEXT        201,57,5,155,12,ES_AUTOHSCROLL\n    CONTROL         \"}lؿ(&F):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,21,51,12\n    EDITTEXT        101,57,20,155,12,ES_AUTOHSCROLL\n    CONTROL         \"jMҦlؿ(&E)\",232,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,57,37,155,12\n    DEFPUSHBUTTON   \"Tw\",1,217,6,40,14\n    PUSHBUTTON      \"\",2,217,23,40,14\n    PUSHBUTTON      \"(&H)\",254,217,43,40,14\nEND\n\n14 DIALOG 47, 59, 231, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"\"\nFONT 9, \"sө\"\nBEGIN\n    CONTROL         \"ثeu@ؿ: N\",101,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,6,182,10\n    CONTROL         \"(&T):\",2001,\"Static\",SS_LEFTNOWORDWRAP,3,33,48,10\n    EDITTEXT        103,52,32,123,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,49,48,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,52,49,123,12\n    DEFPUSHBUTTON   \"Tw\",1,185,6,40,14\n    PUSHBUTTON      \"\",2,185,23,40,14\n    PUSHBUTTON      \"(&H)\",254,185,40,40,14\n    CONTROL         \"q(&F):\",2002,\"Static\",SS_LEFTNOWORDWRAP,3,19,48,10\n    EDITTEXT        102,52,18,123,12,ES_AUTOHSCROLL\nEND\n\n15 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"R\"\nFONT 9, \"sө\"\nBEGIN\n    CONTROL         \"ثeu@ؿ: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,5,193,10\n    CONTROL         \"R(&L):\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,20,31,10\n    EDITTEXT        102,40,19,155,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,3,35,31,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,40,35,155,10\n    DEFPUSHBUTTON   \"Tw\",1,200,6,40,14\n    PUSHBUTTON      \"\",2,200,23,40,14\n    PUSHBUTTON      \"(&H)\",254,200,40,40,14\nEND\n\n16 DIALOG 23, 13, 259, 229\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"%s e\"\nFONT 9, \"sө\"\nBEGIN\n    DEFPUSHBUTTON   \"Tw\",1,204,6,50,14,WS_GROUP\n    PUSHBUTTON      \"\",2,204,23,50,14\n    PUSHBUTTON      \"(&H)\",254,204,40,50,14\n    CONTROL         \"ɮצW(&F):\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,62,10\n    EDITTEXT        201,72,5,132,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"|(&P):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,62,10\n    EDITTEXT        101,72,16,132,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Wקɶ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,62,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,72,27,132,10\n    CONTROL         \":\",258,\"Static\",SS_LEFTNOWORDWRAP,5,38,62,10\n    CONTROL         \"Х\",259,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,72,38,132,10\n    LTEXT           \"v(&Y):\",-1,5,49,62,10\n    EDITTEXT        265,72,49,132,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"jp:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,60,62,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,72,60,132,10\n    CONTROL         \"Yjp:\",268,\"Static\",SS_LEFTNOWORDWRAP,5,71,62,10\n    CONTROL         \"\",269,\"Static\",SS_LEFTNOWORDWRAP,72,71,132,10\n    CONTROL         \"Yv:\",270,\"Static\",SS_LEFTNOWORDWRAP,5,82,62,10\n    CONTROL         \"\",271,\"Static\",SS_LEFTNOWORDWRAP,72,82,132,10\n    GROUPBOX        \"ݩ\",-1,4,96,120,54\n    CONTROL         \"Ū(&R)\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,108,61,12\n    CONTROL         \"(&I)\",216,\"Button\",BS_AUTOCHECKBOX,71,108,49,12\n    CONTROL         \"Osɮ(&A)\",217,\"Button\",BS_AUTOCHECKBOX,9,120,61,12\n    CONTROL         \"t(&S)\",218,\"Button\",BS_AUTOCHECKBOX,71,120,49,12\n    CONTROL         \"Y(&C)\",267,\"Button\",BS_AUTOCHECKBOX,9,132,61,12\n    GROUPBOX        \"T(&V)\",262,4,155,250,70\n    LISTBOX         263,9,168,91,58,LBS_SORT | LBS_DISABLENOSCROLL | WS_VSCROLL | WS_TABSTOP\n    EDITTEXT        264,110,168,138,50,ES_MULTILINE | ES_READONLY | WS_VSCROLL\nEND\n\n17 DIALOG 20, 20, 200, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"إߥؿ\"\nFONT 9, \"sө\"\nBEGIN\n    CONTROL         \"\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,6,154,10\n    CONTROL         \"W(&N):\",-1,\"Static\",SS_LEFTNOWORDWRAP,3,23,35,10\n    EDITTEXT        201,39,22,90,12,ES_AUTOHSCROLL\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,3,46,154,10\n    DEFPUSHBUTTON   \"Tw\",1,157,6,40,14\n    PUSHBUTTON      \"\",2,157,24,40,14\n    PUSHBUTTON      \"(&H)\",254,157,42,40,14\nEND\n\n19 DIALOG 20, 20, 157, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ƻsϤ\"\nFONT 9, \"sө\"\nBEGIN\n    CONTROL         \"ӷϺ(&S):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,48,10\n    COMBOBOX        245,60,6,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"تϺ(&D):\",206,\"Static\",SS_LEFTNOWORDWRAP,5,25,47,10\n    COMBOBOX        222,60,23,40,37,CBS_DROPDOWNLIST | WS_BORDER | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"Tw\",1,110,6,40,14\n    PUSHBUTTON      \"\",2,110,24,40,14\n    PUSHBUTTON      \"(&H)\",254,110,42,40,14\nEND\n\n22 DIALOG 30, 30, 131, 61\nSTYLE DS_SYSMODAL | DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ƻsϺ\"\nFONT 9, \"sө\"\nBEGIN\n    CTEXT           \"ҭnƻsϤ{b \",-1,0,5,131,10,NOT WS_GROUP\n    CTEXT           \"Ϻо A:\",222,0,16,131,10,NOT WS_GROUP\n    CTEXT           \"ŪӷϤ\",243,0,27,131,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"\",2,44,41,44,14\nEND\n\n23 DIALOG 20, 20, 161, 63\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ϺЩRW\"\nFONT 9, \"sө\"\nBEGIN\n    CONTROL         \"(&L):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,15,100,10\n    EDITTEXT        201,5,26,100,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"Tw\",1,115,6,40,14\n    PUSHBUTTON      \"\",2,115,24,40,14\n    PUSHBUTTON      \"(&H)\",254,115,42,40,14\nEND\n\n24 DIALOG 11, 28, 183, 96\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"榡ƺϤ\"\nFONT 9, \"sө\"\nBEGIN\n    DEFPUSHBUTTON   \"Tw\",1,134,6,40,14\n    PUSHBUTTON      \"\",2,134,23,40,14\n    PUSHBUTTON      \"(&H)\",254,134,40,40,14\n    CONTROL         \"ϤҦb(&D):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,7,49,10\n    COMBOBOX        222,55,6,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    CONTROL         \"eq(&C):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,22,49,10\n    COMBOBOX        241,55,21,65,40,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"ﶵ\",102,5,39,115,53,WS_GROUP\n    CONTROL         \"(&L):\",-1,\"Static\",SS_LEFTNOWORDWRAP,11,55,35,10\n    EDITTEXT        201,47,52,68,12\n    CONTROL         \"ֳt榡(&Q)\",244,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,70,90,12\nEND\n\n26 DIALOG 30, 30, 150, 50\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"榡ƺϤ\"\nFONT 9, \"sө\"\nBEGIN\n    CTEXT           \"b榡ƺϺФ\",-1,0,5,150,10,NOT WS_GROUP\n    CTEXT           \"ҰʺϺо...\",243,0,17,150,10,NOT WS_GROUP\n    DEFPUSHBUTTON   \"\",2,49,30,44,14\nEND\n\n30 DIALOG 20, 20, 174, 81\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ԲӸ\"\nFONT 9, \"sө\"\nBEGIN\n    GROUPBOX        \"ԲӸ\",-1,4,4,121,74\n    CONTROL         \"jp(&S)\",203,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,15,100,12\n    CONTROL         \"Wק(&M)\",204,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,27,100,12\n    CONTROL         \"Wקɶ(&T)\",205,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,39,100,12\n    CONTROL         \"ɮݩ(&F)\",206,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,51,100,12\n    CONTROL         \"MS-DOS ɮצW(&D)\",266,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,11,63,100,12\n    DEFPUSHBUTTON   \"Tw\",1,130,6,40,14\n    PUSHBUTTON      \"\",2,130,23,40,14\n    PUSHBUTTON      \"(&H)\",254,130,60,40,14\nEND\n\n32 DIALOG 20, 20, 157, 102\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ɮ\"\nFONT 9, \"sө\"\nBEGIN\n    CONTROL         \"W(&N):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,8,31,10\n    EDITTEXT        201,39,6,66,12,ES_AUTOHSCROLL\n    GROUPBOX        \"ɮ\",-1,5,20,100,62\n    CONTROL         \"ؿ(&D)\",101,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,14,31,73,12\n    CONTROL         \"{(&P)\",210,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,14,43,70,12\n    CONTROL         \"(&M)\",211,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,14,55,65,12\n    CONTROL         \"Lɮ(&O)\",212,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,14,67,67,12\n    CONTROL         \"/tɮ(&S)\",250,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,5,85,100,12\n    DEFPUSHBUTTON   \"Tw\",1,110,6,40,14\n    PUSHBUTTON      \"\",2,110,23,40,14\n    PUSHBUTTON      \"(&H)\",254,110,41,40,14\nEND\n\n33 DIALOG 20, 20, 215, 95\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"T{\"\nFONT 9, \"sө\"\nBEGIN\n    GROUPBOX        \"nDϥΪ̽T{\",-1,5,3,158,87,WS_TABSTOP\n    CONTROL         \"ɮקR(&D)\",219,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,15,15,128,12\n    CONTROL         \"ؿR(&I)\",220,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,15,27,132,12\n    CONTROL         \"ɮרN(&R)\",221,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,15,39,132,12\n    CONTROL         \"ƹʧ@(&M)\",249,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,15,51,127,12\n    CONTROL         \"ϺЫO(&K)\",251,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,15,63,113,12\n    CONTROL         \"קtΡBáBŪɮ(&S)\",215,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,15,75,133,12\n    DEFPUSHBUTTON   \"Tw\",1,168,6,40,14\n    PUSHBUTTON      \"\",2,168,23,40,14\n    PUSHBUTTON      \"(&H)\",254,168,44,40,14\nEND\n\n35 DIALOG 20, 20, 250, 46\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"...\"\nFONT 9, \"sө\"\nBEGIN\n    CONTROL         \"\",104,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,5,49,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,5,192,10\n    CONTROL         \":\",108,\"Static\",SS_SIMPLE | SS_NOPREFIX,5,15,49,10\n    CONTROL         \"\",109,\"Static\",SS_SIMPLE | SS_NOPREFIX,55,15,192,10\n    DEFPUSHBUTTON   \"\",2,200,28,40,14,NOT WS_TABSTOP\nEND\n\n36 DIALOG 20, 20, 120, 58\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nFONT 9, \"sө\"\nBEGIN\n    CTEXT           \"CLɮ...\",-1,0,6,120,12\n    CTEXT           \"\",-1,0,20,120,12,SS_NOPREFIX\n    DEFPUSHBUTTON   \"\",2,44,40,32,14,WS_GROUP\nEND\n\n38 DIALOG 20, 20, 206, 88\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"e\"\nFONT 9, \"sө\"\nBEGIN\n    CONTROL         \" %d ɮ\",100,\"Static\",SS_LEFTNOWORDWRAP,11,5,132,10\n    CONTROL         \"`@ %s 줸\",111,\"Static\",SS_LEFTNOWORDWRAP,11,17,130,10\n    GROUPBOX        \"ݩ\",-1,5,29,120,54\n    CONTROL         \"Ū(&R)\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,42,61,12\n    CONTROL         \"(&I)\",216,\"Button\",BS_AUTOCHECKBOX,72,42,52,12\n    CONTROL         \"Osɮ(&A)\",217,\"Button\",BS_AUTOCHECKBOX,10,54,61,12\n    CONTROL         \"t(&S)\",218,\"Button\",BS_AUTOCHECKBOX,72,55,52,12\n    CONTROL         \"Y(&C)\",267,\"Button\",BS_AUTOCHECKBOX,10,66,61,12\n    DEFPUSHBUTTON   \"Tw\",1,144,6,50,14,WS_GROUP\n    PUSHBUTTON      \"\",2,144,23,50,14\n    PUSHBUTTON      \"(&H)\",254,144,41,50,14\nEND\n\n39 DIALOG 10, 20, 245, 103\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"T{ɮרN\"\nFONT 9, \"sө\"\nBEGIN\n    ICON            32515,-1,3,12,14,14\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"즳ɮ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,27,14,49,10\n    CONTROL         \"\",103,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,14,165,10\n    CONTROL         \"\",105,\"Static\",SS_LEFTNOWORDWRAP,75,25,165,10\n    CONTROL         \"N:\",-1,\"Static\",SS_LEFTNOWORDWRAP,28,36,49,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,75,36,165,10\n    CONTROL         \"\",106,\"Static\",SS_LEFTNOWORDWRAP,75,47,165,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,58,203,19\n    DEFPUSHBUTTON   \"O(&Y)\",6,16,83,41,14\n    PUSHBUTTON      \"ҬO(&A)\",107,60,83,60,14\n    PUSHBUTTON      \"_(&N)\",7,124,83,50,14\n    PUSHBUTTON      \"\",2,178,83,50,14\nEND\n\n40 DIALOG 10, 20, 245, 70\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"T{Rɮ\"\nFONT 9, \"sө\"\nBEGIN\n    ICON            32515,-1,3,12,14,14\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"Rɮ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,30,18,55,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,18,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,29,203,20\n    DEFPUSHBUTTON   \"O(&Y)\",6,16,52,43,14\n    PUSHBUTTON      \"ҬO(&A)\",107,63,52,57,14\n    PUSHBUTTON      \"_(&N)\",7,124,52,50,14\n    PUSHBUTTON      \"\",2,178,52,50,14\nEND\n\n41 DIALOG 10, 20, 245, 70\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"T{Rؿ\"\nFONT 9, \"sө\"\nBEGIN\n    ICON            32515,-1,3,12,14,14\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,205,10\n    CONTROL         \"Rؿ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,29,18,42,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,18,150,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,29,205,20\n    DEFPUSHBUTTON   \"O(&Y)\",6,17,52,50,14\n    PUSHBUTTON      \"ҬO(&A)\",107,71,52,50,14\n    PUSHBUTTON      \"_(&N)\",7,125,52,50,14\n    PUSHBUTTON      \"\",2,179,52,50,14\nEND\n\n42 DIALOG 10, 22, 245, 70\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"T{ɮ\"\nFONT 9, \"sө\"\nBEGIN\n    ICON            32515,-1,3,12,14,14\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"ɮ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,28,17,44,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,70,17,170,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,29,203,20\n    DEFPUSHBUTTON   \"O(&Y)\",6,16,52,45,14\n    PUSHBUTTON      \"ҬO(&A)\",107,63,52,57,14\n    PUSHBUTTON      \"_(&N)\",7,124,52,50,14\n    PUSHBUTTON      \"\",2,178,52,50,14\nEND\n\n43 DIALOG 10, 22, 245, 70\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"T{ɮקW\"\nFONT 9, \"sө\"\nBEGIN\n    ICON            32515,-1,3,12,14,14\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,3,203,10\n    CONTROL         \"ɮקW:\",-1,\"Static\",SS_LEFTNOWORDWRAP,29,17,44,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,80,17,160,10\n    CONTROL         \"\",212,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,25,29,203,20\n    DEFPUSHBUTTON   \"O(&Y)\",6,16,52,43,14\n    PUSHBUTTON      \"ҬO(&A)\",107,63,52,57,14\n    PUSHBUTTON      \"_(&N)\",7,124,52,50,14\n    PUSHBUTTON      \"\",2,178,52,50,14\nEND\n\n44 DIALOG 15, 12, 133, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ɮ\"\nFONT 9, \"sө\"\nBEGIN\n    CONTROL         \"ɮ(&F):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,60,10\n    EDITTEXT        201,5,29,60,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"(&S)\",1,70,6,55,14\n    PUSHBUTTON      \"(&D)\",6,70,23,55,14\n    PUSHBUTTON      \"\",2,70,40,55,14\n    PUSHBUTTON      \"(&H)\",254,70,63,55,14\nEND\n\n45 DIALOG 11, 31, 201, 86\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ܺϺо\"\nFONT 9, \"sө\"\nBEGIN\n    CONTROL         \"Ϻо(&D):\",245,\"Static\",SS_LEFTNOWORDWRAP,5,5,140,10\n    LISTBOX         222,5,16,140,62,LBS_SORT | LBS_USETABSTOPS | WS_VSCROLL | WS_TABSTOP\n    DEFPUSHBUTTON   \"Tw\",1,154,16,40,14\n    PUSHBUTTON      \"\",2,154,33,40,14\n    PUSHBUTTON      \"(&H)\",254,154,51,40,14\nEND\n\n46 DIALOG 11, 28, 250, 78\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ɮצW\"\nFONT 9, \"sө\"\nBEGIN\n    LTEXT           \"oӸ|ŦX FAT ɮצWٮ榡, пJsW١C\",99,5,4,190,24,NOT WS_GROUP\n    RTEXT           \"sW(&N):\",-1,10,56,42,12,NOT WS_GROUP\n    EDITTEXT        103,57,55,130,12\n    RTEXT           \"l|:\",-1,12,28,40,11,NOT WS_GROUP\n    EDITTEXT        102,57,28,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    RTEXT           \"ؿ:\",-1,17,42,35,11,NOT WS_GROUP\n    EDITTEXT        101,57,42,130,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    DEFPUSHBUTTON   \"Tw\",1,205,7,40,14\n    PUSHBUTTON      \"\",2,205,23,40,14\n    PUSHBUTTON      \"(&H)\",254,205,39,40,14\nEND\n\n48 DIALOG 23, 13, 250, 119\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"%s e\"\nFONT 9, \"sө\"\nBEGIN\n    DEFPUSHBUTTON   \"Tw\",1,194,6,50,14,WS_GROUP\n    PUSHBUTTON      \"\",2,194,23,50,14\n    PUSHBUTTON      \"(&H)\",254,194,43,50,14\n    CONTROL         \"ɮצW(&F):\",261,\"Static\",SS_LEFTNOWORDWRAP,5,5,62,10\n    EDITTEXT        201,68,5,120,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"|(&P):\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,62,10\n    EDITTEXT        101,68,16,120,10,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER\n    CONTROL         \"Wקɶ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,62,10\n    CONTROL         \"\",204,\"Static\",SS_LEFTNOWORDWRAP,68,27,120,10\n    CONTROL         \"jp:\",260,\"Static\",SS_LEFTNOWORDWRAP,5,38,62,10\n    CONTROL         \"\",203,\"Static\",SS_LEFTNOWORDWRAP,68,38,120,10\n    GROUPBOX        \"ݩ\",-1,4,52,120,54\n    CONTROL         \"Ū(&R)\",215,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,9,64,61,12\n    CONTROL         \"(&I)\",216,\"Button\",BS_AUTOCHECKBOX,71,64,49,12\n    CONTROL         \"Osɮ(&A)\",217,\"Button\",BS_AUTOCHECKBOX,9,76,61,12\n    CONTROL         \"t(&S)\",218,\"Button\",BS_AUTOCHECKBOX,71,76,49,12\n    CONTROL         \"Y(&C)\",267,\"Button\",BS_AUTOCHECKBOX,9,88,61,12\nEND\n\n49 DIALOG 13, 54, 264, 154\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"r\"\nFONT 9, \"sө\"\nBEGIN\n    LTEXT           \"r(&F):\",1088,6,3,94,9\n    COMBOBOX        1136,6,13,94,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"r˦(&Y):\",1089,108,3,64,9\n    COMBOBOX        1137,108,13,64,54,CBS_SIMPLE | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"jp(&S):\",1090,179,3,32,9\n    COMBOBOX        1138,179,13,32,54,CBS_SIMPLE | CBS_OWNERDRAWFIXED | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"ĪG\",1072,6,73,84,61,WS_GROUP\n    CONTROL         \"Ru(&K)\",1040,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,10,83,60,10\n    CONTROL         \"u(&U)\",1041,\"Button\",BS_AUTOCHECKBOX,10,95,60,10\n    CONTROL         \"FAT ϺоHpg(&L)\",1042,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,127,252,10\n    CONTROL         \"ҦϺоHpg(&D)\",1043,\"Button\",BS_AUTOCHECKBOX | WS_TABSTOP,6,139,252,10\n    LTEXT           \"m(&C):\",1091,10,107,75,9\n    COMBOBOX        1139,10,117,75,50,CBS_DROPDOWNLIST | CBS_OWNERDRAWFIXED | CBS_AUTOHSCROLL | CBS_HASSTRINGS | WS_BORDER | WS_VSCROLL\n    DEFPUSHBUTTON   \"Tw\",1,218,6,40,14,WS_GROUP\n    PUSHBUTTON      \"\",2,218,23,40,14,WS_GROUP\n    PUSHBUTTON      \"M(&A)\",1026,218,40,40,14,WS_GROUP\n    PUSHBUTTON      \"(&H)\",1038,218,57,40,14,WS_GROUP\n    GROUPBOX        \"d\",1073,6,72,252,49,WS_GROUP\n    CTEXT           \"\",1093,10,137,1,2,SS_NOPREFIX | NOT WS_GROUP\n    CTEXT           \"r AaBbYyZz\",1092,10,81,243,37,SS_NOPREFIX | NOT WS_VISIBLE\nEND\n\n50 DIALOG 77, 27, 160, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"榡ƺϤ\"\nFONT 9, \"sө\"\nBEGIN\n    CTEXT           \"\",100,15,36,131,9\n    CONTROL         \"\",4001,\"Static\",SS_BLACKFRAME,15,10,131,22\n    PUSHBUTTON      \"\",110,38,48,40,14\n    PUSHBUTTON      \"\",2,82,48,40,14\nEND\n\n51 DIALOG 10, 20, 260, 70\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"T{: ɮשΥؿAM~\"\nFONT 9, \"sө\"\nBEGIN\n    ICON            32515,-1,3,12,14,14\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"sQڵA:\",202,\"Static\",SS_LEFTNOWORDWRAP,30,14,188,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,108,14,122,10\n    CONTROL         \"zSϥvAΪɮץbϥΤC\",-1,\"Static\",SS_LEFTNOWORDWRAP,30,25,170,10\n    CONTROL         \"пuOvLoɮסAM~C\",-1,\"Static\",SS_LEFTNOWORDWRAP,30,37,184,10\n    DEFPUSHBUTTON   \"O(&Y)\",6,24,52,43,14\n    PUSHBUTTON      \"ҬO(&A)\",107,71,52,57,14\n    PUSHBUTTON      \"_(&N)\",7,132,52,50,14\n    PUSHBUTTON      \"\",2,186,52,50,14\nEND\n\n52 DIALOG 10, 20, 245, 60\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"T{: ɮשΥؿAM~\"\nFONT 9, \"sө\"\nBEGIN\n    ICON            32515,-1,3,12,14,14\n    CONTROL         \"\",104,\"Static\",SS_LEFTNOWORDWRAP,25,3,203,10\n    CONTROL         \"LksتmA:\",202,\"Static\",SS_LEFTNOWORDWRAP,29,14,167,10\n    CONTROL         \"\",102,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,124,14,106,10\n    CONTROL         \"uOvAYioɮסAåB~C\",-1,\"Static\",SS_LEFTNOWORDWRAP,29,25,180,10\n    DEFPUSHBUTTON   \"O(&Y)\",6,16,42,45,14\n    PUSHBUTTON      \"ҬO(&A)\",107,64,42,56,14\n    PUSHBUTTON      \"_(&N)\",7,124,42,50,14\n    PUSHBUTTON      \"\",2,178,42,50,14\nEND\n\n53 DIALOG 77, 109, 174, 65\nSTYLE DS_SETFONT | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"jMϺ\"\nFONT 9, \"sө\"\nBEGIN\n    CONTROL         \"jMؼ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,5,60,10\n    CONTROL         \"\",201,\"Static\",SS_SIMPLE | SS_NOPREFIX,66,5,100,10\n    CONTROL         \"jM_I:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,16,60,10\n    CONTROL         \"\",223,\"Static\",SS_SIMPLE | SS_NOPREFIX,66,15,100,10\n    CONTROL         \"Ūؿ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,27,60,10\n    CONTROL         \"\",205,\"Static\",SS_SIMPLE | SS_NOPREFIX,66,25,100,10\n    CONTROL         \"۲ŶحӼ:\",-1,\"Static\",SS_LEFTNOWORDWRAP,5,38,60,10\n    CONTROL         \"\",213,\"Static\",SS_SIMPLE | SS_NOPREFIX,66,35,100,10\n    PUSHBUTTON      \"\",110,45,49,40,14\n    PUSHBUTTON      \"\",2,89,49,40,14\nEND\n\n54 DIALOG 20, 20, 246, 64\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"ƻsŶKï\"\nFONT 9, \"sө\"\nBEGIN\n    CONTROL         \"ثeu@ؿ: C\",101,\"Static\",SS_LEFTNOWORDWRAP | SS_NOPREFIX,7,5,185,10\n    CONTROL         \"ƻsŶKï(&B):\",-1,\"Static\",SS_LEFTNOWORDWRAP,8,20,67,10\n    EDITTEXT        102,80,19,115,12,ES_AUTOHSCROLL\n    DEFPUSHBUTTON   \"Tw\",1,200,6,40,14\n    PUSHBUTTON      \"\",2,200,23,40,14\n    PUSHBUTTON      \"(&H)\",254,200,43,40,14\nEND\n\n55 DIALOG 18, 14, 290, 224\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU\nCAPTION \"ܧɮ\"\nFONT 9, \"sө\"\nBEGIN\n    LTEXT           \"ɮ׫(&F):\",302,5,7,50,9\n    EDITTEXT        301,56,5,100,12,ES_AUTOHSCROLL\n    GROUPBOX        \"ʧ@(&A): \",-1,5,22,235,126,WS_GROUP\n    COMBOBOX        306,51,22,48,33,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP\n    LTEXT           \"O(&C):\",313,9,41,38,9\n    EDITTEXT        304,47,39,111,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"s(&B)...\",318,164,38,47,14\n    CONTROL         \"ϥ DDE(&U)\",308,\"Button\",BS_AUTOCHECKBOX | WS_GROUP | WS_TABSTOP,10,57,80,10\n    LTEXT           \"DDE T(&M):\",320,22,72,82,8\n    EDITTEXT        309,105,70,100,12,ES_AUTOHSCROLL\n    LTEXT           \"ε{ɪ DDE T(&N):\",322,22,84,82,19\n    LTEXT           \"(ﶵ)\",324,207,90,26,9\n    EDITTEXT        311,105,88,100,12,ES_AUTOHSCROLL\n    LTEXT           \"ε{(&P):\",321,22,109,82,8\n    EDITTEXT        310,105,107,100,12,ES_AUTOHSCROLL\n    LTEXT           \"DD(&T):\",323,22,127,82,8\n    EDITTEXT        312,105,125,100,12,ES_AUTOHSCROLL\n    LTEXT           \"sɦW(&W):\",-1,11,185,52,9\n    EDITTEXT        315,64,183,32,12,ES_AUTOHSCROLL\n    PUSHBUTTON      \"sW (&D) ->\",303,102,174,50,14\n    PUSHBUTTON      \"<- (&R)\",219,102,191,50,14\n    LTEXT           \"ɦW(&E):\",-1,157,161,65,9\n    LISTBOX         317,157,172,65,46,LBS_SORT | WS_VSCROLL | WS_TABSTOP\n    GROUPBOX        \"PɮɦW:\",316,5,154,235,66\n    DEFPUSHBUTTON   \"Tw\",1,245,6,40,14\n    PUSHBUTTON      \"\",2,245,23,40,14\n    PUSHBUTTON      \"(&H)\",254,245,40,40,14\nEND\n\n57 DIALOG 123, 60, 207, 117\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"iɮY\"\nFONT 9, \"sө\"\nBEGIN\n    LTEXT           \"bYɮ:\",-1,6,8,79,9\n    LTEXT           \"filename.xxx\",341,86,8,110,9\n    LTEXT           \"ؿ:\",-1,6,20,79,9\n    LTEXT           \"d:\\\\aa\\\\bb\\\\......\\\\xx\\\\yy\\\\zz\\\\\",342,86,20,110,9\n    LTEXT           \"bYؿ:\",-1,6,32,79,9\n    LTEXT           \"\"\"1,888,888,999\"\"\",343,86,32,110,9\n    LTEXT           \"wgYɮ:\",-1,6,44,79,9\n    LTEXT           \"\"\"1,888,888,999\"\"\",344,86,44,110,9\n    LTEXT           \"Yeɮ`jp:\",-1,6,56,79,9\n    LTEXT           \"\"\"9,999,999,999,999\"\"\",345,86,56,110,9\n    LTEXT           \"Yɮ`jp:\",-1,6,68,79,9\n    LTEXT           \"\"\"9,999,999,999,999\"\"\",346,86,69,110,9\n    LTEXT           \"ɮYv:\",-1,6,80,79,9\n    LTEXT           \"100%\",347,86,80,110,9\n    PUSHBUTTON      \"\",2,76,97,55,14\nEND\n\n58 DIALOG 114, 62, 197, 84\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION\nCAPTION \"iɮ׸Y\"\nFONT 9, \"sө\"\nBEGIN\n    LTEXT           \"bYɮ:\",-1,6,8,83,9\n    LTEXT           \"filename.xxx\",351,93,8,100,9\n    LTEXT           \"ؿ:\",-1,6,20,83,9\n    LTEXT           \"d:\\\\aa\\\\bb\\\\..........\\\\xx\\\\yy\\\\zz\\\\\",352,93,20,100,9\n    LTEXT           \"wgYؿ:\",-1,6,32,83,9\n    LTEXT           \"\"\"1,999,999,999\"\"\",353,93,32,100,9\n    LTEXT           \"wgYɮ:\",-1,6,44,83,9\n    LTEXT           \"\"\"1,999,999,999\"\"\",354,93,44,100,9\n    PUSHBUTTON      \"\",2,74,64,49,14\nEND\n\n59 DIALOG 11, 28, 245, 65\nSTYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU\nCAPTION \"Yɮ׵oͿ~\"\nFONT 9, \"sө\"\nBEGIN\n    ICON            32515,-1,8,8,19,18\n    LTEXT           \"\",100,35,8,190,27\n    DEFPUSHBUTTON   \"L(&I)\",5,16,47,44,14,WS_GROUP\n    PUSHBUTTON      \"L(&G)\",112,62,47,58,14\n    PUSHBUTTON      \"(&R)\",4,124,47,50,14\n    PUSHBUTTON      \"(&A)\",3,178,47,50,14\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Accelerator\n//\n\n400 ACCELERATORS\nBEGIN\n    VK_ESCAPE,      420,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY \n    VK_RETURN,      101,                    VIRTKEY, SHIFT\n    VK_F7,          106,                    VIRTKEY \n    VK_F8,          107,                    VIRTKEY \n    VK_F9,          118,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY \n    VK_DELETE,      108,                    VIRTKEY, CONTROL\n    VK_F5,          1701,                   VIRTKEY, SHIFT\n    VK_F4,          1702,                   VIRTKEY, SHIFT\n    VK_F5,          1704,                   VIRTKEY \n    VK_F1,          1801,                   VIRTKEY \n    \"+\",            301,                    ASCII   \n    VK_ADD,         301,                    VIRTKEY \n    \"*\",            302,                    ASCII   \n    VK_MULTIPLY,    302,                    VIRTKEY \n    \"8\",            303,                    VIRTKEY, SHIFT, CONTROL\n    VK_MULTIPLY,    303,                    VIRTKEY, CONTROL\n    \"-\",            304,                    ASCII   \n    VK_SUBTRACT,    304,                    VIRTKEY \n    VK_RETURN,      110,                    VIRTKEY, ALT\n    VK_F2,          2000,                   VIRTKEY \nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Cursor\n//\n\n300                     CURSOR                  \"CUR300.CUR\"\n\n\n301                     CURSOR                  \"CUR301.CUR\"\n\n\n302                     CURSOR                  \"CUR302.CUR\"\n\n\n303                     CURSOR                  \"CUR303.CUR\"\n\n\n306                     CURSOR                  \"CUR306.CUR\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Icon\n//\n\n// Icon with lowest ID value placed first to ensure application icon\n// remains consistent on all systems.\n200                     ICON                    \"ICO200.ICO\"\n\n\n201                     ICON                    \"ICO201.ICO\"\n\n\n202                     ICON                    \"ICO202.ICO\"\n\n\n204                     ICON                    \"ICO204.ICO\"\n\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// Version\n//\n\n1 VERSIONINFO\n FILEVERSION 4,0,1381,52\n PRODUCTVERSION 4,0,1381,52\n FILEFLAGSMASK 0x3fL\n#ifdef _DEBUG\n FILEFLAGS 0x1L\n#else\n FILEFLAGS 0x0L\n#endif\n FILEOS 0x40004L\n FILETYPE 0x1L\n FILESUBTYPE 0x0L\nBEGIN\n    BLOCK \"StringFileInfo\"\n    BEGIN\n        BLOCK \"040404B0\"\n        BEGIN\n            VALUE \"CompanyName\", \"Microsoft Corporation\"\n            VALUE \"FileDescription\", \"File Manager\"\n            VALUE \"FileVersion\", \"4.00\"\n            VALUE \"InternalName\", \"fileman\"\n            VALUE \"LegalCopyright\", \"Copyright (C) Microsoft Corp. 1996\"\n            VALUE \"OriginalFilename\", \"WINFILE.EXE\"\n            VALUE \"ProductName\", \"Microsoft(R) Windows NT(TM) Operating System\"\n            VALUE \"ProductVersion\", \"4.00\"\n        END\n    END\n    BLOCK \"VarFileInfo\"\n    BEGIN\n        VALUE \"Translation\", 0x404, 1200\n    END\nEND\n\n\n/////////////////////////////////////////////////////////////////////////////\n//\n// String Table\n//\n\nSTRINGTABLE\nBEGIN\n    50                      \"ƻsϤ\"\n    51                      \"JتϤC\"\n    52                      \"JӷϤC\"\n    53                      \"JӷMتϤC\"\n    54                      \"榡ƥتϤ\"\n    55                      \"ƻsϤ~\"\n    56                      \"LkƻsϤC\"\n    58                      \"ӷϤPتϤۮeC\"\n    60                      \" %d%%\"\n    61                      \"إߥDؿ...\"\n    62                      \"ƻstɮ...\"\n    63                      \"榡ƺϤ~\"\nEND\n\nSTRINGTABLE\nBEGIN\n    66                      \"榡Ƨ\"\n    67                      \"`@ϺЪŶ: %ld 줸\\nϺФWiΪ줸: %ld\\n\\nO_榡ƥt@ϤH\"\nEND\n\nSTRINGTABLE\nBEGIN\n    80                      \"~\"\n    83                      \"oϺо]t Windows tɮסA]Lk_sC\"\n    91                      \"ɮ׺޲zLkܧݩʡC\"\n    92                      \"ɮ׺޲zLkإߥؿC\"\n    93                      \"ɮ׺޲zLkϤRWC\\n\\nнT{Ϥ@gO@BëDAӥBJTW١C\\nW٤i]tUCrG\\n[Ů] * ? / \\\\ | . , ; : + = [ ] ( )  ^ < > \"\" (& )\"\n    95                      \"䤣۲ŪɮסC\"\nEND\n\nSTRINGTABLE\nBEGIN\n    97                      \"oϺоewgܧCO_nsujMGvH\"\n    98                      \"zH޲z̨nJu@AHKbwФW榹ާ@C\"\n    101                     \"Ϻо %c:%c\"\n    110                     \"Lk{\"\n    111                     \"Lkw~: %dC\"\nEND\n\nSTRINGTABLE\nBEGIN\n    112                     \"SOiҰʫwε{C\\n\\nеϥΤ@μƭε{AMAաC\"\n    113                     \"ɮ׺޲zLkɮס]Ψ䤸^C\\n\\nнTw|MɮצWٳOTABҦn{wOiΪC\"\n    114                     \"w|LġC\"\n    116                     \"Sε{PɮצpC\\n\\nбquɮסv\\ܡupvHإpC\"\n    118                     \"ɮ׺޲zLk}ҩΦCLɮסC\\n\\nбҰʥΥHإߦɪε{Aö}ҩΦCLɡC\"\n    120                     \"T{ƹާ@\"\n    121                     \"O_TwnƻswɮשΥؿ %sH\"\n    122                     \"O_TwnʫwɮשΥؿ %sH\"\n    123                     \"O_Twnϥ %s ӱҰ %s @_lɡH\"\n    124                     \"ɮ׺޲z\"\n    126                     \"𪬥ؿc\"\n    127                     \"jMG: \"\nEND\n\nSTRINGTABLE\nBEGIN\n    132                     \"ɮפӦh\"\n    133                     \"ɮ׺޲z - O餣\"\n    134                     \"LkŪӥؿCܳMC\"\n    140                     \"ثeu@ؿ: %s\"\n    141                     \"ƻs\"\n    143                     \"W\"\nEND\n\nSTRINGTABLE\nBEGIN\n    145                     \"榡ƺϤ\"\n    146                     \"ܺϤHi榡ơC\"\n    150                     \"إ:\"\n    151                     \"...\"\n    152                     \"ƻs:\"\n    153                     \"W...\"\n    154                     \"...\"\n    155                     \"R...\"\n    156                     \"CL: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    169                     \"ƻs...\"\n    170                     \":\"\nEND\n\nSTRINGTABLE\nBEGIN\n    180                     \"Total %d file(s) (%s)\"\n    181                     \"Ūؿ: %d \"\n    182                     \"%c: iΪŶ %s, `p %s\"\n    183                     \" %d ɮ\"\n    185                     \"wɮ\"\n    186                     \"ɮ׺޲zLk_ϺоsC\\n\\nbϺоW}ҤFƭɮסC\"\n    187                     \" %d ɮ (%s)\"\n    188                     \"b %c ϺоWSϤC\\n\\nдJϤMMAդ@C\"\n    189                     \"%c ϺоϤå榡ơC\\n\\nO_n榡ơH\"\nEND\n\nSTRINGTABLE\nBEGIN\n    192                     \"SϺЪŶiѦCLC\\n\\nЧR@өμƭɮץHW[ϺЪŶMMAդ@C\"\n    193                     \"SOiѦCLC\\n\\nеϥΤ@өμƭε{MMAդ@C\"\n    194                     \"CLɵoͿ~C\\n\\nнTwLwtmäwwnC\"\n    195                     \"ܪثeu@ؿä\"\n    197                     \"تϤwCдJt@ϤH~C\"\n    198                     \"oO@ӨtΡBéΰŪɮסC\"\n    199                     \"ɮ׺޲zLkֳt榡ơC\\n\\nO_אּ@榡ơH\"\n    203                     \"NOeε{ɵoͿ~C\"\n    204                     \"LkJoާ@һݪ{wC\"\nEND\n\nSTRINGTABLE\nBEGIN\n    209                     \"@Υؿ(&H)...\"\n    210                     \"榡Ʒ|MϤҦơCO_Twn榡 %c ϺоϤH\"\n    211                     \"T{榡ƺϤ\"\n    212                     \"ާ@N|MتϤҦơCTwn~ܡH\"\n    213                     \"T{ƻsϤ\"\n    214                     \"(&C)\"\n    215                     \"\"\n    218                     \"%s ؿäsbC\\n\\nO_nإ߸ӥؿH\"\n    219                     \"{#*.exe;*.pif;*.com;*.bat#Ҧɮ (*.*)#*.*#\"\n    220                     \"s\"\n    221                     \"\"\n    222                     \"LkCLɮ\"\n    223                     \"LkܻTC\"\nEND\n\nSTRINGTABLE\nBEGIN\n    224                     \"t %s ɦWɮ׬Ҭ{APLε{pC\"\n    225                     \"%s O{APɮװɦWpC\"\n    226                     \"(L)\"\n    227                     \"䤣ɮסC\"\n    228                     \"ɮ׺޲zLkCLhɮסC\\n\\nХuܤ@ɮסAMAաC\"\n    230                     \"oε{һݪYӵ{wɮפwglFCЭsw˳oε{C\"\n    231                     \"oɮץQLε{ϥΤC\"\n    232                     \"ɮ׺޲zLksb '%s' ؿҫإߪɮסC\\n\\nO_~H\"\n    233                     \"إߥؿ\"\n    234                     \"%ld 줸\"\n    235                     \"%s 줸\"\n    236                     \"ɮ׺޲zLkNhɮשΥؿƻsuŶKOvC\\n\\nХuܤ@ɮסAMAաC\"\n    237                     \"%s - %s\"\n    238                     \"Ϻо:\"\n    239                     \"%s, \"\nEND\n\nSTRINGTABLE\nBEGIN\n    240                     \"sϺо\"\n    241                     \"_Ϻоs\"\n    242                     \"s\"\n    243                     \"@Υؿ\"\n    244                     \"ؿ@\"\n    245                     \"˵ɮתҦԲӸ\"\n    246                     \"u˵W\"\n    247                     \"̦WٱƧ\"\n    248                     \"Ƨ\"\n    249                     \"̤jpƧ\"\n    250                     \"̤Ƨ\"\n    251                     \"}s\"\n    252                     \"ƻsɮ\"\n    253                     \"ɮ\"\n    254                     \"ؿW(&D):\"\nEND\n\nSTRINGTABLE\nBEGIN\n    256                     \"LkϥκϺоC\"\n    259                     \"@ά %s\"\n    260                     \"@\"\n    261                     \"Rɮ\"\n    262                     \" - Y\"\n    263                     \"ƻsɮר %s\"\n    264                     \"ɮר %s\"\n    265                     \"H %s ɮ\"\n    266                     \"%s 줸\"\n    267                     \"%sKB\"\n    268                     \"%sMB\"\n    269                     \"%sGB\"\n    270                     \"%sTB\"\nEND\n\nSTRINGTABLE\nBEGIN\n    280                     \"zå֦sؿϥvC\"\n    281                     \"zå֦sɮתϥvC\"\n    283                     \"%c: ϺоϥΤALksC\\nɮ׺޲zbϺнƻsC\"\n    284                     \"%c: ϺоϥΤALksC\\nɮ׺޲zb榡ƺϺСC\"\n    285                     \"ާ@\"\n    286                     \"LkɮשMؿWҦާ@C\"\n    287                     \"LkŪؿ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    288                     \"ؿäsbC\"\n    289                     \"LksϺо\"\n    290                     \"䤣W١C\"\n    292                     \"uҬOv|@ΨҦɮסA]AtΡBéM\\nŪɮסC\"\n    294                     \"}\"\n    295                     \"CL\"\n    298                     \"[JɦW\"\n    299                     \"'%s' ɦWثep '%s'CO_N즳pH\"\n    300                     \"ɮps边\"\n    301                     \"LkPɦWpC\"\n    302                     \"LkRɦWC\"\n    303                     \"Lk[JɮC\"\nEND\n\nSTRINGTABLE\nBEGIN\n    304                     \"LkRɮC\"\n    305                     \"LkŪɮC\"\n    306                     \"ɮOŪCJsɮC\"\n    307                     \"LkھɮͰߤ@ѧONCJsɮC\"\n    308                     \"Rɮ\"\n    309                     \"pN|RɮΩҦɦWCO_TwnR '%s'H\"\n    312                     \"ɮʧ@ܤ֥ݦ@ӫOPftCЦbOJε{C\"\nEND\n\nSTRINGTABLE\nBEGIN\n    320                     \"sɮ\"\n    321                     \"ƻsϺ\"\n    322                     \"jM...\"\n    324                     \"ɮ׺޲zثeb榡ƺϤCɮ׺޲zN|_ާ@C\"\n    325                     \"ɮ׺޲zثebƻsϤCɮ׺޲zN|_ާ@C\"\n    326                     \"ʤ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    353                     \"360K\"\n    354                     \"1%s2 MB\"\n    355                     \"720K\"\n    356                     \"1%s44 MB\"\n    357                     \"2%s88 MB\"\n    358                     \"Ϻоeq\"\n    359                     \"ɮ׺޲zLkoϤTC\\n\\nнTwϤϺоC\"\n    360                     \"20%s8 MB\"\n    361                     \"Ϻ\"\n    362                     \"Ϻ\"\n    363                     \"ɮ׺޲zLk榡ƺϺо %s ϺCШϥκϺШtκ޲z̨Ӯ榡ƳoӺϺСC\"\nEND\n\nSTRINGTABLE\nBEGIN\n    370                     \"128 MB\"\n    371                     \"230 MB\"\n    375                     \"1%s23 MB\"\n    376                     \"640K\"\n    377                     \"1%s25 MB\"\n    378                     \"256K\"\nEND\n\nSTRINGTABLE\nBEGIN\n    400                     \"ۮeɮרtΡC\"\n    401                     \"sQڡC\"\n    402                     \"ϺШgJO@C\"\n    403                     \"ɮ׺޲zLkwϺаϡC\"\n    404                     \"ɮ׺޲zLkֳt榡ƺϤC\\n\\nнTwϤKפOTC\"\n    405                     \"ӷϤW IO ~C\"\n    406                     \"تϤW IO ~C\"\n    407                     \"ӷϤMتϤW IO ~C\"\n    408                     \"o IO ~C\"\n    411                     \"ɮ׺޲zLk榡ƺϤC\\n\\nнTwϤϺоMBgJO@BlaΨ㦳~KפC\"\n    412                     \"ɮ׺޲zLkϺоRWC\\n\\nwϺмҵLġCнT{Ҩå]tUCr\\n\\n[Ů] * ? / \\\\ | . , ; : +  = [ ] ( )  ^ < > \"\" (& )\"\nEND\n\nSTRINGTABLE\nBEGIN\n    420                     \"}...\"\n    421                     \"...\"\n    422                     \"}ҤӦhؿC\\n\\n@μƭӵAM᭫աC\"\n    423                     \"ֳt榡Ƥ...\"\n    424                     \"Lk_lƭIs䴩Cɮ׺޲z|C\"\n    425                     \"ɮ׺޲z_l\"\n    426                     \"ŪؿAеy...\"\n    427                     \"nPY %s ҦɮפΤlؿ?\"\n    428                     \"nPɸY %s ҦɮפΤlؿ?\"\n    429                     \"ɮ׺޲zLkܧ %sC\"\n    430                     \"%s ɤ|QYCoɮצpGYAtΥiLk}C\"\n    431                     \"ɮ׺޲zثebYθYסC\\nzYҦɮסA~AY䥦ɮסC\"\nEND\n\nSTRINGTABLE\nBEGIN\n    500                     \"\"\n    501                     \"qW\"\n    502                     \"ɮ׻\"\n    503                     \"W\"\n    504                     \"UӼ\"\n    505                     \"lɦW\"\n    506                     \"pH\"\n    507                     \"~W\"\n    508                     \"~\"\n    509                     \"S\"\n    510                     \"y\"\n    511                     \"y\"\nEND\n\nSTRINGTABLE\nBEGIN\n    800                     \"sϺо(&N)...\"\n    801                     \"_Ϻоsu(&D)...\"\n    802                     \"su(&N)...\"\n    803                     \"@(&A)...\"\n    804                     \"@(&T)...\"\n    805                     \"˵@Υؿ(&H)...\"\n    806                     \"R(&U)...\"\n    807                     \"sɶ}ҷs(&O)\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1001                    \"ɮ׿~\"\n    1002                    \"ƻsɮ׿~\"\n    1003                    \"Rɮ׿~\"\n    1004                    \"ɮקW~\"\n    1005                    \"ܺϺо~\"\n    1006                    \"Ūؿ~\"\n    1007                    \"ϺЩRW~\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1011                    \"ɮ׺޲zLk %s: %s\"\n    1012                    \"ɮ׺޲zLkƻs %s: %s\"\n    1013                    \"ɮ׺޲zLkR %s: %s\"\n    1014                    \"ɮ׺޲zLkW %s: %s\"\n    1021                    \"ɮ׺޲zLkإߥؿ %s: %s\"\n    1022                    \"ɮ׺޲zLkؿ %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1030                    \"ɮ׺޲zLkإߩΨN %s: %s\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1101                    \"ӷMؼЬۦPC\"\n    1102                    \"ȿܤ@ɮקWAΨϥγqtr]Ҧp *.TXT^@ը㦳W٪ɮקWC\"\n    1103                    \"LkWPؿκϺСC\\nЧΡuɮײʡvOC\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1104                    \"LkDؿWC\"\n    1105                    \"ؼХؿӷlؿC\"\n    1106                    \"ɮץ Windows ϥΤC\"\n    1107                    \"uvȫw@ɮשΥؿCYnw@ɮסAШϥγqtr]Ҧp *.TXT^C\"\n    1108                    \"wgϥγoӦW٪ɮשΥؿsbCbؿAɮשMؿWٳOߤ@C\"\n    1109                    \"ˬdO_wT|MɦWC\"\n    1110                    \"ˬdO_wT|C\"\n    1111                    \"еϥΤ@μƭε{AMAաCάOϥαxutΡvﶵW[OC\"\n    1113                    \"ϺЪgJO@ΨϥΥt@ϺСAMAդ@C\"\n    1114                    \"нTwz֦TϥvHK榹ާ@C\"\n    1115                    \"ЧR@өμƭɮץHW[ϺЪŶAMAդ@C\"\n    1116                    \"bCWơC\"\n    1117                    \"ؿwgsbC\"\n    1118                    \"wW٤wѥt@ɮשҨϥΡC\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1150                    \"ϺоO~ϤC\"\n    1151                    \"ε{Lkb Windows NT ҦUC\"\nEND\n\nSTRINGTABLE\nBEGIN\n    1152                    \"@~tεLk榹C\"\n    1153                    \"Lkb Windows NT ҦUC\"\n    1154                    \"{ëDĪ Windows NT ε{C\"\n    1155                    \"oͿ~CS󦹿~TrC\"\nEND\n\nSTRINGTABLE\nBEGIN\n    2000                    \"ƻsӷ(&F):\"\n    2001                    \"ƻs(&T):\"\n    2002                    \"q(&F):\"\n    2003                    \"(&T):\"\n    2004                    \"Y]wrANLk\\n KanjiC\"\nEND\n\nSTRINGTABLE\nBEGIN\n    3984                    \"BzɮתO\"\n    3985                    \"BzϺЪO\"\n    3986                    \"𪬵cO\"\n    3987                    \"]wTܤ覡O\"\n    3988                    \"]wﶵO\"\n    3989                    \"ɮשMؿwO\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4000                    \"ƦCO\"\n    4001                    \"ɮ׺޲zO\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4030                    \"jMɮ׺޲zDD\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4101                    \"}ҫw\"\n    4102                    \"CL\"\n    4103                    \"ɮ׻Pε{p\"\n    4104                    \"jMɮשMؿ\"\n    4105                    \"Ұʩζ}ε{Τ\"\n    4106                    \"ʫw\"\n    4107                    \"ƻsɮשMؿ\"\n    4108                    \"RɮשMؿ\"\n    4109                    \"ɮשΥؿW\"\n    4110                    \"]wɮݩʥHɮפe\"\n    4111                    \"إߥؿ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4115                    \"ɮ׺޲z\"\n    4116                    \"ɮשMؿ\"\n    4117                    \"^ewRɮ\"\n    4118                    \"ƻsɮרŶKO\"\n    4119                    \"YɮשΥؿ\"\n    4120                    \"YɮשΥؿ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4201                    \"ƻsϤe\"\n    4202                    \"wܧϺм\"\n    4203                    \"榡ƺϤ\"\n    4205                    \"sϺо\"\n    4206                    \"_Ϻоs\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4251                    \"ܤPϺо\"\n    4254                    \"@Υؿ\"\n    4255                    \"@Υؿ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4301                    \"ܥt@ӥؿh\"\n    4302                    \"ܩҦؿh\"\n    4303                    \"ܩҦؿҦh\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4304                    \"ëwؿҦؿ\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4401                    \"uɮצW\"\n    4402                    \"ɮתҦԲӸ\"\n    4403                    \"ɮתԲӸ\"\n    4404                    \"̦WٱƧɮ\"\n    4405                    \"Ƨɮ\"\n    4406                    \"̤jpƧɮ\"\n    4407                    \"̤Ƨɮ\"\n    4409                    \"ܫwɮ\"\n    4411                    \"ܾ𪬥ؿc\"\n    4412                    \"ܥثeu@ؿe\"\n    4413                    \"ܾ𪬥ؿcMثeu@ؿe\"\n    4414                    \"Υؿβʤζb\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4501                    \"T{T\"\n    4503                    \"ܩêAC\"\n    4504                    \"ҰʮɱNɮ׺޲zYpϥ\"\n    4505                    \"Хܾ֦lؿؿ\"\n    4507                    \"ܩúϺо\"\n    4508                    \"ܩäuC\"\n    4509                    \"bsɶ}ҷs\"\n    4510                    \"ܧɮ׺޲zr\"\n    4511                    \"ϥɮ׺޲zxs]w\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4512                    \"ۭquC\"\nEND\n\nSTRINGTABLE\nBEGIN\n    4605                    \"˵γ]wwتϥvT\"\n    4606                    \"˵γ]wwت]ָT\"\n    4607                    \"˵ΨowتҦv\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5701                    \"|ܵ\"\n    5702                    \"ñƵ\"\n    5703                    \"ñƵ\"\n    5704                    \"se\"\n    5705                    \"ƦCϥ\"\n    5706                    \"}ҷs\"\nEND\n\nSTRINGTABLE\nBEGIN\n    5801                    \"ɮ׺޲ze\"\n    5802                    \"ܨϥλT\"\n    5803                    \"ܦɮ׺޲zT\"\nEND\n\n#endif    // Chinese (Traditional, Taiwan) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n/////////////////////////////////////////////////////////////////////////////\n// English (United States) resources\n\n#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\nLANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US\n#pragma code_page(1252)\n\n#ifdef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// TEXTINCLUDE\n//\n\n1 TEXTINCLUDE \nBEGIN\n    \"resource.h\\0\"\nEND\n\n2 TEXTINCLUDE \nBEGIN\n    \"#include \"\"afxres.h\"\"\\r\\n\"\n    \"\\0\"\nEND\n\n3 TEXTINCLUDE \nBEGIN\n    \"\\r\\n\"\n    \"\\0\"\nEND\n\n#endif    // APSTUDIO_INVOKED\n\n#endif    // English (United States) resources\n/////////////////////////////////////////////////////////////////////////////\n\n\n\n#ifndef APSTUDIO_INVOKED\n/////////////////////////////////////////////////////////////////////////////\n//\n// Generated from the TEXTINCLUDE 3 resource.\n//\n\n\n/////////////////////////////////////////////////////////////////////////////\n#endif    // not APSTUDIO_INVOKED\n\n"
  },
  {
    "path": "src/res.h",
    "content": "/**************************************************************************\r\n\r\n   res.h\r\n\r\n   Include for WINFILE resources\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n**************************************************************************/\r\n\r\n//\r\n// Japan markers:\r\n//\r\n\r\n#define JAPANBEGIN\r\n#define JAPANEND\r\n#define KOREAJAPANBEGIN\r\n#define KOREAJAPANEND\r\n\r\n#define bJAPAN bJapan\r\n#define bKOREAJAPAN bJapan\r\n\r\n//\r\n// Moved from wfcopy.h\r\n// The problem is that IsTheDiskReallyThere/CheckDrive\r\n// uses these codes so they really need to be global\r\n//\r\n\r\n#define FUNC_MOVE       0x0001\r\n#define FUNC_COPY       0x0002\r\n#define FUNC_DELETE     0x0003\r\n#define FUNC_RENAME     0x0004\r\n\r\n//\r\n// These should not be used in the move/copy code;\r\n// only for IsTheDiskReallyThere\r\n//\r\n#define FUNC_SETDRIVE   0x0005\r\n#define FUNC_EXPAND     0x0006\r\n#define FUNC_LABEL      0x0007\r\n\r\n// \r\n// Needed for reparse point creation \r\n//\r\n#define FUNC_LINK       0x0008\r\n#define FUNC_HARD       0x0009\r\n#define FUNC_JUNC       0x000A\r\n\r\n//\r\n// Operations received during droping on a sink\r\n//\r\n#define DROP_MOVE 0x00\r\n#define DROP_COPY 0x01\r\n#define DROP_LINK 0x02\r\n#define DROP_HARD 0x03\r\n\r\n\r\n/* This is for the menuhelp messages.  Pretty much all ID's after this should\r\n * be reserved for this purpose.\r\n */\r\n#define MH_POPUP            (4000-16)\r\n#define MH_MYITEMS          4000\r\n\r\n#include \"wfdlgs.h\"\r\n\r\n/* Menu Command Defines */\r\n#define IDM_FILE            0\r\n#define IDM_OPEN            101\r\n#define IDM_PRINT           102\r\n#define IDM_ASSOCIATE       103\r\n#define IDM_SEARCH          104\r\n#define IDM_RUN             105\r\n#define IDM_MOVE            106\r\n#define IDM_COPY            107\r\n#define IDM_DELETE          108\r\n#define IDM_RENAME          109\r\n#define IDM_ATTRIBS         110\r\n#define IDM_MAKEDIR         111\r\n#define IDM_SELALL          112\r\n#define IDM_DESELALL        113\r\n#define IDM_UNDO            114\r\n#define IDM_EXIT            115\r\n#define IDM_SELECT          116\r\n// was IDM_UNDELETE         117\r\n#define IDM_COPYTOCLIPBOARD 118\r\n#define IDM_COMPRESS        119\r\n#define IDM_UNCOMPRESS      120\r\n#define IDM_PASTE           121\r\n#define IDM_EDIT            122\r\n#define IDM_CUTTOCLIPBOARD  123\r\n#define IDM_STARTCMDSHELL   124\r\n#define IDM_GOTODIR         125\r\n#define IDM_HISTORYBACK     126\r\n#define IDM_HISTORYFWD      127\r\n#define IDM_STARTPOWERSHELL 128\r\n#define IDM_STARTBASHSHELL  129\r\n#define IDM_CLOSEWINDOW     130\r\n#define IDM_SYMLINK         132\r\n#define IDM_HARDLINK        133\r\n\r\n#define IDM_STARTEXPLORER   134\r\n\r\n// This IDM_ is reserved for IDH_GROUP_ATTRIBS\r\n#define IDM_GROUP_ATTRIBS   199\r\n\r\n#define IDM_DISK            1\r\n#define IDM_DISKCOPY        201\r\n#define IDM_LABEL           202\r\n#define IDM_FORMAT          203\r\n//#define IDM_SYSDISK         204\r\n#define IDM_CONNECT         205\r\n#define IDM_DISCONNECT      206\r\n#define IDM_DRIVESMORE      251\r\n#define IDM_CONNECTIONS     252\r\n#define IDM_SHAREDDIR       253\r\n\r\n// AS added to end\r\n#define IDM_SHAREAS         254\r\n#define IDM_STOPSHARE       255\r\n\r\n#define IDM_TREE            2\r\n#define IDM_EXPONE          301\r\n#define IDM_EXPSUB          302\r\n#define IDM_EXPALL          303\r\n#define IDM_COLLAPSE        304\r\n#define IDM_NEWTREE         305\r\n\r\n#define IDM_VIEW            3\r\n#define IDM_VNAME           401\r\n#define IDM_VDETAILS        402\r\n#define IDM_VOTHER          403\r\n\r\n#define IDM_BYNAME          404\r\n#define IDM_BYTYPE          405\r\n#define IDM_BYSIZE          406\r\n#define IDM_BYDATE          407    // reverse date sort\r\n#define IDM_BYFDATE         408    // forward date sort\r\n\r\n#define IDM_VINCLUDE        409\r\n#define IDM_REPLACE         410\r\n\r\n#define IDM_TREEONLY        411\r\n#define IDM_DIRONLY         412\r\n#define IDM_BOTH            413\r\n#define IDM_SPLIT           414\r\n\r\n#define IDM_ESCAPE          420\r\n\r\n#define IDM_OPTIONS         4\r\n#define IDM_CONFIRM         501\r\n#define IDM_LOWERCASE       502\r\n#define IDM_STATUSBAR       503\r\n#define IDM_MINONRUN        504\r\n#define IDM_ADDPLUSES       505\r\n#define IDM_EXPANDTREE      506\r\n\r\n#define IDM_DRIVEBAR      507   /* Options->Drivebar */\r\n#define IDM_TOOLBAR     508   /* Options->Toolbar */\r\n#define IDM_NEWWINONCONNECT 509  /* Options->New Window On Connect */\r\n\r\n#define IDM_FONT            510\r\n#define IDM_SAVESETTINGS    511\r\n\r\n#define IDM_TOOLBARCUST     512\r\n#define IDM_SAVENOW         513\r\n\r\n#define IDM_INDEXONLAUNCH   514\r\n\r\n#define IDM_PREF            515\r\n\r\n#define IDM_SECURITY        5\r\n#define IDM_PERMISSIONS     605      // !! WARNING HARD CODED !!\r\n#define IDM_AUDITING        606\r\n#define IDM_OWNER           607\r\n\r\n#define IDM_EXTENSIONS      6\r\n// iExt 0, command ids 700-799\r\n// iExt 1, command ids 800-899\r\n// etc.\r\n// iExt 9, command ids 1600-1699\r\n\r\n// NOTE: IDM_WINDOW is IDM_EXTENSIONS (6) + MAX_EXTENSIONS (10)\r\n#define IDM_WINDOW           16\r\n#define IDM_CASCADE          1701\r\n#define IDM_TILE             1702\r\n\r\n#define IDM_TILEHORIZONTALLY 1703\r\n#define IDM_REFRESH          1704\r\n#define IDM_ARRANGE          1705\r\n#define IDM_NEWWINDOW        1706\r\n#define IDM_CHILDSTART       1707\r\n\r\n#define IDM_HELP            17\r\n#define IDM_HELPINDEX       1801\r\n#define IDM_HELPKEYS        0x001E\r\n#define IDM_HELPCOMMANDS    0x0020\r\n#define IDM_HELPPROCS       0x0021\r\n#define IDM_HELPHELP        1802\r\n#define IDM_ABOUT           1803\r\n\r\n#define IDM_DRIVELISTJUMP 2000  /* for defining an accelerator */\r\n\r\n\r\n/* Control ID's; these must not conflict with an IDM_* */\r\n#define IDC_TOOLBAR  3000\r\n#define IDC_STATUS   3001\r\n#define IDC_DRIVES   3002\r\n#define IDC_EXTENSIONS  3003\r\n\r\n\r\n#define BITMAPS             100\r\n\r\n#define IDB_TOOLBAR  101\r\n#define IDB_EXTRATOOLS  102\r\n\r\n#define FILES_WIDTH         16\r\n#define FILES_HEIGHT        16\r\n#define MINIDRIVE_WIDTH     16\r\n#define MINIDRIVE_HEIGHT    9\r\n#define DRIVES_WIDTH        23\r\n#define DRIVES_HEIGHT       14\r\n\r\n#define APPICON             200\r\n#define TREEICON            201\r\n#define DIRICON             202\r\n#define WINDOWSICON         203\r\n#define TREEDIRICON         204\r\n\r\n#define SINGLEMOVECURSOR    288 // move is even == bit 0\r\n#define SINGLECOPYCURSOR    289 // copy is odd == bit 0\r\n#define MULTMOVECURSOR      290 // multi == bit 1\r\n#define MULTCOPYCURSOR      291\r\n#define SINGLELINKCURSOR    292 // link == bit 2\r\n#define MULTLINKCURSOR      294\r\n#define SINGLEHARDCURSOR    296 // hard == bit 3\r\n#define MULTHARDCURSOR      298\r\n\r\n#define APPCURSOR           300\r\n#define DIRCURSOR           301\r\n#define DOCCURSOR           302\r\n#define FILECURSOR          304\r\n#define FILESCURSOR         305\r\n#define SPLITCURSOR         306\r\n\r\n#define APPCURSORC          310\r\n#define DIRCURSORC          311\r\n#define DOCCURSORC          312\r\n#define FILECURSORC         314\r\n#define FILESCURSORC        315\r\n\r\n#define WFACCELTABLE        400\r\n\r\n#define FRAMEMENU           500\r\n\r\n//#define IDS_ENDSESSION      40  /* Must be > 32 */\r\n//#define IDS_ENDSESSIONMSG   41\r\n#define IDS_COPYDISK        50\r\n#define IDS_INSERTDEST      51\r\n#define IDS_INSERTSRC       52\r\n#define IDS_INSERTSRCDEST   53\r\n#define IDS_FORMATTINGDEST  54\r\n#define IDS_COPYDISKERR     55\r\n#define IDS_COPYDISKERRMSG  56\r\n#define IDS_COPYDISKSELMSG  57\r\n#define IDS_COPYSRCDESTINCOMPAT 58\r\n#define IDS_PERCENTCOMP     60\r\n#define IDS_CREATEROOT      61\r\n#define IDS_COPYSYSFILES    62\r\n#define IDS_FORMATERR       63\r\n//#define IDS_FORMATERRMSG    64\r\n//#define IDS_FORMATCURERR    65\r\n#define IDS_FORMATCOMPLETE  66\r\n#define IDS_FORMATANOTHER   67\r\n#define IDS_FORMATCANCELLED 68\r\n//#define IDS_SYSDISK         70\r\n//#define IDS_SYSDISKRUSURE   71\r\n//#define IDS_SYSDISKERR      72\r\n//#define IDS_SYSDISKNOFILES  73\r\n//#define IDS_SYSDISKSAMEDRIVE    74\r\n//#define IDS_SYSDISKADDERR   75\r\n#define IDS_NETERR          80\r\n//#define IDS_NETCONERRMSG    81\r\n//#define IDS_NETDISCONCURERR 82\r\n#define IDS_NETDISCONWINERR 83\r\n//#define IDS_NETDISCON       84\r\n//#define IDS_NETDISCONRUSURE 85\r\n//#define IDS_NETDISCONERRMSG 86\r\n//#define IDS_FILESYSERR      90\r\n#define IDS_ATTRIBERR       91\r\n#define IDS_MAKEDIRERR      92\r\n#define IDS_LABELDISKERR    93\r\n//#define IDS_SEARCHERR       94\r\n#define IDS_SEARCHNOMATCHES 95\r\n//#define IDS_MAKEDIREXISTS   96\r\n#define IDS_SEARCHREFRESH   97\r\n#define IDS_LABELACCESSDENIED  98\r\n#define IDS_ASSOCFILE       100\r\n#define IDS_DRIVETEMP       101\r\n#define IDS_EXECERRTITLE    110\r\n#define IDS_UNKNOWNMSG      111\r\n#define IDS_NOMEMORYMSG     112\r\n#define IDS_FILENOTFOUNDMSG 113\r\n#define IDS_BADPATHMSG      114\r\n//#define IDS_MANYOPENFILESMSG    115\r\n#define IDS_NOASSOCMSG      116\r\n//#define IDS_MULTIPLEDSMSG   117\r\n#define IDS_ASSOCINCOMPLETE 118\r\n#define IDS_MOUSECONFIRM    120\r\n#define IDS_COPYMOUSECONFIRM    121\r\n#define IDS_MOVEMOUSECONFIRM    122\r\n#define IDS_EXECMOUSECONFIRM    123\r\n#define IDS_WINFILE         124\r\n#define IDS_LINKMOUSECONFIRM    125\r\n#define IDS_TREETITLE       126\r\n#define IDS_SEARCHTITLE     127\r\n//#define IDS_NOFILESTITLE    130\r\n//#define IDS_NOFILESMSG      131\r\n#define IDS_TOOMANYTITLE    132\r\n#define IDS_OOMTITLE        133\r\n#define IDS_OOMREADINGDIRMSG    134\r\n#define IDS_CURDIRIS        140\r\n#define IDS_COPY            141\r\n#define IDS_ANDCOPY         142\r\n#define IDS_RENAME          143\r\n#define IDS_ANDRENAME       144\r\n#define IDS_FORMAT          145\r\n#define IDS_FORMATSELDISK   146\r\n#define IDS_SYMLINK         147\r\n#define IDS_HARDLINK        148\r\n#define IDS_CURDIRSARE      149\r\n//#define IDS_DISCONSELDISK   149 reused\r\n#define IDS_CREATINGMSG     150\r\n#define IDS_REMOVINGMSG     151\r\n#define IDS_COPYINGMSG      152\r\n#define IDS_RENAMINGMSG     153\r\n#define IDS_MOVINGMSG       154\r\n#define IDS_DELETINGMSG     155\r\n#define IDS_PRINTINGMSG     156\r\n//#define IDS_NOSUCHDRIVE     160\r\n#define IDS_MOVEREADONLY    161\r\n#define IDS_RENAMEREADONLY  162\r\n#define IDS_CONFIRMREPLACE  163\r\n#define IDS_CONFIRMREPLACERO    164 /* Confirm/readonly */\r\n#define IDS_CONFIRMRMDIR    165 /* Must be confirm + 1 */\r\n#define IDS_CONFIRMRMDIRRO  166\r\n#define IDS_CONFIRMDELETE   167\r\n#define IDS_CONFIRMDELETERO 168\r\n#define IDS_COPYINGTITLE    169\r\n#define IDS_REMOVINGDIRMSG  170\r\n#define IDS_STATUSMSG       180\r\n#define IDS_DIRSREAD        181\r\n#define IDS_DRIVEFREE       182\r\n#define IDS_SEARCHMSG       183\r\n#define IDS_DRIVE           184\r\n#define IDS_SELECTEDFILES   185\r\n#define IDS_NETDISCONOPEN   186\r\n#define IDS_STATUSMSG2      187\r\n#define IDS_DRIVENOTREADY   188\r\n#define IDS_UNFORMATTED     189\r\n\r\n//#define IDS_PRINTFNF        191\r\n#define IDS_PRINTDISK       192\r\n#define IDS_PRINTMEMORY     193\r\n#define IDS_PRINTERROR      194\r\n#define IDS_TREEABORT       195\r\n#define IDS_TREEABORTTITLE  196\r\n#define IDS_DESTFULL        197\r\n#define IDS_WRITEPROTECTFILE    198\r\n#define IDS_FORMATQUICKFAILURE  199\r\n\r\n//#define IDS_OS2APPMSG       200\r\n//#define IDS_NEWWINDOWSMSG   201\r\n//#define IDS_PMODEONLYMSG    202\r\n\r\n#define IDS_DDEFAIL         203\r\n#define IDS_FMIFSLOADERR    204\r\n\r\n#define IDS_SHAREDDIR       209\r\n#define IDS_FORMATCONFIRM   210\r\n#define IDS_FORMATCONFIRMTITLE  211\r\n#define IDS_DISKCOPYCONFIRM 212\r\n#define IDS_DISKCOPYCONFIRMTITLE    213\r\n#define IDS_ANDCLOSE           214\r\n#define IDS_CLOSE              215\r\n// moved #define IDS_UNDELETE        215 Taken.\r\n// moved #define IDS_CONNECT         216\r\n// moved #define IDS_CONNECTIONS     217\r\n#define IDS_PATHNOTTHERE    218\r\n#define IDS_PROGRAMS        219\r\n#define IDS_ASSOCIATE       220\r\n#define IDS_RUN             221\r\n#define IDS_PRINTERRTITLE   222\r\n#define IDS_WINHELPERR      223\r\n#define IDS_NOEXEASSOC          224\r\n#define IDS_ASSOCNOTEXE         225\r\n#define IDS_ASSOCNONE           226\r\n#define IDS_NOFILES             227\r\n#define IDS_PRINTONLYONE        228\r\n//#define IDS_COMPRESSEDEXE       229\r\n#define IDS_INVALIDDLL          230\r\n#define IDS_SHAREERROR          231\r\n#define IDS_CREATELONGDIR       232\r\n#define IDS_CREATELONGDIRTITLE  233\r\n#define IDS_BYTES               234\r\n#define IDS_SBYTES              235\r\n#define IDS_NOCOPYTOCLIP        236\r\n\r\n#define IDS_MENUANDITEM         237\r\n\r\n#define IDS_DRIVELABEL          238 /* label for drive list */\r\n#define IDS_STATUSMSGSINGLE     239 /* for building 1-file status display */\r\n\r\n#define IDS_CONNECTHELP         240 /* status bar text for tbar buttons */\r\n#define IDS_DISCONHELP          241\r\n#define IDS_CONNECTIONHELP      242\r\n#define IDS_SHAREASHELP         243\r\n#define IDS_STOPSHAREHELP       244\r\n#define IDS_VDETAILSHELP        245\r\n#define IDS_VNAMEHELP           246\r\n#define IDS_BYNAMEHELP          247\r\n#define IDS_BYTYPEHELP          248\r\n#define IDS_BYSIZEHELP          249\r\n#define IDS_BYDATEHELP          250\r\n#define IDS_NEWWINHELP          251\r\n#define IDS_COPYHELP            252\r\n#define IDS_MOVEHELP            253\r\n\r\n#define IDS_DIRNAMELABEL        254 /* \"&Directory Name:\" in props dlg */\r\n//#define IDS_FILEVERSIONKEY      255 /* base key name for getting ver info */\r\n#define IDS_DRIVENOTAVAILABLE   256\r\n\r\n// moved #define IDS_SHAREAS    257 /* \"Share As...\" menu item */\r\n// moved #define IDS_STOPSHARE  258 /* \"Stop Sharing...\" menu item */\r\n\r\n#define IDS_SHAREDAS    259 /* \"Shared as %s\" for status bar */\r\n#define IDS_NOTSHARED   260 /* \"Not shared\" for status bar */\r\n\r\n#define IDS_DELHELP     261\r\n\r\n#define IDS_DRIVE_COMPRESSED    262\r\n\r\n#define IDS_DRAG_COPYING        263\r\n#define IDS_DRAG_MOVING         264\r\n#define IDS_DRAG_LINKING        190\r\n#define IDS_DRAG_EXECUTING      265\r\n\r\n#define IDS_ORDERB      266\r\n#define IDS_ORDERKB     267\r\n#define IDS_ORDERMB     268\r\n#define IDS_ORDERGB     269\r\n#define IDS_ORDERTB     270\r\n\r\n\r\n#define IDS_NOACCESSDIR  280\r\n#define IDS_NOACCESSFILE  281\r\n\r\n// for ERROR_BAD_PATHNAME 161L\r\n//#define IDS_BADPATHNAME      282\r\n\r\n#define IDS_DRIVEBUSY_COPY   283\r\n#define IDS_DRIVEBUSY_FORMAT 284\r\n\r\n#define IDS_COPYMOVENOTCOMPLETED 285\r\n#define IDS_DIRREMAINS           286\r\n\r\n#define IDS_NOSUCHDIRTITLE    287\r\n#define IDS_NOSUCHDIR         288\r\n\r\n#define IDS_BADNETNAMETITLE   289\r\n#define IDS_BADNETNAME        290\r\n\r\n//#define IDS_DIREXISTSASFILE   291\r\n\r\n#define IDS_ALLFILES          292\r\n\r\n#define IDS_ASSOC_OPEN        294\r\n#define IDS_ASSOC_PRINT       295\r\n\r\n#define IDS_ADDEXTTITLE       298\r\n#define IDS_ADDEXTTEXT        299\r\n#define IDS_EXTTITLE          300\r\n\r\n#define IDS_EXTADDERROR       301\r\n#define IDS_EXTDELERROR       302\r\n#define IDS_FILETYPEADDERROR  303\r\n#define IDS_FILETYPEDELERROR  304\r\n#define IDS_FILETYPEREADERROR 305\r\n\r\n#define IDS_FILETYPENULLDESCERROR 306\r\n#define IDS_FILETYPEDUPDESCERROR  307\r\n\r\n#define IDS_FILETYPEDELCONFIRMTITLE 308\r\n#define IDS_FILETYPEDELCONFIRMTEXT  309\r\n#define IDS_FILETYPEDELCONFIRMUSERTEXT  310\r\n#define IDS_FILETYPEUSERIZETEXT  311\r\n#define IDS_FILETYPECOMMANDNULLTEXT 312\r\n\r\n#define IDS_NEWFILETYPETITLE  320\r\n#define IDS_COPYINGDISKTITLE  321\r\n#define IDS_SEARCHING         322\r\n\r\n#define IDS_EXTTEXT           323\r\n#define IDS_BUSYFORMATQUITVERIFY    324\r\n#define IDS_BUSYCOPYQUITVERIFY      325\r\n\r\n#define IDS_PERCENTCOMPLETE   326\r\n\r\n#define IDS_DRIVEBASE       350\r\n#define IDS_12MB            354\r\n#define IDS_360KB           353\r\n#define IDS_144MB           356\r\n#define IDS_720KB           355\r\n#define IDS_288MB           357\r\n#define IDS_DEVICECAP       358\r\n#define IDS_QSUPMEDIA       359\r\n#define IDS_2080MB          360\r\n#define IDS_REMOVEMED       361\r\n#define IDS_CANTFORMATTITLE 362\r\n#define IDS_CANTFORMAT      363\r\n\r\n#if defined(JAPAN) && defined(i386)\r\n//\r\n// FMR jul.21.1994 JY\r\n// We added 640KB/1.23MB media types.\r\n//\r\n#define IDS_123MB           364\r\n#define IDS_640KB           365\r\n\r\n/* ADD KBNES. NEC MEDIATYPE START */\r\n#define IDS_125MB           370\r\n#define IDS_256KB           371\r\n#define IDS_128MB           373\r\n/* ADD KBNES. NEC MEDIATYPE END */\r\n#endif\r\n\r\n#define IDS_FFERR_INCFS        400\r\n#define IDS_FFERR_ACCESSDENIED 401\r\n#define IDS_FFERR_DISKWP       402\r\n#define IDS_FFERR_CANTLOCK     403\r\n#define IDS_FFERR_CANTQUICKF   404\r\n#define IDS_FFERR_SRCIOERR     405\r\n#define IDS_FFERR_DSTIOERR     406\r\n#define IDS_FFERR_SRCDSTIOERR  407\r\n#define IDS_FFERR_GENIOERR     408\r\n//#define IDS_FFERR_SYSFILES  409\r\n//#define IDS_FFERR_MEDIASENSE    410\r\n#define IDS_FFERR          411\r\n#define IDS_FFERR_BADLABEL 412\r\n\r\n#define IDS_OPENINGMSG          420\r\n#define IDS_CLOSINGMSG          421\r\n#define IDS_TOOMANYWINDOWS      422\r\n\r\n#define IDS_QUICKFORMATTINGTITLE 423\r\n\r\n#define IDS_INITUPDATEFAIL       424\r\n#define IDS_INITUPDATEFAILTITLE  425\r\n#define IDS_READING              426\r\n\r\n#define IDS_COMPRESSDIR          427\r\n#define IDS_UNCOMPRESSDIR        428\r\n#define IDS_COMPRESS_ATTRIB_ERR  429\r\n#define IDS_NTLDRCOMPRESSERR     430\r\n#define IDS_MULTICOMPRESSERR     431\r\n\r\n#define IDS_EDITFILTER           432\r\n\r\n#define IDS_VERNAME_BASE          500\r\n#define IDS_VN_COMMENTS           (IDS_VERNAME_BASE + 0)\r\n#define IDS_VN_COMPANYNAME        (IDS_VERNAME_BASE + 1)\r\n#define IDS_VN_FILEDESCRIPTION    (IDS_VERNAME_BASE + 2)\r\n#define IDS_VN_INTERNALNAME       (IDS_VERNAME_BASE + 3)\r\n#define IDS_VN_LEGALTRADEMARKS    (IDS_VERNAME_BASE + 4)\r\n#define IDS_VN_ORIGINALFILENAME   (IDS_VERNAME_BASE + 5)\r\n#define IDS_VN_PRIVATEBUILD       (IDS_VERNAME_BASE + 6)\r\n#define IDS_VN_PRODUCTNAME        (IDS_VERNAME_BASE + 7)\r\n#define IDS_VN_PRODUCTVERSION     (IDS_VERNAME_BASE + 8)\r\n#define IDS_VN_SPECIALBUILD       (IDS_VERNAME_BASE + 9)\r\n\r\n#define IDS_VN_LANGUAGE    (IDS_VERNAME_BASE + 10)\r\n#define IDS_VN_LANGUAGES   (IDS_VERNAME_BASE + 11)\r\n\r\n#define IDS_FFERROR     (800-256)\r\n// Note that the next 256 entries are reserved for strings that will appear\r\n// in the directory listing if there is an error reading the drive.\r\n\r\n// These are all the ID's for the strings that may be inserted into various\r\n// menus at init time.  Note that tbar.c depends on the order of these strings.\r\n\r\n// was 608\r\n#define MS_EXTRA              800\r\n#define IDS_CONNECT           (MS_EXTRA+0)\r\n#define IDS_DISCONNECT        (MS_EXTRA+1)\r\n#define IDS_CONNECTIONS       (MS_EXTRA+2)\r\n#define IDS_SHAREAS           (MS_EXTRA+3)\r\n#define IDS_STOPSHARE         (MS_EXTRA+4)  // IDS_STOPSHARE not used anymore, because there is no way to open then 'Stop Share Dialog' with W7/10/11\r\n#define IDS_SHARES            (MS_EXTRA+5)\r\n// was IDS_UNDELETE           (MS_EXTRA+6)\r\n#define IDS_NEWWINONCONNECT   (MS_EXTRA+7)\r\n\r\n// TODO: there should be NUMEXTRACOMMANDS strings above; see usage in tbar.c in LoadDesc().\r\n\r\n#define IDS_COPYERROR       1000\r\n#define IDS_VERBS           1020\r\n#define IDS_ACTIONS         1040\r\n#define IDS_REPLACING       1060\r\n#define IDS_CREATING        1061\r\n\r\n//#define IDS_REASONS       1040    // error codes strings (range += 255)\r\n\r\n// IDS_ from 1100 to 1199 reserved for suggestions!\r\n\r\n#define IDS_KK_COPYFROMSTR              2000\r\n#define IDS_KK_COPYTOSTR                2001\r\n#define IDS_KK_RENAMEFROMSTR            2002\r\n#define IDS_KK_RENAMETOSTR              2003\r\nJAPANBEGIN\r\n#define IDS_WRNNOSHIFTJIS               2005\r\nJAPANEND\r\n#define IDS_KK_HARDLINKFROMSTR          2006\r\n#define IDS_KK_HARDLINKTOSTR            2007\r\n#define IDS_KK_SYMLINKFROMSTR           2008\r\n#define IDS_KK_SYMLINKTOSTR             2009\r\n"
  },
  {
    "path": "src/res.rc",
    "content": "/********************************************************************\r\n\r\n   res.rc\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n// fix loading in VS per https://stackoverflow.com/questions/16537289/rc2247-cannot-open-rc-file-resource-explorer-cannot-load-resource-load-fai/18317658#18317658\r\n\r\n#define APSTUDIO_HIDDEN_SYMBOLS\r\n#include <windows.h>\r\n#include <prsht.h>\r\n#include \"res.h\"\r\n#undef APSTUDIO_HIDDEN_SYMBOLS\r\n#include \"wfcopy.h\"\r\n\r\n\r\nBITMAPS         BITMAP PRELOAD wbbitmap.bmp\r\n\r\nIDB_TOOLBAR     BITMAP PRELOAD toolbar.bmp\r\nIDB_EXTRATOOLS  BITMAP PRELOAD xtratool.bmp\r\n\r\nAPPICON     ICON   PRELOAD winfile.ico\r\nTREEICON    ICON   PRELOAD wftree.ico\r\nDIRICON     ICON   PRELOAD wfdir.ico\r\nTREEDIRICON ICON   PRELOAD wftrdir.ico\r\n\r\nSPLITCURSOR     CURSOR PRELOAD split.cur\r\nSINGLEMOVECURSOR    CURSOR smove.cur\r\nMULTMOVECURSOR      CURSOR mmove.cur\r\nSINGLECOPYCURSOR    CURSOR scopy.cur\r\nMULTCOPYCURSOR      CURSOR mcopy.cur\r\nSINGLELINKCURSOR    CURSOR slink.cur\r\nMULTLINKCURSOR      CURSOR mlink.cur\r\nSINGLEHARDCURSOR    CURSOR shard.cur\r\nMULTHARDCURSOR      CURSOR mhard.cur\r\n\r\nWFACCELTABLE ACCELERATORS PRELOAD\r\nBEGIN\r\n    VK_ESCAPE,  IDM_ESCAPE,     NOINVERT, VIRTKEY\r\n    VK_RETURN,  IDM_OPEN,       NOINVERT, VIRTKEY\r\n    VK_RETURN,  IDM_OPEN,       NOINVERT, VIRTKEY, SHIFT\r\n    VK_RETURN,  IDM_OPEN,       NOINVERT, VIRTKEY, CONTROL\r\n    \"N\",        IDM_MAKEDIR,    VIRTKEY, SHIFT, CONTROL, NOINVERT\r\n    VK_F12,     IDM_EDIT,       VIRTKEY\r\n    VK_F7,      IDM_MOVE,       VIRTKEY\r\n    VK_F8,      IDM_COPY,       VIRTKEY\r\n    VK_F9,      IDM_COPYTOCLIPBOARD, VIRTKEY\r\n    VK_F11,     IDM_SYMLINK,    VIRTKEY\r\n    VK_F11,     IDM_HARDLINK,    VIRTKEY, SHIFT\r\n    VK_DELETE,  IDM_DELETE,     VIRTKEY\r\n    VK_DELETE,  IDM_DELETE,     VIRTKEY, CONTROL\r\n    VK_F5,      IDM_CASCADE,    NOINVERT, VIRTKEY, SHIFT\r\n    VK_F4,      IDM_TILE,       NOINVERT, VIRTKEY, SHIFT\r\n    VK_F5,      IDM_REFRESH,    NOINVERT, VIRTKEY\r\n    VK_F1,      IDM_HELPINDEX,  VIRTKEY\r\n    \"+\",        IDM_EXPONE,     NOINVERT\r\n    VK_ADD,     IDM_EXPONE,     NOINVERT, VIRTKEY\r\n    \"*\",        IDM_EXPSUB,     NOINVERT\r\n    VK_MULTIPLY,IDM_EXPSUB,     NOINVERT, VIRTKEY\r\n    \"8\",        IDM_EXPALL,     NOINVERT, VIRTKEY, CONTROL, SHIFT\r\n    VK_MULTIPLY,IDM_EXPALL,     NOINVERT, VIRTKEY, CONTROL\r\n    \"-\",        IDM_COLLAPSE,   NOINVERT\r\n    VK_SUBTRACT,IDM_COLLAPSE,   NOINVERT, VIRTKEY\r\n\r\n    VK_RETURN,  IDM_ATTRIBS,    NOINVERT, VIRTKEY, ALT\r\n    VK_RETURN,  IDM_NEWWINDOW,  NOINVERT, VIRTKEY, CONTROL, SHIFT\r\n    VK_F2,      IDM_RENAME, NOINVERT, VIRTKEY\r\n\t\"^e\",       IDM_STARTEXPLORER, NOINVERT\r\n\t\"^x\",       IDM_CUTTOCLIPBOARD, NOINVERT\r\n\t\"^c\",       IDM_COPYTOCLIPBOARD, NOINVERT\r\n\t\"^v\",       IDM_PASTE, NOINVERT\r\n\t\"^b\",       IDM_STARTBASHSHELL, NOINVERT\r\n\t\"^k\",       IDM_STARTCMDSHELL, NOINVERT\r\n\t\"^p\",       IDM_STARTPOWERSHELL, NOINVERT\r\n\t\"^g\",       IDM_GOTODIR, NOINVERT\r\n\t\"^f\",       IDM_SEARCH, NOINVERT\r\n\t\"^w\",       IDM_CLOSEWINDOW, NOINVERT\r\n\tVK_LEFT,    IDM_HISTORYBACK, NOINVERT, VIRTKEY, ALT\r\n\tVK_RIGHT,    IDM_HISTORYFWD, NOINVERT, VIRTKEY, ALT\r\n\tVK_BROWSER_BACK,    IDM_HISTORYBACK, NOINVERT, VIRTKEY\r\n\tVK_BROWSER_FORWARD,    IDM_HISTORYFWD, NOINVERT, VIRTKEY\r\nEND\r\n\r\n// Define version information\r\n#define VER_FILEDESCRIPTION_STR     \"File Manager\"\r\n#define VER_INTERNALNAME_STR        \"fileman\\0\"\r\n#define VER_ORIGINALFILENAME_STR    \"WINFILE.EXE\"\r\n#define VER_COMPANYNAME_STR         \"Microsoft Corporation\"\r\n#define VER_PRODUCTNAME_STR         \"File Manager\"\r\n#define VER_LEGALCOPYRIGHT_STR      \"Copyright (c) Microsoft Corporation. All rights reserved.\"\r\n\r\n#define VER_FILEVERSION             10,4,0,0\r\n#define VER_FILEVERSION_STR         \"10.4.0.0\\0\"\r\n#define VER_PRODUCTVERSION          10,4,0,0\r\n#define VER_PRODUCTVERSION_STR      \"10.4.0.0\\0\"\r\n\r\n#ifndef DEBUG\r\n#define VER_DEBUG                   0\r\n#else\r\n#define VER_DEBUG                   VS_FF_DEBUG\r\n#endif\r\n\r\nVS_VERSION_INFO VERSIONINFO\r\n    FILEVERSION     VER_FILEVERSION\r\n    PRODUCTVERSION  VER_PRODUCTVERSION\r\n    FILEFLAGSMASK   VS_FFI_FILEFLAGSMASK\r\n    FILEFLAGS       VER_DEBUG\r\n    FILEOS          VOS__WINDOWS32\r\n    FILETYPE        VFT_APP\r\n    FILESUBTYPE     VFT2_UNKNOWN\r\nBEGIN\r\n    BLOCK \"StringFileInfo\"\r\n    BEGIN\r\n        BLOCK \"040904B0\"\r\n        BEGIN\r\n            VALUE \"CompanyName\", VER_COMPANYNAME_STR\r\n            VALUE \"FileDescription\", VER_FILEDESCRIPTION_STR\r\n            VALUE \"FileVersion\", VER_FILEVERSION_STR\r\n            VALUE \"InternalName\", VER_INTERNALNAME_STR\r\n            VALUE \"OriginalFilename\", VER_ORIGINALFILENAME_STR\r\n            VALUE \"ProductName\", VER_PRODUCTNAME_STR\r\n            VALUE \"ProductVersion\", VER_PRODUCTVERSION_STR\r\n            VALUE \"LegalCopyright\", VER_LEGALCOPYRIGHT_STR\r\n        END\r\n    END\r\n    BLOCK \"VarFileInfo\"\r\n    BEGIN\r\n        VALUE \"Translation\", 1033, 1200\r\n    END\r\nEND\r\n\r\n#ifndef RT_MANIFEST\r\n#define RT_MANIFEST 24\r\n#endif\r\n\r\n#ifndef CREATEPROCESS_MANIFEST_RESOURCE_ID\r\n#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1\r\n#endif\r\n\r\n#ifdef __MINGW32__\r\nCREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST \"winfile.exe.manifest\"\r\n#endif\r\n\r\n//Language includes\r\n#pragma code_page(65001) //UTF-8\r\n#include \"lang\\res_en-US.rc\"\r\n#include \"lang\\res_zh-CN.rc\"\r\n#include \"lang\\res_ja-JP.rc\"\r\n#include \"lang\\res_pl-PL.rc\"\r\n#include \"lang\\res_he-IL.rc\"\r\n#include \"lang\\res_de-DE.rc\"\r\n#include \"lang\\res_tr-TR.rc\"\r\n#include \"lang\\res_pt-PT.rc\"\r\n#include \"lang\\res_ko-KR.rc\"\r\n"
  },
  {
    "path": "src/spinlock.h",
    "content": "/********************************************************************\r\n\r\n   spinlock.h\r\n\r\n   Derived from https://www.codeproject.com/Articles/184046/Spin-Lock-in-C\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include <windows.h>\r\n#include <stdexcept>\r\n\r\nconst unsigned int YIELD_ITERATION = 30; // yield after 30 iterations\r\nconst unsigned int MAX_SLEEP_ITERATION = 40;\r\nconst int SeedVal = 100;\r\n\r\n// This class acts as a synchronization object similar to a mutex\r\n\r\nstruct SpinLock\r\n{\r\n\tvolatile LONG dest;\r\n\tLONG exchange;\r\n\tLONG compare;\r\n\tunsigned int m_iterations;\r\n\r\npublic:\r\n\tSpinLock()\r\n\t{\r\n\t\tdest = 0;\r\n\t\texchange = SeedVal;\r\n\t\tcompare = 0;\r\n\t\tm_iterations = 0;\r\n\t}\r\n\r\n\tvoid Lock();\r\n\tvoid Unlock();\r\n\r\n\tinline bool HasThresholdReached() { return (m_iterations >= YIELD_ITERATION); }\r\n};\r\n\r\n\r\nvoid SpinLock::Lock()\r\n{\r\n\tm_iterations = 0;\r\n\twhile (true)\r\n\t{\r\n\t\t// A thread already owning the lock shouldn't be allowed to wait to acquire the lock - reentrant safe\r\n\t\tif (this->dest == GetCurrentThreadId())\r\n\t\t\tbreak;\r\n\t\t/*\r\n\t\tSpinning in a loop of interlockedxxx calls can reduce the available memory bandwidth and slow\r\n\t\tdown the rest of the system. Interlocked calls are expensive in their use of the system memory\r\n\t\tbus. It is better to see if the 'dest' value is what it is expected and then retry interlockedxxx.\r\n\t\t*/\r\n\t\tif (InterlockedCompareExchange(&this->dest, this->exchange, this->compare) == 0)\r\n\t\t{\r\n\t\t\t//assign CurrentThreadId to dest to make it re-entrant safe\r\n\t\t\tthis->dest = GetCurrentThreadId();\r\n\t\t\t// lock acquired \r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\t// spin wait to acquire \r\n\t\twhile (this->dest != this->compare)\r\n\t\t{\r\n\t\t\tif (HasThresholdReached())\r\n\t\t\t{\r\n\t\t\t\tif (m_iterations + YIELD_ITERATION >= MAX_SLEEP_ITERATION)\r\n\t\t\t\t\tSleep(0);\r\n\r\n\t\t\t\tif (m_iterations >= YIELD_ITERATION && m_iterations < MAX_SLEEP_ITERATION)\r\n\t\t\t\t{\r\n\t\t\t\t\tm_iterations = 0;\r\n\t\t\t\t\tSwitchToThread();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// Yield processor on multi-processor but if on single processor then give other thread the CPU\r\n\t\t\tm_iterations++;\r\n\t\t\tYieldProcessor(/*no op*/);\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nvoid SpinLock::Unlock()\r\n{\r\n\tif (this->dest != GetCurrentThreadId())\r\n\t\tthrow std::runtime_error(\"Unexpected thread-id in release\");\r\n\r\n\t// lock released\r\n\tInterlockedCompareExchange(&this->dest, this->compare, GetCurrentThreadId());\r\n}\r\n\r\n\r\n"
  },
  {
    "path": "src/suggest.c",
    "content": "/********************************************************************\r\n\r\n   Suggest.c\r\n\r\n   Handles error code messages and suggestions\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n\r\n//\r\n// Create array\r\n//\r\n#define SUGGEST(id,err,flags,str) err, flags, id+IDS_SUGGESTBEGIN,\r\nDWORD adwSuggest[][3] = {\r\n#include \"lang\\suggest_en-US.db\"\r\n   0,0,0\r\n};\r\n#undef SUGGEST\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     FormatError\r\n//\r\n// Synopsis: Takes an error code and adds explanation/suggestions\r\n//\r\n// IN        bNullString --     lpBuf is empty?\r\n// INOUT     lpBuf      LPTSTR  buffer with initial string\r\n//                              !! Should end in \"  \" or '\\n' for formatting !!\r\n//                              lpBuf[0] must be 0 if no initial string\r\n//\r\n// IN        iSize      --      size of buffer _in_characters_\r\n// IN        dwError    --      Error code from GetLastError()\r\n//\r\n// Return:   DWORD      # characters added\r\n//\r\n// Assumes:  iError has DE_BIT off for system errors\r\n//           lpBuf[0] if no initial string\r\n//\r\n// Effects:  lpBuf appended with text\r\n//\r\n// Notes:    FormatMessage usually takes lpArgList for any text\r\n//           substitutions.  This blocks out _all_ present strings\r\n//           that would normally require lpArgList != NULL.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nDWORD\r\nFormatError(\r\n   BOOL bNullString,\r\n   LPTSTR lpBuf,\r\n   INT iSize,\r\n   DWORD dwError)\r\n{\r\n   INT iLen;\r\n   DWORD dwNumChars = 0;\r\n   PDWORD pdwSuggest;\r\n   INT iAddNewline = 0;\r\n\r\n   WORD wLangId;\r\n   BOOL bTryAgain;\r\n\r\n   //\r\n   // If error == 0, just return...\r\n   //\r\n   if (!dwError)\r\n      return 0;\r\n\r\n   if (bNullString)\r\n      lpBuf[0] = 0;\r\n\r\n   iLen = lstrlen(lpBuf);\r\n\r\n   lpBuf += iLen;\r\n   iSize -= iLen;\r\n\r\n   if (iSize <=0)\r\n      return 0;\r\n\r\n   // Check suggestion flags before calling FormatMessage\r\n   // in case we want to use our own string.\r\n\r\n   pdwSuggest = FormatSuggest( dwError );\r\n\r\n   //\r\n   // Only do a FormatMessage if the DE_BIT is off and the\r\n   // SUG_IGN_FORMATMESSAGE bit is off.\r\n   // (If no suggestion, default use format message)\r\n   //\r\n\r\n   if ( !(dwError & DE_BEGIN) &&\r\n      !(pdwSuggest && pdwSuggest[1] & SUG_IGN_FORMATMESSAGE) ) {\r\n\r\n      // if extended error, use WNetErrorText!\r\n      if ( ERROR_EXTENDED_ERROR == dwError ) {\r\n         DWORD dwErrorCode;\r\n         TCHAR szProvider[128];\r\n\r\n\r\n         if (WAITNET_LOADED) {\r\n\r\n            // !! BUG: szProvider size hard coded, doesn't print provider !!\r\n\r\n            WNetGetLastError( &dwErrorCode, lpBuf, iSize, szProvider,\r\n               COUNTOF(szProvider));\r\n         }\r\n\r\n         return lstrlen(lpBuf);\r\n      }\r\n\r\n      //\r\n      // Begin with language from thread.\r\n      //\r\n      // loop again only if the there is an error,\r\n      //    the error is that the resource lang isn't found,\r\n      //    and we are not using the neutral language.\r\n      //\r\n      // If so, repeat query using neutral language.\r\n      //\r\n      wLangId = LANGIDFROMLCID(lcid);\r\n\r\n      do {\r\n         dwNumChars = FormatMessage(\r\n            FORMAT_MESSAGE_FROM_SYSTEM |\r\n               FORMAT_MESSAGE_IGNORE_INSERTS |\r\n               FORMAT_MESSAGE_MAX_WIDTH_MASK,\r\n            NULL, dwError, wLangId,\r\n            lpBuf, iSize*sizeof(lpBuf[0]), NULL );\r\n\r\n         bTryAgain = !dwNumChars &&\r\n            MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL) != wLangId &&\r\n            ERROR_RESOURCE_LANG_NOT_FOUND == GetLastError();\r\n\r\n         wLangId = MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL);\r\n\r\n      } while (bTryAgain);\r\n\r\n      iAddNewline = 2;\r\n   }\r\n\r\n   //\r\n   // if !dwNumChars, NULL terminate for safety.\r\n   //\r\n   if (!dwNumChars) {\r\n      lpBuf[0] = CHAR_NULL;\r\n   }\r\n\r\n   //\r\n   // Now add suggestion if it exists.\r\n   //\r\n   if (pdwSuggest && pdwSuggest[2]) {\r\n\r\n      DWORD dwNumTemp = 0;\r\n\r\n      // Make sure we have space:\r\n\r\n      lpBuf += dwNumChars + iAddNewline;\r\n      iSize -= dwNumChars + iAddNewline;\r\n\r\n      if (!iSize)\r\n         goto SuggestPunt;\r\n\r\n      //\r\n      // We found one, add a new line in for formatting\r\n      //\r\n\r\n      for(;iAddNewline; iAddNewline--)\r\n         lpBuf[-iAddNewline] = CHAR_NEWLINE;\r\n\r\n      dwNumTemp = LoadString ( hAppInstance, pdwSuggest[2], lpBuf, iSize );\r\n\r\n      return dwNumTemp+dwNumChars+iAddNewline;\r\n   }\r\n\r\nSuggestPunt:\r\n\r\n   // if dwNumChars != 0 then just make sure last char\r\n   // isn't \\n.  if it is, strip it!\r\n\r\n   if ( dwNumChars ) {\r\n      if ( CHAR_NEWLINE == lpBuf[dwNumChars-1] ) {\r\n         lpBuf[dwNumChars-1] = CHAR_NULL;\r\n      }\r\n\r\n      if ( dwNumChars > 1 ) {\r\n         if ( 0x000D == lpBuf[dwNumChars-2] ) {\r\n            lpBuf[dwNumChars-2] = CHAR_NULL;\r\n         }\r\n      }\r\n   }\r\n\r\n   return dwNumChars;\r\n}\r\n\r\nPDWORD\r\nFormatSuggest( DWORD dwError )\r\n{\r\n   PDWORD pdwReturn = NULL;\r\n   INT i;\r\n\r\n   // If error == 0, just return...\r\n   if (!dwError)\r\n      return NULL;\r\n\r\n   // scan through all suggests\r\n\r\n   switch(dwError) {\r\n   case ERROR_EXE_MARKED_INVALID:\r\n   case ERROR_ITERATED_DATA_EXCEEDS_64k:\r\n   case ERROR_INVALID_STACKSEG:\r\n   case ERROR_INVALID_STARTING_CODESEG:\r\n   case ERROR_INVALID_MODULETYPE:\r\n   case ERROR_INVALID_MINALLOCSIZE:\r\n   case ERROR_INVALID_SEGDPL:\r\n   case ERROR_RELOC_CHAIN_XEEDS_SEGLIM:\r\n   case ERROR_INFLOOP_IN_RELOC_CHAIN:\r\n      dwError = ERROR_INVALID_ORDINAL;\r\n\r\n      // no break\r\n\r\n   default:\r\n      for (i=0;adwSuggest[i][0]; i++) {\r\n         if ( adwSuggest[i][0] == dwError ) {\r\n            pdwReturn = adwSuggest[i];\r\n            break;\r\n         }\r\n      }\r\n   }\r\n   return pdwReturn;\r\n}\r\n"
  },
  {
    "path": "src/suggest.h",
    "content": "/********************************************************************\r\n\r\n   suggest.h\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"windows.h\"\r\n\r\n#define DE_BIT              29              // bit for app errors\r\n#define DE_BEGIN            (1 << DE_BIT)   // beginning of DE_*\r\n\r\n\r\n// Suggestion flags\r\n\r\n#define SUG_NULL 0\r\n#define SUG_IGN_FORMATMESSAGE 1\r\n\r\nextern HINSTANCE hAppInstance;\r\n\r\n\r\nDWORD FormatError(BOOL bNullString, LPTSTR lpBuf, INT iSize, DWORD dwError);\r\nPDWORD FormatSuggest(DWORD dwError);\r\n\r\n// Internal error numbers begin here\r\n// They will not conflict with any system ones as long as DE_BEGIN\r\n// has bit 29 set.\r\n\r\n#define DE_OPCANCELLED      DE_BEGIN\r\n#define DE_INSMEM           (DE_BEGIN+1)\r\n#define DE_ROOTDIR          (DE_BEGIN+3)\r\n#define DE_DESTSUBTREE      (DE_BEGIN+4)\r\n#define DE_WINDOWSFILE      (DE_BEGIN+5)\r\n#define DE_MANYDEST         (DE_BEGIN+6)\r\n#define DE_SAMEFILE         (DE_BEGIN+7)\r\n#define DE_RENAMREPLACE     (DE_BEGIN+8)\r\n#define DE_DIFFDIR          (DE_BEGIN+9)\r\n#define DE_HOWDIDTHISHAPPEN (DE_BEGIN+10)\r\n#define DE_MANYSRC1DEST     (DE_BEGIN+12)\r\n#define DE_RETRY            (DE_BEGIN+13)\r\n#define DE_DIREXISTSASFILE  (DE_BEGIN+14)\r\n#define DE_MAKEDIREXISTS    (DE_BEGIN+15)\r\n#define DE_UPDATING         (DE_BEGIN+16)\r\n#define DE_DELEXTWRONGMODE  (DE_BEGIN+17)\r\n#define DE_REGNAME          (DE_BEGIN+18)\r\n"
  },
  {
    "path": "src/tbar.c",
    "content": "/********************************************************************\r\n\r\n   tbar.c\r\n\r\n   Windows File System Toolbar support routines\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n\r\n#define DRIVELIST_BORDER        3\r\n#define MINIDRIVE_MARGIN        4\r\n\r\n// The height of the drivelist combo box is defined\r\n// as the height of a character + DRIVELIST_BORDER\r\n// LATER: create a specific global for this to avoid\r\n// redundant computations.\r\n\r\n// ASSUMES: height of combobox-padding > size of bitmap!\r\n\r\n\r\n#define MAXDESCLEN              128\r\n#define HIDEIT                  0x8000\r\n#define Static\r\n\r\n#define MAXEXTNAME              20\r\n\r\nstatic HWND hwndExtensions = NULL;\r\n\r\nstatic DWORD dwSaveHelpContext; // saves dwContext in tbcustomize dialog\r\n\r\nstatic UINT uExtraCommands[] =\r\n  {\r\n    IDM_CONNECT,\r\n    IDM_DISCONNECT,\r\n    IDM_CONNECTIONS,\r\n    IDM_SHAREAS,\r\n    IDM_STOPSHARE,\r\n    IDM_SHAREAS,\r\n\r\n    IDM_NEWWINONCONNECT,\r\n    IDM_PERMISSIONS,\r\n    IDM_COMPRESS,\r\n    IDM_UNCOMPRESS,\r\n  } ;\r\n#define NUMEXTRACOMMANDS  (sizeof(uExtraCommands)/sizeof(uExtraCommands[0]))\r\n\r\n/* Note that the idsHelp field is used internally to determine if the\r\n * button is \"available\" or not.\r\n */\r\nstatic TBBUTTON tbButtons[] = {\r\n  { 0, 0              , TBSTATE_ENABLED, TBSTYLE_SEP   , 0 },\r\n  { 0, IDM_CONNECTIONS, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0 },\r\n  { 1, IDM_DISCONNECT , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0 },\r\n  { 0, 0              , TBSTATE_ENABLED, TBSTYLE_SEP   , 0 },\r\n  { 2, IDM_SHAREAS    , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0 },\r\n// IDM_STOPSHARE not shown anymore, because there is no way to open then 'Stop Share Dialog' with W7/10/11\r\n//  { 3, IDM_STOPSHARE  , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0 },\r\n  { 0, 0              , TBSTATE_ENABLED, TBSTYLE_SEP   , 0 },\r\n  { 4, IDM_VNAME      , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0 },\r\n  { 5, IDM_VDETAILS   , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0 },\r\n  { 0, 0              , TBSTATE_ENABLED, TBSTYLE_SEP   , 0 },\r\n  { 6, IDM_BYNAME     , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0 },\r\n  { 7, IDM_BYTYPE     , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0 },\r\n  { 8, IDM_BYSIZE     , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0 },\r\n  { 9, IDM_BYDATE     , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0 },\r\n  {30, IDM_BYFDATE    , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0 },\r\n  { 0, 0              , TBSTATE_ENABLED, TBSTYLE_SEP   , 0 },\r\n  {10, IDM_NEWWINDOW  , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0 },\r\n  { 0, 0              , TBSTATE_ENABLED, TBSTYLE_SEP   , 0 },\r\n  {11, IDM_COPY       , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0 },\r\n  {12, IDM_MOVE       , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0 },\r\n  {13, IDM_DELETE     , TBSTATE_ENABLED, TBSTYLE_BUTTON, 0 },\r\n  // IDM_PERMISSIONS not shown anymore, because there is no way to use the old acledit functionality with W7/10/11\r\n  // { 0, 0              , TBSTATE_ENABLED, TBSTYLE_SEP   , 0 },\r\n  // {27, IDM_PERMISSIONS, TBSTATE_ENABLED, TBSTYLE_BUTTON, 0 },\r\n};\r\n\r\n#define ICONNECTIONS 1  /* Index of the Connections button */\r\n\r\n#define TBAR_BITMAP_COUNT 14  /* number of std toolbar bitmaps */\r\n#define TBAR_BUTTON_COUNT (sizeof(tbButtons)/sizeof(tbButtons[0]))\r\n\r\nstatic struct {\r\n  int idM;\r\n  int idB;\r\n} sAllButtons[] = {\r\n  IDM_MOVE,             12,\r\n  IDM_COPY,             11,\r\n  IDM_DELETE,           13,\r\n  IDM_RENAME,           14,\r\n  IDM_ATTRIBS,          15,\r\n  IDM_PRINT,            16,\r\n  IDM_MAKEDIR,          17,\r\n  IDM_SEARCH,           18,\r\n  IDM_SELECT,           19,\r\n\r\n  IDM_CONNECT,          0,\r\n  IDM_DISCONNECT,       1,\r\n  IDM_CONNECTIONS,      0,\r\n  IDM_SHAREAS,          2,\r\n  IDM_STOPSHARE,        3,\r\n\r\n  IDM_VNAME,            4,\r\n  IDM_VDETAILS,         5,\r\n  IDM_VOTHER,           20,\r\n  IDM_VINCLUDE,         21,     /* this is out of order, but looks better */\r\n  IDM_BYNAME,           6,\r\n  IDM_BYTYPE,           7,\r\n  IDM_BYSIZE,           8,\r\n  IDM_BYDATE,           9,\r\n  IDM_BYFDATE,          30,\r\n\r\n  IDM_FONT,             22,\r\n\r\n  IDM_NEWWINDOW,        10,\r\n  IDM_CASCADE,          23,\r\n  IDM_TILEHORIZONTALLY, 24,\r\n  IDM_TILE,             26,\r\n\r\n  IDM_PERMISSIONS,      27,\r\n\r\n  IDM_HELPINDEX,        25,\r\n\r\n  IDM_COMPRESS,         28,\r\n  IDM_UNCOMPRESS,       29,\r\n\r\n} ;\r\n\r\n/* Actually, EXTRA_BITMAPS is an upper bound on the number of bitmaps, since\r\n * some bitmaps may be repeated.\r\n */\r\n#define TBAR_ALL_BUTTONS        (sizeof(sAllButtons)/sizeof(sAllButtons[0]))\r\n#define TBAR_EXTRA_BITMAPS      17\r\n\r\nstatic int iSel = -1;\r\n\r\n#define TBHDR_MAGIC MAKEWORD('F', 'M')\r\n#define TBHDR_VERSION 1\r\n\r\ntypedef struct\r\n{\r\n    WORD magic;\r\n    WORD version;\r\n    WORD cButtons;\r\n} TBSAVEHDR;\r\n\r\n// the parts of TBBUTTON we save as the customization data\r\ntypedef struct\r\n{\r\n    WORD iBitmap;           // unbiased value\r\n    WORD idCommand;         // unbiased value\r\n    BYTE fsState;\r\n    BYTE fsStyle;\r\n    WORD iExtP1;            // 1-based iExt (same as dwData in TBBUTTON)\r\n} TBSAVEITEM;\r\n\r\nVOID AddExtensionToolbarButtons(BOOL bAll);\r\n\r\nStatic VOID\r\nExtensionName(int i, LPTSTR szName)\r\n{\r\n  TCHAR szFullName[256];\r\n  LPTSTR lpName;\r\n\r\n  *szName = TEXT('\\0');\r\n\r\n  if ((UINT)i<(UINT)iNumExtensions\r\n   && GetModuleFileName(extensions[i].hModule, szFullName,\r\n   COUNTOF(szFullName)) && (lpName=StrRChr (szFullName, NULL, TEXT('\\\\'))))\r\n    StrNCpy(szName, lpName+1, MAXEXTNAME);\r\n}\r\n\r\n\r\nVOID\r\nEnableStopShareButton(void)\r\n{\r\n   return;\r\n\r\n//  SendMessage(hwndToolbar, TB_ENABLEBUTTON, IDM_STOPSHARE,\r\n// WNetGetShareCount(WNTYPE_DRIVE));\r\n}\r\n\r\n\r\nStatic VOID\r\nEnableDisconnectButton(void)\r\n{\r\n   INT i;\r\n\r\n   for (i=0; i<cDrives; i++)\r\n      if (!IsCDRomDrive(rgiDrive[i]) && IsRemoteDrive(rgiDrive[i]))\r\n         break;\r\n\r\n   SendMessage(hwndToolbar, TB_ENABLEBUTTON, IDM_DISCONNECT, i<cDrives);\r\n\r\n   EnableMenuItem(GetMenu(hwndFrame), IDM_DISCONNECT, i<cDrives ?\r\n      MF_BYCOMMAND | MF_ENABLED :\r\n      MF_BYCOMMAND | MF_GRAYED );\r\n\r\n}\r\n\r\n\r\nVOID\r\nCheckTBButton(DWORD idCommand)\r\n{\r\n  UINT i, begin, end;\r\n\r\n  /* Make sure to \"pop-up\" any other buttons in the group.\r\n   */\r\n  if ((UINT)(idCommand-IDM_VNAME) <= IDM_VOTHER-IDM_VNAME)\r\n    {\r\n      begin = IDM_VNAME;\r\n      end = IDM_VOTHER;\r\n    }\r\n  else if ((UINT)(idCommand-IDM_BYNAME) <= IDM_BYFDATE-IDM_BYNAME)\r\n    {\r\n      begin = IDM_BYNAME;\r\n      end = IDM_BYFDATE;\r\n    }\r\n  else\r\n    {\r\n      SendMessage(hwndToolbar, TB_CHECKBUTTON, idCommand, 1L);\r\n      return;\r\n    }\r\n\r\n  for (i=begin; i<=end; ++i)\r\n      SendMessage(hwndToolbar, TB_CHECKBUTTON, i, i==idCommand);\r\n}\r\n\r\n\r\n//    Enable/disable and check/uncheck toolbar buttons based on the\r\n//    state of the active child window.\r\n\r\nVOID\r\nEnableCheckTBButtons(HWND hwndActive)\r\n{\r\n   DWORD dwSort;\r\n   BOOL fEnable;\r\n   INT  iButton;\r\n\r\n   // If the active window is the search window, clear the selection\r\n   // in the drive list.\r\n\r\n   if (hwndActive == hwndSearch) {\r\n\r\n      SwitchDriveSelection(hwndSearch, TRUE);\r\n      UpdateStatus(hwndSearch);\r\n   }\r\n\r\n   // Check or uncheck the sort-by and view-details buttons based\r\n   // on the settings for the active window.\r\n\r\n   switch (GetWindowLongPtr(hwndActive, GWL_VIEW) & VIEW_EVERYTHING) {\r\n   case VIEW_NAMEONLY:\r\n      CheckTBButton(IDM_VNAME);\r\n      break;\r\n\r\n   case VIEW_EVERYTHING:\r\n      CheckTBButton(IDM_VDETAILS);\r\n      break;\r\n\r\n   default:\r\n      CheckTBButton(IDM_VOTHER);\r\n      break;\r\n   }\r\n\r\n   // Now do the sort-by buttons.  While we're at it, disable them all\r\n   // if the active window is a search window or lacks a directory pane,\r\n   // else enable them all.\r\n\r\n   dwSort = (DWORD)GetWindowLongPtr(hwndActive, GWL_SORT) - IDD_NAME + IDM_BYNAME;\r\n\r\n   fEnable = ((int)GetWindowLongPtr(hwndActive, GWL_TYPE) >= 0 &&\r\n      HasDirWindow(hwndActive));\r\n\r\n   CheckTBButton(dwSort);\r\n   for (iButton=IDM_BYNAME; iButton<=IDM_BYFDATE; ++iButton) {\r\n      SendMessage(hwndToolbar, TB_ENABLEBUTTON, iButton, fEnable);\r\n   }\r\n\r\n   UpdateWindow(hwndToolbar);\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     BuildDriveLine\r\n//\r\n// Synopsis: Builds a drive line for display A:{\\} <label>\r\n//\r\n// OUT    ppszTemp        --    pointer to string to get drive line\r\n// IN     driveInd        --    Drive index of driveline to build\r\n// IN     fGetFloppyLabel BOOL  determines whether floppy disk is hit\r\n// IN     dwFlags         --    Drive line flags passed to GetVolShare\r\n//            ALTNAME_MULTI    : \\n and \\t added\r\n//            ALTNAME_SHORT    : single line\r\n//            ALTNAME_REG      : regular\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:   Non re-entrant!  This is due to static szDriveSlash!\r\n//          (NOT multithread safe)\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nVOID\r\nBuildDriveLine(LPTSTR* ppszTemp, DRIVEIND driveInd,\r\n   BOOL fGetFloppyLabel, DWORD dwType)\r\n{\r\n   static TCHAR szDrive[64];\r\n   DRIVE drive;\r\n   LPTSTR p;\r\n   DWORD dwError;\r\n\r\n   drive = rgiDrive[driveInd];\r\n\r\n   //\r\n   // If !fGetFloppyLabel, but our VolInfo is valid,\r\n   // we might as well just pick it up.\r\n   //\r\n\r\n   if (fGetFloppyLabel || (!IsRemovableDrive(drive) && !IsCDRomDrive(drive)) ||\r\n      (aDriveInfo[drive].sVolInfo.bValid && !aDriveInfo[drive].sVolInfo.bRefresh)) {\r\n\r\n      if (dwError = GetVolShare(rgiDrive[driveInd], ppszTemp, dwType)) {\r\n\r\n         if (DE_REGNAME == dwError) {\r\n\r\n            goto UseRegName;\r\n         }\r\n\r\n         goto Failed;\r\n\r\n      } else {\r\n\r\n         //\r\n         // If regular name, do copy\r\n         //\r\n         if (ALTNAME_REG == dwType) {\r\n\r\nUseRegName:\r\n\r\n            p = *ppszTemp;\r\n\r\n            *ppszTemp = szDrive;\r\n            StrNCpy(szDrive+3, p, COUNTOF(szDrive)-4);\r\n\r\n         } else {\r\n\r\n            //\r\n            // Assume header is valid!\r\n            //\r\n            (*ppszTemp) -=3;\r\n         }\r\n      }\r\n\r\n   } else {\r\n\r\nFailed:\r\n\r\n      *ppszTemp = szDrive;\r\n\r\n      //\r\n      // Delimit\r\n      //\r\n      (*ppszTemp)[3]=CHAR_NULL;\r\n   }\r\n\r\n   DRIVESET(*ppszTemp,rgiDrive[driveInd]);\r\n\r\n   (*ppszTemp)[1] = CHAR_COLON;\r\n   (*ppszTemp)[2] = CHAR_SPACE;\r\n}\r\n\r\n\r\nVOID\r\nRefreshToolbarDrive(DRIVEIND iDriveInd)\r\n{\r\n   INT iSel;\r\n   DRIVE drive;\r\n\r\n   iSel = (INT)SendMessage(hwndDriveList, CB_GETCURSEL, 0, 0L);\r\n\r\n   SendMessage(hwndDriveList, CB_DELETESTRING, iDriveInd, 0L);\r\n\r\n   drive = rgiDrive[iDriveInd];\r\n   //\r\n   // For floppy drives, when we refresh, we should pickup the\r\n   // drive label.\r\n   //\r\n\r\n   if (IsRemovableDrive(drive) || IsCDRomDrive(drive))\r\n      U_VolInfo(drive);\r\n\r\n   //\r\n   // We must tell ourselves which drive we are\r\n   // working on.\r\n   //\r\n   SendMessage(hwndDriveList, CB_INSERTSTRING,iDriveInd, (LPARAM)drive);\r\n\r\n   if (iSel!=-1) {\r\n\r\n      SendMessage(hwndDriveList, CB_SETCURSEL, iSel, 0L);\r\n   }\r\n}\r\n\r\n\r\nVOID\r\nSelectToolbarDrive(DRIVEIND DriveInd)\r\n{\r\n\r\n   //\r\n   // Turn off\\on redrawing.\r\n   //\r\n\r\n   SendMessage(hwndDriveList, WM_SETREDRAW, (WPARAM)FALSE, 0L);\r\n   RefreshToolbarDrive(DriveInd);\r\n\r\n   SendMessage(hwndDriveList, WM_SETREDRAW, (WPARAM)TRUE, 0L);\r\n   SendMessage(hwndDriveList, CB_SETCURSEL, DriveInd, 0L);\r\n\r\n   //\r\n   // Move focus of drivebar\r\n   //\r\n   SetWindowLongPtr(hwndDriveBar, GWL_CURDRIVEIND, DriveInd);\r\n}\r\n\r\n\r\n\r\n// value iDrive = drive to highlight added.\r\n\r\nVOID\r\nFillToolbarDrives(DRIVE drive)\r\n{\r\n   INT i;\r\n\r\n   if (hwndDriveList == NULL)\r\n      return;\r\n\r\n   //\r\n   // Disable redraw\r\n   //\r\n   SendMessage(hwndDriveList,WM_SETREDRAW,(WPARAM)FALSE,0l);\r\n\r\n   SendMessage(hwndDriveList, CB_RESETCONTENT, 0, 0L);\r\n\r\n   for (i=0; i<cDrives; i++) {\r\n      SendMessage(hwndDriveList, CB_INSERTSTRING, i, (LPARAM)szNULL);\r\n\r\n      // change from i==0 to i==drive to eliminate garbage in cb\r\n      if (rgiDrive[i]==drive) {\r\n\r\n         SendMessage(hwndDriveList, CB_SETCURSEL, i, 0L);\r\n      }\r\n   }\r\n\r\n   // Enable redraw; moved down\r\n   SendMessage(hwndDriveList,WM_SETREDRAW,(WPARAM)TRUE,0l);\r\n\r\n// Caller must do separately.\r\n//  EnableDisconnectButton();\r\n}\r\n\r\n\r\nStatic VOID\r\nPaintDriveLine(DRAWITEMSTRUCT FAR *lpdis)\r\n{\r\n   HDC hdc = lpdis->hDC;\r\n   LPTSTR lpszText;\r\n   TCHAR* pchTab;\r\n   RECT rc = lpdis->rcItem;\r\n   DRIVE drive;\r\n   INT dxTabstop=MINIDRIVE_WIDTH;\r\n   HBRUSH hbrFill;\r\n   HFONT hfontOld;\r\n   DWORD clrBackground;\r\n   RECT rc2;\r\n\r\n   PreserveBitmapInRTL(hdc);\r\n\r\n   //\r\n   // Check rectangle: if > 1 line and dwLines > 1 then use multiline\r\n   // else use abbreviated\r\n   //\r\n\r\n   //\r\n   // If no itemID, quit\r\n   //\r\n   if ((UINT)-1 == lpdis->itemID || lpdis->itemID >= (UINT)cDrives)\r\n      return;\r\n\r\n   drive = rgiDrive[lpdis->itemID];\r\n\r\n   //\r\n   // Total Hack: if rc.left == 0, assume in dropdown, not edit!\r\n   //\r\n\r\n   //\r\n   // TRUE or FALSE?  When do we fetch the drive label?\r\n   //\r\n   if (!rc.left) {\r\n      BuildDriveLine(&lpszText, lpdis->itemID, FALSE, ALTNAME_MULTI);\r\n   } else {\r\n      BuildDriveLine(&lpszText, lpdis->itemID, FALSE, ALTNAME_SHORT);\r\n\r\n      for (pchTab = lpszText; *pchTab && *pchTab != CHAR_TAB; pchTab++)\r\n         ;\r\n\r\n      if (*pchTab)\r\n         *(pchTab++) = (TCHAR) 0;\r\n   }\r\n\r\n   if (lpdis->itemAction != ODA_FOCUS) {\r\n      clrBackground = GetSysColor((lpdis->itemState & ODS_SELECTED) ?\r\n         COLOR_HIGHLIGHT : COLOR_WINDOW);\r\n\r\n      hbrFill = CreateSolidBrush(clrBackground);\r\n\r\n      FillRect(hdc, &rc, hbrFill);\r\n\r\n      DeleteObject(hbrFill);\r\n\r\n      //\r\n      // No error checking necessary since BuildDriveLine\r\n      // will at worst return the blank-o A:\r\n      //\r\n#if 0\r\n      if (lpszText == NULL || lpszText == (LPTSTR)-1 ||\r\n         lpdis->itemID == (UINT) -1)\r\n         return;\r\n#endif\r\n\r\n//    OffsetRect(&rc, -rc.left, -rc.top);\r\n\r\n      hfontOld = SelectObject(hdc, hfontDriveList);\r\n\r\n      SetBkColor(hdc, clrBackground);\r\n      SetTextColor(hdc, GetSysColor((lpdis->itemState & ODS_SELECTED) ?\r\n         COLOR_HIGHLIGHTTEXT : COLOR_WINDOWTEXT));\r\n\r\n\r\n      rc2.left = rc.left + MINIDRIVE_WIDTH + 2*MINIDRIVE_MARGIN;\r\n      rc2.top = rc.top + DRIVELIST_BORDER / 2;\r\n      rc2.right = rc.right;\r\n      rc2.bottom = rc.bottom;\r\n\r\n      DrawText(hdc, lpszText, -1, &rc2, DT_LEFT|DT_EXPANDTABS|DT_NOPREFIX);\r\n\r\n\r\n      SelectObject(hdc, hfontOld);\r\n\r\n      BitBlt(hdc, rc.left + MINIDRIVE_MARGIN,\r\n         rc.top + (dyDriveItem+DRIVELIST_BORDER - MINIDRIVE_HEIGHT) / 2,\r\n         MINIDRIVE_WIDTH, MINIDRIVE_HEIGHT,\r\n         hdcMem, aDriveInfo[drive].iOffset, 2 * dyFolder + dyDriveBitmap,\r\n         SRCCOPY);\r\n   }\r\n\r\n   if (lpdis->itemAction == ODA_FOCUS ||\r\n      (lpdis->itemState & ODS_FOCUS))\r\n\r\n      DrawFocusRect(hdc, &rc);\r\n}\r\n\r\n\r\nStatic VOID\r\nResetToolbar(void)\r\n{\r\n   INT nItem;\r\n   INT i, idCommand;\r\n   HMENU hMenu;\r\n   UINT state;\r\n\r\n   HWND hwndActive;\r\n\r\n   // Remove from back to front as a speed optimization\r\n\r\n   for (nItem=(INT)SendMessage(hwndToolbar, TB_BUTTONCOUNT, 0, 0L)-1;\r\n      nItem>=0; --nItem)\r\n\r\n      SendMessage(hwndToolbar, TB_DELETEBUTTON, nItem, 0L);\r\n\r\n   // Add the default list of buttons\r\n\r\n   SendMessage(hwndToolbar, TB_ADDBUTTONS, TBAR_BUTTON_COUNT,\r\n      (LPARAM)(LPTBBUTTON)tbButtons);\r\n\r\n   // Add the extensions back in\r\n\r\n   AddExtensionToolbarButtons(TRUE);\r\n\r\n   // Set the states correctly\r\n\r\n   hMenu = GetMenu(hwndFrame);\r\n\r\n   hwndActive = (HWND) SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n\r\n   if (hwndActive && InitPopupMenus(0xffff, hMenu, hwndActive)) {\r\n      for (i=0; i<TBAR_BUTTON_COUNT; ++i) {\r\n         if (tbButtons[i].fsStyle == TBSTYLE_SEP)\r\n            continue;\r\n\r\n         idCommand = tbButtons[i].idCommand;\r\n         state = GetMenuState(hMenu, idCommand, MF_BYCOMMAND);\r\n\r\n         SendMessage(hwndToolbar, TB_CHECKBUTTON, idCommand, state&MF_CHECKED);\r\n         SendMessage(hwndToolbar, TB_ENABLEBUTTON, idCommand,\r\n            !(state&(MF_DISABLED|MF_GRAYED)));\r\n      }\r\n\r\n      for (i=0; i<TBAR_ALL_BUTTONS; ++i) {\r\n         idCommand = sAllButtons[i].idM;\r\n         state = GetMenuState(hMenu, idCommand, MF_BYCOMMAND);\r\n         SendMessage(hwndToolbar, TB_CHECKBUTTON, idCommand, state&MF_CHECKED);\r\n         SendMessage(hwndToolbar, TB_ENABLEBUTTON, idCommand,\r\n            !(state&(MF_DISABLED|MF_GRAYED)));\r\n      }\r\n   } else {\r\n      EnableStopShareButton();\r\n   }\r\n}\r\n\r\n\r\nStatic VOID\r\nLoadDesc(UINT uID, LPTSTR lpDesc)\r\n{\r\n   HMENU hMenu;\r\n   UINT uMenu;\r\n   TCHAR szFormat[20];\r\n   TCHAR szMenu[20];\r\n   TCHAR szItem[MAXDESCLEN-COUNTOF(szMenu)];\r\n   LPTSTR lpIn;\r\n\r\n   hMenu = GetMenu(hwndFrame);\r\n\r\n   uMenu = MapIDMToMenuPos(uID);\r\n\r\n   GetMenuString(hMenu, uMenu, szMenu, COUNTOF(szMenu), MF_BYPOSITION);\r\n   if (GetMenuString(hMenu, uID, szItem, COUNTOF(szItem), MF_BYCOMMAND) <= 0) {\r\n\r\n      int i;\r\n\r\n      for (i=0; ; ++i) {\r\n         if (i >= NUMEXTRACOMMANDS)\r\n            return;\r\n         if (uExtraCommands[i] == uID)\r\n            break;\r\n      }\r\n\r\n      LoadString(hAppInstance, MS_EXTRA+i, szItem, COUNTOF(szItem));\r\n   }\r\n\r\n   LoadString(hAppInstance, IDS_MENUANDITEM, szFormat, COUNTOF(szFormat));\r\n   wsprintf(lpDesc, szFormat, szMenu, szItem);\r\n\r\n   // Remove the ampersands\r\n\r\n   for (lpIn=lpDesc; ; ++lpIn, ++lpDesc) {\r\n      TCHAR cTemp;\r\n\r\n      cTemp = *lpIn;\r\n      if (cTemp == TEXT('&'))\r\n         cTemp = *(++lpIn);\r\n      if (cTemp == TEXT('\\t'))\r\n         cTemp = TEXT('\\0');\r\n\r\n      *lpDesc = cTemp;\r\n      if (cTemp == TEXT('\\0'))\r\n         break;\r\n   }\r\n}\r\n\r\n\r\nStatic BOOL\r\nGetAdjustInfo(LPTBNOTIFY lpTBNotify)\r\n{\r\n   LPTBBUTTON lpButton = &lpTBNotify->tbButton;\r\n   FMS_HELPSTRING tbl;\r\n   INT iExt;\r\n   int j = lpTBNotify->iItem;\r\n\r\n\r\n   if ((UINT)j < TBAR_ALL_BUTTONS) {\r\n\r\n      *lpButton = tbButtons[TBAR_BUTTON_COUNT-1];\r\n      lpButton->iBitmap = sAllButtons[j].idB & ~HIDEIT;\r\n      lpButton->fsState = (sAllButtons[j].idB & HIDEIT)\r\n         ? TBSTATE_HIDDEN : TBSTATE_ENABLED;\r\n      lpButton->idCommand = sAllButtons[j].idM;\r\n\r\nLoadDescription:\r\n      lpTBNotify->pszText[0] = TEXT('\\0');\r\n      if (!(lpButton->fsStyle & TBSTYLE_SEP))\r\n         LoadDesc(lpButton->idCommand, lpTBNotify->pszText);\r\n\r\nUnlockAndReturn:\r\n      return(TRUE);\r\n   }\r\n\r\n   j -= TBAR_ALL_BUTTONS;\r\n   if (hwndExtensions && SendMessage(hwndExtensions, TB_GETBUTTON, j,\r\n      (LPARAM)lpButton)) {\r\n\r\n      if (lpButton->fsStyle & TBSTYLE_SEP)\r\n         goto LoadDescription;\r\n\r\n      iExt = (INT)(lpButton->dwData - 1); // can now directly determine the extension with which the button is associated\r\n\r\n      if ((UINT)iExt < (UINT)iNumExtensions) {\r\n         tbl.idCommand = lpButton->idCommand % 100;\r\n         tbl.hMenu = extensions[iExt].hMenu;\r\n         tbl.szHelp[0] = TEXT('\\0');\r\n\r\n         extensions[iExt].ExtProc(hwndFrame, FMEVENT_HELPSTRING,\r\n             (LPARAM)(LPFMS_HELPSTRING)&tbl);\r\n\r\n         if (extensions[iExt].bUnicode == FALSE) {\r\n            CHAR   szAnsi[MAXDESCLEN];\r\n\r\n            memcpy (szAnsi, tbl.szHelp, COUNTOF(szAnsi));\r\n            MultiByteToWideChar (CP_ACP, MB_PRECOMPOSED, szAnsi, COUNTOF(szAnsi),\r\n                                 tbl.szHelp, COUNTOF(tbl.szHelp));\r\n         }\r\n\r\n         StrNCpy(lpTBNotify->pszText, tbl.szHelp, MAXDESCLEN - 1);\r\n\r\n         // bias idCommand and iBitmap as if the button was in hwndToolbar\r\n         lpButton->iBitmap += extensions[iExt].iStartBmp;\r\n         lpButton->idCommand += extensions[iExt].Delta;\r\n\r\n         goto UnlockAndReturn;\r\n      }\r\n   }\r\n\r\n   return FALSE;\r\n}\r\n\r\n// handle the TBN_SAVE message; cf. https://docs.microsoft.com/en-us/windows/desktop/Controls/tbn-save\r\nVOID\r\nHandleToolbarSave(LPNMTBSAVE lpnmtSave)\r\n{\r\n    if (lpnmtSave->iItem == -1)\r\n    {\r\n        lpnmtSave->cbData = lpnmtSave->cbData + sizeof(TBSAVEHDR) + sizeof(TBSAVEITEM) * lpnmtSave->cButtons;\r\n        lpnmtSave->pCurrent = lpnmtSave->pData = LocalAlloc(LPTR, lpnmtSave->cbData);\r\n\r\n        // save global values: magic number, version and cButtons\r\n        TBSAVEHDR hdr;\r\n        hdr.magic = TBHDR_MAGIC;\r\n        hdr.version = TBHDR_VERSION;\r\n        hdr.cButtons = lpnmtSave->cButtons;\r\n        memcpy(lpnmtSave->pCurrent, &hdr, sizeof(hdr));\r\n        lpnmtSave->pCurrent = (DWORD *)((BYTE *)lpnmtSave->pCurrent + sizeof(hdr));\r\n    }\r\n    else\r\n    {\r\n        TBSAVEITEM item;\r\n        DWORD baseId = 0;\r\n        DWORD baseIbm = 0;\r\n\r\n        // for extension buttons, remove bias for both idCommand and iBitmap\r\n        if (lpnmtSave->tbButton.dwData != 0)\r\n        {\r\n            INT iExt = (INT)(lpnmtSave->tbButton.dwData - 1);\r\n            baseId = extensions[iExt].Delta;\r\n            baseIbm = extensions[iExt].iStartBmp;\r\n        }\r\n\r\n        item.iBitmap = (WORD)(lpnmtSave->tbButton.iBitmap - baseIbm);\r\n        item.idCommand = (WORD)(lpnmtSave->tbButton.idCommand - baseId);\r\n        item.fsState = lpnmtSave->tbButton.fsState;\r\n        item.fsStyle = lpnmtSave->tbButton.fsStyle;\r\n        item.iExtP1 = (WORD)lpnmtSave->tbButton.dwData;\r\n\r\n        memcpy(lpnmtSave->pCurrent, &item, sizeof(item));\r\n        lpnmtSave->pCurrent = (DWORD *)((BYTE *)lpnmtSave->pCurrent + sizeof(item));\r\n    }\r\n}\r\n\r\n// handle TBN_RESTORE message; cf. https://docs.microsoft.com/en-us/windows/desktop/Controls/tbn-restore;\r\n// returns FALSE to abort restore (if iItem == -1) or skip an item (otherwise).\r\nBOOL\r\nHandleToolbarRestore(LPNMTBRESTORE lpnmtRestore)\r\n{\r\n    if (lpnmtRestore->iItem == -1)\r\n    {\r\n        lpnmtRestore->cbBytesPerRecord = sizeof(TBSAVEITEM);\r\n        lpnmtRestore->tbButton.idCommand = 0;\r\n        TBSAVEHDR *phdr = (TBSAVEHDR *)lpnmtRestore->pData;\r\n        if (phdr->magic == TBHDR_MAGIC && phdr->version == TBHDR_VERSION)\r\n        {\r\n            // only restore if magic value matches; fetch cButtons too\r\n            lpnmtRestore->cButtons = phdr->cButtons;\r\n            lpnmtRestore->pCurrent = (DWORD *)((BYTE *)lpnmtRestore->pCurrent + sizeof(*phdr));\r\n\r\n            return FALSE;\r\n        }\r\n\r\n        // returning TRUE aborts the restore as a whole\r\n    }\r\n    else\r\n    {\r\n        TBSAVEITEM *pitem = (TBSAVEITEM *)lpnmtRestore->pCurrent;\r\n        DWORD baseId = 0;\r\n        DWORD baseIbm = 0;\r\n\r\n        // handle extension toolbar buttons specially\r\n        if (pitem->iExtP1 != 0)\r\n        {\r\n            INT iExt = pitem->iExtP1 - 1;\r\n\r\n            if ((UINT)iExt < (UINT)iNumExtensions)\r\n            {\r\n                // add back bias based on potentially new extension order\r\n                baseId = extensions[iExt].Delta;\r\n                baseIbm = extensions[iExt].iStartBmp;\r\n\r\n                // mark that we saw this extension during restore\r\n                extensions[iExt].bRestored = TRUE;\r\n            }\r\n            else\r\n            {\r\n                // extension not loaded any more; skip this one for now\r\n                lpnmtRestore->tbButton.idCommand = 0;\r\n                lpnmtRestore->pCurrent = (DWORD *)((BYTE *)lpnmtRestore->pCurrent + sizeof(*pitem));\r\n                return FALSE;\r\n            }\r\n        }\r\n\r\n        lpnmtRestore->tbButton.iBitmap = pitem->iBitmap + baseIbm;\r\n        lpnmtRestore->tbButton.idCommand = pitem->idCommand + baseId;\r\n        lpnmtRestore->tbButton.fsState = pitem->fsState;\r\n        lpnmtRestore->tbButton.fsStyle = pitem->fsStyle;\r\n        lpnmtRestore->tbButton.dwData = pitem->iExtP1;\r\n\r\n        lpnmtRestore->pCurrent = (DWORD *)((BYTE *)lpnmtRestore->pCurrent + sizeof(*pitem));\r\n    }\r\n\r\n    return TRUE;\r\n}\r\n\r\nDWORD\r\nDriveListMessage(UINT uMsg, WPARAM wParam, LPARAM lParam, UINT* puiRetVal)\r\n{\r\n   UINT uID;\r\n   FMS_HELPSTRING tbl;\r\n   INT iExt;\r\n   DRIVE drive;\r\n   HMENU hMenu;\r\n\r\n   switch (uMsg) {\r\n   case WM_MENUSELECT:\r\n\r\n#define uItem   GET_WM_MENUSELECT_CMD(wParam, lParam)\r\n#define fuFlags GET_WM_MENUSELECT_FLAGS(wParam, lParam)\r\n#define hMenu2  GET_WM_MENUSELECT_HMENU(wParam, lParam)\r\n\r\n\r\n      //\r\n      // If menugoes away, reset sb.\r\n      //\r\n\r\n      if ( (WORD)-1 == (WORD)fuFlags && NULL == hMenu2 ) {\r\n         SendMessage(hwndStatus, SB_SIMPLE, 0, 0L);\r\n         return 0;\r\n      }\r\n\r\n      if (fuFlags&MF_POPUP) {\r\n\r\n         hMenu = GetSubMenu(hMenu2, uItem);\r\n\r\n         for (iExt=iNumExtensions-1; iExt>=0; --iExt) {\r\n            if (hMenu == extensions[iExt].hMenu) {\r\n\r\n               tbl.idCommand = -1;\r\nExtensionHelp:\r\n               tbl.hMenu = extensions[iExt].hMenu;\r\n               tbl.szHelp[0] = TEXT('\\0');\r\n\r\n               extensions[iExt].ExtProc(hwndFrame, FMEVENT_HELPSTRING,\r\n                   (LPARAM)(LPFMS_HELPSTRING)&tbl);\r\n\r\n               if (extensions[iExt].bUnicode == FALSE)\r\n               {\r\n                  CHAR   szAnsi[MAXDESCLEN];\r\n\r\n                  memcpy (szAnsi, tbl.szHelp, COUNTOF(szAnsi));\r\n                  MultiByteToWideChar (CP_ACP, MB_PRECOMPOSED, szAnsi, COUNTOF(szAnsi),\r\n                                       tbl.szHelp, COUNTOF(tbl.szHelp));\r\n               }\r\n\r\n               SendMessage(hwndStatus, SB_SETTEXT, SBT_NOBORDERS|255,\r\n                  (LPARAM)tbl.szHelp);\r\n\r\n               SendMessage(hwndStatus, SB_SIMPLE, 1, 0L);\r\n\r\n               UpdateWindow(hwndStatus);\r\n\r\n               *puiRetVal = TRUE;\r\n               return(0);\r\n            }\r\n         }\r\n\r\n         // NormalHelp with MF_POPUP case; fix up ids to workaround some bugs in MenuHelp\r\n         INT idm = MapMenuPosToIDM(uItem);\r\n         dwMenuIDs[MHPOP_CURRENT] = MH_POPUP + idm;\r\n         dwMenuIDs[MHPOP_CURRENT+1] = uItem;\r\n\r\nNormalHelp:\r\n         MenuHelp((WORD)uMsg, wParam, lParam, GetMenu(hwndFrame),\r\n            hAppInstance, hwndStatus, (LPUINT)dwMenuIDs);\r\n      } else {\r\n         uID = uItem;\r\n\r\n         iExt = uID/100 - IDM_EXTENSIONS -1;\r\n\r\n         if ((UINT)iExt < MAX_EXTENSIONS) {\r\n            tbl.idCommand = uID % 100;\r\n            goto ExtensionHelp;\r\n         } else {\r\n            goto NormalHelp;\r\n         }\r\n      }\r\n      break;\r\n\r\n#undef uItem\r\n#undef fuFlags\r\n#undef hMenu\r\n\r\n   case WM_DRAWITEM:\r\n      PaintDriveLine((DRAWITEMSTRUCT FAR *)lParam);\r\n      break;\r\n\r\n   case WM_MEASUREITEM:\r\n\r\n#define pMeasureItem ((MEASUREITEMSTRUCT FAR *)lParam)\r\n\r\n      //\r\n      // If just checking edit control (-1) or it's not a network drive,\r\n      // then just return one line default.\r\n      //\r\n      if (-1 == pMeasureItem->itemID ||\r\n         !IsRemoteDrive(rgiDrive[pMeasureItem->itemID])) {\r\n\r\n         pMeasureItem->itemHeight = dyDriveItem + DRIVELIST_BORDER;\r\n         pMeasureItem->itemWidth = dxDriveList;\r\n         break;\r\n      }\r\n\r\n      drive = rgiDrive[pMeasureItem->itemID];\r\n\r\n      //\r\n      // Don't update net con here.  If it's ready it's fine; if\r\n      // it's not, then it will be updated later.\r\n      //\r\n      // U_NetCon(drive);\r\n      //\r\n\r\n      pMeasureItem->itemHeight = dyDriveItem *\r\n         aDriveInfo[drive].dwLines[ALTNAME_MULTI] + DRIVELIST_BORDER;\r\n\r\n#undef pMeasureItem\r\n\r\n      break;\r\n\r\n   case WM_NOTIFY:\r\n       {\r\n       LPNMHDR lpnmhdr;\r\n       LPTBNOTIFY lpTBNotify;\r\n\r\n       lpnmhdr = (LPNMHDR) lParam;\r\n       lpTBNotify = (LPTBNOTIFY) lParam;\r\n\r\n       switch (wParam)\r\n          {\r\n          case IDC_TOOLBAR:\r\n              switch (lpnmhdr->code)\r\n                 {\r\n                 case TBN_CUSTHELP:\r\n                    {\r\n                       DWORD dwSave;\r\n\r\n                       dwSave = dwContext;\r\n                       dwContext = IDH_CTBAR;\r\n                       WFHelp(lpnmhdr->hwndFrom);\r\n                       dwContext = dwSave;\r\n                       break;\r\n                    }\r\n\r\n                 case TBN_BEGINDRAG:\r\n                    uID = lpTBNotify->iItem;\r\n                    break;\r\n\r\n                 case TBN_QUERYDELETE:\r\n                 case TBN_QUERYINSERT:\r\n                    // Do not allow addition of buttons before the first\r\n                    // separator (this is the drives list)\r\n                    if (lpTBNotify->iItem == 0)\r\n                        *puiRetVal = FALSE;\r\n                    else\r\n                        *puiRetVal = TRUE;\r\n                    return(lpTBNotify->iItem);\r\n\r\n                 case TBN_GETBUTTONINFO:\r\n                    *puiRetVal = GetAdjustInfo(lpTBNotify);\r\n                    return(*puiRetVal);\r\n\r\n                 case TBN_SAVE:\r\n                    HandleToolbarSave((LPNMTBSAVE)lParam);\r\n                    break;\r\n\r\n                 case TBN_RESTORE:\r\n                    *puiRetVal = HandleToolbarRestore((LPNMTBRESTORE)lParam);\r\n                    return(*puiRetVal);\r\n\r\n                 case TBN_RESET:\r\n                    ResetToolbar();\r\n                    // fall through\r\n                 case TBN_TOOLBARCHANGE:\r\n                    SaveRestoreToolbar(TRUE);\r\n                    break;\r\n\r\n                 case TBN_BEGINADJUST:\r\n\r\n                    dwSaveHelpContext = dwContext;\r\n                    dwContext = IDH_CTBAR;\r\n                    break;\r\n\r\n                 case TBN_ENDADJUST:\r\n\r\n                    dwContext = dwSaveHelpContext;\r\n                    break;\r\n\r\n                 case TBN_ENDDRAG:\r\n                 default:\r\n                    break;\r\n                 }\r\n\r\n                 *puiRetVal = TRUE;\r\n                 return (0);\r\n          }\r\n\r\n\r\n       if (lpnmhdr->code == TTN_NEEDTEXT) {\r\n           int iExt;\r\n           UINT idString;\r\n           LPTOOLTIPTEXT lpTT = (LPTOOLTIPTEXT) lParam;\r\n           FMS_HELPSTRING tbl;\r\n\r\n\r\n           iExt = (int)(lpTT->hdr.idFrom/100 - IDM_EXTENSIONS - 1);\r\n\r\n           if (hwndExtensions && ((UINT)iExt < (UINT)iNumExtensions)) {\r\n               tbl.idCommand = lpTT->hdr.idFrom % 100;\r\n               tbl.hMenu = extensions[iExt].hMenu;\r\n               tbl.szHelp[0] = TEXT('\\0');\r\n\r\n               extensions[iExt].ExtProc(hwndFrame, FMEVENT_HELPSTRING,\r\n                   (LPARAM)(LPFMS_HELPSTRING)&tbl);\r\n\r\n               if (extensions[iExt].bUnicode == FALSE) {\r\n                  CHAR   szAnsi[MAXDESCLEN];\r\n\r\n                  memcpy (szAnsi, tbl.szHelp, COUNTOF(szAnsi));\r\n                  MultiByteToWideChar (CP_ACP, MB_PRECOMPOSED, szAnsi, COUNTOF(szAnsi),\r\n                                       tbl.szHelp, COUNTOF(tbl.szHelp));\r\n               }\r\n\r\n               StrNCpy(lpTT->szText, tbl.szHelp, MAXDESCLEN - 1);\r\n\r\n           } else {\r\n               idString = (UINT)(lpTT->hdr.idFrom + MH_MYITEMS);\r\n\r\n               if (lpTT->hdr.idFrom == IDM_CONNECTIONS) {\r\n                   idString = IDM_CONNECT + MH_MYITEMS;\r\n               }\r\n\r\n               if (!LoadString (hAppInstance, idString, lpTT->szText, 80)) {\r\n                   lpTT->szText[0] = TEXT('\\0');\r\n               }\r\n           }\r\n           *puiRetVal = TRUE;\r\n           return (0);\r\n       }\r\n\r\n       *puiRetVal = FALSE;\r\n       return (0);\r\n\r\n       }\r\n       break;\r\n\r\n   case WM_COMMAND:\r\n      switch (GET_WM_COMMAND_ID(wParam,lParam)) {\r\n\r\n      case IDM_OPEN:\r\n      case IDM_ESCAPE:\r\n         if (GetFocus() != hwndDriveList) {\r\n            *puiRetVal=FALSE;\r\n            return(0);\r\n         }\r\n\r\n         if (GET_WM_COMMAND_ID(wParam,lParam) == IDM_ESCAPE)\r\n            SendMessage(hwndDriveList, CB_SETCURSEL, iSel, 0L);\r\n         SendMessage(hwndDriveList, CB_SHOWDROPDOWN, FALSE, 0L);\r\n         break;\r\n\r\n      case IDC_DRIVES:\r\n         switch (GET_WM_COMMAND_CMD(wParam,lParam)) {\r\n         case CBN_SETFOCUS:\r\n            iSel = (int)SendMessage(hwndDriveList, CB_GETCURSEL, 0, 0L);\r\n            break;\r\n\r\n         case CBN_CLOSEUP:\r\n            {\r\n               HWND hwndActive;\r\n               INT iNewSel;\r\n\r\n               hwndActive = (HWND)SendMessage(hwndMDIClient,\r\n                  WM_MDIGETACTIVE, 0, 0L);\r\n\r\n               SetFocus(hwndActive);\r\n               if (GetFocus() == hwndDriveList)\r\n                  SetFocus(hwndMDIClient);\r\n\r\n               hwndActive = (HWND)SendMessage(hwndMDIClient,\r\n                  WM_MDIGETACTIVE, 0, 0L);\r\n               if (hwndActive == hwndSearch) {\r\n                  SendMessage(hwndDriveList, CB_SETCURSEL, iSel, 0L);\r\n                  break;\r\n               }\r\n\r\n               iNewSel = (int)SendMessage(hwndDriveList, CB_GETCURSEL, 0, 0L);\r\n               if (iNewSel != iSel) {\r\n                  if (!CheckDrive(hwndFrame, rgiDrive[iNewSel], FUNC_SETDRIVE)) {\r\n                     SendMessage(hwndDriveList, CB_SETCURSEL, iSel,0L);\r\n                     break;\r\n                  }\r\n                  SendMessage(hwndDriveBar, FS_SETDRIVE, iNewSel, 0L);\r\n\r\n               } else {\r\n;//                  SendMessage(hwndDriveBar, FS_SETDRIVE, iNewSel, 1L);\r\n               }\r\n\r\n               break;\r\n            }\r\n\r\n         default:\r\n            break;\r\n         }\r\n         break;\r\n\r\n      default:\r\n         *puiRetVal = FALSE;\r\n         return(0);\r\n      }\r\n      break;\r\n\r\n   default:\r\n      *puiRetVal = FALSE;\r\n      return(0);\r\n   }\r\n\r\n   *puiRetVal = TRUE;\r\n   return(0);\r\n}\r\n\r\n\r\nVOID\r\nCreateFMToolbar(void)\r\n{\r\n   RECT rc;\r\n   INT xStart;\r\n   HDC hDC;\r\n   HFONT hOldFont;\r\n   TEXTMETRIC TextMetric;\r\n   TBADDBITMAP tbAddBitmap;\r\n\r\n   hDC = GetDC(NULL);\r\n\r\n   xStart = dxButtonSep;\r\n\r\n   hOldFont = SelectObject(hDC, hfontDriveList);\r\n\r\n   //\r\n   // Set cchDriveListMax\r\n   // (-2 since we need space for \"X: \")\r\n   //\r\n\r\n   //\r\n   // !! LATER !!\r\n   // Error checking for GetTextMetrics return value\r\n   //\r\n   GetTextMetrics(hDC, &TextMetric);\r\n\r\n   cchDriveListMax =\r\n       (INT)( (dxDriveList - MINIDRIVE_WIDTH - 2 * MINIDRIVE_MARGIN) /\r\n              (TextMetric.tmAveCharWidth * 3 / 2) - 2 );\r\n\r\n   dyDriveItem = TextMetric.tmHeight;\r\n\r\n   if (hOldFont)\r\n      SelectObject(hDC, hOldFont);\r\n\r\n   ReleaseDC(NULL, hDC);\r\n\r\n   // There should be another ButtonSep here, except the toolbar code\r\n   // automatically puts one in before the first item.\r\n\r\n   tbButtons[0].iBitmap = xStart + dxDriveList;\r\n\r\n   // We'll start out by adding no buttons; that will be done in\r\n   // InitToolbarButtons\r\n\r\n   hwndToolbar = CreateToolbarEx(hwndFrame,\r\n      WS_CHILD|WS_BORDER|CCS_ADJUSTABLE|WS_CLIPSIBLINGS|TBSTYLE_TOOLTIPS|\r\n      (bToolbar ? WS_VISIBLE : 0),\r\n      IDC_TOOLBAR, TBAR_BITMAP_COUNT, hAppInstance, IDB_TOOLBAR,\r\n      tbButtons, 0, 0,0,0,0, sizeof(TBBUTTON));\r\n\r\n   if (!hwndToolbar)\r\n      return;\r\n\r\n   if (bDisableVisualStyles && SetWindowTheme != NULL) {\r\n      SetWindowTheme(hwndToolbar, pwszInvalidTheme, pwszInvalidTheme);\r\n   }\r\n\r\n   SendMessage (hwndToolbar, TB_SETINDENT, 8, 0);\r\n\r\n   tbAddBitmap.hInst = hAppInstance;\r\n   tbAddBitmap.nID   = IDB_EXTRATOOLS;\r\n\r\n   SendMessage(hwndToolbar, TB_ADDBITMAP, TBAR_EXTRA_BITMAPS,\r\n               (LPARAM) &tbAddBitmap);\r\n\r\n   GetClientRect(hwndToolbar, &rc);\r\n   dyToolbar = rc.bottom;\r\n\r\n   hwndDriveList = CreateWindow(TEXT(\"combobox\"), NULL,\r\n      WS_BORDER | WS_CHILD | CBS_DROPDOWNLIST | CBS_OWNERDRAWVARIABLE | WS_VSCROLL,\r\n      xStart, 0, dxDriveList, dxDriveList,\r\n      hwndToolbar, (HMENU)IDC_DRIVES, hAppInstance, NULL);\r\n\r\n   if (!hwndDriveList) {\r\n      DestroyWindow(hwndToolbar);\r\n      hwndToolbar = NULL;\r\n      return;\r\n   }\r\n\r\n   if (bDisableVisualStyles && SetWindowTheme != NULL) {\r\n      SetWindowTheme(hwndDriveList, pwszInvalidTheme, pwszInvalidTheme);\r\n   }\r\n\r\n   SendMessage(hwndDriveList, CB_SETEXTENDEDUI, 0, 0L);\r\n   SendMessage(hwndDriveList, WM_SETFONT, (WPARAM)hfontDriveList, MAKELPARAM(TRUE, 0));\r\n\r\n   GetWindowRect(hwndDriveList, &rc);\r\n   rc.bottom -= rc.top;\r\n\r\n   MoveWindow(hwndDriveList, xStart, (dyToolbar - rc.bottom)/2,\r\n      dxDriveList, dxDriveList, TRUE);\r\n\r\n   ShowWindow(hwndDriveList, SW_SHOW);\r\n\r\n   //\r\n   // Done right after UpdateDriveList in wfinit.c\r\n   //\r\n//   FillToolbarDrives(0);\r\n}\r\n\r\n\r\nDWORD\r\nShareCountStub(DWORD iType)\r\n{\r\n  /* This is to reference the variable */\r\n  iType;\r\n  return 1;\r\n}\r\n\r\n\r\nVOID\r\nInitToolbarButtons(VOID)\r\n{\r\n   INT i;\r\n   HMENU hMenu;\r\n   BOOL bLastSep;\r\n\r\n   hMenu = GetMenu(hwndFrame);\r\n\r\n   //\r\n   // HACK: Don't show both Connections and Connect/Disconnect in the\r\n   // Customize toolbar dialog.\r\n   //\r\n   if (GetMenuState(hMenu, IDM_CONNECTIONS, MF_BYCOMMAND) == (UINT)-1)\r\n      tbButtons[ICONNECTIONS].idCommand = IDM_CONNECT;\r\n\r\n   for (i=1, bLastSep=TRUE; i<TBAR_BUTTON_COUNT; ++i) {\r\n      if (tbButtons[i].fsStyle & TBSTYLE_SEP) {\r\n         if (bLastSep)\r\n            tbButtons[i].fsState = TBSTATE_HIDDEN;\r\n         bLastSep = TRUE;\r\n\r\n      } else {\r\n\r\n         if (GetMenuState(hMenu, tbButtons[i].idCommand, MF_BYCOMMAND)\r\n            == (UINT)-1)\r\n\r\n            tbButtons[i].fsState = TBSTATE_HIDDEN;\r\n         else\r\n            bLastSep = FALSE;\r\n      }\r\n   }\r\n\r\n   for (i=0; i<TBAR_ALL_BUTTONS; ++i) {\r\n\r\n      //\r\n      // Set the top bit to indicate that the button should be hidden\r\n      //\r\n      if (GetMenuState(hMenu, sAllButtons[i].idM, MF_BYCOMMAND) == (UINT)-1)\r\n         sAllButtons[i].idB |= HIDEIT;\r\n   }\r\n\r\n   SaveRestoreToolbar(FALSE);\r\n\r\n   //\r\n   // Now that we have API entrypoints, set the initial states of the\r\n   // disconnect and stop-sharing buttons appropriately.\r\n   //\r\n\r\n   EnableDisconnectButton();\r\n   EnableStopShareButton();\r\n}\r\n\r\nBOOL LastButtonIsSeparator(HWND hwndTB)\r\n{\r\n    TBBUTTON button;\r\n\r\n    INT count = (INT)SendMessage(hwndTB, TB_BUTTONCOUNT, 0, 0L);\r\n    SendMessage(hwndTB, TB_GETBUTTON, count - 1, (LPARAM)(LPTBBUTTON)&button);\r\n\r\n    return (button.fsStyle & TBSTYLE_SEP) ? TRUE : FALSE;\r\n}\r\n\r\nBOOL\r\nInitToolbarExtension(INT iExt)\r\n{\r\n   TBBUTTON extButton;\r\n   FMS_TOOLBARLOAD tbl;\r\n   LPEXT_BUTTON lpButton;\r\n   INT i, iStart, iBitmap;\r\n   BOOL fSepLast;\r\n   TBADDBITMAP tbAddBitmap;\r\n\r\n   tbl.dwSize = sizeof(tbl);\r\n   tbl.lpButtons = NULL;\r\n   tbl.cButtons = 0;\r\n   tbl.idBitmap = 0;\r\n   tbl.hBitmap = NULL;\r\n\r\n\r\n   if (!extensions[iExt].ExtProc(hwndFrame, FMEVENT_TOOLBARLOAD,\r\n       (LPARAM)(LPFMS_TOOLBARLOAD)&tbl))\r\n\r\n      return FALSE;\r\n\r\n   if (tbl.dwSize != sizeof(tbl)) {\r\n\r\n      if (!(0x10 == tbl.dwSize && tbl.idBitmap))\r\n\r\n         return FALSE;\r\n   }\r\n\r\n   if (!tbl.cButtons || !tbl.lpButtons || (!tbl.idBitmap && !tbl.hBitmap))\r\n      return FALSE;\r\n\r\n   // We add all extension buttons to a \"dummy\" toolbar\r\n\r\n   if (hwndExtensions) {\r\n      // If the last \"button\" is not a separator, then add one.  If it is, and\r\n      // there are no extensions yet, then \"include\" it in the extensions.\r\n\r\n      if (!LastButtonIsSeparator(hwndExtensions))\r\n         goto AddSep;\r\n   } else {\r\n      hwndExtensions = CreateToolbarEx(hwndFrame, WS_CHILD,\r\n         IDC_EXTENSIONS, 0, hAppInstance, IDB_TOOLBAR, tbButtons, 0,\r\n         0,0,0,0,sizeof(TBBUTTON));\r\n\r\n      if (!hwndExtensions)\r\n         return FALSE;\r\n\r\nAddSep:\r\n      extButton.iBitmap = 0;\r\n      extButton.idCommand = 0;\r\n      extButton.fsState = 0;\r\n      extButton.fsStyle = TBSTYLE_SEP;\r\n      extButton.dwData = 0;\r\n      extButton.iString = 0;\r\n\r\n      SendMessage(hwndExtensions, TB_INSERTBUTTON, (WORD)-1,\r\n         (LPARAM)(LPTBBUTTON)&extButton);\r\n   }\r\n\r\n   // Notice we add the bitmaps to hwndToolbar, not hwndExtensions, because\r\n   // it is hwndToolbar that may actually paint the buttons.\r\n\r\n   if (tbl.idBitmap) {\r\n      tbAddBitmap.hInst = extensions[iExt].hModule;\r\n      tbAddBitmap.nID   = (UINT_PTR)tbl.idBitmap;\r\n      iStart = (INT)SendMessage(hwndToolbar, TB_ADDBITMAP, tbl.cButtons,\r\n                               (LPARAM) &tbAddBitmap);\r\n   } else {\r\n      tbAddBitmap.hInst = 0;\r\n      tbAddBitmap.nID   = (UINT_PTR)tbl.hBitmap;\r\n      iStart = (INT)SendMessage(hwndToolbar, TB_ADDBITMAP, tbl.cButtons,\r\n                               (LPARAM) &tbAddBitmap);\r\n   }\r\n\r\n   // fill in toolbar image information\r\n   extensions[iExt].hbmButtons = tbl.hBitmap;\r\n   extensions[iExt].idBitmap = tbl.idBitmap;\r\n   extensions[iExt].iStartBmp = iStart;\r\n\r\n   // Add all of his buttons.  Non-separator items have bitmap images in sequence.\r\n   // idCommand and iBitmap values in hwndExtensions are the unbiased ones;\r\n   // when saving toolbar customization, we save the unbiased idCommand and iBitmap.\r\n\r\n   for (fSepLast=TRUE, i=tbl.cButtons, iBitmap=0, lpButton=tbl.lpButtons;\r\n      i>0; --i, ++lpButton) {\r\n\r\n      if (lpButton->fsStyle & TBSTYLE_SEP) {\r\n         if (fSepLast)\r\n            continue;\r\n\r\n         extButton.iBitmap = 0;\r\n         fSepLast = TRUE;\r\n      } else {\r\n         extButton.iBitmap = iBitmap;       // will be biased with iStart when added to hwndToolbar\r\n         ++iBitmap;\r\n         fSepLast = FALSE;\r\n      }\r\n\r\n      extButton.fsStyle   = (BYTE)lpButton->fsStyle;\r\n      extButton.idCommand = lpButton->idCommand;    // will be biased with Delta when added to hwndToolbar\r\n      extButton.fsState   = TBSTATE_ENABLED;\r\n      extButton.dwData    = iExt + 1;     // 1 based iExt for command and bitmap start mapping\r\n      extButton.iString   = 0;\r\n\r\n      SendMessage(hwndExtensions, TB_INSERTBUTTON, (WORD)-1,\r\n         (LPARAM)(LPTBBUTTON)&extButton);\r\n   }\r\n\r\n   return TRUE;\r\n}\r\n\r\nVOID\r\nAddExtensionToolbarButtons(BOOL bAll)\r\n{\r\n    INT nExtButtons;\r\n    TBBUTTON tbButton;\r\n    BOOL bLastSep;\r\n\r\n    if (hwndExtensions == NULL)\r\n        return;\r\n\r\n    bLastSep = LastButtonIsSeparator(hwndToolbar);\r\n\r\n    nExtButtons = (INT)SendMessage(hwndExtensions, TB_BUTTONCOUNT, 0, 0L);\r\n    for (INT nItem = 0; nItem < nExtButtons; ++nItem)\r\n    {\r\n        INT iExt;\r\n        SendMessage(hwndExtensions, TB_GETBUTTON, nItem,\r\n            (LPARAM)(LPTBBUTTON)&tbButton);\r\n\r\n        if ((tbButton.fsStyle & TBSTYLE_SEP) != 0 && bLastSep)\r\n        {\r\n            // have a separator and last button is one, skip\r\n            continue;\r\n        }\r\n\r\n        // map idCommand and iBitmap if this is a valid extension\r\n        iExt = (INT)(tbButton.dwData - 1);\r\n        if ((UINT)iExt < (UINT)iNumExtensions)\r\n        {\r\n            // if we are not loading them all and this button's extension was seen during toolbar restore, skip\r\n            if (!bAll && extensions[iExt].bRestored)\r\n                continue;\r\n\r\n            tbButton.idCommand += extensions[iExt].Delta;\r\n            tbButton.iBitmap += extensions[iExt].iStartBmp;\r\n\r\n            // when bAll, we want to reset the bRestored flag\r\n            if (bAll)\r\n                extensions[iExt].bRestored = FALSE;\r\n        }\r\n\r\n        bLastSep = (tbButton.fsStyle & TBSTYLE_SEP) != 0;\r\n\r\n        SendMessage(hwndToolbar, TB_ADDBUTTONS, 1,\r\n            (LPARAM)(LPTBBUTTON)&tbButton);\r\n    }\r\n}\r\n\r\nVOID\r\nFreeToolbarExtensions(VOID)\r\n{\r\n   if (hwndExtensions)\r\n      DestroyWindow(hwndExtensions);\r\n   hwndExtensions = NULL;\r\n}\r\n\r\n\r\nVOID\r\nSaveRestoreToolbar(BOOL bSave)\r\n{\r\n   static TCHAR  szSubKey[] = TEXT(\"Software\\\\Microsoft\\\\File Manager\\\\Settings\");\r\n   static TCHAR  szValueName [] = TEXT(\"ToolbarWindow\");\r\n\r\n   TCHAR szNames[MAXEXTNAME*MAX_EXTENSIONS];    // '\\0' between the names replaced with ','\r\n   TBSAVEPARAMS tbSave;\r\n\r\n   if (bSave) {\r\n      INT i;\r\n      LPTSTR pName;\r\n\r\n      // Write out a comma separated list of the current extensions\r\n\r\n      for (i=0, pName=szNames; i<iNumExtensions; ++i) {\r\n         ExtensionName(i, pName);\r\n         pName += lstrlen(pName);\r\n         if ((i+1) < iNumExtensions)\r\n            *pName++ = TEXT(',');\r\n      }\r\n\r\n      *pName = TEXT('\\0');\r\n      WritePrivateProfileString(szSettings, szAddons, szNames, szTheINIFile);\r\n\r\n      // Remove the beginning space\r\n\r\n      SendMessage(hwndToolbar, TB_DELETEBUTTON, 0, 0L);\r\n\r\n      // Save the state\r\n\r\n      tbSave.hkr = HKEY_CURRENT_USER;\r\n      tbSave.pszSubKey = szSubKey;\r\n      tbSave.pszValueName = szValueName;\r\n      SendMessage(hwndToolbar, TB_SAVERESTORE, 1, (LPARAM)&tbSave);\r\n\r\n      // Add the beginning space back in.\r\n\r\n      SendMessage(hwndToolbar, TB_INSERTBUTTON, 0,\r\n         (LPARAM)(LPTBBUTTON)tbButtons);\r\n   } else {\r\n      INT iExt;\r\n      BOOL bRestored;\r\n      LPTSTR pName, pEnd;\r\n\r\n      // Only load the buttons for the extensions that were the same as\r\n      // the last time the state was saved.\r\n\r\n      GetPrivateProfileString(szSettings, szAddons, szNULL, szNames,\r\n         COUNTOF(szNames), szTheINIFile);\r\n\r\n      for (pName=szNames; pName && *pName; pName=pEnd) {\r\n         TCHAR szName[MAXEXTNAME];\r\n\r\n         pEnd = StrChr(pName, TEXT(','));\r\n         if (pEnd)\r\n             *pEnd++ = TEXT('\\0');\r\n\r\n         // find whether extension in currently list and mark restored.\r\n\r\n         for (iExt = 0; iExt < iNumExtensions; iExt++) {\r\n            ExtensionName(iExt, szName);\r\n\r\n            if (lstrcmpi(szName, pName) == 0) {\r\n                extensions[iExt].bRestored = TRUE;\r\n                break;\r\n            }\r\n         }\r\n      }\r\n\r\n      // load all extensions and add their bitmaps to hwndToolbar; this needs to happen before the restore\r\n      // so that we have the bitmap bias values loaded.\r\n      for (iExt = 0; iExt<iNumExtensions; ++iExt)\r\n          InitToolbarExtension(iExt);\r\n\r\n      // Load any saved toolbar buttons; extension buttons were saved with unbiased idCommand and iBitmap;\r\n      // we map them back during restore here; toolbar buttons will be discarded if we haven't loaded the extension;\r\n      // changing the order of the extensions will (at present) remap the buttons, but otherwise won't cause harm.\r\n\r\n      // TB_SAVERESTORE does not return a boolean (as the code once showed);\r\n      // we check for restoration by checking for a change in the number of buttons.\r\n      INT nCurButtons = (int)SendMessage(hwndToolbar, TB_BUTTONCOUNT, 0, 0L);\r\n\r\n      tbSave.hkr = HKEY_CURRENT_USER;\r\n      tbSave.pszSubKey = szSubKey;\r\n      tbSave.pszValueName = szValueName;\r\n      SendMessage(hwndToolbar, TB_SAVERESTORE, 0, (LPARAM)&tbSave);\r\n\r\n      bRestored = nCurButtons != (int)SendMessage(hwndToolbar, TB_BUTTONCOUNT, 0, 0L);\r\n\r\n      if (bRestored) {\r\n         INT idGood, idBad, nItem;\r\n         HMENU hMenu;\r\n\r\n         // Change CONNECTIONS to CONNECT (or vice versa) if necessary\r\n\r\n         idGood = tbButtons[ICONNECTIONS].idCommand;\r\n         idBad = IDM_CONNECT+IDM_CONNECTIONS-idGood;\r\n         nItem = (int)SendMessage(hwndToolbar, TB_COMMANDTOINDEX, idBad, 0L);\r\n\r\n         hMenu = GetMenu(hwndFrame);\r\n         if(GetMenuState(hMenu, idGood, MF_BYCOMMAND)!=(UINT)-1 && nItem>=0) {\r\n            SendMessage(hwndToolbar, TB_DELETEBUTTON, nItem, 0L);\r\n            SendMessage(hwndToolbar, TB_INSERTBUTTON, nItem,\r\n               (LPARAM)(LPTBBUTTON)(&tbButtons[ICONNECTIONS]));\r\n         }\r\n\r\n         // Add in the beginning separator and the extensions\r\n\r\n         SendMessage(hwndToolbar, TB_INSERTBUTTON, 0,\r\n            (LPARAM)(LPTBBUTTON)tbButtons);\r\n\r\n         AddExtensionToolbarButtons(FALSE);\r\n\r\n      } else\r\n         ResetToolbar();\r\n\r\n   }\r\n}\r\n"
  },
  {
    "path": "src/treectl.c",
    "content": "/********************************************************************\r\n\r\n   treectl.c\r\n\r\n   Windows Directory Tree Window Proc Routines\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#define PUBLIC           // avoid collision with shell.h\r\n#include \"winfile.h\"\r\n#include \"treectl.h\"\r\n#include \"lfn.h\"\r\n#include \"wfcopy.h\"\r\n#include \"wfdrop.h\"\r\n#include <commctrl.h>\r\n#include <winnls.h>\r\n#include \"dbg.h\"\r\n\r\n#define WS_TREESTYLE (WS_CHILD | WS_VISIBLE | LBS_NOTIFY | WS_VSCROLL | WS_HSCROLL | LBS_OWNERDRAWFIXED | LBS_NOINTEGRALHEIGHT | LBS_WANTKEYBOARDINPUT | LBS_DISABLENOSCROLL)\r\n\r\n#define READDIRLEVEL_UPDATE   7\r\n#define READDIRLEVEL_YIELDBIT 2\r\n\r\n\r\n#define IS_PARTIALSORT(drive) (aDriveInfo[drive].dwFileSystemFlags & FS_CASE_IS_PRESERVED)\r\n\r\n#define CALC_EXTENT(pNode)                                                  \\\r\n  ( pNode->dwExtent +                                                       \\\r\n    (2 * pNode->nLevels) * dxText + dxFolder + 3 * dyBorderx2 )\r\n\r\n\r\nDWORD cNodes;\r\n\r\nVOID\r\nGetTreePathIndirect(\r\n    PDNODE pNode,\r\n    LPTSTR szDest);\r\n\r\nVOID\r\nScanDirLevel(\r\n    PDNODE pParentNode,\r\n    LPTSTR szPath,\r\n    DWORD view);\r\n\r\nINT\r\nInsertDirectory(\r\n    HWND hwndTreeCtl,\r\n    PDNODE pParentNode,\r\n    INT iParentNode,\r\n    LPTSTR szName,\r\n    PDNODE *ppNode,\r\n    BOOL bCasePreserved,\r\n    BOOL bPartialSort,\r\n    DWORD dwAttribs);\r\n\r\nBOOL\r\nReadDirLevel(\r\n    HWND hwndTreeCtl,\r\n    PDNODE pParentNode,\r\n    LPTSTR szPath,\r\n    UINT uLevel,\r\n    INT iParentNode,\r\n    DWORD dwAttribs,\r\n    BOOL bFullyExpand,\r\n    LPTSTR szAutoExpand,\r\n    BOOL bPartialSort);\r\n\r\nVOID\r\nFillTreeListbox(\r\n    HWND hwndTreeCtl,\r\n    LPTSTR szDefaultDir,\r\n    BOOL bFullyExpand,\r\n    BOOL bDontSteal);\r\n\r\nBOOL\r\nFindItemFromPath(\r\n    HWND hwndLB,\r\n    LPTSTR lpszPath,\r\n    BOOL bReturnParent,\r\n    DWORD *pIndex,\r\n    PDNODE *ppNode);\r\n\r\nINT\r\nBuildTreeName(\r\n    LPTSTR lpszPath,\r\n    INT iLen,\r\n    INT iSize);\r\n\r\nUINT\r\nGetRealExtent(\r\n    PDNODE pNode,\r\n    HWND hwndLB,\r\n    LPTSTR szPath,\r\n    int *pLen);\r\n\r\nvoid\r\nResetTreeMax(\r\n    HWND hwndLB,\r\n    BOOL fReCalcExtent);\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  GetDragStatusText() -                                                   */\r\n/*                                                                          */\r\n/*  return IDS_<id> with respect to iOperation                              */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nint GetDragStatusText(int iOperation)\r\n{\r\n   int iStatusText = IDS_DRAG_MOVING;\r\n   switch (iOperation) {\r\n   case DROP_COPY:\r\n      iStatusText = IDS_DRAG_COPYING;\r\n      break;\r\n\r\n   case DROP_HARD:\r\n   case DROP_LINK:\r\n      iStatusText = IDS_DRAG_LINKING;\r\n      break;\r\n   }\r\n   return iStatusText;\r\n}\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  GetTreePathIndirect() -                                                 */\r\n/*                                                                          */\r\n/*  build a complete path for a given node in the tree by recursively       */\r\n/*  traversing the tree structure                                           */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nVOID\r\nGetTreePathIndirect(PDNODE pNode, LPTSTR szDest)\r\n{\r\n   PDNODE    pParent;\r\n\r\n   pParent = pNode->pParent;\r\n\r\n   if (pParent)\r\n      GetTreePathIndirect(pParent, szDest);\r\n\r\n   lstrcat(szDest, pNode->szName);\r\n\r\n   if (pParent)\r\n      lstrcat(szDest, SZ_BACKSLASH);\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  GetTreePath() -                                                         */\r\n/*                                                                          */\r\n/*  build a complete path for a given node in the tree                      */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nVOID\r\nGetTreePath(PDNODE pNode, LPTSTR szDest)\r\n{\r\n   szDest[0] = CHAR_NULL;\r\n   GetTreePathIndirect(pNode, szDest);\r\n\r\n   //\r\n   // Remove the last backslash (unless it is the root directory).\r\n   //\r\n   if (pNode->pParent)\r\n      szDest[lstrlen(szDest)-1] = CHAR_NULL;\r\n}\r\n\r\n\r\n\r\n//  SetNodeAttribs\r\n//\r\n//  Set node attributes for directory/junction/symlink\r\n//\r\nVOID\r\nSetNodeAttribs(PDNODE pNode, LPTSTR szPath)\r\n{\r\n   pNode->dwAttribs = GetFileAttributes(szPath);\r\n   if (INVALID_FILE_ATTRIBUTES == pNode->dwAttribs) {\r\n      pNode->dwAttribs = 0;\r\n   }\r\n\r\n   //\r\n   // Determine which kind of Reparse Point\r\n   //\r\n   if (pNode->dwAttribs & ATTR_REPARSE_POINT) {\r\n\r\n      DWORD tag = DecodeReparsePoint(szPath, NULL, 0);\r\n      switch (tag) {\r\n      case IO_REPARSE_TAG_MOUNT_POINT:\r\n         pNode->dwAttribs |= ATTR_JUNCTION;\r\n         break;\r\n      case IO_REPARSE_TAG_SYMLINK:\r\n         pNode->dwAttribs |= ATTR_SYMBOLIC;\r\n         break;\r\n      }\r\n   }\r\n}\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  ScanDirLevel() -                                                        */\r\n/*                                                                          */\r\n/*  look down to see if this node has any sub directories                   */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nVOID\r\nScanDirLevel(PDNODE pParentNode, LPTSTR szPath, DWORD view)\r\n{\r\n  BOOL bFound;\r\n  LFNDTA lfndta;\r\n  BOOL bExclude;\r\n\r\n  /* Add '*.*' to the current path. */\r\n  lstrcpy(szMessage, szPath);\r\n  AddBackslash(szMessage);\r\n  lstrcat(szMessage, szStarDotStar);\r\n\r\n  /* Search for the first subdirectory on this level. */\r\n\r\n  bFound = WFFindFirst(&lfndta, szMessage, ATTR_DIR | view);\r\n\r\n  while (bFound)\r\n    {\r\n      /* Is this a junction and are those displayed? */\r\n      bExclude = FALSE;\r\n      if ((view & ATTR_JUNCTION) == 0 &&\r\n          (lfndta.fd.dwFileAttributes & ATTR_JUNCTION)) {\r\n\r\n          bExclude = TRUE;\r\n      }\r\n\r\n      /* Is this not a '.' or '..' directory? */\r\n      if (!ISDOTDIR(lfndta.fd.cFileName) &&\r\n         (lfndta.fd.dwFileAttributes & ATTR_DIR) &&\r\n         !bExclude) {\r\n\r\n         pParentNode->wFlags |= TF_HASCHILDREN;\r\n         bFound = FALSE;\r\n      } else\r\n         /* Search for the next subdirectory. */\r\n         bFound = WFFindNext(&lfndta);\r\n    }\r\n\r\n  WFFindClose(&lfndta);\r\n}\r\n\r\n\r\n\r\n// wizzy cool recursive path compare routine\r\n//\r\n// p1 and p2 must be on the same level (p1->nLevels == p2->nLevels)\r\n\r\nINT\r\nComparePath(PDNODE p1, PDNODE p2)\r\n{\r\n   INT ret;\r\n\r\n   if ((p1 == p2) || (!p1) || (!p2)) {\r\n\r\n      return 0;       // equal (base case)\r\n\r\n   } else {\r\n\r\n      ret = ComparePath(p1->pParent, p2->pParent);\r\n\r\n      if (ret == 0) {\r\n         // parents are equal\r\n\r\n         ret = lstrcmpi(p1->szName, p2->szName);\r\n#if 0\r\n         {\r\n            TCHAR buf[200];\r\n            wsprintf(buf, TEXT(\"Compare(%s, %s) -> %d\\r\\n\"), p1->szName, p2->szName, ret);\r\n            OutputDebugString(buf);\r\n         }\r\n#endif\r\n\r\n      }\r\n\r\n      // not equal parents, propagate up the call tree\r\n      return ret;\r\n   }\r\n}\r\n\r\n\r\nINT\r\nCompareNodes(PDNODE p1, PDNODE p2)\r\n{\r\n   PDNODE p1save, p2save;\r\n   INT ret;\r\n\r\n   ASSERT(p1 && p2);\r\n\r\n   p1save = p1;\r\n   p2save = p2;\r\n\r\n   // get p1 and p2 to the same level\r\n\r\n   while (p1->nLevels > p2->nLevels)\r\n      p1 = p1->pParent;\r\n\r\n   while (p2->nLevels > p1->nLevels)\r\n      p2 = p2->pParent;\r\n\r\n   // compare those paths\r\n\r\n   ASSERT(p1 && p2);\r\n\r\n   ret = ComparePath(p1, p2);\r\n\r\n   if (ret == 0)\r\n      ret = (INT)p1save->nLevels - (INT)p2save->nLevels;\r\n\r\n   return ret;\r\n}\r\n\r\n\r\n//\r\n// InsertDirectory()\r\n//\r\n// wizzy quick n log n binary insert code!\r\n//\r\n// creates and inserts a new node in the tree, this also sets\r\n// the TF_LASTLEVELENTRY bits to mark a branch as being the last\r\n// for a given level as well as marking parents with\r\n// TF_HASCHILDREN | TF_EXPANDED to indicate they have been expanded\r\n// and have children.\r\n//\r\n// Returns iNode and fills ppNode with pNode.\r\n//\r\n\r\nINT\r\nInsertDirectory(\r\n   HWND hwndTreeCtl,\r\n   PDNODE pParentNode,\r\n   INT iParentNode,\r\n   LPTSTR szName,\r\n   PDNODE *ppNode,\r\n   BOOL bCasePreserved,\r\n   BOOL bPartialSort,\r\n   DWORD dwAttribs)\r\n{\r\n   UINT len, x, xTreeMax;\r\n   PDNODE pNode, pMid;\r\n   HWND hwndLB;\r\n   INT iMin, iMax, iMid;\r\n   TCHAR szPathName[MAXPATHLEN * 2];\r\n\r\n\r\n   len = lstrlen(szName);\r\n\r\n   pNode = (PDNODE)LocalAlloc(LPTR, sizeof(DNODE) + ByteCountOf(len));\r\n   if (!pNode)\r\n   {\r\n      if (ppNode)\r\n      {\r\n         *ppNode = NULL;\r\n      }\r\n      return (0);\r\n   }\r\n\r\n   pNode->pParent = pParentNode;\r\n   pNode->nLevels = pParentNode ? (pParentNode->nLevels + (BYTE)1) : (BYTE)0;\r\n   pNode->wFlags  = 0;\r\n   pNode->dwNetType = (DWORD)-1;\r\n\r\n#ifdef USE_TF_LFN\r\n   if (IsLFN(szName))\r\n   {\r\n      pNode->wFlags |= TF_LFN;\r\n   }\r\n#endif\r\n\r\n   if (!bCasePreserved)\r\n      pNode->wFlags |= TF_LOWERCASE;\r\n\r\n   lstrcpy(pNode->szName, szName);\r\n\r\n   if (pParentNode)\r\n      pParentNode->wFlags |= TF_HASCHILDREN | TF_EXPANDED;      // mark the parent\r\n\r\n   hwndLB = GetDlgItem(hwndTreeCtl, IDCW_TREELISTBOX);\r\n\r\n   /*\r\n    *  Get the real text extent for the current directory and save it\r\n    *  in the pNode.\r\n    */\r\n   x = GetRealExtent(pNode, hwndLB, NULL, &len);\r\n   x = CALC_EXTENT(pNode);\r\n\r\n   xTreeMax = (UINT)GetWindowLongPtr(hwndTreeCtl, GWL_XTREEMAX);\r\n   if (x > xTreeMax)\r\n   {\r\n       SetWindowLongPtr(hwndTreeCtl, GWL_XTREEMAX, x);\r\n       SendMessage(hwndLB, LB_SETHORIZONTALEXTENT, x, 0L);\r\n   }\r\n\r\n   iMax = (INT)SendMessage(hwndLB, LB_GETCOUNT, 0, 0L);\r\n\r\n   if (iMax > 0)\r\n   {\r\n      // do a binary insert\r\n\r\n      iMin = iParentNode + 1;\r\n      iMax--;         // last index\r\n\r\n      //\r\n      // Hack speedup: check if goes last.\r\n      //\r\n      SendMessage(hwndLB, LB_GETTEXT, iMax, (LPARAM)&pMid);\r\n\r\n      if (bPartialSort && CompareNodes(pNode, pMid) > 0)\r\n      {\r\n         iMax++;\r\n      }\r\n      else\r\n      {\r\n         int iCmp;\r\n         do\r\n         {\r\n            iMid = (iMax + iMin) / 2;\r\n\r\n            SendMessage(hwndLB, LB_GETTEXT, iMid, (LPARAM)&pMid);\r\n\r\n            iCmp = CompareNodes(pNode, pMid);\r\n            if (iCmp == 0)\r\n            {\r\n                iMax = iMin = iMid;\r\n            }\r\n            else if (iCmp > 0)\r\n               iMin = iMid + 1;\r\n            else\r\n               iMax = iMid - 1;\r\n\r\n         } while (iMax > iMin);\r\n\r\n         // result is that new node may be:\r\n         // a. inserted before iMax (normal case)\r\n         // b. inserted after iMax (if at end of list)\r\n         // c. same as iMax -- return right away\r\n         SendMessage(hwndLB, LB_GETTEXT, iMax, (LPARAM)&pMid);\r\n         iCmp = CompareNodes(pNode, pMid);\r\n         if (iCmp == 0)\r\n         {\r\n             if (ppNode)\r\n             {\r\n                 *ppNode = pMid;\r\n             }\r\n             return iMax;\r\n         }\r\n\r\n        if (iCmp > 0)\r\n        {\r\n            iMax++;         // insert after this one\r\n        }\r\n      }\r\n   }\r\n\r\n   // now reset the TF_LASTLEVEL flags as appropriate\r\n\r\n   // look for the first guy on our level above us and turn off\r\n   // his TF_LASTLEVELENTRY flag so he draws a line down to us\r\n\r\n   iMid = iMax - 1;\r\n\r\n   while (iMid >= 0)\r\n   {\r\n      SendMessage(hwndLB, LB_GETTEXT, iMid--, (LPARAM)&pMid);\r\n      if (pMid->nLevels == pNode->nLevels)\r\n      {\r\n         pMid->wFlags &= ~TF_LASTLEVELENTRY;\r\n         break;\r\n      }\r\n      else if (pMid->nLevels < pNode->nLevels)\r\n      {\r\n         break;\r\n      }\r\n   }\r\n\r\n   // if no one below me or the level of the guy below is less, then\r\n   // this is the last entry for this level\r\n\r\n   if (((INT)SendMessage(hwndLB, LB_GETTEXT, iMax, (LPARAM)&pMid) == LB_ERR) ||\r\n       (pMid->nLevels < pNode->nLevels))\r\n   {\r\n      pNode->wFlags |=  TF_LASTLEVELENTRY;\r\n   }\r\n\r\n   //\r\n   //  Set the attributes for this directory/junction/symlink.\r\n   //\r\n   if (dwAttribs == INVALID_FILE_ATTRIBUTES)\r\n   {\r\n       GetTreePath(pNode, szPathName);\r\n       SetNodeAttribs(pNode, szPathName);\r\n   }\r\n   else\r\n   {\r\n       pNode->dwAttribs = dwAttribs;\r\n   }\r\n\r\n   SendMessage(hwndLB, LB_INSERTSTRING, iMax, (LPARAM)pNode);\r\n\r\n   if (ppNode)\r\n   {\r\n      *ppNode = pNode;\r\n   }\r\n   return iMax;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     wfYield\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nwfYield()\r\n{\r\n   MSG msg;\r\n\r\n   while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {\r\n      if (!TranslateMDISysAccel(hwndMDIClient, &msg) &&\r\n         (!hwndFrame || !TranslateAccelerator(hwndFrame, hAccel, &msg))) {\r\n\r\n         TranslateMessage(&msg);\r\n         DispatchMessage(&msg);\r\n      }\r\n   }\r\n}\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     WFFindNextNonJunction\r\n//\r\n// Synopsis: Returns the next non-junction entry, which may be the\r\n//           current entry.  Continually calls WFFindNext so long as\r\n//           the current entry is a junction.\r\n//\r\n// lpFind               Pointer to the find context, which may (or may\r\n//                      not) be advanced to a later entry.\r\n//\r\n// Return:              TRUE  = non-junction successfully found\r\n//                      FALSE = no non-junction remaining.\r\nBOOL\r\nWFFindNextNonJunction(LPLFNDTA lpFind)\r\n{\r\n    BOOL bFound;\r\n\r\n    bFound = TRUE;\r\n\r\n    while (bFound)\r\n    {\r\n        // If it's not a junction, return it.\r\n        if (!(lpFind->fd.dwFileAttributes & ATTR_JUNCTION))\r\n        {\r\n            return bFound;\r\n        }\r\n\r\n        bFound = WFFindNext(lpFind);\r\n    }\r\n\r\n    return bFound;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     ReadDirLevel\r\n//\r\n// Synopsis: Does a DFS on dir tree, BFS didn't (?) do any better\r\n//\r\n// szPath               a directory path that MUST EXIST long enough\r\n//                      to hold the full path to the largest directory\r\n//                      that will be found (MAXPATHLEN).  this is an\r\n//                      ANSI string.  (ie C:\\ and C:\\FOO are valid)\r\n// nLevel               level in the tree\r\n// iParentNode          index of parent node\r\n// dwAttribs            attributes to filter with\r\n// bFullyExpand         TRUE means expand this node fully\r\n// szAutoExpand         CharUpper path to autoexpand\r\n//                      (eg. \"C:\\FOO\\BAR\\STUFF\")\r\n// bPartialSort         TRUE means partially sorted on disk\r\n//\r\n// Return:              TRUE  = successful tree read\r\n//                      FALSE = user abort or bogus tree read.\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nReadDirLevel(\r\n   HWND  hwndTreeCtl,\r\n   PDNODE pParentNode,\r\n   LPTSTR  szPath,\r\n   UINT uLevel,\r\n   INT   iParentNode,\r\n   DWORD dwAttribs,\r\n   BOOL  bFullyExpand,\r\n   LPTSTR  szAutoExpand,\r\n   BOOL bPartialSort)\r\n{\r\n   LPWSTR    szEndPath;\r\n   LFNDTA    lfndta;\r\n   INT       iNode;\r\n   BOOL      bFound;\r\n   PDNODE    pNode;\r\n   BOOL      bAutoExpand;\r\n   BOOL      bResult = TRUE;\r\n   DWORD     dwView;\r\n   HWND      hwndParent;\r\n   HWND      hwndDir;\r\n   LPXDTALINK lpStart;\r\n   LPXDTA*   plpxdta;\r\n   LPXDTA    lpxdta;\r\n   INT       count;\r\n\r\n   UINT      uYieldCount = 0;\r\n\r\n   hwndParent = GetParent(hwndTreeCtl);\r\n\r\n   dwView = (DWORD)GetWindowLongPtr(hwndParent, GWL_VIEW);\r\n\r\n   //\r\n   // we optimize the tree read if we are not adding pluses and\r\n   // we find a directory window that already has read all the\r\n   // directories for the path we are about to search.  in this\r\n   // case we look through the DTA structure in the dir window\r\n   // to get all the directories (instead of calling FindFirst/FindNext).\r\n   // in this case we have to disable yielding since the user could\r\n   // potentially close the dir window that we are reading, or change\r\n   // directory.\r\n   //\r\n\r\n   lpStart = NULL;\r\n   plpxdta = NULL;\r\n   lpxdta = NULL;\r\n\r\n   if (!(dwView & VIEW_PLUSES)) {\r\n\r\n      if ((hwndDir = HasDirWindow(hwndParent)) &&\r\n          (GetWindowLongPtr(hwndParent, GWL_ATTRIBS) & ATTR_DIR)) {\r\n\r\n         SendMessage(hwndDir, FS_GETDIRECTORY, COUNTOF(szMessage), (LPARAM)szMessage);\r\n         StripBackslash(szMessage);\r\n\r\n         if (!lstrcmpi(szMessage, szPath)) {\r\n            SendMessage(hwndDir, FS_GETFILESPEC, COUNTOF(szMessage), (LPARAM)szMessage);\r\n\r\n            if (!lstrcmp(szMessage, szStarDotStar)) {\r\n\r\n               lpStart = (LPXDTALINK)GetWindowLongPtr(hwndDir, GWL_HDTA);\r\n\r\n               if (lpStart) {\r\n\r\n                  //\r\n                  // holds number of entries, NOT size.\r\n                  //\r\n                  count = (INT)MemLinkToHead(lpStart)->dwEntries;\r\n\r\n                  //\r\n                  // We are currently using it, so mark it as in use.\r\n                  // There's a sync problem around lpStart:\r\n                  // Since we do a wfYield, this could be free'd in\r\n                  // the same thread if the user changes directories.\r\n                  // So we must mark it appropriately.\r\n                  //\r\n                  // Don't worry about critical sections, since\r\n                  // we are cooperatively multitasking using the\r\n                  // wfYield.\r\n                  //\r\n                  MemLinkToHead(lpStart)->fdwStatus |= LPXDTA_STATUS_READING;\r\n               }\r\n            }\r\n         }\r\n      }\r\n   }\r\n\r\n   //\r\n   //  Disable drive list combo box while we're reading.\r\n   //\r\n   EnableWindow(hwndDriveList, FALSE);\r\n\r\n   SetWindowLongPtr(hwndTreeCtl,\r\n                 GWL_READLEVEL,\r\n                 GetWindowLongPtr(hwndTreeCtl, GWL_READLEVEL) + 1);\r\n\r\n   iReadLevel++;         // global for menu code\r\n\r\n   szEndPath = szPath + lstrlen(szPath);\r\n\r\n   //\r\n   // Add '\\*.*' to the current path.\r\n   //\r\n   AddBackslash(szPath);\r\n   lstrcat(szPath, szStarDotStar);\r\n\r\n   if ( (lpStart) &&\r\n        (plpxdta = MemLinkToHead(lpStart)->alpxdtaSorted) )\r\n   {\r\n      //\r\n      // steal the entry from the dir window\r\n      //\r\n\r\n      // TODO: why not set count here?\r\n\r\n      // find first directory which isn't the special parent node\r\n      for (; count > 0; count--, plpxdta++)\r\n      {\r\n         lpxdta = *plpxdta;\r\n\r\n         if ( (lpxdta->dwAttrs & ATTR_DIR) &&\r\n              !(lpxdta->dwAttrs & ATTR_PARENT))\r\n         {\r\n             break;\r\n         }\r\n      }\r\n\r\n      if (count > 0)\r\n      {\r\n         bFound = TRUE;\r\n\r\n         //\r\n         // Only need to copy filename and my_dwAttrs\r\n         //\r\n         lfndta.fd.dwFileAttributes = lpxdta->dwAttrs;\r\n         lstrcpy(lfndta.fd.cFileName, MemGetFileName(lpxdta));\r\n      }\r\n      else\r\n      {\r\n         bFound = FALSE;\r\n      }\r\n   }\r\n   else\r\n   {\r\n      //\r\n      // get first file from DOS\r\n      //\r\n      lstrcpy(szMessage, szPath);\r\n\r\n      bFound = WFFindFirst(&lfndta, szMessage, dwAttribs);\r\n\r\n      //\r\n      // if junctions are not displayed, continue to the next non-junction\r\n      //\r\n      if (bFound && !(dwAttribs & ATTR_JUNCTION))\r\n      {\r\n          bFound = WFFindNextNonJunction(&lfndta);\r\n      }\r\n   }\r\n\r\n   // for net drive case where we can't actually see what is in these\r\n   // directories we will build the tree automatically\r\n\r\n   // Note that szAutoExpand is nulled out if we are not building\r\n   // along its path at this time.  (If szAutoExpand[0]==\"FOO\" \"BAR\"\r\n   // and we are at \"F:\\IT\\IS\" then the original szAutoExpand\r\n   // was for path \"F:\\IT\\IS\\FOO\\BAR\": the second we stop off the\r\n   // path, we null it.)\r\n\r\n   // Must now check if szAutoExpand == NULL\r\n   if (!bFound && szAutoExpand && *szAutoExpand) {\r\n      LPTSTR p;\r\n\r\n      p = szAutoExpand;\r\n      szAutoExpand += lstrlen(szAutoExpand) + 1;\r\n\r\n      iNode = InsertDirectory( hwndTreeCtl,\r\n                               pParentNode,\r\n                               iParentNode,\r\n                               p,\r\n                               &pNode,\r\n                               IsCasePreservedDrive(DRIVEID(szPath)),\r\n                               bPartialSort,\r\n                               lfndta.fd.dwFileAttributes );\r\n\r\n      pParentNode->wFlags |= TF_DISABLED;\r\n\r\n      /* Construct the path to this new subdirectory. */\r\n      *szEndPath = CHAR_NULL;           // remove old stuff\r\n      AddBackslash(szPath);\r\n      lstrcat(szPath, p);\r\n\r\n\r\n      // Recurse!\r\n\r\n      ReadDirLevel(hwndTreeCtl, pNode, szPath, uLevel+1,\r\n         iNode, dwAttribs, bFullyExpand, szAutoExpand, bPartialSort);\r\n  }\r\n\r\n  while (bFound) {\r\n\r\n      if (uYieldCount & (1<<READDIRLEVEL_YIELDBIT))\r\n      {\r\n         wfYield();\r\n      }\r\n\r\n      uYieldCount++;\r\n\r\n      if (bCancelTree) {\r\n\r\n         INT iDrive = (INT)GetWindowLongPtr(hwndParent, GWL_TYPE);\r\n\r\n         if (!IsValidDisk(iDrive))\r\n            PostMessage(hwndParent, WM_SYSCOMMAND, SC_CLOSE, 0L);\r\n\r\n          bResult = FALSE;\r\n          if (bCancelTree == 2)\r\n              PostMessage(hwndFrame, WM_COMMAND, IDM_EXIT, 0L);\r\n          goto DONE;\r\n      }\r\n\r\n      /* Is this not a '.' or '..' directory? */\r\n      if (!ISDOTDIR(lfndta.fd.cFileName) &&\r\n         (lfndta.fd.dwFileAttributes & ATTR_DIR)) {\r\n\r\n          // we will try to auto expand this node if it matches\r\n\r\n          // Must check if NULL\r\n\r\n          if (szAutoExpand && *szAutoExpand && !lstrcmpi(szAutoExpand, lfndta.fd.cFileName)) {\r\n                bAutoExpand = TRUE;\r\n                szAutoExpand += lstrlen(szAutoExpand) + 1;\r\n          } else {\r\n                bAutoExpand = FALSE;\r\n          }\r\n\r\n          iNode = InsertDirectory( hwndTreeCtl,\r\n                                   pParentNode,\r\n                                   iParentNode,\r\n                                   lfndta.fd.cFileName,\r\n                                   &pNode,\r\n                                   IsCasePreservedDrive(DRIVEID(szPath)),\r\n                                   bPartialSort,\r\n                                   lfndta.fd.dwFileAttributes );\r\n\r\n             if (hwndStatus && ((cNodes % READDIRLEVEL_UPDATE) == 0)) {\r\n\r\n              // make sure we are the active window before we\r\n              // update the status bar\r\n\r\n              if (hwndParent == (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L)) {\r\n\r\n                 SetStatusText(0, SST_FORMAT, szDirsRead, cNodes);\r\n                 UpdateWindow(hwndStatus);\r\n              }\r\n          }\r\n\r\n          cNodes++;\r\n\r\n          //\r\n          // Construct the path to this new subdirectory.\r\n          //\r\n          *szEndPath = CHAR_NULL;\r\n          AddBackslash(szPath);\r\n          lstrcat(szPath, lfndta.fd.cFileName);         // cFileName is ANSI now\r\n\r\n\r\n          // either recurse or add pluses\r\n\r\n          if (bFullyExpand || bAutoExpand) {\r\n\r\n             // If we are recursing due to bAutoExpand\r\n             // then pass it.  Else pass NULL instead.\r\n\r\n              if (!ReadDirLevel(hwndTreeCtl, pNode, szPath, uLevel+1,\r\n                 iNode, dwAttribs, bFullyExpand,\r\n                 bAutoExpand ? szAutoExpand : NULL, bPartialSort)) {\r\n\r\n                 bResult = FALSE;\r\n                 goto DONE;\r\n              }\r\n          } else if (dwView & VIEW_PLUSES) {\r\n             ScanDirLevel(pNode, szPath, dwAttribs & (ATTR_HS | ATTR_JUNCTION));\r\n          }\r\n      }\r\n\r\n      if (lpStart && plpxdta)\r\n      {\r\n          //\r\n          // short cut, steal data from dir window\r\n          //\r\n          // Warning: count could be zero now, so may go negative.\r\n          //\r\n          count--;\r\n          ++plpxdta;\r\n\r\n          // find next directory which isn't the special parent node\r\n          while (count > 0)\r\n          {\r\n              lpxdta = *plpxdta;\r\n\r\n              if ( (lpxdta->dwAttrs & ATTR_DIR) &&\r\n                   !(lpxdta->dwAttrs & ATTR_PARENT))\r\n              {\r\n                  break;\r\n              }\r\n\r\n              //\r\n              // Go to next item.\r\n              //\r\n              count--;\r\n              ++plpxdta;\r\n          }\r\n\r\n          if (count > 0)\r\n          {\r\n              bFound = TRUE;\r\n\r\n              //\r\n              // Only need to copy attrs and file name\r\n              //\r\n              lfndta.fd.dwFileAttributes = lpxdta->dwAttrs;\r\n              lstrcpy(lfndta.fd.cFileName, MemGetFileName(lpxdta));\r\n          }\r\n          else\r\n          {\r\n             bFound = FALSE;\r\n          }\r\n      }\r\n      else\r\n      {\r\n          bFound = WFFindNext(&lfndta); // get it from dos\r\n\r\n          //\r\n          // if junctions are not displayed, continue to the next non-junction\r\n          //\r\n          if (bFound && !(dwAttribs & ATTR_JUNCTION))\r\n          {\r\n              bFound = WFFindNextNonJunction(&lfndta);\r\n          }\r\n      }\r\n  }\r\n\r\n  *szEndPath = CHAR_NULL;    // clean off any stuff we left on the end of the path\r\n\r\nDONE:\r\n\r\n  if (lpStart)\r\n  {\r\n      //\r\n      // No longer using it.\r\n      //\r\n      MemLinkToHead(lpStart)->fdwStatus &= ~LPXDTA_STATUS_READING;\r\n\r\n      //\r\n      // If we were stealing from a directory and then\r\n      // we tried to delete it (but couldn't since we're reading),\r\n      // we mark it as LPXDTA_STATUS_CLOSE.  If it's marked,\r\n      // free it.\r\n      //\r\n      if (MemLinkToHead(lpStart)->fdwStatus & LPXDTA_STATUS_CLOSE)\r\n          MemDelete(lpStart);\r\n  }\r\n  else\r\n  {\r\n      WFFindClose(&lfndta);\r\n  }\r\n\r\n   SetWindowLongPtr(hwndTreeCtl,\r\n                 GWL_READLEVEL,\r\n                 GetWindowLongPtr(hwndTreeCtl, GWL_READLEVEL) - 1);\r\n\r\n   iReadLevel--;\r\n\r\n   //\r\n   //  Renable drive list combo box if the readlevel is at 0.\r\n   //\r\n   if (iReadLevel == 0)\r\n   {\r\n       EnableWindow(hwndDriveList, TRUE);\r\n   }\r\n\r\n   return bResult;\r\n}\r\n\r\n\r\n// this is used by StealTreeData() to avoid alias problems where\r\n// the nodes in one tree point to parents in the other tree.\r\n// basically, as we are duplicating the tree data structure we\r\n// have to find the parent node that corresponds with the parent\r\n// of the tree we are copying from in the tree that we are building.\r\n// since the tree is build in order we run up the listbox, looking\r\n// for the parent (matched by it's level being one smaller than\r\n// the level of the node being inserted).  when we find that we\r\n// return the pointer to that node.\r\n\r\nPDNODE\r\nFindParent(\r\n   INT iLevelParent,\r\n   INT iStartInd,\r\n   HWND hwndLB)\r\n{\r\n   PDNODE pNode;\r\n\r\n   while (TRUE) {\r\n      if (SendMessage(hwndLB, LB_GETTEXT, iStartInd, (LPARAM)&pNode) == LB_ERR)\r\n         return NULL;\r\n\r\n      if (pNode->nLevels == (BYTE)iLevelParent) {\r\n           // NOTE: seems like a duplicate and unnecessary call to the one above\r\n         SendMessage(hwndLB, LB_GETTEXT, iStartInd, (LPARAM)&pNode);\r\n         return pNode;\r\n      }\r\n\r\n      iStartInd--;\r\n   }\r\n}\r\n\r\n\r\n\r\nBOOL\r\nStealTreeData(\r\n   HWND hwndTC,\r\n   HWND hwndLB,\r\n   LPWSTR szDir)\r\n{\r\n   HWND hwndSrc, hwndT;\r\n   WCHAR szSrc[MAXPATHLEN];\r\n   DWORD dwView;\r\n   DWORD dwAttribs;\r\n\r\n   hwndT = NULL;\r\n\r\n   //\r\n   // we need to match on these attributes as well as the name\r\n   //\r\n   dwView    = GetWindowLongPtr(GetParent(hwndTC), GWL_VIEW) & VIEW_PLUSES;\r\n   dwAttribs = GetWindowLongPtr(GetParent(hwndTC), GWL_ATTRIBS) & (ATTR_HS | ATTR_JUNCTION);\r\n\r\n   //\r\n   // get the dir of this new window for compare below\r\n   //\r\n   for (hwndSrc = GetWindow(hwndMDIClient, GW_CHILD); hwndSrc;\r\n      hwndSrc = GetWindow(hwndSrc, GW_HWNDNEXT)) {\r\n\r\n      //\r\n      // avoid finding ourselves, make sure has a tree\r\n      // and make sure the tree attributes match\r\n      //\r\n      if ((hwndT = HasTreeWindow(hwndSrc)) &&\r\n         (hwndT != hwndTC) &&\r\n         !GetWindowLongPtr(hwndT, GWL_READLEVEL) &&\r\n         (dwView  == (DWORD)(GetWindowLongPtr(hwndSrc, GWL_VIEW) & VIEW_PLUSES)) &&\r\n         (dwAttribs == (DWORD)(GetWindowLongPtr(hwndSrc, GWL_ATTRIBS) & (ATTR_HS | ATTR_JUNCTION)))) {\r\n\r\n         SendMessage(hwndSrc, FS_GETDIRECTORY, COUNTOF(szSrc), (LPARAM)szSrc);\r\n         StripBackslash(szSrc);\r\n\r\n         if (!lstrcmpi(szDir, szSrc))     // are they the same?\r\n            break;                  // yes, do stuff below\r\n      }\r\n   }\r\n\r\n   if (hwndSrc) {\r\n\r\n      HWND hwndLBSrc;\r\n      PDNODE pNode, pNewNode, pLastParent;\r\n      INT i;\r\n\r\n      hwndLBSrc = GetDlgItem(hwndT, IDCW_TREELISTBOX);\r\n\r\n      //\r\n      // don't seal from a tree that hasn't been read yet!\r\n      //\r\n      if ((INT)SendMessage(hwndLBSrc, LB_GETCOUNT, 0, 0L) == 0) {\r\n         return FALSE;\r\n      }\r\n\r\n      pLastParent = NULL;\r\n\r\n      for (i = 0; SendMessage(hwndLBSrc, LB_GETTEXT, i, (LPARAM)&pNode) != LB_ERR; i++) {\r\n\r\n         if (pNewNode = (PDNODE)LocalAlloc(LPTR, sizeof(DNODE) + ByteCountOf(lstrlen(pNode->szName)))) {\r\n\r\n            *pNewNode = *pNode;                             // dup the node\r\n            lstrcpy(pNewNode->szName, pNode->szName);       // and the name\r\n\r\n            //\r\n            // accelerate the case where we are on the same level to avoid\r\n            // slow linear search!\r\n            //\r\n            if (pLastParent && pLastParent->nLevels == (BYTE)(pNode->nLevels - (BYTE)1)) {\r\n               pNewNode->pParent = pLastParent;\r\n            } else {\r\n               pNewNode->pParent = pLastParent = FindParent(pNode->nLevels-1, i-1, hwndLB);\r\n            }\r\n\r\n            SendMessage(hwndLB, LB_INSERTSTRING, i, (LPARAM)pNewNode);\r\n            ASSERT((PDNODE)SendMessage(hwndLB, LB_GETITEMDATA, i, 0L) == pNewNode);\r\n         }\r\n      }\r\n\r\n      /*\r\n       *  Reset the max text extent value for the new window.\r\n       */\r\n      ResetTreeMax(hwndLB, FALSE);\r\n\r\n      return TRUE;    // successful steal\r\n   }\r\n\r\n   return FALSE;\r\n}\r\n\r\n\r\n\r\nVOID\r\nFreeAllTreeData(HWND hwndLB)\r\n{\r\n  INT nIndex;\r\n  PDNODE pNode;\r\n\r\n  // Free up the old tree (if any)\r\n\r\n  nIndex = (INT)SendMessage(hwndLB, LB_GETCOUNT, 0, 0L) - 1;\r\n  while (nIndex >= 0)\r\n  {\r\n      SendMessage(hwndLB, LB_GETTEXT, nIndex, (LPARAM)&pNode);\r\n      LocalFree((HANDLE)pNode);\r\n      nIndex--;\r\n  }\r\n\r\n  SendMessage(hwndLB, LB_RESETCONTENT, 0, 0L);\r\n  SetWindowLongPtr(GetParent(hwndLB), GWL_XTREEMAX, 0);\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  FillTreeListbox() -                                                     */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nVOID\r\nFillTreeListbox(HWND hwndTC,\r\n   LPTSTR szDefaultDir,\r\n   BOOL bFullyExpand,\r\n   BOOL bDontSteal)\r\n{\r\n   PDNODE pNode;\r\n   INT   iNode;\r\n   DWORD dwAttribs;\r\n   TCHAR  szTemp[MAXPATHLEN+1] = SZ_ACOLONSLASH;\r\n   TCHAR  szExpand[MAXPATHLEN+1];\r\n   LPTSTR  p;\r\n   HWND  hwndLB;\r\n   BOOL bPartialSort;\r\n   DRIVE drive;\r\n\r\n   pNode = NULL;\r\n\r\n   hwndLB = GetDlgItem(hwndTC, IDCW_TREELISTBOX);\r\n\r\n   FreeAllTreeData(hwndLB);\r\n\r\n   SendMessage(hwndLB, WM_SETREDRAW, FALSE, 0L);\r\n\r\n   if (bDontSteal || bFullyExpand || !StealTreeData(hwndTC, hwndLB, szDefaultDir)) {\r\n\r\n      drive = DRIVEID(szDefaultDir);\r\n      DRIVESET(szTemp, drive);\r\n\r\n      //\r\n      // Hack: if NTFS/HPFS are partially sorted already\r\n      // Optimize for this\r\n      //\r\n      U_VolInfo(drive);\r\n\r\n      bPartialSort = IS_PARTIALSORT(drive);\r\n\r\n      iNode = InsertDirectory( hwndTC,\r\n                               NULL,\r\n                               0,\r\n                               szTemp,\r\n                               &pNode,\r\n                               IsCasePreservedDrive(DRIVEID(szDefaultDir)),\r\n                               bPartialSort,\r\n                               INVALID_FILE_ATTRIBUTES );\r\n\r\n      if (pNode) {\r\n\r\n         dwAttribs = (DWORD)GetWindowLongPtr(GetParent(hwndTC), GWL_ATTRIBS);\r\n         dwAttribs = ATTR_DIR | (dwAttribs & (ATTR_HS | ATTR_JUNCTION));\r\n         cNodes = 0;\r\n         bCancelTree = FALSE;\r\n\r\n         if (szDefaultDir) {\r\n\r\n            lstrcpy(szExpand, szDefaultDir+3);  // skip \"X:\\\"\r\n            p = szExpand;\r\n\r\n            while (*p) {                // null out all slashes\r\n\r\n               while (*p && *p != CHAR_BACKSLASH)\r\n                  ++p;\r\n\r\n               if (*p)\r\n                  *p++ = CHAR_NULL;\r\n            }\r\n            p++;\r\n            *p = CHAR_NULL;  // double null terminated\r\n         } else\r\n            *szExpand = CHAR_NULL;\r\n\r\n         if (!ReadDirLevel(hwndTC, pNode, szTemp, 1, 0, dwAttribs,\r\n            bFullyExpand, szExpand, bPartialSort)) {\r\n\r\n            SPC_SET_NOTREE(qFreeSpace);\r\n\r\n         }\r\n      }\r\n   }\r\n\r\n   if (szDefaultDir) {\r\n      FindItemFromPath(hwndLB, szDefaultDir, FALSE, NULL, &pNode);\r\n   }\r\n\r\n   if (pNode != NULL) {\r\n      SendMessage(hwndLB, LB_SELECTSTRING, (WPARAM)-1, (LPARAM)pNode);\r\n   }\r\n\r\n   UpdateStatus(GetParent(hwndTC));  // Redraw the Status Bar\r\n\r\n   SendMessage(hwndLB, WM_SETREDRAW, TRUE, 0L);\r\n\r\n   InvalidateRect(hwndLB, NULL, TRUE);\r\n   UpdateWindow(hwndLB);                 // make this look a bit better\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  FillOutTreeList() -                                                     */\r\n/*     expand tree in place for the path give starting at the node given    */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nVOID\r\nFillOutTreeList(HWND hwndTC,\r\n   LPTSTR szDir,\r\n   DWORD nIndex,\r\n   PDNODE pNode)\r\n{\r\n   HWND  hwndLB;\r\n   DWORD dwAttribs;\r\n   LPTSTR  p;\r\n   TCHAR  szExists[MAXPATHLEN + 1];    // path that exists in tree\r\n   TCHAR  szExpand[MAXPATHLEN + 1];   // sequence of null terminated strings to expand\r\n\r\n   hwndLB = GetDlgItem(hwndTC, IDCW_TREELISTBOX);\r\n\r\n   // TODO: assert pNode is at nIndex.  and szDir begins with X:\\  szDir is a superset of szExists\r\n\r\n   SendMessage(hwndLB, WM_SETREDRAW, FALSE, 0L);\r\n\r\n   dwAttribs = (DWORD)GetWindowLongPtr(GetParent(hwndTC), GWL_ATTRIBS);\r\n   dwAttribs = ATTR_DIR | (dwAttribs & (ATTR_HS | ATTR_JUNCTION));\r\n\r\n   // get path to node that already exists in tree; will start reading from there\r\n   GetTreePath(pNode, szExists);\r\n\r\n   // convert szDir into a sequence of null terminated strings for each directory segment\r\n   // TODO: shared function\r\n   lstrcpy(szExpand, szDir + lstrlen(szExists) + 1);  // skip temp path (that which is already in tree) and intervening '\\\\'\r\n   p = szExpand;\r\n\r\n   while (*p) {                // null out all slashes\r\n\r\n      while (*p && *p != CHAR_BACKSLASH)\r\n         ++p;\r\n\r\n      if (*p)\r\n         *p++ = CHAR_NULL;\r\n   }\r\n   p++;\r\n   *p = CHAR_NULL;  // double null terminated\r\n\r\n   bCancelTree = 0;\r\n\r\n   if (!ReadDirLevel(hwndTC, pNode, szExists, pNode->nLevels + 1, nIndex, dwAttribs, FALSE, szExpand, FALSE)) {\r\n      SPC_SET_NOTREE(qFreeSpace);\r\n   }\r\n\r\n   if (FindItemFromPath(hwndLB, szDir, FALSE, NULL, &pNode)) {\r\n      // found desired path in newly expanded list; select\r\n      SendMessage(hwndLB, LB_SELECTSTRING, (WPARAM)-1, (LPARAM)pNode);\r\n   }\r\n\r\n   UpdateStatus(GetParent(hwndTC));  // Redraw the Status Bar\r\n\r\n   SendMessage(hwndLB, WM_SETREDRAW, TRUE, 0L);\r\n\r\n   InvalidateRect(hwndLB, NULL, TRUE);\r\n   UpdateWindow(hwndLB);                 // make this look a bit better\r\n}\r\n\r\n\r\n//\r\n// FindItemFromPath()\r\n//\r\n// find the PDNODE and LBIndex for a given path\r\n//\r\n// in:\r\n//      hwndLB          listbox of tree\r\n//      lpszPath        path to search for (ANSI)\r\n//      bReturnParent   TRUE if you want the parent, not the node\r\n//\r\n//\r\n// returns:\r\n//      TRUE if exact match; FALSE if not.\r\n//      *pIndex is listbox index pNode returned; (DWORD)-1 if no match found\r\n//      *ppNode is filled with pNode of node, or pNode of parent if bReturnParent is TRUE; NULL if not found\r\n//\r\n\r\nBOOL\r\nFindItemFromPath(\r\n   HWND hwndLB,\r\n   LPTSTR lpszPath,\r\n   BOOL bReturnParent,\r\n   DWORD *pIndex,\r\n   PDNODE *ppNode)\r\n{\r\n  DWORD              i;\r\n  LPTSTR             p;\r\n  PDNODE             pNode;\r\n  DWORD              iPreviousNode;\r\n  PDNODE             pPreviousNode;\r\n  TCHAR              szElement[1+MAXFILENAMELEN+1];\r\n\r\n  if (pIndex)\r\n    {\r\n      *pIndex = (DWORD)-1;\r\n    }\r\n  if (ppNode)\r\n    {\r\n      *ppNode = NULL;\r\n    }\r\n\r\n  if (!lpszPath || lstrlen(lpszPath) < 3 || lpszPath[1] != CHAR_COLON)\r\n    {\r\n      return FALSE;\r\n    }\r\n\r\n  i = 0;\r\n  iPreviousNode = (DWORD)-1;\r\n  pPreviousNode = NULL;\r\n\r\n  while (*lpszPath)\r\n    {\r\n      /* NULL out szElement[1] so the backslash hack isn't repeated with\r\n       * a first level directory of length 1.\r\n       */\r\n      szElement[1] = CHAR_NULL;\r\n\r\n      /* Copy the next section of the path into 'szElement' */\r\n      p = szElement;\r\n\r\n      while (*lpszPath && *lpszPath != CHAR_BACKSLASH)\r\n          *p++ = *lpszPath++;\r\n\r\n      /* Add a backslash for the Root directory. */\r\n\r\n      if (szElement[1] == CHAR_COLON)\r\n          *p++ = CHAR_BACKSLASH;\r\n\r\n      /* NULL terminate 'szElement' */\r\n      *p = CHAR_NULL;\r\n\r\n      /* Skip over the path's next Backslash. */\r\n\r\n      if (*lpszPath)\r\n          lpszPath++;\r\n\r\n      else if (bReturnParent)\r\n        {\r\n          /* We're at the end of a path which includes a filename.  Return\r\n           * the previously found parent.\r\n           */\r\n          if (pIndex) {\r\n              *pIndex = iPreviousNode;\r\n          }\r\n          if (ppNode) {\r\n              *ppNode = pPreviousNode;\r\n          }\r\n          return TRUE;\r\n        }\r\n\r\n      while (TRUE)\r\n        {\r\n          /* Out of LB items?  Not found. */\r\n          if (SendMessage(hwndLB, LB_GETTEXT, i, (LPARAM)&pNode) == LB_ERR)\r\n            {\r\n              if (pIndex)\r\n                {\r\n                  *pIndex = iPreviousNode;\r\n                }\r\n              if (ppNode)\r\n                {\r\n                  *ppNode = pPreviousNode;\r\n                }\r\n              return FALSE;\r\n            }\r\n\r\n          if (pNode->pParent == pPreviousNode)\r\n            {\r\n              if (!lstrcmpi(szElement, pNode->szName))\r\n                {\r\n                  /* We've found the element... */\r\n                  iPreviousNode = i;\r\n                  pPreviousNode = pNode;\r\n                  break;\r\n                }\r\n            }\r\n          i++;\r\n        }\r\n    }\r\n  if (pIndex)\r\n    {\r\n      *pIndex = iPreviousNode;\r\n    }\r\n  if (ppNode)\r\n    {\r\n      *ppNode = pPreviousNode;\r\n    }\r\n\r\n  return TRUE;\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  RectTreeItem() -                                                        */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nBOOL\r\nRectTreeItem(HWND hwndLB, INT iItem, BOOL bFocusOn)\r\n{\r\n   INT           len;\r\n   HDC           hdc;\r\n   RECT          rc;\r\n   RECT          rcClip;\r\n   BOOL          bSel;\r\n   WORD          wColor;\r\n   PDNODE         pNode;\r\n   HBRUSH        hBrush;\r\n   TCHAR          szPath[MAXPATHLEN];\r\n   SIZE          size;\r\n\r\n   if (iItem == -1) {\r\n\r\nEmptyStatusAndReturn:\r\n      SendMessage(hwndStatus, SB_SETTEXT, SBT_NOBORDERS|255,\r\n         (LPARAM)szNULL);\r\n      UpdateWindow(hwndStatus);\r\n      return FALSE;\r\n   }\r\n\r\n   // Are we over ourselves? (i.e. a selected item in the source listbox)\r\n\r\n   bSel = (BOOL)SendMessage(hwndLB, LB_GETSEL, iItem, 0L);\r\n\r\n   if (bSel && (hwndDragging == hwndLB))\r\n      goto EmptyStatusAndReturn;\r\n\r\n   if (SendMessage(hwndLB, LB_GETTEXT, iItem, (LPARAM)&pNode) == LB_ERR)\r\n      goto EmptyStatusAndReturn;\r\n\r\n   SendMessage(hwndLB, LB_GETITEMRECT, iItem, (LPARAM)(LPRECT)&rc);\r\n\r\n   hdc = GetDC(hwndLB);\r\n\r\n   /*\r\n    *  Save the real extent.\r\n    */\r\n   size.cx = GetRealExtent(pNode, NULL, szPath, &len);\r\n   size.cx += dyBorder;\r\n\r\n\r\n   // rc.left always equals 0 regardless if the horizontal scrollbar\r\n   // is scrolled.  Furthermore, the DC of the listbox uses the visible\r\n   // upper-left corner as (0,0) instead of the conceptual one.\r\n\r\n   // To fix this problem, we subtract of the offset between the visible\r\n   // left edge and the conceptual one.  This is done by checking the\r\n   // size of the visible window and subtracting this from the right\r\n   // edge, which is correct.\r\n\r\n   // moved up\r\n   GetClientRect(hwndLB, &rcClip);\r\n\r\n   rc.left = pNode->nLevels * dxText * 2 -\r\n      (rc.right - (rcClip.right-rcClip.left));\r\n\r\n   rc.right = rc.left + dxFolder + size.cx + 4 * dyBorderx2;\r\n\r\n   IntersectRect(&rc, &rc, &rcClip);\r\n\r\n   if (bFocusOn) {\r\n\r\n      GetTreePath(pNode, szPath);\r\n      StripBackslash(szPath);\r\n\r\n      SetStatusText(SBT_NOBORDERS|255, SST_FORMAT|SST_RESOURCE,\r\n               (LPCTSTR)(DWORD_PTR)GetDragStatusText(iShowSourceBitmaps),\r\n               szPath);\r\n      UpdateWindow(hwndStatus);\r\n\r\n      if (bSel) {\r\n          wColor = COLOR_WINDOW;\r\n          InflateRect(&rc, -dyBorder, -dyBorder);\r\n      } else\r\n          wColor = COLOR_WINDOWFRAME;\r\n      if (hBrush = CreateSolidBrush(GetSysColor(wColor))) {\r\n        FrameRect(hdc, &rc, hBrush);\r\n        DeleteObject(hBrush);\r\n      }\r\n   } else {\r\n      InvalidateRect(hwndLB, &rc, TRUE);\r\n      UpdateWindow(hwndLB);\r\n   }\r\n   ReleaseDC(hwndLB, hdc);\r\n   return TRUE;\r\n}\r\n\r\n//\r\n// return the drive of the first window to respond to the FS_GETDRIVE\r\n// message.  this usually starts from the source or dest of a drop\r\n// and travels up until we find a drive or hit the MDI client\r\n//\r\nINT\r\nGetDrive(HWND hwnd, POINT pt)\r\n{\r\n   WCHAR chDrive;\r\n\r\n   //\r\n   // make sure we are not sending the FS_GETDRIVE message to other apps\r\n   //\r\n   if (GetWindowLongPtr(hwnd, GWLP_HINSTANCE) != (LONG_PTR)hAppInstance)\r\n      return 0;\r\n\r\n   chDrive = CHAR_NULL;\r\n   while (hwnd && (hwnd != hwndMDIClient)) {\r\n      chDrive = (TCHAR)SendMessage(hwnd, FS_GETDRIVE, 0, MAKELONG((WORD)pt.x, (WORD)pt.y));\r\n\r\n      if (chDrive)\r\n         return chDrive;\r\n\r\n      hwnd = GetParent(hwnd); // try the next higher up\r\n   }\r\n\r\n   return 0;\r\n}\r\n\r\n\r\nBOOL\r\nIsNetPath(PDNODE pNode)\r\n{\r\n   // 2* buffer for single file overflow\r\n   TCHAR szPath[MAXPATHLEN * 2];\r\n   DWORD dwType;\r\n   DRIVE drive;\r\n\r\n\r\n   if (!WAITNET_TYPELOADED)\r\n      return FALSE;\r\n\r\n   //\r\n   // Only do WNetGetDirectoryType if the drive\r\n   // hasn't failed before on this call.\r\n   //\r\n   if (pNode->dwNetType == (DWORD)-1)\r\n   {\r\n      GetTreePath(pNode, szPath);\r\n      drive = DRIVEID(szPath);\r\n\r\n      if (!aDriveInfo[drive].bShareChkFail &&\r\n          WNetGetDirectoryType( szPath,\r\n                                &dwType,\r\n                                !aDriveInfo[drive].bShareChkTried ) == WN_SUCCESS)\r\n      {\r\n         pNode->dwNetType = dwType;\r\n      }\r\n      else\r\n      {\r\n         pNode->dwNetType = 0;\r\n         aDriveInfo[drive].bShareChkFail = TRUE;\r\n      }\r\n\r\n      aDriveInfo[drive].bShareChkTried = TRUE;\r\n   }\r\n\r\n   return pNode->dwNetType;\r\n}\r\n\r\n\r\nVOID\r\nTCWP_DrawItem(\r\n   LPDRAWITEMSTRUCT lpLBItem,\r\n   HWND hwndLB,\r\n   HWND hWnd)\r\n{\r\n  INT               x, y, dy;\r\n  INT               nLevel;\r\n  HDC               hdc;\r\n  UINT              len;\r\n  RECT              rc;\r\n  BOOL              bHasFocus, bDrawSelected;\r\n  PDNODE            pNode, pNTemp;\r\n  DWORD             rgbText;\r\n  DWORD             rgbBackground;\r\n  HBRUSH            hBrush, hOld;\r\n  INT iBitmap;\r\n  DWORD view;\r\n\r\n\r\n  // +1 added since IsNetPath->GetTreePath->GetTreePathIndirect\r\n  // is recursive and adds extra '\\' at end then strips it off\r\n  TCHAR      szPath[MAXPATHLEN+1];\r\n\r\n  SIZE      size;\r\n\r\n  if (lpLBItem->itemID == (DWORD)-1) {\r\n      return;\r\n  }\r\n\r\n  hdc = lpLBItem->hDC;\r\n  pNode = (PDNODE)lpLBItem->itemData;\r\n\r\n  PreserveBitmapInRTL(hdc);\r\n\r\n  /*\r\n   *  Save the real extent.\r\n   */\r\n  size.cx = GetRealExtent(pNode, NULL, szPath, &len);\r\n  size.cx += dyBorder;\r\n\r\n  rc = lpLBItem->rcItem;\r\n  rc.left = pNode->nLevels * dxText * 2;\r\n  rc.right = rc.left + dxFolder + size.cx + 4 * dyBorderx2;\r\n\r\n  if (lpLBItem->itemAction & (ODA_DRAWENTIRE | ODA_SELECT))\r\n  {\r\n      // draw the branches of the tree first\r\n\r\n      nLevel = pNode->nLevels;\r\n\r\n      x = (nLevel * dxText * 2) - dxText + dyBorderx2;\r\n      dy = lpLBItem->rcItem.bottom - lpLBItem->rcItem.top;\r\n      y = lpLBItem->rcItem.top + (dy/2);\r\n\r\n      if (hBrush = CreateSolidBrush(GetSysColor(COLOR_GRAYTEXT)))\r\n      {\r\n        hOld = SelectObject(hdc, hBrush);\r\n\r\n        if (pNode->pParent)\r\n        {\r\n          /* Draw the horizontal line over to the (possible) folder. */\r\n          PatBlt(hdc, x, y, dyText, dyBorder, PATCOPY);\r\n\r\n          /* Draw the top part of the vertical line. */\r\n          PatBlt(hdc, x, lpLBItem->rcItem.top, dyBorder, dy/2, PATCOPY);\r\n\r\n          /* If not the end of a node, draw the bottom part... */\r\n          if (!(pNode->wFlags & TF_LASTLEVELENTRY))\r\n              PatBlt(hdc, x, y+dyBorder, dyBorder, dy/2, PATCOPY);\r\n\r\n          /* Draw the verticals on the left connecting other nodes. */\r\n          pNTemp = pNode->pParent;\r\n          while (pNTemp)\r\n          {\r\n              nLevel--;\r\n              if (!(pNTemp->wFlags & TF_LASTLEVELENTRY))\r\n                  PatBlt(hdc, (nLevel * dxText * 2) - dxText + dyBorderx2,\r\n                         lpLBItem->rcItem.top, dyBorder,dy, PATCOPY);\r\n\r\n              pNTemp = pNTemp->pParent;\r\n          }\r\n        }\r\n\r\n        if (hOld)\r\n          SelectObject(hdc, hOld);\r\n\r\n        DeleteObject(hBrush);\r\n      }\r\n\r\n      bDrawSelected = (lpLBItem->itemState & ODS_SELECTED);\r\n          bHasFocus = (GetFocus() == lpLBItem->hwndItem);\r\n\r\n      // draw text with the proper background or rect\r\n\r\n      if (bHasFocus && bDrawSelected)\r\n      {\r\n          rgbText = SetTextColor(hdc, GetSysColor(COLOR_HIGHLIGHTTEXT));\r\n          rgbBackground = SetBkColor(hdc, GetSysColor(COLOR_HIGHLIGHT));\r\n      }\r\n      else\r\n      {\r\n          //\r\n          //  Set Text color of Compressed items to BLUE and Encrypted items\r\n          //  to GREEN.\r\n          //\r\n          if (pNode->dwAttribs & ATTR_COMPRESSED)\r\n          {\r\n              rgbText = SetTextColor(hdc, RGB(0, 0, 255));\r\n          }\r\n          else if (pNode->dwAttribs & ATTR_ENCRYPTED)\r\n          {\r\n              rgbText = SetTextColor(hdc, RGB(0, 192, 0));\r\n          }\r\n          else\r\n          {\r\n              rgbText = SetTextColor(hdc, GetSysColor(COLOR_WINDOWTEXT));\r\n          }\r\n          rgbBackground = SetBkColor(hdc, GetSysColor(COLOR_WINDOW));\r\n      }\r\n\r\n      ExtTextOut(hdc, x + dxText + dxFolder + 2 * dyBorderx2,\r\n                      y-(dyText/2), ETO_OPAQUE, &rc,\r\n                      szPath, len, NULL);\r\n\r\n      // draw the bitmaps as needed\r\n\r\n      // HACK: Don't draw the bitmap when moving\r\n\r\n      if (iShowSourceBitmaps || (hwndDragging != hwndLB) || !bDrawSelected)\r\n      {\r\n            // Blt the proper folder bitmap\r\n\r\n            view = (DWORD)GetWindowLongPtr(GetParent(hWnd), GWL_VIEW);\r\n\r\n            if (IsNetPath(pNode)) {\r\n                if (bDrawSelected)\r\n                        iBitmap = BM_IND_OPENDFS;\r\n                else\r\n                        iBitmap = BM_IND_CLOSEDFS;\r\n\r\n            } else if (!(view & VIEW_PLUSES) || !(pNode->wFlags & TF_HASCHILDREN)) {\r\n               if (bDrawSelected)  {\r\n                  if (pNode->dwAttribs & (ATTR_SYMBOLIC | ATTR_JUNCTION))\r\n                     iBitmap = BM_IND_OPENREPARSE;\r\n                  else\r\n                     iBitmap = BM_IND_OPEN;\r\n               } else {\r\n                  if (pNode->dwAttribs & (ATTR_SYMBOLIC | ATTR_JUNCTION))\r\n                     iBitmap = BM_IND_CLOSEREPARSE;\r\n                  else\r\n                     iBitmap = BM_IND_CLOSE;\r\n               }\r\n            } else {\r\n                if (pNode->wFlags & TF_EXPANDED) {\r\n                        if (bDrawSelected)\r\n                                iBitmap = BM_IND_OPENMINUS;\r\n                        else\r\n                                iBitmap = BM_IND_CLOSEMINUS;\r\n                } else {\r\n                        if (bDrawSelected)\r\n                                iBitmap = BM_IND_OPENPLUS;\r\n                        else\r\n                                iBitmap = BM_IND_CLOSEPLUS;\r\n                }\r\n            }\r\n            BitBlt(hdc, x + dxText + dyBorder, y-(dyFolder/2), dxFolder, dyFolder,\r\n                hdcMem, iBitmap * dxFolder, (bHasFocus && bDrawSelected) ? dyFolder : 0, SRCCOPY);\r\n      }\r\n\r\n      // restore text stuff and draw rect as required\r\n\r\n      if (bDrawSelected) {\r\n          if (bHasFocus) {\r\n              SetTextColor(hdc, rgbText);\r\n              SetBkColor(hdc, rgbBackground);\r\n          } else {\r\n              HBRUSH hbr;\r\n              if (hbr = CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT))) {\r\n                  FrameRect(hdc, &rc, hbr);\r\n                  DeleteObject(hbr);\r\n              }\r\n          }\r\n      }\r\n  }\r\n\r\n  if (lpLBItem->itemAction == ODA_FOCUS)\r\n      DrawFocusRect(hdc, &rc);\r\n}\r\n\r\n#ifdef TBCUSTSHOWSHARE\r\nVOID\r\nGetTreeUNCName(HWND hwndTree, LPTSTR szBuf, INT nBuf)\r\n{\r\n   PDNODE pNode;\r\n   LPTSTR lpszPath;\r\n   DWORD dwSize;\r\n   INT i;\r\n   HWND hwndLB;\r\n   DWORD dwError;\r\n\r\n   if (GetWindowLongPtr(hwndTree, GWL_READLEVEL))\r\n      goto notshared;\r\n\r\n   hwndLB = GetDlgItem(hwndTree, IDCW_TREELISTBOX);\r\n\r\n   i = (INT)SendMessage(hwndLB, LB_GETCURSEL, 0, 0L);\r\n   if (i < 0)\r\n      goto notshared;\r\n\r\n   SendMessage(hwndLB, LB_GETTEXT, i, (LPARAM)&pNode);\r\n\r\n   if (pNode != NULL && pNode->dwNetType) {\r\n      GetMDIWindowText(GetParent(hwndTree), szPath, COUNTOF(szPath));\r\n      StripFilespec(szPath);\r\n      StripBackslash(szPath);\r\n\r\n      dwSize = MAXPATHLEN;\r\n\r\nRetry:\r\n      lpszPath = (LPTSTR) LocalAlloc(LPTR, ByteCountOf(dwSize));\r\n\r\n      if (!lpszPath)\r\n         goto notshared;\r\n\r\n      //\r\n      // !! LATER !!\r\n      //\r\n      // Don't wait, just ignore\r\n      //\r\n      WAITNET();\r\n\r\n      dwError = WNetGetConnection(szPath, szMessage, &dwSize);\r\n\r\n      if (ERROR_MORE_DATA == dwError) {\r\n\r\n         LocalFree((HLOCAL)lpszPath);\r\n         goto Retry;\r\n      }\r\n\r\n      if (NO_ERROR != dwError)\r\n         goto notshared;\r\n\r\n      if (LoadString(hAppInstance, IDS_SHAREDAS, szPath, COUNTOF(szPath))) {\r\n\r\n         if (dwSize > COUNTOF(szPath)-lstrlen(szPath)+1) {\r\n            lpszPath[COUNTOF(szPath)-1-lstrlen(szPath)] = CHAR_NULL;\r\n         }\r\n\r\n         wsprintf(szBuf, szPath, szMessage);\r\n\r\n      } else {\r\n         StrNCpy(szBuf, szMessage, nBuf-1);\r\n      }\r\n\r\n      LocalFree ((HLOCAL)lpszPath);\r\n      return;\r\n   }\r\nnotshared:\r\n\r\n   LoadString(hAppInstance, IDS_NOTSHARED, szBuf, nBuf);\r\n}\r\n#endif\r\n\r\n\r\nVOID\r\nInvalidateNetTypes(HWND hwndTree)\r\n{\r\n   INT    cItems;\r\n   INT    iItem;\r\n   HWND   hwndLB;\r\n   PDNODE pNode;\r\n\r\n   if (!hwndTree)\r\n      return;\r\n\r\n   hwndLB = GetDlgItem(hwndTree, IDCW_TREELISTBOX);\r\n\r\n   cItems = (INT)SendMessage(hwndLB, LB_GETCOUNT, 0, 0L);\r\n\r\n   for (iItem = 0; iItem < cItems; iItem++) {\r\n      if (SendMessage(hwndLB, LB_GETTEXT, iItem, (LPARAM)&pNode) == LB_ERR)\r\n         break;\r\n      pNode->dwNetType = (DWORD)-1;\r\n   }\r\n\r\n   InvalidateRect(hwndLB, NULL, TRUE);\r\n   UpdateWindow(hwndLB);\r\n}\r\n\r\n\r\nVOID\r\nInvalidateAllNetTypes(VOID)\r\n{\r\n   HWND hwndT, hwndNext, hwndDir;\r\n\r\n   for (hwndT=GetWindow(hwndMDIClient, GW_CHILD); hwndT; hwndT=hwndNext) {\r\n      hwndNext = GetWindow(hwndT, GW_HWNDNEXT);\r\n      if (hwndT != hwndSearch && !GetWindow(hwndT, GW_OWNER)) {\r\n         InvalidateNetTypes(HasTreeWindow(hwndT));\r\n         if (hwndDir = HasDirWindow(hwndT))\r\n            SendMessage(hwndDir, FS_CHANGEDISPLAY, CD_PATH, 0L);\r\n      }\r\n   }\r\n\r\n   if (hwndSearch)\r\n      InvalidateRect(hwndSearch, NULL, FALSE);\r\n\r\n   EnableStopShareButton();\r\n}\r\n\r\n\r\n/* A helper for both ExpandLevel and TreeCtlWndProc.TC_COLLAPSELEVEL.\r\n * Code moved from TreeCtlWndProc to be shared.  EDH 13 Oct 91\r\n */\r\nVOID\r\nCollapseLevel(HWND hwndLB, PDNODE pNode, INT nIndex)\r\n{\r\n  PDNODE pParentNode = pNode;\r\n  INT nIndexT = nIndex;\r\n  UINT xTreeMax;\r\n\r\n  //\r\n  // Don't do anything while the tree is being built.\r\n  //\r\n  if (GetWindowLongPtr(GetParent(hwndLB), GWL_READLEVEL))\r\n     return;\r\n\r\n  /* Disable redrawing early. */\r\n  SendMessage(hwndLB, WM_SETREDRAW, FALSE, 0L);\r\n\r\n  xTreeMax = (UINT)GetWindowLongPtr(GetParent(hwndLB), GWL_XTREEMAX);\r\n\r\n  nIndexT++;\r\n\r\n  /* Remove all subdirectories. */\r\n\r\n  while (TRUE)\r\n  {\r\n    /* Make sure we don't run off the end of the listbox. */\r\n    if (SendMessage(hwndLB, LB_GETTEXT, nIndexT, (LPARAM)&pNode) == LB_ERR)\r\n      break;\r\n\r\n    if (pNode->nLevels <= pParentNode->nLevels)\r\n      break;\r\n\r\n    if (CALC_EXTENT(pNode) == xTreeMax)\r\n    {\r\n        xTreeMax = 0;\r\n    }\r\n\r\n    LocalFree((HANDLE)pNode);\r\n\r\n    SendMessage(hwndLB, LB_DELETESTRING, nIndexT, 0L);\r\n  }\r\n\r\n  if (xTreeMax == 0)\r\n  {\r\n      ResetTreeMax(hwndLB, FALSE);\r\n  }\r\n\r\n  pParentNode->wFlags &= ~TF_EXPANDED;\r\n  SendMessage(hwndLB, WM_SETREDRAW, TRUE, 0L);\r\n\r\n  InvalidateRect(hwndLB, NULL, TRUE);\r\n}\r\n\r\n\r\nVOID\r\nExpandLevel(HWND hWnd, WPARAM wParam, INT nIndex, LPTSTR szPath)\r\n{\r\n  HWND hwndLB;\r\n  PDNODE pNode;\r\n  INT iNumExpanded;\r\n  INT iBottomIndex;\r\n  INT iTopIndex;\r\n  INT iNewTopIndex;\r\n  INT iExpandInView;\r\n  INT iCurrentIndex;\r\n  RECT rc;\r\n  DWORD dwAttribs;\r\n\r\n  //\r\n  // Don't do anything while the tree is being built.\r\n  //\r\n  if (GetWindowLongPtr(hWnd, GWL_READLEVEL))\r\n     return;\r\n\r\n  hwndLB = GetDlgItem(hWnd, IDCW_TREELISTBOX);\r\n\r\n  if (nIndex == -1)\r\n      if ((nIndex = (INT)SendMessage(hwndLB, LB_GETCURSEL, 0, 0L)) == LB_ERR)\r\n      return;\r\n\r\n  SendMessage(hwndLB, LB_GETTEXT, nIndex, (LPARAM)&pNode);\r\n\r\n  // collapse the current contents so we avoid doubling existing \"plus\" dirs\r\n\r\n  if (pNode->wFlags & TF_EXPANDED) {\r\n     if (wParam)\r\n        CollapseLevel(hwndLB, pNode, nIndex);\r\n     else\r\n        return;\r\n  }\r\n\r\n  GetTreePath(pNode, szPath);\r\n\r\n#if 0\r\n\r\n  //\r\n  // GetTreePath already does this.\r\n  //\r\n  StripBackslash(szPath);   // remove the slash\r\n\r\n  //\r\n  // This doesn't do us any good.\r\n  //\r\n  if (!szPath[3])       // and any slashes on root dirs\r\n      szPath[2] = CHAR_NULL;\r\n#endif\r\n\r\n  cNodes = 0;\r\n  bCancelTree = FALSE;\r\n\r\n  SendMessage(hwndLB, WM_SETREDRAW, FALSE, 0L);   // Disable redrawing.\r\n\r\n  iCurrentIndex = (INT)SendMessage(hwndLB, LB_GETCURSEL, 0, 0L);\r\n  iNumExpanded = (INT)SendMessage(hwndLB, LB_GETCOUNT, 0, 0L);\r\n  iTopIndex = (INT)SendMessage(hwndLB, LB_GETTOPINDEX, 0, 0L);\r\n  GetClientRect(hwndLB, &rc);\r\n  iBottomIndex = iTopIndex + (rc.bottom+1) / dyFileName;\r\n\r\n  U_VolInfo(DRIVEID(szPath));\r\n\r\n  if (IsTheDiskReallyThere(hWnd, szPath, FUNC_EXPAND, FALSE))\r\n  {\r\n     dwAttribs = (DWORD)GetWindowLongPtr(GetParent(hWnd), GWL_ATTRIBS);\r\n     dwAttribs = ATTR_DIR | (dwAttribs & (ATTR_HS | ATTR_JUNCTION));\r\n     ReadDirLevel(hWnd, pNode, szPath, pNode->nLevels + 1, nIndex, dwAttribs,\r\n        (BOOL)wParam, NULL, IS_PARTIALSORT(DRIVEID(szPath)));\r\n  }\r\n\r\n  // this is how many will be in view\r\n\r\n  iExpandInView = (iBottomIndex - (INT)iCurrentIndex);\r\n\r\n  iNumExpanded = (INT)SendMessage(hwndLB, LB_GETCOUNT, 0, 0L) - iNumExpanded;\r\n\r\n  if (iNumExpanded >= iExpandInView) {\r\n\r\n    iNewTopIndex = min((INT)iCurrentIndex, iTopIndex + iNumExpanded - iExpandInView + 1);\r\n\r\n    // Control tree view scroll behavior on expand via winfile.ini[Settings]ScrollOnExpand. Default == TRUE\r\n    if (TRUE == bScrollOnExpand)\r\n      SendMessage(hwndLB, LB_SETTOPINDEX, (WPARAM)iNewTopIndex, 0L);\r\n  }\r\n\r\n  SendMessage(hwndLB, WM_SETREDRAW, TRUE, 0L);\r\n\r\n\r\n  // must must ivalidate uncond. BUG WB32#222\r\n  // \"because we could get here between ownerdraw messages\"\r\n  // if (iNumExpanded)\r\n\r\n  InvalidateRect(hwndLB, NULL, TRUE);\r\n\r\n  // Redraw the Status Bar\r\n\r\n  UpdateStatus(GetParent(hWnd));\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     TreeControlWndProc\r\n//\r\n// Synopsis:\r\n//\r\n// Return:\r\n// Assumes:\r\n// Effects:\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nLRESULT\r\nCALLBACK\r\nTreeControlWndProc(\r\n   HWND hwnd,\r\n   UINT uMsg,\r\n   WPARAM wParam,\r\n   LPARAM lParam)\r\n{\r\n   INT    iSel;\r\n   INT    i, j;\r\n   INT    nIndex;\r\n   PDNODE pNode, pNodeNext;\r\n   HWND  hwndLB;\r\n   HWND  hwndParent;\r\n\r\n   //\r\n   // Buffer size must be *3 since TreeWndProc::FS_GETFILESPEC\r\n   // calls GetMDIWindowText with (szPath+strlen(szPath)) then...\r\n   // GetMDIWindowText expects 2* MAXFILELEN!\r\n   //\r\n\r\n   WCHAR      szPath[MAXPATHLEN*3];\r\n\r\n   hwndLB = GetDlgItem(hwnd, IDCW_TREELISTBOX);\r\n   hwndParent = GetParent(hwnd);\r\n\r\n   switch (uMsg) {\r\n   case FS_GETDRIVE:\r\n      return (GetWindowLongPtr(hwndParent, GWL_TYPE) + L'A');\r\n\r\n   case TC_COLLAPSELEVEL:\r\n   {\r\n      PDNODE     pParentNode;\r\n\r\n      //\r\n      // Don't do anything while the tree is being built.\r\n      //\r\n      if (GetWindowLongPtr(hwnd, GWL_READLEVEL))\r\n         break;\r\n\r\n      if (wParam) {\r\n         nIndex = (INT)wParam;\r\n      } else {\r\n         nIndex = (INT)SendMessage(hwndLB, LB_GETCURSEL, 0, 0L);\r\n         if (nIndex == LB_ERR)\r\n            break;\r\n      }\r\n\r\n      SendMessage(hwndLB, LB_GETTEXT, nIndex, (LPARAM)&pParentNode);\r\n\r\n      //\r\n      // short circuit if we are already in this state\r\n      //\r\n      if (!(pParentNode->wFlags & TF_EXPANDED))\r\n         break;\r\n\r\n      CollapseLevel(hwndLB, pParentNode, nIndex);\r\n\r\n      break;\r\n   }\r\n\r\n   case TC_EXPANDLEVEL:\r\n\r\n      //\r\n      // Don't do anything while the tree is being built.\r\n      //\r\n      if (GetWindowLongPtr(hwnd, GWL_READLEVEL))\r\n         break;\r\n\r\n      ExpandLevel(hwnd, wParam, (INT)-1, szPath);\r\n      break;\r\n\r\n   case TC_TOGGLELEVEL:\r\n\r\n      //\r\n      // Don't do anything while the tree is being built.\r\n      //\r\n      if (GetWindowLongPtr(hwnd, GWL_READLEVEL))\r\n         return 1;\r\n\r\n      SendMessage(hwndLB, LB_GETTEXT, (INT)SendMessage(hwndLB, LB_GETCURSEL, 0, 0L), (LPARAM)&pNode);\r\n\r\n      if (pNode->wFlags & TF_EXPANDED)\r\n         uMsg = TC_COLLAPSELEVEL;\r\n      else\r\n         uMsg = TC_EXPANDLEVEL;\r\n\r\n      SendMessage(hwnd, uMsg, FALSE, 0L);\r\n      break;\r\n\r\n   case TC_RECALC_EXTENT:\r\n   {\r\n       ResetTreeMax((HWND)wParam, TRUE);\r\n\r\n       break;\r\n   }\r\n\r\n   case TC_GETDIR:\r\n\r\n      //\r\n      // get a full path for a particular dir\r\n      // wParam is the listbox index of path to get\r\n      // lParam LOWORD is LPTSTR to buffer to fill in\r\n      //\r\n      // handle INVALID_HANDLE_VALUE case = cursel\r\n      //\r\n\r\n      if (wParam == (WPARAM) -1)\r\n      {\r\n         wParam = (WPARAM) SendMessage(hwndLB, LB_GETCURSEL, 0, 0L);\r\n\r\n         /*\r\n          *  Make sure something is highlighted, so that pNode can\r\n          *  get set to something.  Simply set it to the first item.\r\n          */\r\n         if (wParam == (WPARAM) -1)\r\n         {\r\n             wParam = (WPARAM) 0;\r\n             if (SendMessage(hwndLB, LB_SETCURSEL, wParam, 0L) == LB_ERR)\r\n             {\r\n                 return ( (WPARAM) -1 );\r\n             }\r\n         }\r\n      }\r\n\r\n      SendMessage(hwndLB, LB_GETTEXT, wParam, (LPARAM)&pNode);\r\n      GetTreePath(pNode, (LPTSTR)lParam);\r\n\r\n      return (wParam);\r\n\r\n   case TC_SETDIRECTORY:\r\n   {\r\n      //\r\n      // set the selection in the tree to that for a given path\r\n      //\r\n      DWORD i;\r\n\r\n      if (FindItemFromPath(hwndLB, (LPTSTR)lParam, wParam != 0, &i, NULL))\r\n      {\r\n         SendMessage(hwndLB, LB_SETCURSEL, i, 0L);\r\n\r\n         // update dir window if it exists (which also updates MDI text)\r\n         SendMessage(hwnd,\r\n            WM_COMMAND,\r\n            GET_WM_COMMAND_MPS(IDCW_TREELISTBOX,\r\n               hwndLB,\r\n               LBN_SELCHANGE));\r\n      }\r\n      break;\r\n   }\r\n\r\n   case TC_SETDRIVE:\r\n   {\r\n#define fFullyExpand    LOBYTE(wParam)\r\n#define fDontSteal      HIBYTE(wParam)\r\n#define fDontSelChange  HIWORD(wParam)\r\n#define szDir           (LPTSTR)lParam  // NULL -> default == window text.\r\n\r\n      //\r\n      // Don't do anything while the tree is being built.\r\n      //\r\n      if (GetWindowLongPtr(hwnd, GWL_READLEVEL))\r\n         break;\r\n\r\n      RECT rc;\r\n      DWORD i;\r\n      PDNODE    pNode;\r\n\r\n      // do the same as TC_SETDIRECTORY above for the simple case\r\n      if (FindItemFromPath(hwndLB, (LPTSTR)lParam, 0, &i, &pNode))\r\n      {\r\n         // found exact node already displayed; select it and continue\r\n         SendMessage(hwndLB, LB_SETCURSEL, i, 0L);\r\n\r\n         goto UpdateDirSelection;\r\n      }\r\n\r\n      if (!fFullyExpand && pNode)\r\n      {\r\n         // expand in place if pNode != null; index (i) also set\r\n         FillOutTreeList(hwnd, szDir, i, pNode);\r\n\r\n         goto UpdateDirSelection;\r\n      }\r\n\r\n      // else change drive (existing code)\r\n\r\n      //\r\n      // is the drive/dir specified?\r\n      //\r\n      if (szDir) {\r\n         lstrcpy(szPath, szDir);\r\n      } else {\r\n         SendMessage(hwndParent,\r\n                     FS_GETDIRECTORY,\r\n                     COUNTOF(szPath),\r\n                     (LPARAM)szPath);\r\n         StripBackslash(szPath);\r\n      }\r\n\r\n      CharUpperBuff(szPath, 1);     // make sure\r\n\r\n      SetWindowLongPtr(hwndParent, GWL_TYPE, szPath[0] - TEXT('A'));\r\n\r\n      //\r\n      // resize for new vol label\r\n      //\r\n      GetClientRect(hwndParent, &rc);\r\n      SendMessage(hwndParent, WM_SIZE, SIZENOMDICRAP, MAKELONG(rc.right, rc.bottom));\r\n\r\n      //\r\n      // ensure the disk is available if the whole dir structure is\r\n      // to be expanded\r\n      //\r\n      if (!fFullyExpand || IsTheDiskReallyThere(hwnd, szPath, FUNC_EXPAND, FALSE))\r\n         FillTreeListbox(hwnd, szPath, fFullyExpand, fDontSteal);\r\n\r\n  UpdateDirSelection:\r\n      if (!fDontSelChange) {\r\n         //\r\n         // and force the dir half to update with a fake SELCHANGE message\r\n         //\r\n         SendMessage(hwnd,\r\n                     WM_COMMAND,\r\n                     GET_WM_COMMAND_MPS(IDCW_TREELISTBOX,\r\n                                        hwndLB,\r\n                                        LBN_SELCHANGE));\r\n      }\r\n      break;\r\n#undef fFullyExpand\r\n#undef fDontSteal\r\n#undef fDontSelChange\r\n#undef szDir\r\n   }\r\n\r\n   case WM_CHARTOITEM:\r\n   {\r\n      INT       cItems;\r\n      WCHAR    ch;\r\n      PDNODE    pNode;\r\n      WCHAR rgchMatch[MAXPATHLEN];\r\n      SIZE_T cchMatch;\r\n\r\n      //\r\n      // backslash means the root\r\n      //\r\n      if ((ch = LOWORD(wParam)) == CHAR_BACKSLASH)\r\n         return 0L;\r\n\r\n      cItems = (INT)SendMessage(hwndLB, LB_GETCOUNT, 0, 0L);\r\n      i = (INT)SendMessage(hwndLB, LB_GETCURSEL, 0, 0L);\r\n\r\n      if (i < 0 || ch <= CHAR_SPACE)       // filter all other control chars\r\n         return -2L;\r\n\r\n      // if more that one character to match, start at current position; else next position\r\n      if (TypeAheadString(ch, rgchMatch))\r\n          j = 0;\r\n      else\r\n          j = 1;\r\n      for (; j < cItems; j++) {\r\n         SendMessage(hwndLB, LB_GETTEXT, (i+j) % cItems, (LPARAM)&pNode);\r\n\r\n         //\r\n         // Do it this way to be case insensitive.\r\n         //\r\n         cchMatch = wcslen(rgchMatch);\r\n         if (cchMatch > wcslen(pNode->szName))\r\n                cchMatch = wcslen(pNode->szName);\r\n         if (CompareString( LOCALE_USER_DEFAULT, NORM_IGNORECASE,\r\n             rgchMatch, (INT)cchMatch, pNode->szName, (INT)cchMatch) == 2)\r\n            break;\r\n\r\n      }\r\n\r\n      if (j == cItems)\r\n         return -2L;\r\n\r\n      SendMessage(hwndLB, LB_SETTOPINDEX, (i+j) % cItems, 0L);\r\n      return((i+j) % cItems);\r\n   }\r\n\r\n   case WM_DESTROY:\r\n      if (hwndLB == GetFocus()) {\r\n\r\n         HWND hwndDir;\r\n\r\n         if (hwndDir = HasDirWindow(hwndParent))\r\n            SetFocus(hwndDir);\r\n         else\r\n            SetFocus(hwndDriveBar);\r\n      }\r\n      {\r\n      IDropTarget *pDropTarget;\r\n\r\n      pDropTarget = (IDropTarget *)GetWindowLongPtr(hwnd, GWL_OLEDROP);\r\n      if (pDropTarget != NULL)\r\n        UnregisterDropWindow(hwnd, pDropTarget);\r\n      }\r\n      FreeAllTreeData(hwndLB);\r\n      break;\r\n\r\n   case WM_CREATE:\r\n      //\r\n      // create the owner draw list box for the tree\r\n      //\r\n      hwndLB = CreateWindowEx(0L,\r\n                              szListbox,\r\n                              NULL,\r\n                              WS_TREESTYLE | WS_BORDER,\r\n                              0, 0, 0, 0,\r\n                              hwnd,\r\n                              (HMENU)IDCW_TREELISTBOX,\r\n                              hAppInstance,\r\n                              NULL);\r\n\r\n      if (!hwndLB)\r\n         return -1L;\r\n\r\n      SendMessage(hwndLB, WM_SETFONT, (WPARAM)hFont, MAKELPARAM(TRUE, 0));\r\n      SetWindowLongPtr(hwnd, GWL_READLEVEL, 0);\r\n\r\n        {\r\n      WF_IDropTarget *pDropTarget;\r\n\r\n      RegisterDropWindow(hwnd, &pDropTarget);\r\n      SetWindowLongPtr(hwnd, GWL_OLEDROP, (LPARAM)pDropTarget);\r\n      }\r\n      break;\r\n\r\n   case WM_DRAWITEM:\r\n\r\n      TCWP_DrawItem((LPDRAWITEMSTRUCT)lParam, hwndLB, hwnd);\r\n      break;\r\n\r\n   case WM_FSC:\r\n   {\r\n      PDNODE pNodePrev;\r\n      PDNODE pNodeT;\r\n      DWORD  dwFSCOperation;\r\n      BOOLEAN bCreationOperation;\r\n      BOOLEAN bUpdateTree;\r\n\r\n      dwFSCOperation = FSC_Operation(wParam);\r\n      bCreationOperation = FALSE;\r\n\r\n      if (!lParam || dwFSCOperation == FSC_REFRESH) {\r\n         break;\r\n      }\r\n\r\n      if (dwFSCOperation == FSC_MKDIR ||\r\n          dwFSCOperation == FSC_JUNCTION ||\r\n          dwFSCOperation == FSC_SYMLINKD) {\r\n\r\n         bCreationOperation = TRUE;\r\n      }\r\n\r\n      //\r\n      // search for a tree node corresponding to the item (if it is being\r\n      // removed), or to the item's parent (if it is being added.)  If an\r\n      // item is not found, there is no further processing to perform.\r\n      //\r\n      if (!FindItemFromPath(hwndLB, (LPTSTR)lParam,\r\n          bCreationOperation, (DWORD*)&nIndex, &pNode)) {\r\n         break;\r\n      }\r\n\r\n      lstrcpy(szPath, (LPTSTR)lParam);\r\n      StripPath(szPath);\r\n\r\n      switch (dwFSCOperation) {\r\n      case FSC_MKDIR:\r\n      case FSC_JUNCTION:\r\n      case FSC_SYMLINKD:\r\n\r\n         //\r\n         // auto expand the branch so they can see the new\r\n         // directory just created\r\n         //\r\n         if (!(pNode->wFlags & TF_EXPANDED) &&\r\n            (nIndex == (INT)SendMessage(hwndLB, LB_GETCURSEL, 0, 0L)) &&\r\n            ((wParam & FSC_QUIET) == 0)) {\r\n\r\n            SendMessage(hwnd, TC_EXPANDLEVEL, FALSE, 0L);\r\n         }\r\n\r\n         //\r\n         // make sure this node isn't already here\r\n         //\r\n         if (FindItemFromPath(hwndLB, (LPTSTR)lParam, FALSE, NULL, NULL)) {\r\n            break;\r\n         }\r\n\r\n         //\r\n         // If FSC_JUNCTION, check if junctions should be displayed\r\n         //\r\n         bUpdateTree = TRUE;\r\n         if (dwFSCOperation == FSC_JUNCTION) {\r\n            DWORD dwAttribsToInclude;\r\n            dwAttribsToInclude = (DWORD)GetWindowLongPtr(GetParent(hwnd), GWL_ATTRIBS);\r\n            if ((dwAttribsToInclude & ATTR_JUNCTION) == 0) {\r\n               bUpdateTree = FALSE;\r\n            }\r\n         }\r\n\r\n         if (bUpdateTree) {\r\n\r\n            //\r\n            // Insert it into the tree listbox\r\n            //\r\n            InsertDirectory( hwnd,\r\n                             pNode,\r\n                             (WORD)nIndex,\r\n                             szPath,\r\n                             &pNodeT,\r\n                             IsCasePreservedDrive(DRIVEID(((LPTSTR)lParam))),\r\n                             FALSE,\r\n                             INVALID_FILE_ATTRIBUTES );\r\n\r\n            //\r\n            // Add a plus if necessary\r\n            //\r\n            if (GetWindowLongPtr(hwndParent, GWL_VIEW) & VIEW_PLUSES) {\r\n\r\n               lstrcpy(szPath, (LPTSTR)lParam);\r\n               ScanDirLevel( (PDNODE)pNodeT,\r\n                             szPath,\r\n                             (GetWindowLongPtr(hwndParent, GWL_ATTRIBS) & (ATTR_HS | ATTR_JUNCTION)));\r\n\r\n               //\r\n               // Invalidate the window so the plus gets drawn if needed\r\n               //\r\n               if (((PDNODE)pNodeT)->wFlags & TF_HASCHILDREN) {\r\n                  InvalidateRect(hwndLB, NULL, FALSE);\r\n               }\r\n            }\r\n         }\r\n\r\n         break;\r\n\r\n      case FSC_RMDIR:\r\n\r\n         //\r\n         // Don't do anything while the tree is being built.\r\n         //\r\n         if (GetWindowLongPtr(hwnd, GWL_READLEVEL))\r\n            break;\r\n\r\n         //\r\n         // NEVER delete the Root Dir!\r\n         //\r\n         if (nIndex == 0)\r\n            break;\r\n\r\n         if (pNode->wFlags & TF_LASTLEVELENTRY) {\r\n\r\n            // We are deleting the last subdirectory.\r\n            // If there are previous sibling directories, mark one\r\n            // as the last, else mark the parent as empty and unexpanded.\r\n            // It is necessary to do these checks if this bit\r\n            // is set, since if it isn't, there is another sibling\r\n            // with TF_LASTLEVELENTRY set, and so the parent is nonempty.\r\n            //\r\n            // Find the previous entry which has a level not deeper than\r\n            // the level of that being deleted.\r\n            i = nIndex;\r\n            do {\r\n               SendMessage(hwndLB, LB_GETTEXT, --i, (LPARAM)&pNodePrev);\r\n            } while (pNodePrev->nLevels > pNode->nLevels);\r\n\r\n            if (pNodePrev->nLevels == pNode->nLevels) {\r\n               // The previous directory is a sibling... it becomes\r\n               // the new last level entry.\r\n               pNodePrev->wFlags |= TF_LASTLEVELENTRY;\r\n            } else {\r\n\r\n               // In order to find this entry, the parent must have\r\n               // been expanded, so if the parent of the deleted dir\r\n               // has no listbox entries under it, it may be assumed that\r\n               // the directory has no children.\r\n               pNodePrev->wFlags &= ~(TF_HASCHILDREN | TF_EXPANDED);\r\n            }\r\n         }\r\n\r\n         // Are we deleting the current selection?\r\n         // if so we move the selection to the item above the current.\r\n         // this should work in all cases because you can't delete\r\n         // the root.\r\n\r\n         j = (INT)SendMessage(hwndLB, LB_GETCOUNT, 0, 0L);\r\n         i = (INT)SendMessage(hwndLB, LB_GETCURSEL, 0, 0L);\r\n\r\n         SendMessage(hwnd, TC_COLLAPSELEVEL, nIndex, 0L);\r\n         SendMessage(hwndLB, LB_DELETESTRING, nIndex, 0L);\r\n\r\n         if (i >= nIndex) {\r\n\r\n            //\r\n            // Set j to the number of dirs removed from the list\r\n            //\r\n            j -= (INT)SendMessage(hwndLB, LB_GETCOUNT, 0, 0L);\r\n\r\n            if (i < nIndex+j) {\r\n\r\n               //\r\n               // In the quiet case, don't change selection.\r\n               // FSC_RENAME will handle this for us.\r\n               //\r\n               if ((wParam & FSC_QUIET) == 0) {\r\n                  SendMessage(hwndLB, LB_SETCURSEL, nIndex - 1, 0L);\r\n                  SendMessage(hwnd, WM_COMMAND, GET_WM_COMMAND_MPS(0, hwndLB, LBN_SELCHANGE));\r\n               }\r\n\r\n            } else {\r\n               SendMessage(hwndLB, LB_SETCURSEL, i-j, 0L);\r\n            }\r\n         }\r\n\r\n         if (CALC_EXTENT(pNode) == (ULONG)GetWindowLongPtr(hwnd, GWL_XTREEMAX))\r\n         {\r\n             ResetTreeMax(hwndLB, FALSE);\r\n         }\r\n\r\n         LocalFree((HANDLE)pNode);\r\n         break;\r\n      }\r\n      break;\r\n   }\r\n\r\n   case WM_COMMAND:\r\n   {\r\n      UINT id;\r\n\r\n      id = GET_WM_COMMAND_ID(wParam, lParam);\r\n      switch (GET_WM_COMMAND_CMD(wParam, lParam)) {\r\n      case LBN_SELCHANGE:\r\n      {\r\n         HWND hwndDir;\r\n         INT CurSel;\r\n         UINT uStrLen;\r\n\r\n         //\r\n         // CurSel is returned from SendMessage\r\n         //\r\n         CurSel = (INT)SendMessage(hwnd, TC_GETDIR, (WPARAM) -1,(LPARAM)szPath);\r\n         if (CurSel == -1)\r\n         {\r\n             break;\r\n         }\r\n\r\n         AddBackslash(szPath);\r\n\r\n         uStrLen = lstrlen(szPath);\r\n         SendMessage(hwndParent, FS_GETFILESPEC, COUNTOF(szPath) - uStrLen, (LPARAM)(szPath + uStrLen));\r\n\r\n         if (hwndDir = HasDirWindow(hwndParent)) {\r\n\r\n            //\r\n            // update the dir window\r\n            //\r\n            id = CD_PATH;\r\n\r\n            //\r\n            // don't allow abort on first or last directories\r\n            //\r\n            if (CurSel > 0 &&\r\n               CurSel != ((INT)SendMessage(hwndLB, LB_GETCOUNT, 0, 0L) - 1)) {\r\n\r\n               id = CD_PATH | CD_ALLOWABORT;\r\n            }\r\n\r\n            SendMessage(hwndDir, FS_CHANGEDISPLAY, id, (LPARAM)szPath);\r\n\r\n         } else {\r\n            // TODO: why isn't this part of TC_SETDRIVE?  currently when a tree only is shown, the MDI window text is not updated\r\n            SetMDIWindowText(hwndParent, szPath);\r\n         }\r\n\r\n         //\r\n         // Don't put ModifyWatchList here, since it slows down\r\n         // the allowabort case\r\n         //\r\n         UpdateStatus(hwndParent);\r\n         break;\r\n      }\r\n\r\n      case LBN_DBLCLK:\r\n         SendMessage(hwndFrame, WM_COMMAND, GET_WM_COMMAND_MPS(IDM_OPEN, 0, 0));\r\n         break;\r\n\r\n      case LBN_SETFOCUS:\r\n      {\r\n         RECT rect;\r\n\r\n         SetWindowLongPtr(hwndParent, GWL_LASTFOCUS, (LPARAM)GET_WM_COMMAND_HWND(wParam, lParam));\r\n         UpdateStatus(hwndParent);  // update the status bar\r\nUpdateSelection:\r\n\r\n         iSel = (INT)SendMessage(hwndLB, LB_GETCURSEL, 0, 0L);\r\n\r\n         if ((INT)SendMessage(hwndLB,\r\n                              LB_GETITEMRECT,\r\n                              (WPARAM)iSel,\r\n                              (LPARAM)&rect) != LB_ERR)\r\n\r\n            InvalidateRect(hwndLB, &rect, TRUE);\r\n\r\n         break;\r\n      }\r\n\r\n      case LBN_KILLFOCUS:\r\n         SetWindowLongPtr(hwndParent, GWL_LASTFOCUS, 0L);\r\n         SetWindowLongPtr(hwndParent, GWL_LASTFOCUS, (LPARAM)GET_WM_COMMAND_HWND(wParam, lParam));\r\n\r\n         goto UpdateSelection;\r\n      }\r\n      break;\r\n   }\r\n\r\n   case WM_CONTEXTMENU:\r\n      ActivateCommonContextMenu(hwnd, hwndLB, lParam);\r\n      break;\r\n\r\n   case WM_LBTRACKPOINT:\r\n   {\r\n      //\r\n      // wParam is the listbox index that we are over\r\n      // lParam is the mouse point\r\n      //\r\n      // Return 0 to do nothing, 1 to abort everything, or\r\n      // 2 to abort just dblclicks.\r\n      //\r\n\r\n      HDC       hdc;\r\n      INT       xNode;\r\n      MSG       msg;\r\n      RECT      rc;\r\n      HFONT     hOld;\r\n      POINT     pt;\r\n      INT       len;\r\n      SIZE      size;\r\n\r\n      //\r\n      // Someone clicked somewhere in the listbox.\r\n      //\r\n      // Don't do anything while the tree is being built.\r\n      //\r\n      if (GetWindowLongPtr(hwnd, GWL_READLEVEL))\r\n         return 1;\r\n\r\n      //\r\n      // Get the node they clicked on.\r\n      //\r\n      SendMessage(hwndLB, LB_GETTEXT, wParam, (LPARAM)&pNode);\r\n      lstrcpy(szPath, pNode->szName);\r\n\r\n      if ( (wTextAttribs & TA_LOWERCASE) && (pNode->wFlags & TF_LOWERCASE) ||\r\n           (wTextAttribs & TA_LOWERCASEALL) )\r\n      {\r\n          CharLower(szPath);\r\n      }\r\n\r\n      len = BuildTreeName(szPath, lstrlen(szPath), COUNTOF(szPath));\r\n\r\n      //\r\n      // too FAR to the left?\r\n      //\r\n      i = LOWORD(lParam);\r\n\r\n      xNode = pNode->nLevels * dxText * 2;\r\n      if (i < xNode)\r\n         return 2; // yes, get out now\r\n\r\n      //\r\n      // too FAR to the right?\r\n      //\r\n      hdc = GetDC(hwndLB);\r\n      hOld = SelectObject(hdc, hFont);\r\n      GetTextExtentPoint32(hdc, szPath, len, &size);\r\n      size.cx += (dyBorderx2*2);\r\n      if (hOld)\r\n         SelectObject(hdc, hOld);\r\n      ReleaseDC(hwndLB, hdc);\r\n\r\n      if (i > xNode + dxFolder + size.cx + 4 * dyBorderx2)\r\n         return 2; // yes\r\n\r\n      //\r\n      // Emulate a SELCHANGE notification and notify our parent\r\n      //\r\n      SendMessage(hwndLB, LB_SETCURSEL, wParam, 0L);\r\n      SendMessage(hwnd, WM_COMMAND, GET_WM_COMMAND_MPS(0, hwndLB, LBN_SELCHANGE));\r\n\r\n      //\r\n      // make sure mouse still down\r\n      //\r\n      if (!(GetKeyState(VK_LBUTTON) & 0x8000))\r\n         return 1;\r\n\r\n      POINTSTOPOINT(pt, lParam);\r\n      ClientToScreen(hwndLB, (LPPOINT)&pt);\r\n      ScreenToClient(hwnd, (LPPOINT)&pt);\r\n\r\n      SetRect(&rc, pt.x - dxClickRect, pt.y - dyClickRect,\r\n              pt.x + dxClickRect, pt.y + dyClickRect);\r\n\r\n      SetCapture(hwnd);\r\n      while (GetMessage(&msg, NULL, 0, 0)) {\r\n\r\n         DispatchMessage(&msg);\r\n         if (msg.message == WM_LBUTTONUP)\r\n            break;\r\n\r\n         POINTSTOPOINT(pt, msg.lParam);\r\n\r\n         if (WM_CANCELMODE == msg.message || GetCapture() != hwnd) {\r\n            msg.message = WM_LBUTTONUP;\r\n            break;\r\n         }\r\n\r\n         if ((msg.message == WM_MOUSEMOVE) && !(PtInRect(&rc, pt)))\r\n            break;\r\n      }\r\n      ReleaseCapture();\r\n\r\n      //\r\n      // Did the guy NOT drag anything?\r\n      //\r\n      if (msg.message == WM_LBUTTONUP)\r\n         return 1;\r\n\r\n      //\r\n      // Enter Danger Mouse's BatCave.\r\n      //\r\n      SendMessage(hwndParent, FS_GETDIRECTORY, COUNTOF(szPath), (LPARAM)szPath);\r\n      StripBackslash(szPath);\r\n      hwndDragging = hwndLB;\r\n\r\n      iCurDrag = SINGLEMOVECURSOR;\r\n\r\n      //\r\n      // Check escapes here instead of later\r\n      //\r\n      CheckEsc(szPath);\r\n\r\n      DragObject(hwndFrame, hwnd, (UINT)DOF_DIRECTORY, (ULONG_PTR)szPath, NULL);\r\n\r\n      hwndDragging = NULL;\r\n      iShowSourceBitmaps = TRUE;\r\n      InvalidateRect(hwndLB, NULL, FALSE);\r\n\r\n      return 2;\r\n   }\r\n\r\n   case WM_DRAGSELECT:\r\n\r\n      //\r\n      // WM_DRAGSELECT is sent whenever a new window returns TRUE to\r\n      // QUERYDROPOBJECT.\r\n      //\r\n\r\n      //\r\n      // Don't do anything while the tree is being built.\r\n      //\r\n      if (GetWindowLongPtr(hwnd, GWL_READLEVEL))\r\n         break;\r\n\r\n      //\r\n      // Turn on/off status bar\r\n      //\r\n      SendMessage(hwndStatus, SB_SETTEXT, SBT_NOBORDERS|255,\r\n                  (LPARAM)szNULL);\r\n      SendMessage(hwndStatus, SB_SIMPLE, (wParam ? 1 : 0), 0L);\r\n\r\n      UpdateWindow(hwndStatus);\r\n\r\n      iSelHighlight = ((LPDROPSTRUCT)lParam)->dwControlData;\r\n      RectTreeItem(hwndLB, iSelHighlight, (BOOL)wParam);\r\n      break;\r\n\r\n   case WM_DRAGMOVE:\r\n   {\r\n      static INT iOldShowSourceBitmaps = 0;\r\n\r\n      //\r\n      // WM_DRAGMOVE is sent when two consecutive TRUE QUERYDROPOBJECT\r\n      // messages come from the same window.\r\n      //\r\n\r\n      //\r\n      // Don't do anything while the tree is being built.\r\n      //\r\n      if (GetWindowLongPtr(hwnd, GWL_READLEVEL))\r\n         break;\r\n\r\n      //\r\n      // Get the subitem we are over.\r\n      //\r\n      iSel = ((LPDROPSTRUCT)lParam)->dwControlData;\r\n\r\n      //\r\n      // New one OR if user hit control while dragging\r\n      //\r\n      // Is it a new one?\r\n      //\r\n      if (iSel == iSelHighlight && iOldShowSourceBitmaps == iShowSourceBitmaps)\r\n         break;\r\n\r\n      iOldShowSourceBitmaps = iShowSourceBitmaps;\r\n\r\n      //\r\n      // Yup, un-select the old item.\r\n      //\r\n      RectTreeItem(hwndLB, iSelHighlight, FALSE);\r\n\r\n      //\r\n      // Select the new one.\r\n      //\r\n      iSelHighlight = iSel;\r\n      RectTreeItem(hwndLB, iSel, TRUE);\r\n      break;\r\n   }\r\n   case WM_DRAGLOOP:\r\n   {\r\n\r\n      // wParam     TRUE on dropable target\r\n      //            FALSE not dropable target\r\n      // lParam     lpds\r\n      INT iOperation;\r\n\r\n      LPDROPSTRUCT lpds = (LPDROPSTRUCT)lParam;\r\n\r\n      // based on current drop location scroll the sink up or down\r\n      DSDragScrollSink(lpds);\r\n\r\n      //\r\n      // Don't do anything while the tree is being built.\r\n      //\r\n      if (GetWindowLongPtr(hwnd, GWL_READLEVEL))\r\n         break;\r\n\r\n      //\r\n      // Are we over a drop-able sink?\r\n      //\r\n      if (wParam) {\r\n         if (GetKeyState(VK_CONTROL) < 0) {\r\n            iOperation = DROP_COPY;\r\n            if (GetKeyState(VK_SHIFT) < 0) {\r\n               iOperation = DROP_LINK;\r\n               if (GetKeyState(VK_MENU) < 0) {\r\n                  iOperation = DROP_HARD;\r\n               }\r\n            }\r\n         }\r\n         else if (GetKeyState(VK_MENU) < 0 || GetKeyState(VK_SHIFT) < 0)\r\n            // ALT || SHIFT forces a move even if not on same drive\r\n            iOperation = DROP_MOVE;\r\n            else\r\n            iOperation = (GetDrive(lpds->hwndSink, lpds->ptDrop) != GetDrive(lpds->hwndSource, lpds->ptDrop));\r\n      } else {\r\n         iOperation = DROP_COPY;\r\n      }\r\n\r\n      if (iOperation != iShowSourceBitmaps) {\r\n         RECT  rc;\r\n\r\n         iShowSourceBitmaps = iOperation;\r\n\r\n         iSel = (WORD)SendMessage(hwndLB, LB_GETCURSEL, 0, 0L);\r\n\r\n         if (!(BOOL)SendMessage(hwndLB, LB_GETITEMRECT, iSel, (LPARAM)(LPRECT)&rc))\r\n            break;\r\n\r\n         InvalidateRect(hwndLB, &rc, FALSE);\r\n         UpdateWindow(hwndLB);\r\n\r\n      }\r\n\r\n      //\r\n      // hack, set the cursor to match the move/copy state\r\n      //\r\n      // Moved out of if loop; less efficient since\r\n      // it does a set cursor all the time.\r\n      //\r\n      if (wParam) {\r\n         SetCursor(GetMoveCopyCursor());\r\n      }\r\n      break;\r\n   }\r\n\r\n   case WM_QUERYDROPOBJECT:\r\n   {\r\n      LPDROPSTRUCT lpds = (LPDROPSTRUCT)lParam;\r\n\r\n      //\r\n      // wParam     TRUE on NC area\r\n      //            FALSE on client area\r\n      // lParam     lpds\r\n      //\r\n\r\n      //\r\n      // Don't do anything while the tree is being built.\r\n      //\r\n      if (GetWindowLongPtr(hwnd, GWL_READLEVEL))\r\n         return FALSE;\r\n\r\n      //\r\n      // Check for valid format.\r\n      //\r\n      switch (lpds->wFmt) {\r\n      case DOF_EXECUTABLE:\r\n      case DOF_DOCUMENT:\r\n      case DOF_DIRECTORY:\r\n      case DOF_MULTIPLE:\r\n         break;\r\n      default:\r\n         return FALSE;\r\n      }\r\n\r\n      //\r\n      // Must be dropping on the listbox client area.\r\n      //\r\n      if (lpds->hwndSink != hwndLB)\r\n         return FALSE;\r\n\r\n      if (lpds->dwControlData == (DWORD)-1)\r\n         return FALSE;\r\n\r\n      return(TRUE);\r\n   }\r\n\r\n   case WM_DROPOBJECT:\r\n   {\r\n      LPDROPSTRUCT lpds = (LPDROPSTRUCT)lParam;\r\n\r\n      //\r\n      // tree being dropped on do your thing\r\n      //\r\n      // dir (search) drop on tree:\r\n      //    HIWORD(dwData)  0\r\n      //    LOWORD(dwData)  LPTSTR to files being dragged\r\n      //\r\n      // tree drop on tree:\r\n      //    HIWORD(dwData)  index of source drag\r\n      //    LOWORD(dwData)  LPTSTR to path\r\n      //\r\n      LPWSTR      pFrom;\r\n\r\n      //\r\n      // Don't do anything while the tree is being built.\r\n      //\r\n      if (GetWindowLongPtr(hwnd, GWL_READLEVEL))\r\n         return TRUE;\r\n\r\n      //\r\n      // Turn off status bar\r\n      //\r\n      SendMessage(hwndStatus, SB_SIMPLE, 0, 0L);\r\n\r\n      UpdateWindow(hwndStatus);\r\n\r\n      nIndex = lpds->dwControlData;\r\n      pFrom = (LPTSTR)lpds->dwData;\r\n\r\n      //\r\n      // Get the destination.  If this fails, make it a NOP.\r\n      //\r\n      if (SendMessage(hwnd, TC_GETDIR, nIndex, (LPARAM)szPath) == -1)\r\n      {\r\n          return (TRUE);\r\n      }\r\n\r\n      //\r\n      // if source and dest are the same make this a NOP\r\n      //\r\n      if (!lstrcmpi(szPath, pFrom))\r\n         return TRUE;\r\n\r\n      AddBackslash(szPath);\r\n      lstrcat(szPath, szStarDotStar);\r\n      CheckEsc(szPath);\r\n\r\n      //\r\n      // Since hwnd is a single select listbox, we want to call\r\n      // CheckEsc on pFrom if hwnd is the source.  This will\r\n      // ensure that dirs that have spaces in them will be properly\r\n      // quoted.\r\n      //\r\n\r\n      // CheckEsc is done earlier so take it out here.\r\n      //              if ((HWND)(lpds->hwndSource) == hwnd)\r\n      //                 CheckEsc(pFrom);\r\n\r\n      // iShowSourceBitmaps is either\r\n      // 1 == TRUE  == DROP_COPY\r\n      // 0 == FALSE == DROP_MOVE\r\n      // 2 ==       == DROP_LINK\r\n      // 4 ==       == DROP_HARD\r\n      DMMoveCopyHelper(pFrom, szPath, iShowSourceBitmaps);\r\n\r\n      RectTreeItem(hwndLB, nIndex, FALSE);\r\n      return TRUE;\r\n\r\n   }\r\n\r\n   case WM_MEASUREITEM:\r\n   {\r\n      LPMEASUREITEMSTRUCT pLBMItem = (LPMEASUREITEMSTRUCT)lParam;\r\n\r\n      pLBMItem->itemHeight = (WORD)dyFileName;\r\n      break;\r\n   }\r\n\r\n   case WM_VKEYTOITEM:\r\n\r\n      i = (INT)SendMessage(hwndLB, LB_GETCURSEL, 0, 0L);\r\n      if (i < 0)\r\n         return -2L;\r\n\r\n      j = 1;\r\n      SendMessage(hwndLB, LB_GETTEXT, i, (LPARAM)&pNode);\r\n\r\n      switch (GET_WM_VKEYTOITEM_CODE(wParam, lParam)) {\r\n      case VK_LEFT:\r\n         TypeAheadString('\\0', NULL);\r\n\r\n         // if node is expanded and no control key, just collapse\r\n         if ((pNode->wFlags & TF_EXPANDED) != 0 && GetKeyState(VK_CONTROL) >= 0) {\r\n            CollapseLevel(hwndLB, pNode, i);\r\n            return(i);\r\n         }\r\n\r\n         while (SendMessage(hwndLB, LB_GETTEXT, --i, (LPARAM)&pNodeNext) != LB_ERR) {\r\n            if (pNodeNext == pNode->pParent)\r\n               return(i);\r\n         }\r\n         goto SameSelection;\r\n\r\n      case VK_RIGHT:\r\n         TypeAheadString('\\0', NULL);\r\n\r\n         // if node is not expanded and no control key, just expand\r\n         if (!(pNode->wFlags & TF_EXPANDED) && GetKeyState(VK_CONTROL) >= 0) {\r\n            ExpandLevel(hwnd, 0, i, szPath);\r\n            return(i);\r\n         }\r\n\r\n         if ((SendMessage(hwndLB, LB_GETTEXT, i+1, (LPARAM)&pNodeNext) == LB_ERR)\r\n            || (pNodeNext->pParent != pNode)) {\r\n            goto SameSelection;\r\n         }\r\n         return(i+1);\r\n\r\n      case VK_UP:\r\n         j = -1;\r\n         /** FALL THROUGH ***/\r\n\r\n      case VK_DOWN:\r\n         TypeAheadString('\\0', NULL);\r\n\r\n         //\r\n         // If the control key is not down, use default behavior.\r\n         //\r\n         if (GetKeyState(VK_CONTROL) >= 0)\r\n            return(-1L);\r\n\r\n         while (SendMessage(hwndLB, LB_GETTEXT, i += j, (LPARAM)&pNodeNext) != LB_ERR) {\r\n            if (pNodeNext->pParent == pNode->pParent)\r\n               return(i);\r\n         }\r\n\r\nSameSelection:\r\n         MessageBeep(0);\r\n         return(-2L);\r\n\r\n      case VK_F6:       // like excel\r\n      case VK_TAB:\r\n      {\r\n         HWND hwndDir, hwndSet, hwndNext, hwndTemp;\r\n         BOOL bDir;\r\n         BOOL bChangeDisplay = FALSE;\r\n\r\n         hwndNext = NULL;\r\n         TypeAheadString('\\0', NULL);\r\n         GetTreeWindows(hwndParent, NULL, &hwndDir);\r\n\r\n         //\r\n         // Check to see if we can change to the directory window\r\n         //\r\n         bDir = hwndDir != NULL;\r\n         if (bDir)\r\n         {\r\n            HWND hwndLB;\r\n\r\n            bChangeDisplay = (BOOL)GetWindowLongPtr(hwndDir, GWLP_USERDATA);\r\n\r\n            hwndLB = GetDlgItem (hwndDir, IDCW_LISTBOX);\r\n            if (hwndLB && !bChangeDisplay)\r\n            {\r\n               PVOID pv;\r\n               SendMessage (hwndLB, LB_GETTEXT, 0, (LPARAM) &pv);\r\n               bDir = pv != NULL;\r\n            }\r\n         }\r\n\r\n         if (GetKeyState(VK_SHIFT) < 0)\r\n         {\r\n            if (bDriveBar)\r\n            {\r\n               hwndSet = hwndDriveBar;\r\n            }\r\n            else\r\n            {\r\n               if (bDir)\r\n               {\r\n                  hwndSet = hwndDir;\r\n                  hwndNext = hwnd;\r\n               }\r\n               else\r\n               {\r\n                  hwndSet = hwnd;\r\n               }\r\n            }\r\n         }\r\n         else\r\n         {\r\n            hwndTemp = (!bDriveBar) ? hwnd : hwndDriveBar;\r\n\r\n            hwndSet = bDir ? hwndDir : hwndTemp;\r\n            hwndNext = hwndTemp;\r\n         }\r\n\r\n         SetFocus(hwndSet);\r\n         if ((hwndSet == hwndDir) && bChangeDisplay)\r\n         {\r\n             SetWindowLongPtr(hwndDir, GWL_NEXTHWND, (LPARAM)hwndNext);\r\n         }\r\n\r\n         return -2L;   // I dealt with this!\r\n      }\r\n\r\n      case VK_BACK:\r\n      {\r\n         INT nStartLevel;\r\n\r\n         TypeAheadString('\\0', NULL);\r\n         if (i <= 0)\r\n            return -2L;     // root case\r\n\r\n         nStartLevel = pNode->nLevels;\r\n\r\n         do {\r\n            SendMessage(hwndLB, LB_GETTEXT, --i, (LPARAM)&pNodeNext);\r\n         } while (i > 0 && pNodeNext->nLevels >= nStartLevel);\r\n\r\n         return i;\r\n      }\r\n\r\n      default:\r\n        // Select disc by pressing CTRL + ALT + letter\r\n        if ((GetKeyState(VK_CONTROL) < 0) && (GetKeyState(VK_MENU) < 0))\r\n            return SendMessage(hwndDriveBar, uMsg, wParam, lParam);\r\n\r\n        return -1L;\r\n      }\r\n      break;\r\n\r\n   case WM_SETFOCUS:\r\n   case WM_LBUTTONDOWN:\r\n      SetFocus(hwndLB);\r\n      break;\r\n\r\n   case WM_SIZE:\r\n      if (!IsIconic(hwndParent)) {\r\n         INT iMax;\r\n\r\n         MoveWindow(hwndLB, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE);\r\n\r\n         // Resizing doesn't send invalidate region, so\r\n         // we must do it manually if the scroll bar\r\n\r\n         // invalidate tree rect (if one exists)\r\n         // (actually only do if sb thumb is _not_ at extreme left,\r\n         // the sb range may be re-coded later so for safety, invalidate\r\n         // in all cases.\r\n\r\n         InvalidateRect(hwndLB, NULL, TRUE);\r\n\r\n         iMax = (INT)SendMessage(hwndLB, LB_GETCURSEL, 0, 0L);\r\n         if (iMax >= 0) {\r\n            RECT rc;\r\n            INT top, bottom;\r\n\r\n            GetClientRect(hwndLB, &rc);\r\n            top = (INT)SendMessage(hwndLB, LB_GETTOPINDEX, 0, 0L);\r\n            bottom = top + rc.bottom / dyFileName;\r\n            if (iMax < top || iMax > bottom)\r\n               SendMessage(hwndLB, LB_SETTOPINDEX, iMax - ((bottom - top) / 2), 0L);\r\n         }\r\n      }\r\n      break;\r\n\r\n   default:\r\n      return DefWindowProc(hwnd, uMsg, wParam, lParam);\r\n   }\r\n   return 0L;\r\n}\r\n\r\n\r\nINT\r\nBuildTreeName(LPTSTR lpszPath, INT iLen, INT iSize)\r\n{\r\n   DRIVE drive = DRIVEID(lpszPath);\r\n\r\n   if (3 != iLen || CHAR_BACKSLASH != lpszPath[2])\r\n      return iLen;\r\n\r\n   lstrcat(lpszPath, SZ_FILESYSNAMESEP);\r\n   iLen = lstrlen(lpszPath);\r\n\r\n   // Add type\r\n   U_VolInfo(drive);\r\n\r\n   if (ERROR_SUCCESS == GETRETVAL(VolInfo,drive)) {\r\n      StrNCpy(&lpszPath[iLen], aDriveInfo[drive].szFileSysName, iSize-iLen-1);\r\n   }\r\n\r\n   iLen = lstrlen(lpszPath);\r\n   return iLen;\r\n}\r\n\r\n\r\n\r\n/*\r\n *  Get the real text extent for the current directory and save it\r\n *  in the pNode.\r\n */\r\nUINT\r\nGetRealExtent(\r\n    PDNODE pNode,\r\n    HWND hwndLB,\r\n    LPTSTR szPath,\r\n    int *pLen)\r\n\r\n{\r\n    HDC hdc;\r\n    HFONT hOld;\r\n    SIZE size;\r\n    TCHAR szTemp[MAXPATHLEN];\r\n\r\n\r\n    if (szPath == NULL)\r\n    {\r\n        szPath = szTemp;\r\n    }\r\n\r\n    *pLen = lstrlen(pNode->szName);\r\n    lstrcpy(szPath, pNode->szName);\r\n\r\n    if ( (wTextAttribs & TA_LOWERCASE) && (pNode->wFlags & TF_LOWERCASE) ||\r\n         (wTextAttribs & TA_LOWERCASEALL) )\r\n    {\r\n        CharLower(szPath);\r\n    }\r\n\r\n    *pLen = BuildTreeName(szPath, *pLen, MAXPATHLEN);\r\n\r\n    if (hwndLB != NULL)\r\n    {\r\n        hdc = GetDC(hwndLB);\r\n        hOld = SelectObject(hdc, hFont);\r\n        GetTextExtentPoint32(hdc, szPath, *pLen, &size);\r\n        if (hOld)\r\n            SelectObject(hdc, hOld);\r\n\r\n        pNode->dwExtent = size.cx;\r\n        ReleaseDC(hwndLB, hdc);\r\n    }\r\n\r\n    return (pNode->dwExtent);\r\n}\r\n\r\n\r\n/*\r\n *  Resets the xTreeMax value.  If fReCalcExtent is TRUE, it\r\n *  also recalculates all of the text extents for each pNode in the\r\n *  list box.\r\n */\r\nvoid\r\nResetTreeMax(\r\n    HWND hwndLB,\r\n    BOOL fReCalcExtent)\r\n\r\n{\r\n    DWORD NumItems;\r\n    DWORD ctr;\r\n    PDNODE pNode;\r\n    int Len;\r\n    UINT xNew, xTreeMax;\r\n\r\n\r\n    NumItems = (DWORD)SendMessage(hwndLB, LB_GETCOUNT, 0, 0);\r\n\r\n    xTreeMax = 0;\r\n\r\n    for (ctr = 0; ctr < NumItems; ctr++)\r\n    {\r\n        SendMessage(hwndLB, LB_GETTEXT, (WPARAM)ctr, (LPARAM)&pNode);\r\n\r\n        if (fReCalcExtent)\r\n        {\r\n            GetRealExtent(pNode, hwndLB, NULL, &Len);\r\n        }\r\n\r\n        if (xTreeMax < (xNew = CALC_EXTENT(pNode)))\r\n        {\r\n            xTreeMax = xNew;\r\n        }\r\n    }\r\n\r\n    SetWindowLongPtr(GetParent(hwndLB), GWL_XTREEMAX, xTreeMax);\r\n    SendMessage(hwndLB, LB_SETHORIZONTALEXTENT, xTreeMax, 0L);\r\n}\r\n\r\n"
  },
  {
    "path": "src/treectl.h",
    "content": "/********************************************************************\r\n\r\n   treectl.h\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#define SHOVEIT(x)       (MAKELONG((x),0))\r\n\r\n/* Tree Node Flags. */\r\n#define TF_LASTLEVELENTRY   0x01\r\n#define TF_HASCHILDREN      0x02\r\n#define TF_EXPANDED      0x04\r\n#define TF_DISABLED      0x08\r\n\r\n#ifdef USE_TF_LFN\r\n#define TF_LFN        0x10\r\n#endif\r\n\r\n#define TF_LOWERCASE 0x20\r\n\r\ntypedef struct tagDNODE\r\n  {\r\n    struct tagDNODE  *pParent;\r\n    BYTE     wFlags;\r\n    BYTE     nLevels;\r\n    DWORD    dwNetType;\r\n    DWORD    dwExtent;\r\n    DWORD    dwAttribs;\r\n    TCHAR    szName[1];      // variable length field\r\n  } DNODE;\r\ntypedef DNODE *PDNODE;\r\n\r\nVOID GetTreePath(PDNODE pNode, LPTSTR szDest);\r\nVOID SetNodeAttribs(PDNODE pNode, LPTSTR szPath);\r\n"
  },
  {
    "path": "src/w31rc/winfile.Brazil.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"&Arquivo\"\n    BEGIN\n    MENUITEM    \"&Abrir\tEnter\", 0X0065\n    MENUITEM    \"&Mover... \tF7\", 0X006A\n    MENUITEM    \"&Copiar... \tF8\", 0X006B\n    MENUITEM    \"&Excluir... \tDel\", 0X006C\n    MENUITEM    \"Re&nomear...\", 0X006D\n    MENUITEM    \"&Propriedades... \tAlt+Enter\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"E&xecutar...\", 0X0069\n    MENUITEM    \"&Imprimir...\", 0X0066\n    MENUITEM    \"A&ssociar...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Criar &Diretrio...\", 0X006F\n    MENUITEM    \"&Localizar...\", 0X0068\n    MENUITEM    \"Selecionar Arqui&vos...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Sai&r\", 0X0073\n    END\n    POPUP   \"&Disco\"\n    BEGIN\n    MENUITEM    \"&Copiar Disco...\", 0X00C9\n    MENUITEM    \"&Nomear Disco...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Formatar Disco...\", 0X00CB\n    MENUITEM    \"Gerar &Sistema no Disco...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Selecionar &Unidade...\", 0X00FB\n    END\n    POPUP   \"&rvore\"\n    BEGIN\n    MENUITEM    \"Expa&ndir um Nvel\t+\", 0X012D\n    MENUITEM    \"Expandi&r Ramificao\t*\", 0X012E\n    MENUITEM    \"Expandir &Tudo\tCtrl + *\", 0X012F\n    MENUITEM    \"Redu&zir Ramificao\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Indicar Ramificaes Expansveis\", 0X01F9\n    END\n    POPUP   \"&Visualizar\"\n    BEGIN\n    MENUITEM    \"rvor&e e Diretrio\", 0X019D\n    MENUITEM    \"Somente &rvore\", 0X019B\n    MENUITEM    \"Somente &Diretrio\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Di&viso\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Nome\", 0X0191\n    MENUITEM    \"Todo&s os Detalhes do Arquivo\", 0X0192\n    MENUITEM    \"Deta&lhes Parciais...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Classificar p&or Nome\", 0X0194\n    MENUITEM    \"Class&ificar por Tipo\", 0X0195\n    MENUITEM    \"Classificar por Ta&manho\", 0X0196\n    MENUITEM    \"Cl&assificar por Data\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Tipo de Arquivo...\", 0X0199\n    END\n    POPUP   \"&Opes\"\n    BEGIN\n    MENUITEM    \"&Confirmao...\", 0X01F5\n    MENUITEM    \"&Fonte...\", 0X01FE\n    MENUITEM    \"&Personalizar Barra de Ferramentas...\", 0X0200\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Barra d&e Ferramentas\", 0X01FC\n    MENUITEM    \"Barra de &Unidades\", 0X01FB\n    MENUITEM    \"&Barra de Status\", 0X01F7\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Mi&nimizar no Uso\", 0X01F8\n    MENUITEM    \"&Salvar Configuraes ao Sair\", 0X01FF\n    END\n    POPUP   \"&Janela\"\n    BEGIN\n    MENUITEM    \"&Nova Janela\", 0X0452\n    MENUITEM    \"Em &Cascata\tShift+F5\", 0X044D\n    MENUITEM    \"Lado a Lado &Horizontalmente\", 0X044F\n    MENUITEM    \"Lado a Lado &Verticalmente\tShift+F4\", 0X044E\n    MENUITEM    \"&Organizar cones\", 0X0451\n    MENUITEM    \"&Atualizar\tF5\", 0X0450\n    END\n    POPUP   \"&?\"\n    BEGIN\n    MENUITEM    \"&Contedo\", 0X04B1\n    MENUITEM    \"&Procurar Ajuda Sobre...\", 0X001E\n    MENUITEM    \"Co&mo Usar a Ajuda\", 0X04B2\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"So&bre o Gerenciador de Arquivos...\", 0X04B3\n    END\nEND\n\n\n145 DIALOG 0x80c8, 13, 54, 265, 134\nCAPTION \"Fonte\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Fonte:\", 1088, 0x0000, 6, 3, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 13, 94, 61\n    CONTROL 0x82, \"&Estilo da fonte:\", 1089, 0x0000, 108, 3, 62, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 13, 64, 61\n    CONTROL 0x82, \"&Tamanho:\", 1090, 0x0000, 179, 3, 33, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 179, 13, 32, 61\n    CONTROL 0x80, \"Efeitos\", 1072, 0x0007, 6, 80, 84, 65\n    CONTROL 0x80, \"&Riscado\", 1040, 0x0003, 10, 91, 49, 10\n    CONTROL 0x80, \"&Sublinhado\", 1041, 0x0003, 10, 103, 51, 10\n    CONTROL 0x80, \"&Minscula\", 1042, 0x0003, 10, 91, 49, 10\n    CONTROL 0x82, \"&Cor\", 1091, 0x0000, 10, 114, 30, 9\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 124, 75, 50\n    CONTROL 0x80, \"OK\", 1, 0x0001, 218, 8, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 218, 25, 40, 14\n    CONTROL 0x80, \"Ap&licar\", 1026, 0x0000, 218, 42, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 1038, 0x0000, 218, 59, 40, 14\n    CONTROL 0x80, \"Exemplo\", 1073, 0x0007, 98, 80, 160, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 134, 160, 18\n    CONTROL 0x82, \"AaBbYyZz\", 1092, 0x0081, 105, 89, 149, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 201, 86\nCAPTION \"Selecionar Unidade\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Un&idades:\", 245, 0x000c, 5, 5, 41, 10\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"OK\", 1, 0x0001, 155, 16, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 155, 33, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 155, 54, 40, 14\nEND\n\n10 DIALOG 0x80c8, 15, 12, 210, 63\nCAPTION \"Executar\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 3, 6, 162, 10\n    CONTROL 0x82, \"&Linha de comando:\", 100, 0x000c, 3, 18, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 134, 12\n    CONTROL 0x80, \"Executar mi&nimizado\", 214, 0x0003, 3, 45, 77, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 165, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 165, 43, 40, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 137, 83\nCAPTION \"Selecionar Arquivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Arquivo(s):\", -1, 0x000c, 5, 16, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 29, 60, 12\n    CONTROL 0x80, \"&Selecionar\", 1, 0x0001, 72, 6, 60, 14\n    CONTROL 0x80, \"A&nular seleo\", 6, 0x0000, 72, 23, 60, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 72, 40, 60, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 72, 63, 60, 14\nEND\n\n39 DIALOG 0x80c8, 10, 20, 251, 95\nCAPTION \"Confirmao de Substituio de Arquivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Substituir arquivo:\", 100, 0x000c, 25, 14, 60, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 89, 14, 157, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 89, 24, 157, 10\n    CONTROL 0x82, \"Pelo arquivo:\", 100, 0x000c, 25, 35, 49, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 89, 35, 157, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 89, 45, 157, 10\n    CONTROL 0x80, \"&Sim\", 6, 0x0001, 3, 73, 59, 14\n    CONTROL 0x80, \"Sim para &todos\", 107, 0x0000, 65, 73, 59, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 127, 73, 59, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 189, 73, 59, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 251, 60\nCAPTION \"Confirmao de Excluso de Arquivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 203, 10\n    CONTROL 0x82, \"Excluir arquivo:\", 100, 0x000c, 25, 18, 52, 8\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 18, 160, 10\n    CONTROL 0x80, \"&Sim\", 6, 0x0001, 3, 42, 58, 14\n    CONTROL 0x80, \"Sim para &todos\", 107, 0x0000, 65, 42, 58, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 127, 42, 58, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 189, 42, 58, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 251, 60\nCAPTION \"Confirmao de Excluso de Diretrio\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Excluir diretrio:\", 100, 0x000c, 25, 18, 55, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 18, 160, 10\n    CONTROL 0x80, \"&Sim\", 6, 0x0001, 3, 42, 59, 14\n    CONTROL 0x80, \"Sim para &todos\", 107, 0x0000, 65, 42, 59, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 127, 42, 59, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 189, 42, 59, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 251, 60\nCAPTION \"Confirmao de Movimentao de Arquivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Mover arquivo:\", 100, 0x000c, 25, 18, 50, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 81, 18, 161, 10\n    CONTROL 0x80, \"&Sim\", 6, 0x0001, 4, 42, 58, 14\n    CONTROL 0x80, \"Sim para &todos\", 107, 0x0000, 66, 42, 58, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 128, 42, 58, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 190, 42, 58, 14\nEND\n\n43 DIALOG 0x80c8, 8, 22, 253, 60\nCAPTION \"Confirmao de Renomeao de Arquivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Renomear arquivo:\", 100, 0x000c, 25, 18, 64, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 93, 18, 157, 10\n    CONTROL 0x80, \"&Sim\", 6, 0x0001, 4, 42, 58, 14\n    CONTROL 0x80, \"Sim para &todos\", 107, 0x0000, 66, 42, 58, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 128, 42, 58, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 190, 42, 58, 14\nEND\n\n11 DIALOG 0x80c8, 20, 20, 240, 63\nCAPTION \"Imprimir\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 193, 10\n    CONTROL 0x82, \"&Imprimir:\", 100, 0x000c, 3, 20, 28, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 152, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 36, 186, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n13 DIALOG 0x80c8, 20, 20, 263, 72\nCAPTION \"Localizar\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Localizar:\", 100, 0x000c, 5, 8, 37, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 52, 7, 160, 12\n    CONTROL 0x82, \"&Iniciar em:\", 100, 0x000c, 5, 23, 37, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 52, 22, 160, 12\n    CONTROL 0x80, \"&Pesquisar em todos os subdiretrios\", 232, 0x0003, 52, 36, 135, 12\n    CONTROL 0x82, \"\", 104, 0x000c, 5, 53, 200, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 217, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 217, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 217, 43, 40, 14\nEND\n\n14 DIALOG 0x80c8, 47, 59, 231, 73\nCAPTION \"Mover\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Diretrio atual: N\", 101, 0x008b, 2, 7, 182, 10\n    CONTROL 0x82, \"P&ara:\", 100, 0x000c, 3, 40, 20, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 37, 39, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 26, 40, 10, 10\n    CONTROL 0x80, \"&Copiar para a rea de Transferncia\", 256, 0x0004, 26, 56, 149, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 58, 86, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 89, 58, 91, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 185, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 185, 44, 40, 14\n    CONTROL 0x82, \"&De:\", 100, 0x000c, 3, 23, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 22, 138, 12\nEND\n\n10014 DIALOG 0x80c8, 47, 59, 231, 101\nCAPTION \"Mover\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Diretrio atual: N\", 101, 0x008b, 3, 7, 182, 10\n    CONTROL 0x82, \"P&ara:\", 100, 0x000c, 3, 40, 20, 10\n    CONTROL 0x62, \"edit\", 103, 0x0004, 38, 40, 138, 42\n    CONTROL 0x50, \"\", 256, 0x0401, 6656, 10240, 2560, 2560\n    CONTROL 0x80, \"&Copiar para a rea de Transferncia\", 256, 0x0004, 26, 85, 150, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 85, 86, 12\n    CONTROL 0x82, \"\", 201, 0x008b, 89, 85, 91, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 185, 23, 40, 14\n    CONTROL 0x80, \"&Procurar\", 600, 0x0000, 185, 40, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 185, 59, 40, 14\n    CONTROL 0x82, \"&De:\", 100, 0x000c, 3, 24, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 39, 23, 138, 12\nEND\n\n200 DIALOG 0x00c8, 36, 24, 164, 134\nCAPTION \"Selecionar Diretrio\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x81, \"\", 1152, 0x0490, 6, 16, 90, 12\n    CONTROL 0x83, \"\", 1120, 0x0053, 12, 28, 84, 68\n    CONTROL 0x82, \"&Diretrios:\", -1, 0x0000, 10, 6, 92, 9\n    CONTROL 0x82, \"\", 1088, 0x0000, 10, 16, 92, 9\n    CONTROL 0x83, \"\", 1121, 0x0053, 10, 28, 92, 68\n    CONTROL 0x82, \"Un&idades:\", 1091, 0x0000, 10, 102, 92, 9\n    CONTROL 0x85, \"\", 1137, 0x0353, 10, 112, 92, 68\n    CONTROL 0x80, \"OK\", 1, 0x0001, 108, 6, 50, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 108, 24, 50, 14\n    CONTROL 0x82, \"&Nome do arquivo:\", 1090, 0x0000, 6, 6, 76, 9\n    CONTROL 0x82, \"Lis&tar arquivos do tipo:\", 1089, 0x0000, 6, 104, 90, 9\n    CONTROL 0x85, \"\", 1136, 0x0043, 6, 114, 90, 36\n    CONTROL 0x80, \"Aj&uda\", 1038, 0x0000, 208, 46, 50, 14\n    CONTROL 0x80, \"&Somente para leitura\", 1040, 0x0003, 208, 68, 50, 12\nEND\n\n15 DIALOG 0x80c8, 21, 20, 261, 64\nCAPTION \"Excluir\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Diretrio atual: C\", 101, 0x008c, 3, 6, 206, 10\n    CONTROL 0x82, \"&Excluir:\", 100, 0x000c, 3, 23, 47, 8\n    CONTROL 0x81, \"\", 102, 0x0480, 55, 22, 152, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 41, 47, 8\n    CONTROL 0x82, \"\", 201, 0x008b, 55, 41, 152, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 213, 7, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 213, 24, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 213, 44, 40, 14\nEND\n\n38 DIALOG 0x80c8, 20, 20, 245, 63\nCAPTION \"Propriedades\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"%d arquivo(s) selecionado(s). Total: %s bytes\", 100, 0x000c, 5, 5, 190, 10\n    CONTROL 0x80, \"Atributos\", -1, 0x0007, 5, 20, 190, 39\n    CONTROL 0x80, \"&Somente para leitura\", 215, 0x0003, 10, 31, 79, 12\n    CONTROL 0x80, \"&Oculto\", 216, 0x0003, 115, 31, 52, 12\n    CONTROL 0x80, \"&Arquivo\", 217, 0x0003, 10, 43, 52, 12\n    CONTROL 0x80, \"Sis&tema\", 218, 0x0003, 115, 43, 52, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 200, 7, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 200, 24, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 200, 44, 40, 14\nEND\n\n16 DIALOG 0x80c8, 21, 13, 267, 204\nCAPTION \"Propriedades de %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 212, 6, 50, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 212, 23, 50, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 212, 43, 50, 14\n    CONTROL 0x82, \"&Nome do arquivo:\", 261, 0x000c, 7, 5, 65, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 78, 5, 132, 10\n    CONTROL 0x82, \"&Caminho:\", 100, 0x000c, 7, 16, 65, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 78, 16, 132, 10\n    CONTROL 0x82, \"ltima modificao:\", 100, 0x000c, 7, 27, 65, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 78, 27, 132, 10\n    CONTROL 0x82, \"Verso:\", 258, 0x000c, 7, 38, 65, 10\n    CONTROL 0x82, \"No disponvel\", 259, 0x008c, 78, 38, 132, 10\n    CONTROL 0x82, \"Copy&right:\", -1, 0x0000, 7, 49, 65, 10\n    CONTROL 0x81, \"No disponvel\", 265, 0x0880, 78, 49, 132, 10\n    CONTROL 0x82, \"Tamanho:\", 260, 0x000c, 7, 60, 65, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 78, 60, 132, 10\n    CONTROL 0x80, \"Atributos\", 100, 0x0007, 6, 74, 254, 42\n    CONTROL 0x80, \"&Somente para leitura\", 215, 0x0003, 11, 86, 82, 12\n    CONTROL 0x80, \"&Oculto\", 216, 0x0003, 122, 86, 40, 12\n    CONTROL 0x80, \"&Arquivo\", 217, 0x0003, 11, 98, 80, 12\n    CONTROL 0x80, \"Sis&tema\", 218, 0x0003, 122, 98, 40, 12\n    CONTROL 0x80, \"&Informao sobre a verso\", 262, 0x0007, 6, 121, 255, 77\n    CONTROL 0x83, \"\", 263, 0x1003, 11, 135, 102, 58\n    CONTROL 0x81, \"\", 264, 0x0804, 118, 135, 138, 56\nEND\n\n17 DIALOG 0x80c8, 20, 20, 181, 63\nCAPTION \"Criar Diretrio\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 118, 10\n    CONTROL 0x82, \"&Nome:\", 100, 0x000c, 3, 23, 20, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 30, 22, 90, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 40, 127, 18\n    CONTROL 0x80, \"OK\", 1, 0x0001, 136, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 136, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 136, 43, 40, 14\nEND\n\n10017 DIALOG 0x80c8, 20, 20, 241, 78\nCAPTION \"Criar Diretrio\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 2, 5, 172, 10\n    CONTROL 0x82, \"&Nome:\", 100, 0x000c, 3, 24, 20, 10\n    CONTROL 0x62, \"edit\", 201, 0x0000, 3, 36, 170, 18\n    CONTROL 0x50, \"\", 26624, 0x8c00, 768, 16128, -21504, 2560\n    CONTROL 0x80, \"OK\", 1, 0x0001, 194, 6, 42, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 194, 23, 42, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 194, 42, 42, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 234, 64\nCAPTION \"Gerar Sistema no Disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Copiar os arquivos do sistema para o disco na unidade:\", -1, 0x000c, 5, 9, 181, 8\n    CONTROL 0x85, \"\", 222, 0x0003, 79, 22, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 188, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 188, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 188, 43, 40, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 145, 64\nCAPTION \"Cpia de Disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Origem:\", -1, 0x000c, 5, 8, 31, 10\n    CONTROL 0x85, \"\", 245, 0x0003, 45, 6, 40, 37\n    CONTROL 0x82, \"&Destino:\", 206, 0x000c, 5, 22, 31, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 45, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 100, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 100, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 100, 43, 40, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 55\nCAPTION \"Copiando Disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"Copiando disco na \", 100, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \"unidade A:\", 222, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \"Lendo o disco de origem\", 243, 0x0001, 0, 26, 130, 10\n    CONTROL 0x80, \"Cancelar\", 2, 0x0001, 44, 39, 40, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 161, 63\nCAPTION \"Nomear Disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Nome:\", 100, 0x000c, 5, 15, 30, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 100, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 115, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 115, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 115, 43, 40, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 174, 102\nCAPTION \"Formatar Disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 129, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 129, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 129, 41, 40, 14\n    CONTROL 0x82, \"&Disco na:\", -1, 0x000c, 5, 6, 45, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 6, 65, 40\n    CONTROL 0x82, \"&Capacidade:\", 100, 0x000c, 5, 23, 49, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 55, 23, 65, 40\n    CONTROL 0x80, \"Opes\", 102, 0x0007, 5, 39, 115, 59\n    CONTROL 0x82, \"&Nome:\", -1, 0x000c, 11, 53, 23, 10\n    CONTROL 0x81, \"\", 201, 0x0000, 40, 51, 75, 12\n    CONTROL 0x80, \"Gerar &sistema no disco\", 242, 0x0003, 11, 66, 90, 12\n    CONTROL 0x80, \"&Formatao rpida\", 244, 0x0003, 11, 81, 90, 12\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 50\nCAPTION \"Formatando Disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Formatando disco\", 100, 0x0001, 0, 5, 150, 10\n    CONTROL 0x82, \"Inicializando unidade...\", 243, 0x0001, 0, 17, 150, 10\n    CONTROL 0x80, \"Cancelar\", 2, 0x0001, 54, 30, 40, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 174, 57\nCAPTION \"Gerar Sistema no Disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Copiando arquivos do sistema.\", 100, 0x0001, 3, 10, 165, 8\n    CONTROL 0x82, \"Pressione 'Cancelar' caso queira desistir.\", 100, 0x0001, 3, 22, 164, 8\n    CONTROL 0x80, \"Cancelar\", 2, 0x0001, 66, 39, 40, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 243, 135\nCAPTION \"Conexes da Rede\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Nova conexo\", -1, 0x0007, 5, 3, 170, 55\n    CONTROL 0x82, \"Caminho da &rede:\", -1, 0x0000, 10, 16, 60, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 70, 14, 100, 12\n    CONTROL 0x82, \"Un&idade:\", -1, 0x0000, 10, 30, 31, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 70, 28, 40, 100\n    CONTROL 0x82, \"&Senha:\", -1, 0x0000, 10, 44, 36, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 70, 42, 100, 12\n    CONTROL 0x82, \"C&onexes atuais:\", -1, 0x0000, 5, 62, 120, 10\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 170, 60\n    CONTROL 0x80, \"&Fechar\", 2, 0x0001, 187, 6, 51, 14\n    CONTROL 0x80, \"&Conectar\", 1, 0x0000, 187, 27, 51, 14\n    CONTROL 0x80, \"&Anterior...\", 226, 0x0000, 187, 44, 51, 14\n    CONTROL 0x80, \"&Procurar...\", 227, 0x0000, 187, 61, 51, 14\n    CONTROL 0x80, \"&Desconectar\", 255, 0x0000, 187, 78, 51, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 187, 99, 51, 14\nEND\n\n29 DIALOG 0x80c8, 29, 30, 231, 100\nCAPTION \"Conexes Anteriores da Rede\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Caminhos da &rede:\", 100, 0x000c, 4, 3, 69, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 3, 15, 172, 80\n    CONTROL 0x80, \"&Selecionar\", 1, 0x0001, 182, 15, 44, 14\n    CONTROL 0x80, \"Fechar\", 2, 0x0000, 182, 32, 44, 14\n    CONTROL 0x80, \"&Excluir\", 219, 0x0000, 182, 49, 44, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 182, 69, 44, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 163, 70\nCAPTION \"Detalhes Parciais\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Detalhes\", 100, 0x0007, 4, 4, 111, 61\n    CONTROL 0x80, \"&Tamanho\", 203, 0x0003, 11, 16, 100, 9\n    CONTROL 0x80, \"&Data da ltima modificao\", 204, 0x0003, 11, 28, 100, 10\n    CONTROL 0x80, \"&Hora da ltima modificao\", 205, 0x0003, 11, 40, 100, 10\n    CONTROL 0x80, \"&Atributos de arquivo\", 206, 0x0003, 11, 52, 77, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 120, 10, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 120, 27, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 120, 47, 40, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 157, 102\nCAPTION \"Tipo de Arquivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Nome:\", 100, 0x000c, 5, 8, 23, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"Tipo de arquivo\", 100, 0x0007, 5, 20, 94, 62\n    CONTROL 0x80, \"&Diretrios\", 101, 0x0003, 10, 31, 60, 12\n    CONTROL 0x80, \"&Programas\", 210, 0x0003, 10, 43, 60, 12\n    CONTROL 0x80, \"D&ocumentos\", 211, 0x0003, 10, 55, 60, 12\n    CONTROL 0x80, \"Outros &arquivos\", 212, 0x0003, 10, 67, 62, 10\n    CONTROL 0x80, \"&Exibir arquivos ocultos/de sistema\", 250, 0x0003, 5, 86, 122, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 164, 82\nCAPTION \"Confirmao\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Confirmar em\", 100, 0x0007, 5, 3, 108, 73\n    CONTROL 0x80, \"Excluso de &arquivo\", 219, 0x0003, 10, 15, 77, 10\n    CONTROL 0x80, \"Excluso de &diretrio\", 220, 0x0003, 10, 27, 80, 10\n    CONTROL 0x80, \"&Substituio de arquivo\", 221, 0x0003, 10, 39, 88, 10\n    CONTROL 0x80, \"Ao do &Mouse\", 249, 0x0003, 10, 51, 62, 10\n    CONTROL 0x80, \"&Comandos para disco\", 251, 0x0003, 10, 63, 81, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 118, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 118, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 118, 44, 40, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 250, 46\nCAPTION \"Movendo...\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 5, 49, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 55, 5, 192, 10\n    CONTROL 0x82, \"Para:\", 108, 0x008b, 5, 16, 25, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 55, 16, 192, 10\n    CONTROL 0x80, \"Cancelar\", 2, 0x0001, 200, 29, 40, 14\nEND\n\n36 DIALOG 0x80c8, 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Imprimindo arquivo...\", -1, 0x0001, 4, 6, 113, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 4, 20, 113, 12\n    CONTROL 0x80, \"Cancelar\", 2, 0x0001, 44, 40, 40, 14\nEND\n\n12 DIALOG 0x80c8, 31, 39, 214, 96\nCAPTION \"Associar\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"A&rquivos com extenso:\", 99, 0x000c, 5, 8, 79, 10\n    CONTROL 0x81, \"\", 112, 0x0400, 85, 6, 35, 12\n    CONTROL 0x82, \"&Associar a:\", 99, 0x000c, 5, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 5, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 11, 44, 146, 40\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 44, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 165, 23, 44, 14\n    CONTROL 0x80, \"&Procurar...\", 232, 0x0000, 165, 43, 44, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 165, 60, 44, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 250, 78\nCAPTION \"Selecionar Nome de Arquivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Este caminho no  compatvel com o formato do DOS para nomes de arquivo.  Digite um novo nome.\", 99, 0x0000, 4, 4, 190, 19\n    CONTROL 0x82, \"&Novo nome:\", 99, 0x0002, 5, 57, 40, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 65, 56, 130, 12\n    CONTROL 0x82, \"Caminho original:\", 99, 0x0002, 4, 27, 57, 11\n    CONTROL 0x81, \"\", 102, 0x0880, 67, 28, 122, 12\n    CONTROL 0x82, \"Para diretrio:\", 99, 0x0002, 5, 42, 47, 11\n    CONTROL 0x81, \"\", 101, 0x0880, 67, 42, 122, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 205, 4, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 205, 20, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 205, 38, 40, 14\nEND\n\n48 DIALOG 0x80c8, 23, 13, 229, 101\nCAPTION \"Propriedades de %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 175, 6, 50, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 175, 23, 50, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 175, 43, 50, 14\n    CONTROL 0x82, \"&Nome do arquivo:\", 261, 0x000c, 5, 5, 71, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 75, 5, 98, 10\n    CONTROL 0x82, \"&Caminho:\", 100, 0x000c, 5, 16, 69, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 75, 16, 98, 10\n    CONTROL 0x82, \"ltima modificao:\", 100, 0x000c, 5, 27, 68, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 75, 27, 90, 10\n    CONTROL 0x82, \"Tamanho:\", 260, 0x000c, 5, 38, 67, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 75, 38, 98, 10\n    CONTROL 0x80, \"Atributos\", 100, 0x0007, 4, 52, 160, 42\n    CONTROL 0x80, \"&Somente para leitura\", 215, 0x0003, 9, 63, 82, 12\n    CONTROL 0x80, \"&Oculto\", 216, 0x0003, 98, 63, 39, 12\n    CONTROL 0x80, \"&Arquivo\", 217, 0x0003, 9, 75, 52, 12\n    CONTROL 0x80, \"Sis&tema\", 218, 0x0003, 98, 75, 40, 12\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0101   \"(Diretrio principal)\"\n0x0102   \"(No aplicvel)\"\n0x0103   \"Compartilhado como %s\"\n0x0104   \"No compartilhado\"\n0x0107   \"Copiando arquivos para %s\"\n0x0108   \"Movendo arquivos para %s\"\n0x0109   \"Executando arquivos com %s\"\n0x010a   \"%s bytes\"\n0x010b   \"%sKB\"\n0x010c   \"%sMB\"\n0x010d   \"%sGB\"\n0x010e   \"%sTB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"Sair do Windows\"\n0x0029   \"Esta sesso do Windows ser finalizada.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"Cpia de Disco\"\n0x0033   \"Insira o disco de destino.\"\n0x0034   \"Insira disco de origem.\"\n0x0035   \"Insira os discos de origem e de destino.\"\n0x0036   \"Formatando disco de destino.\"\n0x0037   \"Erro na Cpia de Disco\"\n0x0038   \"No foi possvel copiar o disco.\"\n0x003a   \"A origem e o destino so incompatveis.\"\n0x003c   \"%d%% concludo\"\n0x003d   \"Criando diretrio principal...\"\n0x003e   \"Copiando arquivos do sistema...\"\n0x003f   \"Erro na Formatao do Disco\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"Espao em disco insuficiente para impresso.\n\nExclua um ou mais arquivos e tente novamente. \"\n0x00c1   \"Memria insuficiente para impresso.\n\nFeche um ou mais aplicativos e tente novamente.\"\n0x00c2   \"Um erro ocorreu durante a impresso.\n\nVerifique se a impressora foi selecionada e configurada de forma apropriada.\"\n0x00c3   \"rvore de diretrio incompleta exibida\"\n0x00c5   \"A unidade de destino est cheia.\n\nInsira um novo disco para continuar.\"\n0x00c6   \"Este  um arquivo de sistema, oculto ou somente para leitura.\"\n0x00c7   \"No foi possvel executar formatao rpida.\n\nContinuar com formatao normal?\"\n0x00c8   \"O aplicativo especificado no  um aplicativo baseado no Windows ou no MS-DOS.\"\n0x00c9   \"Este aplicativo requer uma verso mais recente do Microsoft Windows.\"\n0x00ca   \"Este aplicativo requer Windows.\"\n0x00cb   \"Houve um erro no envio do comando para o aplicativo.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"No foi possvel formatar disco\"\n0x0042   \"Formatao completa\"\n0x0043   \"Espao total no disco:%ld bytes\nEspao disponvel:%ld bytes\n\nVoc deseja formatar outro disco?\"\n0x0046   \"Gerar Sistema no Disco\"\n0x0047   \"Voc tem certeza que deseja copiar os arquivos do sistema para o disco na unidade %c?\"\n0x0048   \"Erro no Disco de Sistema\"\n0x0049   \"A unidade de inicializao do MS-DOS no contm arquivos de sistema ou no est disponvel.\"\n0x004a   \"No  possvel copiar os arquivos do sistema para a unidade de inicializao do MS-DOS.\"\n0x004b   \"No foi possvel incluir arquivos de sistema neste disco.\n\nVerifique se o disco nesta unidade est formatado e se a porta da unidade est fechada.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"No foi possvel criar ou substituir %s: %s\"\n0x0408   \"No foi possvel criar um disco flexvel do sistema MS-DOS porque o Windows NT de mltipla inicializao est instalado em seu sistema. Para fazer um disco flexvel de sistema, use o utilitrio SYS a partir do aviso de comando do MS-DOS.\"\n0x0409   \"Voc deseja formatar o disco flexvel agora sem transferir o sistema?\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"Erro na rede\"\n0x0053   \"Esta unidade contm os arquivos do sistema do Windows e no pode ser desconectada.\"\n0x005b   \"No foi possvel alterar os atributos.\n\nVerifique se o disco  protegido contra gravao.\"\n0x005c   \"No foi possvel criar um diretrio.\n\nVerifique se o disco  protegido contra gravao.\"\n0x005d   \"No foi possvel nomear este disco.\n\nVerifique se o disco  protegido contra gravao, se  uma unidade de rede e se o nome  vlido.\nNomes no podem possuir os seguintes caracteres:\n[espao] * ? / \\ | . , ; : + = [ ] ( ) & ^ < > \" \"\n0x005f   \"No foi encontrado nenhum arquivo correspondente.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"%d arquivo(s) (%s)\"\n0x00b5   \"Diretrios lidos: %d \"\n0x00b6   \"%c: Livres: %s Total: %s \"\n0x00b7   \"%d arquivos(s) encontrado(s)\"\n0x00b9   \"os arquivos selecionados\"\n0x00ba   \"No foi possvel desconectar-se da unidade de rede.\n\nExistem arquivos abertos nesta unidade.\"\n0x00bb   \"%d arquivo(s) selecionado(s) (%s)\"\n0x00bc   \"No h disco na unidade %c.\n\nInsira um disco e tente novamente.\"\n0x00bd   \"O disco na unidade %c no est formatado.\n\nVoc deseja format-lo agora?\"\n0x00bf   \"O arquivo a ser impresso no foi encontrado. Verifique se o caminho e o nome de arquivo foram especificados corretamente.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"O diretrio j existe.\"\n0x0061   \"O contedo desta unidade foi alterado. Voc deseja atualizar a janela Resultados da pesquisa?\"\n0x0065   \"Unidade %c:%c\"\n0x006e   \"No foi possvel executar o programa\"\n0x006f   \"Erro inesperado: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"A formatao apagar TODOS os dados do disco. Voc tem certeza que deseja formatar o disco na unidade %c?\"\n0x00d3   \"Confirmao de Formatao de Disco\"\n0x00d4   \"Esta operao apagar TODOS os dados do disco de destino. Voc tem certeza que deseja continuar?\"\n0x00d5   \"Confirmao de Cpia de Disco\"\n0x00d6   \"&Fechar\"\n0x00da   \"O diretrio %s no existe.\n\nVoc deseja cri-lo?\"\n0x00db   \"Programas#*.exe;*.pif;*.com;*.bat#Todos os arquivos (*.*)#*.*#\"\n0x00dc   \"Procurar\"\n0x00dd   \"Executar\"\n0x00de   \"No foi possvel imprimir o arquivo\"\n0x00df   \"No foi possvel exibir Ajuda.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"Memria insuficiente para iniciar o aplicativo especificado.\n\nFeche um ou mais aplicativos e tente novamente.\"\n0x0071   \"No foi possvel encontrar o arquivo especificado ou um dos seus componentes.\n\nVerifique se o caminho e o nome do arquivo esto corretos, e se todas as bibliotecas solicitadas esto disponveis.\"\n0x0072   \"O caminho especificado no  vlido.\"\n0x0073   \"Muitos arquivos esto atualmente em uso.\n\nFeche um ou mais aplicativos ou aumente o valor do comando FILES no CONFIG.SYS, e ento tente novamente.\"\n0x0074   \"Nenhum aplicativo est associado a este arquivo.\n\nEscolha Associar do menu Arquivo para criar uma associao.\"\n0x0075   \"No foi possvel iniciar mais de uma cpia do programa especificado.\"\n0x0076   \"No foi possvel abrir ou imprimir o arquivo especificado.\n\nInicie o aplicativo utilizado para criar este arquivo, e ento abra e imprima o arquivo a partir dele.\"\n0x0078   \"Confirmao de Operao do Mouse\"\n0x0079   \"Voc tem certeza que deseja copiar o(s) arquivo(s) ou diretrio(s) selecionado(s) para %s?\"\n0x007a   \"Voc tem certeza que deseja mover o(s) arquivo(s) ou diretrio(s) selecionado(s) para %s?\"\n0x007b   \"Voc tem certeza que deseja iniciar %s utilizando %s como arquivo inicial?\"\n0x007c   \"Gerenciador de Arquivos\"\n0x007e   \"rvore do Diretrio\"\n0x007f   \"Resultados da pesquisa: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"Arquivos com a extenso %s so programas e no podem ser associados a outro aplicativo.\"\n0x00e1   \"%s no  um programa e no pode ser associado a uma extenso de arquivo.\"\n0x00e2   \"(Nenhum)\"\n0x00e4   \"No  possvel imprimir mltiplos arquivos.\n\nSelecione somente um arquivo e tente novamente.\"\n0x00e5   \"Este programa ou um dos seus componentes est compactado.\n\nUtilize o utilitrio Expand do MS-DOS para copiar o arquivo dos discos de instalao.\"\n0x00e6   \"Um dos arquivos da biblioteca necessrio para executar este aplicativo est danificado. Instale novamente este aplicativo.\"\n0x00e7   \"Este arquivo est sendo utilizado por outro aplicativo.\"\n0x00e8   \"Poder no ser possvel acessar arquivos criados no diretrio \"%s\".\n\nVoc deseja continuar?\"\n0x00e9   \"Criar Diretrio\"\n0x00ea   \"%ld bytes\"\n0x00eb   \"%s bytes\"\n0x00ec   \"No  possvel copiar mltiplos arquivos para a rea de Transferncia.\n\nSelecione somente um arquivo e tente novamente.\"\n0x00ed   \"%s - %s\"\n0x00ee   \"Unidade:\"\n0x00ef   \"%s, \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"Muitos Arquivos\"\n0x0085   \"Gerenciador de Arquivos sem memria\"\n0x0086   \"No foi possvel ler todo o diretrio. Somente uma lista parcial ser exibida.\"\n0x008c   \"Diretrio atual: %s\"\n0x008d   \"Copiar\"\n0x008f   \"Renomear\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"Formatar Disco\"\n0x0092   \"Selecione o disco a ser formatado.\"\n0x0096   \"Criando:\"\n0x0097   \"Removendo...\"\n0x0098   \"Copiando:\"\n0x0099   \"Renomeando...\"\n0x009a   \"Movendo...\"\n0x009b   \"Excluindo:\"\n0x009c   \"Imprimindo: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"A unidade %c no existe.\"\n0x00a9   \"Copiando...\"\n0x00aa   \"Removendo:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"Abrindo...\"\n0x01a5   \"Fechando...\"\n0x01a6   \"Muitas janelas de diretrio esto abertas.\n\nFeche uma ou mais janelas e tente novamente.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"Erro na movimentao do arquivo\"\n0x03ea   \"Erro na cpia do arquivo\"\n0x03eb   \"Erro na excluso do arquivo\"\n0x03ec   \"Erro na renomeao do arquivo\"\n0x03ed   \"Erro na seleo da unidade\"\n0x03ee   \"Erro na leitura do diretrio\"\n0x03ef   \"Erro na nomeao do disco\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"No foi possvel mover %s: %s\"\n0x03f4   \"No foi possvel copiar %s: %s\"\n0x03f5   \"No foi possvel excluir %s: %s\"\n0x03f6   \"No foi possvel renomear %s: %s\"\n0x03fd   \"No foi possvel criar diretrio %s: %s\"\n0x03fe   \"No foi possvel remover diretrio %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Funo invlida do MS-DOS.\"\n0x0412   \"No foi possvel encontrar o arquivo especificado.\n\nVerifique se o caminho e o nome do arquivo foram especificados corretamente.\"\n0x0413   \"No foi possvel encontrar o caminho especificado.\n\nVerifique se o caminho correto foi especificado.\"\n0x0414   \"Existem muitos outros arquivos atualmente em uso. Feche um ou mais aplicativos e tente novamente.\"\n0x0415   \"Acesso negado.\n\nVerifique se o disco no est cheio ou se  protegido contra gravao.\"\n0x0416   \"Gerenciador de arquivo invlido.\"\n0x0418   \"Memria insuficiente.\n\nFeche um ou mais aplicativos e tente novamente.\"\n0x041c   \"Acesso a arquivo invlido.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"No foi possvel remover o diretrio atual (erro interno).\"\n0x0421   \"Dispositivo invlido.\"\n0x0422   \"O diretrio est cheio.\"\n0x0423   \"O disco  protegido contra gravao.\n\nRemova a proteo contra gravao deste disco e tente novamente.\"\n0x042d   \"No foi possvel gravar o arquivo ou o disco de destino.\"\n0x042f   \"No foi possvel ler o arquivo ou o disco de origem.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"Operao invlida.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"Acesso a rede negado. Verifique se possui permisso para executar esta operao.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"Houve violao do compartilhamento. Os arquivos de origem e de destino podem estar sendo utilizados.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"Espao em disco insuficiente.\n\nExclua um ou mais arquivos e tente novamente.\"\n0x0481   \"Os arquivos de origem e de destino so os mesmos.\"\n0x0482   \"Selecione somente um arquivo para ser renomeado, ou utilize os caracteres curinga do MS-DOS (por examplo, *.TXT) para renomear um grupo de arquivos com nomes similares.\"\n0x0483   \"No  possvel renomear um arquivo para um outro diretrio ou disco.\"\n0x0484   \"Diretrio atual (erro interno).\"\n0x0486   \"O diretrio de destino  um subdiretrio do diretrio de origem.\"\n0x0487   \"O arquivo especificado est sendo utilizado pelo Windows.\"\n0x0488   \"Acesso negado. O arquivo origem pode estar sendo utilizado.\"\n0x0489   \"O caminho  muito comprido.\"\n0x048a   \"Especifique somente um arquivo ou diretrio na caixa Para, ou se voc desejar especificar um grupo de arquivos, utilize os caracteres curinga do MS-DOS (por examplo, *.TXT).\"\n0x048b   \"O nome de arquivo especificado j existe. Especifique um outro nome na caixa Para e tente novamente.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1,2MB\"\n0x0131   \"720K\"\n0x0132   \"1,44MB\"\n0x0133   \"2,88MB\"\n0x0134   \"Capacidade da unidade\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360K\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"Memria insuficiente.\"\n0x0192   \"No  possvel formatar a unidade de inicializao do MS-DOS.\"\n0x0193   \"A unidade de inicializao do MS-DOS possui um tamanho de setor invlido.\"\n0x0194   \"A unidade especificada  um tipo desconhecido.\"\n0x0199   \"Houve falha na transferncia dos arquivos do sistema.\"\n0x019a   \"Este disco pode ser formatado com a capacidade de %s. Voc quer continuar formatado com esta capacidade?\"\n0x019b   \"No foi possvel formatar este disco.\n\nVerifique se o disco est na unidade, se no  protegido contra gravao, se no est danificado ou se a densidade est errada.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00fe   \"&Diretrio:\"\n0x00ff   \"\\StringFileInfo\\040904E4\\\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01f4   \"Comentrios\"\n0x01f5   \"Nome da empresa\"\n0x01f6   \"Descrio do arquivo\"\n0x01f7   \"Nome interno\"\n0x01f8   \"Marcas registradas\"\n0x01f9   \"Nome original do arquivo\"\n0x01fa   \"Descrio particular\"\n0x01fb   \"Nome do produto\"\n0x01fc   \"Verso do produto\"\n0x01fd   \"Descrio especial\"\n0x01fe   \"Idioma\"\n0x01ff   \"Idiomas\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0222   \"Nenhum arquivo foi encontrado.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0255   \"O computador especificado no foi selecionado.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0263   \"O diretrio compartilhado no foi encontrado.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0274   \"Existem muitas conexes  rede.\"\n0x0276   \"Senha invlida.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x02b0   \"A unidade da rede no est disponvel.\"\n0x02b1   \"Um erro ocorreu durante a leitura da unidade %c.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0f90   \"Comandos para trabalhar com arquivos\"\n0x0f91   \"Comandos para trabalhar com discos\"\n0x0f92   \"Comandos para trabalhar com a janela de diretrio\"\n0x0f93   \"Comandos para definir como a informao ser apresentada\"\n0x0f94   \"Comandos para personalizar o Gerenciador de Arquivos\"\n0x0f9a   \"Comandos para organizao de janelas\"\n0x0f9b   \"Comandos para exibir a Ajuda do Gerenciador de Arquivos\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1005   \"Abre o item selecionado \"\n0x1006   \"Imprime um documento\"\n0x1007   \"Associa um arquivo a um aplicativo\"\n0x1008   \"Localiza arquivos e diretrios\"\n0x1009   \"Inicia ou abre um aplicativo ou documento\"\n0x100a   \"Move o item selecionado\"\n0x100b   \"Copia arquivos e diretrios\"\n0x100c   \"Exclui arquivos e diretrios\"\n0x100d   \"Renomeia um arquivo ou diretrio\"\n0x100e   \"Define os atributos do arquivo e exibe as suas propriedades\"\n0x100f   \"Cria um diretrio\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1013   \"Sai do Gerenciador de Arquivos\"\n0x1014   \"Seleciona arquivos e diretrios\"\n0x1015   \"Recupera arquivos anteriormente excludos\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1069   \"Copia o contedo de um disco flexvel\"\n0x106a   \"Atribui ou altera o nome do volume de um disco\"\n0x106b   \"Formata um disco flexvel\"\n0x106c   \"Copia os arquivos do MS-DOS para um disco flexvel\"\n0x106d   \"Conecta-se a uma unidade de rede\"\n0x106e   \"Desconecta-se de uma unidade de rede\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x109b   \"Seleciona uma unidade diferente\"\n0x109c   \"Conexes da Rede...\"\n0x109d   \"Visualizar Diretrios Compartilhados...\"\n0x109e   \"Compartilha um diretrio\"\n0x109f   \"Finaliza o compartilhamento de um diretrio\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10cd   \"Exibe um outro nvel de um diretrio\"\n0x10ce   \"Exibe todos os nveis de um diretrio\"\n0x10cf   \"Exibe todos os nveis de todos os diretrios\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10d0   \"Reduz todos os diretrios de um diretrio selecionado\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1195   \"Controla a confirmao de mensagens\"\n0x1197   \"Exibe ou oculta a Barra de Status\"\n0x1198   \"Reduz o Gerenciador de Arquivos a um cone ao iniciar\"\n0x1199   \"Indica diretrios que possuem subdiretrios\"\n0x119b   \"Exibe ou oculta a Barra de Unidades\"\n0x119c   \"Exibe ou oculta a Barra de Ferramentas\"\n0x119d   \"Abre nova janela ao conectar-se\"\n0x119e   \"Altera a fonte a ser usada no Gerenciador de Arquivos \"\n0x119f   \"As definies so salvas ao sair do Gerenciador de Arquivos\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1131   \"Exibe somente os nomes dos arquivos\"\n0x1132   \"Exibe todos os detalhes dos arquivos\"\n0x1133   \"Exibe detalhes parciais dos arquivos\"\n0x1134   \"Classifica os arquivos por nome\"\n0x1135   \"Classifica os arquivos por tipo\"\n0x1136   \"Classifica os arquivos por tamanho\"\n0x1137   \"Classifica os arquivos por data\"\n0x1139   \"Exibe os arquivos de um tipo especfico\"\n0x113b   \"Exibe a rvore de diretrio\"\n0x113c   \"Exibe o contedo do diretrio atual\"\n0x113d   \"Exibe a rvore de diretrio e o contedo do diretrio atual\"\n0x113e   \"Divide uma janela de diretrio ou move a barra de diviso\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x11a0   \"Personaliza a Barra de Ferramentas\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13f0   \"Atualiza o contedo de uma janela ativa\"\n0x13f1   \"Organiza os cones em fila na parte inferior da janela\"\n0x13f2   \"Abre uma nova janela\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13ed   \"Organiza as janelas uma aps a outra, permitindo a visualizao das barras de ttulo\"\n0x13ee   \"Organiza as janelas lado a lado verticalmente\"\n0x13ef   \"Organiza as janelas lado a lado horizontalmente\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1451   \"Exibe o contedo da Ajuda do Gerenciador de Arquivos\"\n0x1452   \"Exibe informaes sobre o uso da Ajuda\"\n0x1453   \"Exibe informaes sobre o Gerenciador de Arquivos\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0fbe   \"Procura por um tpico na Ajuda do Gerenciador de Arquivos\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0320   \"Con&ectar Unidade da Rede...\"\n0x0321   \"&Desconectar Unidade da Rede...\"\n0x0322   \"Conexes da &Rede...\"\n0x0323   \"C&ompartilhar Como...\"\n0x0324   \"F&inalizar Compartilhamento...\"\n0x0325   \"&Visualizar Diretrios Compartilhados...\"\n0x0326   \"Recuperar Arquiv&os Excludos...\"\n0x0327   \"Abrir Nova &Janela ao Conectar\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.Catalan.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"&Fitxer\"\n    BEGIN\n    MENUITEM    \"&Obrir\tRetorn\", 0X0065\n    MENUITEM    \"&Desplaament...\tF7\", 0X006A\n    MENUITEM    \"C&pia...\tF8\", 0X006B\n    MENUITEM    \"S&upressi...\tSupr\", 0X006C\n    MENUITEM    \"Can&vi de nom...\", 0X006D\n    MENUITEM    \"Rede&finici...\tAlt+Retorn\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Execuci...\", 0X0069\n    MENUITEM    \"&Impressi...\", 0X0066\n    MENUITEM    \"&Associaci...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Creaci d'un direc&tori...\", 0X006F\n    MENUITEM    \"&Cerca...\", 0X0068\n    MENUITEM    \"Selecci de fit&xers...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Sortir\", 0X0073\n    END\n    POPUP   \"&Disc\"\n    BEGIN\n    MENUITEM    \"Cpia d'un &disquet...\", 0X00C9\n    MENUITEM    \"&Etiqueta d'un disc...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Formatatge d'un disquet...\", 0X00CB\n    MENUITEM    \"&Copiar-hi els fitxers del sistema...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Selecci de la unitat...\", 0X00FB\n    END\n    POPUP   \"A&rbre\"\n    BEGIN\n    MENUITEM    \"Un &nivell d'expansi\t+\", 0X012D\n    MENUITEM    \"E&xpansi de la branca\t*\", 0X012E\n    MENUITEM    \"&Expansi general\tControl+*\", 0X012F\n    MENUITEM    \"&Compressi de la branca\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Senyalar les branques expansibles\", 0X01F9\n    END\n    POPUP   \"&Visualitzaci\"\n    BEGIN\n    MENUITEM    \"&Arbre i directori\", 0X019D\n    MENUITEM    \"No&ms l'arbre\", 0X019B\n    MENUITEM    \"Nom&s el directori\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Di&visi de la pantalla\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Nom\", 0X0191\n    MENUITEM    \"&Caracterstiques dels fitxers\", 0X0192\n    MENUITEM    \"&Informaci especfica...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Classificaci segons el n&om\", 0X0194\n    MENUITEM    \"Classificaci segons el &tipus\", 0X0195\n    MENUITEM    \"Classificaci segons la &grandria\", 0X0196\n    MENUITEM    \"Classificaci segons la &data\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Filtratge segons el tipus...\", 0X0199\n    END\n    POPUP   \"&Opcions\"\n    BEGIN\n    MENUITEM    \"&Confirmaci...\", 0X01F5\n    MENUITEM    \"&Tipus de lletra...\", 0X01FE\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Visualitzar la barra d'estat\", 0X01F7\n    MENUITEM    \"&Reduir l'administrador\", 0X01F8\n    MENUITEM    \"&Desar la configuraci en sortir\", 0X01FF\n    END\n    POPUP   \"F&inestra\"\n    BEGIN\n    MENUITEM    \"&Duplicat de la finestra\", 0X03ED\n    MENUITEM    \"&Cascada\tMajscules+F5\", 0X03E9\n    MENUITEM    \"&Mosaic\tMajscules+F4\", 0X03EA\n    MENUITEM    \"D&isposici de les icones\", 0X03EC\n    MENUITEM    \"&Actualitzaci de la pantalla\tF5\", 0X03EB\n    END\n    POPUP   \"&Ajuda\"\n    BEGIN\n    MENUITEM    \"nde&x\", 0X044D\n    MENUITEM    \"&Cerca per termes\", 0X001E\n    MENUITEM    \"&s de l'ajuda\", 0X044E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Quant a l'Administrador de fitxers...\", 0X044F\n    END\nEND\n\n\n145 DIALOG 0x80c8, 13, 54, 285, 127\nCAPTION \"Tipus de lletra\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Tipus de lletra:\", 1088, 0x0000, 6, 3, 53, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 13, 94, 54\n    CONTROL 0x82, \"&Estil del tipus de lletra:\", 1089, 0x0000, 108, 3, 76, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 13, 76, 54\n    CONTROL 0x82, \"&Grandria:\", 1090, 0x0000, 192, 3, 35, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 192, 13, 35, 54\n    CONTROL 0x80, \"Efectes\", 1072, 0x0007, 6, 72, 84, 61\n    CONTROL 0x80, \"&Barrar-lo\", 1040, 0x0003, 10, 82, 49, 10\n    CONTROL 0x80, \"&Subratllar-lo\", 1041, 0x0003, 10, 94, 51, 10\n    CONTROL 0x80, \"&Minscules\", 1042, 0x0003, 10, 82, 49, 10\n    CONTROL 0x82, \"&Colors:\", 1091, 0x0000, 10, 106, 30, 9\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 116, 75, 50\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 238, 6, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 238, 23, 40, 14\n    CONTROL 0x80, \"A&plicaci\", 1026, 0x0000, 238, 40, 40, 14\n    CONTROL 0x80, \"&Ajuda\", 1038, 0x0000, 238, 57, 40, 14\n    CONTROL 0x80, \"Exemple\", 1073, 0x0007, 119, 72, 160, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 124, 160, 20\n    CONTROL 0x82, \"AaBbYyZz\", 1092, 0x0081, 125, 81, 149, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 201, 86\nCAPTION \"Selecci de la unitat\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Unitats:\", 245, 0x000c, 5, 5, 41, 10\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 155, 6, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 155, 23, 40, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 155, 44, 40, 14\nEND\n\n10 DIALOG 0x80c8, 15, 12, 210, 63\nCAPTION \"Execuci\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 3, 6, 162, 10\n    CONTROL 0x82, \"&Lnia d'ordres:\", 100, 0x000c, 3, 18, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 134, 12\n    CONTROL 0x80, \"&Execuci reduint-lo\", 214, 0x0003, 3, 45, 91, 12\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 165, 6, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 165, 23, 40, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 165, 43, 40, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 155, 83\nCAPTION \"Selecci de fitxers\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Fitxers:\", -1, 0x000c, 5, 16, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 29, 60, 12\n    CONTROL 0x80, \"&Seleccionar\", 1, 0x0001, 70, 6, 75, 14\n    CONTROL 0x80, \"A&nullar la selecci\", 6, 0x0000, 70, 23, 75, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 70, 40, 75, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 70, 63, 75, 14\nEND\n\n39 DIALOG 0x80c8, 10, 20, 277, 95\nCAPTION \"Confirmaci de la substituci de fitxers\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Substituci del fitxer:\", 100, 0x000c, 26, 12, 73, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 103, 12, 168, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 103, 22, 168, 10\n    CONTROL 0x82, \"Pel fitxer:\", 100, 0x000c, 26, 34, 71, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 103, 34, 165, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 103, 44, 162, 10\n    CONTROL 0x80, \"&S\", 6, 0x0001, 52, 73, 40, 14\n    CONTROL 0x80, \"S a &tots\", 107, 0x0000, 98, 73, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 144, 73, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 190, 73, 40, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 275, 60\nCAPTION \"Confirmaci de la supressi de fitxers\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 203, 10\n    CONTROL 0x82, \"Supressi del fitxer:\", 100, 0x000c, 25, 18, 65, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 95, 18, 170, 10\n    CONTROL 0x80, \"&S\", 6, 0x0001, 49, 42, 40, 14\n    CONTROL 0x80, \"S a &tots\", 107, 0x0000, 95, 42, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 141, 42, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 187, 42, 40, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 278, 60\nCAPTION \"Confirmaci de la supressi de directoris\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Supressi del directori:\", 100, 0x000c, 25, 18, 77, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 105, 17, 160, 10\n    CONTROL 0x80, \"&S\", 6, 0x0001, 54, 42, 40, 14\n    CONTROL 0x80, \"S a &tots\", 107, 0x0000, 100, 42, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 146, 42, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 192, 42, 40, 14\nEND\n\n42 DIALOG 0x80c8, 13, 38, 287, 60\nCAPTION \"Confirmaci del desplaament de fitxers\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Desplaament del fitxer:\", 100, 0x000c, 25, 18, 80, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 108, 18, 170, 10\n    CONTROL 0x80, \"&S\", 6, 0x0001, 57, 42, 40, 14\n    CONTROL 0x80, \"S a &tots\", 107, 0x0000, 103, 42, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 149, 42, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 195, 42, 40, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 273, 60\nCAPTION \"Confirmaci del canvi de nom dels fitxers\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Canvi de nom del fitxer:\", 100, 0x000c, 25, 13, 80, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 105, 13, 160, 10\n    CONTROL 0x80, \"&S\", 6, 0x0001, 48, 42, 40, 14\n    CONTROL 0x80, \"S a &tots\", 107, 0x0000, 94, 42, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 140, 42, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 186, 42, 40, 14\nEND\n\n11 DIALOG 0x80c8, 54, 19, 266, 63\nCAPTION \"Impressi\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 29, 6, 193, 10\n    CONTROL 0x82, \"&Impressi de:\", 100, 0x000c, 3, 20, 58, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 53, 18, 160, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 29, 36, 190, 10\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 223, 6, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 223, 23, 40, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 223, 43, 40, 14\nEND\n\n13 DIALOG 0x80c8, 20, 20, 263, 63\nCAPTION \"Cerca\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Cercar:\", 100, 0x000c, 5, 6, 45, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 52, 5, 160, 12\n    CONTROL 0x82, \"&Des de:\", 100, 0x000c, 5, 21, 45, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 52, 20, 160, 12\n    CONTROL 0x80, \"C&ercar en tots els subdirectoris\", 232, 0x0003, 52, 34, 124, 12\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 217, 6, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 217, 23, 40, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 217, 43, 40, 14\nEND\n\n14 DIALOG 0x80c8, 34, 113, 253, 64\nCAPTION \"Desplaament\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Directori actiu: \", 101, 0x008b, 25, 6, 182, 10\n    CONTROL 0x82, \"&Destinaci:\", 100, 0x000c, 5, 33, 42, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 59, 32, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 48, 33, 10, 10\n    CONTROL 0x80, \"&Copiar-lo a la Carpeta\", 256, 0x0004, 48, 47, 89, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 49, 40, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 59, 49, 138, 10\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 207, 6, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 207, 23, 40, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 207, 44, 40, 14\n    CONTROL 0x82, \"&Origen:\", 100, 0x000c, 5, 19, 44, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 59, 18, 138, 12\nEND\n\n15 DIALOG 0x80c8, 14, 20, 252, 64\nCAPTION \"Supressi\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Directori actiu: \", 101, 0x008c, 3, 6, 193, 10\n    CONTROL 0x82, \"&Supressi de:\", 100, 0x000c, 2, 20, 43, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 46, 19, 155, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 9, 35, 35, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 46, 35, 155, 10\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 206, 6, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 206, 23, 40, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 206, 43, 40, 14\nEND\n\n38 DIALOG 0x80c8, 20, 20, 220, 78\nCAPTION \"Redefinici\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"%d fitxers seleccionats, %s bytes en total\", 100, 0x000c, 5, 5, 209, 10\n    CONTROL 0x80, \"Atributs\", -1, 0x0007, 5, 25, 136, 42\n    CONTROL 0x80, \"&Noms de lectura\", 215, 0x0003, 10, 36, 71, 12\n    CONTROL 0x80, \"&Ocult\", 216, 0x0003, 85, 36, 52, 12\n    CONTROL 0x80, \"&Modificable\", 217, 0x0003, 10, 48, 52, 12\n    CONTROL 0x80, \"&Sistema\", 218, 0x0003, 85, 48, 52, 12\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 165, 20, 50, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 165, 37, 50, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 165, 57, 50, 14\nEND\n\n16 DIALOG 0x80c8, 53, 34, 231, 100\nCAPTION \"Redefinici del fitxer %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 175, 6, 50, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 175, 23, 50, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 175, 43, 50, 14\n    CONTROL 0x82, \"&Fitxer:\", 100, 0x000c, 5, 5, 50, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 55, 4, 118, 10\n    CONTROL 0x82, \"Grandria:\", 100, 0x000c, 5, 16, 40, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 55, 16, 90, 10\n    CONTROL 0x82, \"Ultima modificaci:\", 100, 0x000c, 5, 27, 64, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 68, 27, 97, 10\n    CONTROL 0x82, \"&Cam:\", 100, 0x000c, 5, 38, 46, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 55, 38, 118, 10\n    CONTROL 0x80, \"Atributs\", 100, 0x0007, 4, 52, 143, 42\n    CONTROL 0x80, \"&Noms de lectura\", 215, 0x0003, 9, 64, 72, 12\n    CONTROL 0x80, \"&Ocult\", 216, 0x0003, 90, 64, 49, 12\n    CONTROL 0x80, \"&Modificable\", 217, 0x0003, 9, 76, 52, 12\n    CONTROL 0x80, \"&Sistema\", 218, 0x0003, 90, 76, 49, 12\nEND\n\n17 DIALOG 0x80c8, 20, 20, 200, 63\nCAPTION \"Creaci d'un directori\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Nom:\", 100, 0x000c, 3, 23, 20, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 30, 22, 90, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 46, 150, 10\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 157, 6, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 157, 23, 40, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 157, 43, 40, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 157, 66\nCAPTION \"Cpia del sistema al disquet\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Cpia dels fitxers de sistema al disquet de la unitat:\", -1, 0x000c, 5, 5, 100, 20\n    CONTROL 0x85, \"\", 222, 0x0003, 30, 24, 40, 37\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 157, 64\nCAPTION \"Cpia d'un disquet\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Origen:\", -1, 0x000c, 5, 8, 50, 10\n    CONTROL 0x85, \"\", 245, 0x0003, 55, 6, 40, 37\n    CONTROL 0x82, \"&Destinaci:\", 206, 0x000c, 5, 22, 50, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 20, 40, 37\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 55\nCAPTION \"Copiant el disquet\"\nFONT 8, \"Helv\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"Copiant el disquet a la\", 100, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \" Unitat A:\", 222, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \"Llegint el disquet d'origen\", 243, 0x0001, 0, 26, 130, 10\n    CONTROL 0x80, \"Anullaci\", 2, 0x0001, 44, 39, 44, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 161, 63\nCAPTION \"Etiqueta del disc\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Etiqueta:\", 100, 0x000c, 5, 15, 30, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 100, 12\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 115, 6, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 115, 23, 40, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 115, 43, 40, 14\nEND\n\n24 DIALOG 0x90c8, 9, 28, 185, 96\nCAPTION \"Formatatge d'un disquet\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 142, 6, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 142, 23, 40, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 142, 43, 40, 14\n    CONTROL 0x82, \"&Disquet de la unitat:\", -1, 0x000c, 3, 7, 66, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 70, 4, 65, 40\n    CONTROL 0x82, \"&Capacitat:\", 100, 0x000c, 3, 20, 49, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 70, 19, 65, 40\n    CONTROL 0x80, \"Opcions\", 102, 0x0007, 7, 39, 122, 53\n    CONTROL 0x82, \"&Etiqueta:\", -1, 0x000c, 13, 51, 39, 10\n    CONTROL 0x81, \"\", 201, 0x0000, 48, 49, 75, 12\n    CONTROL 0x80, \"Copiar-hi els fitxers de &sistema\", 242, 0x0003, 13, 62, 111, 12\n    CONTROL 0x80, \"&Formatar-lo rpidament\", 244, 0x0003, 13, 76, 109, 12\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 50\nCAPTION \"Formatant el disquet\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Formatant el disquet. \", 100, 0x0001, 0, 5, 150, 10\n    CONTROL 0x82, \"Inicialitzant la unitat...\", 243, 0x0001, 0, 17, 150, 10\n    CONTROL 0x80, \"Anullaci\", 2, 0x0001, 54, 30, 44, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 174, 57\nCAPTION \"Cpia del sistema al disquet\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Copiant els fitxers del sistema\", 100, 0x0001, 0, 6, 174, 8\n    CONTROL 0x82, \"Premeu Anullaci si voleu interrompre el procs.\", 100, 0x0001, 0, 20, 174, 8\n    CONTROL 0x80, \"Anullaci\", 2, 0x0001, 66, 39, 44, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 246, 135\nCAPTION \"Connexions a la xarxa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Creaci d'una connexi\", -1, 0x0007, 5, 3, 178, 55\n    CONTROL 0x82, \"Cam de la &xarxa:\", -1, 0x0000, 10, 16, 61, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 77, 14, 100, 12\n    CONTROL 0x82, \"&Unitat:\", -1, 0x0000, 10, 30, 24, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 77, 28, 40, 100\n    CONTROL 0x82, \"C&ontrasenya:\", -1, 0x0000, 10, 44, 47, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 77, 42, 100, 12\n    CONTROL 0x82, \"Connexions actuals del &perifric:\", -1, 0x0000, 5, 62, 120, 10\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 160, 60\n    CONTROL 0x80, \"&Tancar\", 2, 0x0001, 190, 6, 50, 14\n    CONTROL 0x80, \"&Connexi\", 1, 0x0000, 190, 27, 50, 14\n    CONTROL 0x80, \"An&terior...\", 226, 0x0000, 190, 44, 50, 14\n    CONTROL 0x80, \"&Navegaci...\", 227, 0x0000, 190, 61, 50, 14\n    CONTROL 0x80, \"&Desconnexi\", 255, 0x0000, 190, 78, 50, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 190, 95, 50, 14\nEND\n\n29 DIALOG 0x80c8, 30, 30, 231, 98\nCAPTION \"Connexions anteriors a la xarxa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Camins de la xarxa:\", 100, 0x000c, 3, 3, 69, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 3, 15, 172, 80\n    CONTROL 0x80, \"S&eleccionar\", 1, 0x0001, 181, 6, 46, 14\n    CONTROL 0x80, \"Tancar\", 2, 0x0000, 181, 24, 46, 14\n    CONTROL 0x80, \"&Supressi\", 219, 0x0000, 181, 41, 46, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 181, 58, 46, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 178, 65\nCAPTION \"Informaci especfica\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Detalls\", 100, 0x0007, 4, 4, 122, 55\n    CONTROL 0x80, \"&Grandria\", 203, 0x0003, 11, 15, 112, 9\n    CONTROL 0x80, \"&Data de la darrera modificaci\", 204, 0x0003, 11, 25, 112, 9\n    CONTROL 0x80, \"&Hora de la darrera modificaci\", 205, 0x0003, 11, 35, 112, 9\n    CONTROL 0x80, \"A&tributs del fitxer\", 206, 0x0003, 11, 45, 112, 9\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 133, 8, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 133, 25, 40, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 133, 45, 40, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 160, 102\nCAPTION \"Filtratge segons el tipus\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Nom:\", 100, 0x000c, 5, 8, 23, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"Tipus de fitxers\", 100, 0x0007, 5, 20, 94, 62\n    CONTROL 0x80, \"&Directoris\", 101, 0x0003, 10, 31, 60, 12\n    CONTROL 0x80, \"&Programes\", 210, 0x0003, 10, 43, 60, 12\n    CONTROL 0x80, \"D&ocuments\", 211, 0x0003, 10, 55, 60, 12\n    CONTROL 0x80, \"A&ltres\", 212, 0x0003, 10, 67, 60, 12\n    CONTROL 0x80, \"&Visualitzar els fitxers ocults i els de sistema\", 250, 0x0003, 5, 85, 152, 12\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 164, 80\nCAPTION \"Confirmaci\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Confirmaci per\", 100, 0x0007, 5, 3, 108, 73\n    CONTROL 0x80, \"Suprimir un &fitxer\", 219, 0x0003, 10, 15, 97, 12\n    CONTROL 0x80, \"Suprimir un &directori\", 220, 0x0003, 10, 27, 97, 12\n    CONTROL 0x80, \"&Substituir un fitxer\", 221, 0x0003, 10, 39, 97, 12\n    CONTROL 0x80, \"Operar amb el &ratol\", 249, 0x0003, 10, 51, 97, 12\n    CONTROL 0x80, \"&Executar ordres del disc\", 251, 0x0003, 10, 63, 97, 12\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 118, 6, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 118, 23, 40, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 118, 44, 40, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 250, 46\nCAPTION \"Desplaant...\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 5, 49, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 55, 5, 192, 10\n    CONTROL 0x82, \"Destinaci:\", 108, 0x008b, 5, 15, 41, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 55, 15, 192, 10\n    CONTROL 0x80, \"Anullaci\", 2, 0x0001, 200, 28, 40, 14\nEND\n\n36 DIALOG 0x80c8, 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Imprimint el fitxer...\", -1, 0x0001, 4, 6, 120, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 0, 20, 120, 12\n    CONTROL 0x80, \"Anullaci\", 2, 0x0001, 41, 40, 44, 14\nEND\n\n12 DIALOG 0x80c8, 31, 39, 221, 96\nCAPTION \"Associar\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Fitxers amb l'extensi:\", 99, 0x000c, 5, 8, 74, 10\n    CONTROL 0x81, \"\", 112, 0x0400, 80, 6, 35, 12\n    CONTROL 0x82, \"&Associar amb:\", 99, 0x000c, 5, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 5, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 11, 44, 146, 40\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 165, 6, 48, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 165, 23, 48, 14\n    CONTROL 0x80, \"&Navegaci...\", 232, 0x0000, 165, 43, 48, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 165, 60, 48, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 250, 78\nCAPTION \"Selecci del nom\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Aquest cam no s'adiu amb el format dels noms dels fitxers del DOS. Escriviu-ne un altre.\", 99, 0x0000, 3, 4, 190, 24\n    CONTROL 0x82, \"&Crear el nom:\", 99, 0x0002, 5, 56, 50, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 57, 55, 130, 12\n    CONTROL 0x82, \"Cam original:\", 99, 0x0002, 5, 28, 50, 11\n    CONTROL 0x81, \"\", 102, 0x0880, 57, 28, 130, 12\n    CONTROL 0x82, \"Al directori:\", 99, 0x0002, 5, 42, 50, 11\n    CONTROL 0x81, \"\", 101, 0x0880, 57, 42, 130, 12\n    CONTROL 0x80, \"D'acord\", 1, 0x0001, 205, 4, 40, 14\n    CONTROL 0x80, \"Anullaci\", 2, 0x0000, 205, 20, 40, 14\n    CONTROL 0x80, \"&Ajuda\", 254, 0x0000, 205, 36, 40, 14\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"Sortir del Windows\"\n0x0029   \"Fi d'aquesta sessi del Windows.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"Cpia d'un disquet\"\n0x0033   \"Introduu el disquet de destinaci.\"\n0x0034   \"Introduu el disquet d'origen.\"\n0x0035   \"Introduu els disquets d'origen i de destinaci.\"\n0x0036   \"Formatant el disquet de destinaci\"\n0x0037   \"Error en copiar el disquet\"\n0x0038   \"Impossible de copiar el disquet.\"\n0x003a   \"Les unitats d'origen i de destinaci sn incompatibles.\"\n0x003c   \"%d%% enllestit\"\n0x003d   \"Creant el directori principal...\"\n0x003e   \"Copiant els fitxers del sistema...\"\n0x003f   \"Error en formatar el disquet\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"No hi ha prou espai de disc per imprimir.\n\nSuprimiu un o ms d'un fitxer i torneu a intentar-ho.\"\n0x00c1   \"No hi ha prou memria per imprimir.\n\nSortiu d'una o ms d'una aplicaci i torneu a intentar-ho.\"\n0x00c2   \"Hi ha hagut un error durant la impressi.\n\nVerifiqueu la configuraci i la selecci de la impressora.\"\n0x00c3   \"Visualitzaci parcial de l'arbre de directoris\"\n0x00c5   \"La unitat de destinaci s plena.\n\nIntroduu un altre disquet per continuar.\"\n0x00c6   \"Aquest fitxer s del sistema , ocult o b noms de lectura.\"\n0x00c7   \"Impossible de formatar rpidament.\n\nVoleu continuar formatant a la velocitat normal?\"\n0x00c8   \"L'aplicaci especificada no s del Windows ni de l'MS-DOS.\"\n0x00c9   \"Per executar aquesta aplicaci cal una versi posterior del Windows de Microsoft.\"\n0x00ca   \"Per executar aquesta aplicaci us cal el Windows.\"\n0x00cb   \"Hi ha hagut un error durant la tramesa de l'ordre a l'aplicaci.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"Impossible de formatar el disquet.\"\n0x0042   \"Formatatge enllestit\"\n0x0043   \"%ld bytes d'espai de disc en total\n%ld bytes disponibles al disquet\n\nVoleu formatar-ne un altre?\"\n0x0046   \"Cpia del sistema al disquet\"\n0x0047   \"Esteu segurs que voleu copiar els fitxers del sistema al disquet de la unitat %c?\"\n0x0048   \"Error de disc al sistema\"\n0x0049   \"A la unitat d'inicialitzaci de l'MS-DOS no hi ha els fitxers del sistema o b no s accessible.\"\n0x004a   \"Impossible de copiar els fitxers del sistema a la unitat d'inicialitzaci de l'MS-DOS.\"\n0x004b   \"Impossible d'afegir fitxers del sistema al disquet.\n\nComproveu que hi ha un disquet formatat a la unitat i que la porta de la unitat est tancada.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"Error a la xarxa\"\n0x0053   \"En aquesta unitat hi ha els fitxers del sistema del Windows i, per tant,  no podeu desconnectar-la.\"\n0x005b   \"Impossible de canviar els atributs.\n\nComproveu que el disquet no est protegit d'escriptura.\"\n0x005c   \"Impossible de crear el directori.\n\nComproveu que el disquet no est protegit d'escriptura.\"\n0x005d   \"Impossible d'etiquetar el disquet.\n\nComproveu que no est protegit d'escriptura, no s cap unitat de la xarxa i que l'etiqueta s vlida.\nEls carcters segents no sn vlids:n[espai] * ? / \\ | . , ; : + = [ ] ( ) & ^ < > \" \"\n0x005f   \"No hi ha cap fitxer amb aquestes caracterstiques.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"Nombre total de fitxers: %d (%s bytes)\"\n0x00b5   \"Directoris llegits: %d \"\n0x00b6   \"%c: %s Kb lliures, %s Kb en total\"\n0x00b7   \"%d fitxers trobats\"\n0x00b9   \"els fitxers seleccionats\"\n0x00ba   \"Impossible de desconnectar de la xarxa aquesta unitat.\n\nEncara hi ha fitxers oberts.\"\n0x00bb   \"%d fitxers seleccionats (%s bytes)\"\n0x00bc   \"No hi cap disquet a la unitat %c.\n\nIntroduu-n'hi un i torneu a intentar-ho.\"\n0x00bd   \"El disquet de la unitat %c no est formatat.\n\nVoleu formatar-lo ara?\"\n0x00bf   \"Impossible de trobar el fitxer que voleu imprimir. Comproveu-ne el cam i el nom.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"Aquest directori ja ha estat creat.\"\n0x0061   \"El contingut de la unitat ha estat modificat. Voleu actualitzar la finestra Resultats de la cerca?\"\n0x0065   \"Unitat %c:%c\"\n0x006e   \"Impossible d'executar el programa.\"\n0x006f   \"Hi ha hagut un error imprevist: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"L'operaci de formatatge suprimeix TOTES les dades del disquet. Esteu segurs que voleu formatar el disc de la unitat %c?\"\n0x00d3   \"Confirmaci del formatatge d'un disquet\"\n0x00d4   \"Aquesta operaci suprimeix TOTES les dades del disquet de destinaci. Esteu segurs que voleu continuar el procs?\"\n0x00d5   \"Confirmaci de la cpia del disquet\"\n0x00d6   \"&Tancar\"\n0x00d7   \"&Recuperar...\"\n0x00d8   \"Connexi amb una &unitat de la xarxa...\"\n0x00d9   \"Connexions a la &xarxa...\"\n0x00da   \"No hi cap directori %s.\n\nVoleu crear-lo?\"\n0x00db   \"Programes#*.exe;*.pif;*.com;*.bat#Tots els fitxers (*.*)#*.*#\"\n0x00dc   \"Navegaci\"\n0x00dd   \"Execuci\"\n0x00de   \"Impossible d'imprimir el fitxer\"\n0x00df   \"Impossible de visualitzar la informaci d'ajuda.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"No hi ha prou memria per executar l'aplicaci especificada.\n\nSortiu d'una o ms d'una aplicaci i torneu a intentar-ho.\"\n0x0071   \"Impossible de trobar el fitxer (o b algun dels seus components).\n\nComproveu-ne el cam i el nom i tamb que totes les biblioteques necessries estan disponibles.\"\n0x0072   \"El cam especificat no s vlid.\"\n0x0073   \"Massa fitxers en execuci.\n\nSortiu d'una o ms d'una aplicaci o b augmenteu el valor de l'ordre FILES del Config.sys i torneu a intentar-ho.\"\n0x0074   \"No hi ha cap aplicaci associada amb aquest fitxer.\n\nTrieu l'opci Associaci del men Fitxer per crear-ne una.\"\n0x0075   \"Impossible d'executar ms d'una vegada el programa especificat.\"\n0x0076   \"Impossible d'obrir o b d'imprimir el fitxer.\n\nPer obrir-lo o imprimir-lo, executeu l'aplicaci utilitzada per crear-lo.\"\n0x0078   \"Confirmaci d'una operaci amb el ratol\"\n0x0079   \"Esteu segurs que voleu copiar els fitxers o els directoris seleccionats a %s?\"\n0x007a   \"Esteu segurs que voleu desplaar els fitxers o els directoris seleccionats a %s?\"\n0x007b   \"Esteu segurs que voleu executar l'aplicaci %s amb %s com a fitxer inicial?\"\n0x007c   \"Administrador de fitxers\"\n0x007e   \"Arbre de directoris\"\n0x007f   \"Resultat de la cerca \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"Els fitxers amb l'extensi %s sn programes i no poden ser associats amb cap altra aplicaci.\"\n0x00e1   \"%s no s cap programa i no podeu associar-lo a cap extensi d'un fitxer.\"\n0x00e2   \"(cap)\"\n0x00e3   \"No hi ha cap fitxer.\"\n0x00e4   \"Impossible d'imprimir ms d'un fitxer alhora.\n\nSeleccioneu-ne noms un i torneu a intentar-ho.\"\n0x00e5   \"Aquest programa o algun dels seus components s comprimit.\n\nUtilitzeu la utilitat d'expansi de l'MS-DOS per copiar el fitxer des dels disquets d'installaci.\"\n0x00e6   \"Un dels fitxers de la biblioteca necessaris per executar aquesta aplicaci s defectus. Torneu a installar l'aplicaci.\"\n0x00e7   \"Alguna altra aplicaci utilitza el fitxer en aquest moment.\"\n0x00e8   \"s possible que l'Administrador de fitxers no pugui accedir als fitxers creats al directori \"%\".\n\nVoleu continuar?\"\n0x00e9   \"Creaci d'un directori\"\n0x00ea   \"%ld bytes\"\n0x00eb   \"%s bytes\"\n0x00ec   \"Impossible de copiar ms d'un fitxer o directori a la Carpeta.\n\nSeleccioneu-ne noms un i torneu a intentar-ho.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"Massa fitxers\"\n0x0085   \"Administrador de fitxers: sense memria\"\n0x0086   \"Impossible de llegir tot el directori.  Noms s possible de visualitzar-ne una llista parcial.\"\n0x008c   \"El directori actiu s %s\"\n0x008d   \"Cpia\"\n0x008f   \"Canvi de nom\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"Formatatge de disquets\"\n0x0092   \"Seleccioneu el disquet que voleu formatar.\"\n0x0094   \"&Desconnexi de la unitat de la xarxa...\"\n0x0096   \"Creant:\"\n0x0097   \"Eliminant...\"\n0x0098   \"Copiant:\"\n0x0099   \"Canviant el nom...\"\n0x009a   \"Desplaant...\"\n0x009b   \"Suprimint...\"\n0x009c   \"Imprimint: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"No hi ha cap unitat %c.\"\n0x00a9   \"Copiant...\"\n0x00aa   \"Eliminant:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"Obrint...\"\n0x01a5   \"Tancant...\"\n0x01a6   \"Hi ha massa finestres de directoris obertes.\n\nTanqueu-ne una o ms d'una i torneu a intentar-ho.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"Error en desplaar el fitxer\"\n0x03ea   \"Error en copiar el fitxer\"\n0x03eb   \"Error en suprimir el fitxer\"\n0x03ec   \"Error en canviar el nom del fitxer\"\n0x03ed   \"Error en seleccionar la unitat\"\n0x03ee   \"Error en llegir el directori\"\n0x03ef   \"Error en assignar una etiqueta al disc\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"Impossible de desplaar el fitxer %s: %s\"\n0x03f4   \"Impossible de copiar el fitxer %s: %s\"\n0x03f5   \"Impossible de suprimir el fitxer %s: %s\"\n0x03f6   \"Impossible de canviar el nom del fitxer %s: %s\"\n0x03fd   \"Impossible de crear el directori %s: %s\"\n0x03fe   \"Impossible d'eliminar el directori %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"Impossible de crear o de substituir %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Funci del DOS no vlida\"\n0x0412   \"Impossible de trobar el fitxer.\n\nVerifiqueu-ne el cam i el nom.\"\n0x0413   \"Impossible de trobar el cam.\n\nVerifiqueu-lo.\"\n0x0414   \"Massa fitxers oberts. Sortiu d'una o ms d'una aplicaci.\"\n0x0415   \"Accs no autoritzat.\n\nComproveu que el disquet no s ple i que no est protegit d'escriptura.\"\n0x0416   \"El manejador del fitxer no s vlid\"\n0x0418   \"No hi ha prou memria.\n\nSortiu d'una o ms d'una aplicaci i torneu a intentar-ho.\"\n0x041c   \"Accs al fitxer no vlid\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"Impossible d'eliminar el directori actiu (error intern).\"\n0x0421   \"El dispositiu no s vlid\"\n0x0422   \"El directori s buit\"\n0x0423   \"El disquet est protegit d'escriptura.\n\nAnulleu la protecci d'escriptura d'aquest disquet o b utilitzeu-ne un altre i torneu a intentar-ho.\"\n0x042d   \"Error d'escriptura. El fitxer o el disquet de destinaci deu ser defectus.\"\n0x042f   \"Error de lectura. El fitxer d'origen o el disquet deu ser defectus.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"Lperaci no s vlida\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"Accs a la xarxa no autoritzat. Comproveu que disposeu dels permisos de xarxa necessaris per efectuar l'operaci.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"Impossible d'executar l'operaci en fitxers compartits. L'origen o la destinaci deuen ser actius.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"No hi ha prou espai al disc.\n\nSuprimiu un o ms d'un fitxer i torneu a intentar-ho.\"\n0x0481   \"Les unitats d'origen i de destinaci sn la mateixa.\"\n0x0482   \"Seleccioneu noms un fitxer per canviar-ne el nom. Utilitzeu qualsevol comod de l'MS-DOS (per exemple, *.txt) per canviar el nom d'un grup de fitxers amb noms semblants.\"\n0x0483   \"Impossible de canviar el nom i copiar-lo en un altre directori o fitxer alhora.\"\n0x0484   \"Directori principal (error intern)\"\n0x0486   \"El directori de destinaci s un subdirectori del d'origen.\"\n0x0487   \"El Windows utilitza el fitxer en aquest moment.\"\n0x0488   \"Accs no autoritzat. Alg deu estar utilitzant el fitxer d'origen.\"\n0x0489   \"Cam massa profund\"\n0x048a   \"Indiqueu noms un fitxer o un directori al quadre Destinaci. Utilitzeu qualsevol comod de l'MS-DOS (per exemple,  *.txt) per indicar un grup de fitxers.\"\n0x048b   \"Ja hi ha un fitxer amb aquest nom. Repetiu l'operaci i escriviu-ne un altre al quadre Destinaci.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1,2 Mb\"\n0x0131   \"720 Kb\"\n0x0132   \"1,44 Mb\"\n0x0133   \"2,88 Mb\"\n0x0134   \"Capacitat de la unitat\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360 Kb\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"No hi ha prou memria.\"\n0x0192   \"Impossible de formatar la unitat d'inicialitzaci de l'MS-DOS.\"\n0x0193   \"La grandria del sector de la unitat d'inicialitzaci de l'MS-DOS no s vlida.\"\n0x0194   \"Tipus desconegut d'unitat\"\n0x0199   \"Impossible de transferir els fitxers del sistema.\"\n0x019a   \"Aquest disquet pot ser formatat amb una capacitat de %s. Voleu continuar el formatatge assignant-li aquesta capacitat?\"\n0x019b   \"Impossible de formatar el disquet.\n\nComproveu que el disquet s a la unitat , que no est protegit d'escriptura ni s defectus i que la densitat especificada s correcta.\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.Czech.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"&Soubor\"\n    BEGIN\n    MENUITEM    \"&Otevi\tEnter\", 0X0065\n    MENUITEM    \"&Pesu...\tF7\", 0X006A\n    MENUITEM    \"Kop&ruj...\tF8\", 0X006B\n    MENUITEM    \"&Sma...\tDel\", 0X006C\n    MENUITEM    \"Pe&jmenuj...\", 0X006D\n    MENUITEM    \"Pop&is...\tAlt+Enter\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Sp&us...\", 0X0069\n    MENUITEM    \"Vy&tiskni...\", 0X0066\n    MENUITEM    \"&Asociuj...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Vytvo a&dres...\", 0X006F\n    MENUITEM    \"Vy&hledej...\", 0X0068\n    MENUITEM    \"Vy&ber soubory...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Konec\", 0X0073\n    END\n    POPUP   \"&Disk\"\n    BEGIN\n    MENUITEM    \"&Kopruj disk...\", 0X00C9\n    MENUITEM    \"Pojmenovn &disku...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Formtuj disk...\", 0X00CB\n    MENUITEM    \"&Vytvo systmov disk...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Volba &jednotky...\", 0X00FB\n    END\n    POPUP   \"S&trom\"\n    BEGIN\n    MENUITEM    \"&Rozbal o jednu rove\t+\", 0X012D\n    MENUITEM    \"Rozbal &vtev\t*\", 0X012E\n    MENUITEM    \"Rozbal &pln\tCtrl+*\", 0X012F\n    MENUITEM    \"&Sbal vtev\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Indikuj rozbaliteln vtve\", 0X01F9\n    END\n    POPUP   \"&Zobrazen\"\n    BEGIN\n    MENUITEM    \"S&trom a adrese\", 0X019D\n    MENUITEM    \"&Pouze strom\", 0X019B\n    MENUITEM    \"Pouze &adrese\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Rozdlen\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Jen jmno\", 0X0191\n    MENUITEM    \"p&ln popis\", 0X0192\n    MENUITEM    \"&sten popis...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Sea podle j&mna\", 0X0194\n    MENUITEM    \"Sea podle t&ypu\", 0X0195\n    MENUITEM    \"Sea podle &velikosti\", 0X0196\n    MENUITEM    \"Sea podle &data\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Typ &zobrazench soubor...\", 0X0199\n    END\n    POPUP   \"&Voliteln\"\n    BEGIN\n    MENUITEM    \"P&otvrzen...\", 0X01F5\n    MENUITEM    \"&Psmo...\", 0X01FE\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Stavov pruh\", 0X01F7\n    MENUITEM    \"Pi sputn aplikace se &minimalizuj\", 0X01F8\n    MENUITEM    \"Pi ukonen ulo &nastaven\", 0X01FF\n    END\n    POPUP   \"&Okno\"\n    BEGIN\n    MENUITEM    \"&Nov okno\", 0X03ED\n    MENUITEM    \"&Kaskda\tShift+F5\", 0X03E9\n    MENUITEM    \"&Dladice\tShift+F4\", 0X03EA\n    MENUITEM    \"&Uspodej ikony\", 0X03EC\n    MENUITEM    \"&Aktualizuj\tF5\", 0X03EB\n    END\n    POPUP   \"&Npovda\"\n    BEGIN\n    MENUITEM    \"O&bsah\", 0X044D\n    MENUITEM    \"&Vyhledej npovdu...\", 0X001E\n    MENUITEM    \"&Jak pouvat npovdu\", 0X044E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&O aplikaci Sprvce soubor...\", 0X044F\n    END\nEND\n\n\n145 DIALOG 0x80c8, 18, 15, 272, 146\nCAPTION \"Psmo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Psmo:\", 1088, 0x0000, 4, 3, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 4, 13, 104, 54\n    CONTROL 0x82, \"&Styl psma:\", 1089, 0x0000, 116, 3, 44, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 116, 13, 64, 54\n    CONTROL 0x82, \"&Velikost:\", 1090, 0x0000, 188, 3, 30, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 188, 13, 32, 54\n    CONTROL 0x80, \"Efekty\", 1072, 0x0007, 4, 72, 88, 34\n    CONTROL 0x80, \"Pe&krtnut\", 1040, 0x0003, 10, 82, 65, 10\n    CONTROL 0x80, \"Pod&tren\", 1041, 0x0003, 10, 94, 51, 10\n    CONTROL 0x80, \"Pouze &mal psmena\", 1042, 0x0003, 10, 82, 81, 10\n    CONTROL 0x82, \"&Barva:\", 1091, 0x0000, 4, 110, 30, 9\n    CONTROL 0x85, \"\", 1139, 0x0253, 4, 120, 88, 100\n    CONTROL 0x80, \"OK\", 1, 0x0001, 228, 4, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 228, 22, 40, 14\n    CONTROL 0x80, \"P&out\", 1026, 0x0000, 228, 40, 40, 14\n    CONTROL 0x80, \"&Npovda\", 1038, 0x0000, 228, 58, 40, 14\n    CONTROL 0x80, \"Vzorek\", 1073, 0x0007, 98, 72, 170, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 124, 160, 20\n    CONTROL 0x82, \"Ovci tverci\", 1092, 0x0081, 104, 81, 159, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 200, 82\nCAPTION \"Volba diskov jednotky\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Diskov jednotky:\", 245, 0x000c, 4, 4, 81, 9\n    CONTROL 0x83, \"\", 222, 0x0083, 4, 14, 140, 68\n    CONTROL 0x80, \"OK\", 1, 0x0001, 156, 4, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 156, 22, 40, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 156, 44, 40, 14\nEND\n\n10 DIALOG 0x80c8, 15, 12, 208, 62\nCAPTION \"Sputn programu\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 4, 4, 160, 9\n    CONTROL 0x82, \"&Povelov dek:\", 100, 0x000c, 4, 14, 60, 9\n    CONTROL 0x81, \"\", 201, 0x0480, 4, 24, 153, 12\n    CONTROL 0x80, \"Spustit &minimalizovan\", 214, 0x0003, 4, 42, 146, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 164, 4, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 164, 22, 40, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 164, 44, 40, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 116, 80\nCAPTION \"Vbr soubor\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Soubor(y):\", -1, 0x000c, 5, 16, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 29, 60, 12\n    CONTROL 0x80, \"&Vyber\", 1, 0x0001, 70, 4, 42, 14\n    CONTROL 0x80, \"Z&ru vbr\", 6, 0x0000, 70, 22, 42, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 70, 40, 42, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 70, 62, 42, 14\nEND\n\n39 DIALOG 0x80c8, 10, 20, 246, 81\nCAPTION \"Potvrzen pepisu obsahu souboru\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 4, 221, 10\n    CONTROL 0x82, \"Pepsat soubor(y):\", 100, 0x000c, 25, 14, 63, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 88, 14, 158, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 75, 22, 171, 10\n    CONTROL 0x82, \"Obsahem souboru:\", 100, 0x000c, 25, 34, 63, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 88, 34, 158, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 75, 42, 171, 10\n    CONTROL 0x80, \"&Ano\", 6, 0x0001, 20, 62, 40, 14\n    CONTROL 0x80, \"Ano pro &vechny\", 107, 0x0000, 66, 62, 68, 14\n    CONTROL 0x80, \"&Ne\", 7, 0x0000, 140, 62, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 186, 62, 40, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 246, 57\nCAPTION \"Potvrzen smazn souboru\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 4, 221, 10\n    CONTROL 0x82, \"Smazat soubor:\", 100, 0x000c, 25, 14, 63, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 88, 14, 152, 10\n    CONTROL 0x80, \"&Ano\", 6, 0x0001, 20, 38, 40, 14\n    CONTROL 0x80, \"Ano pro &vechny\", 107, 0x0000, 66, 38, 68, 14\n    CONTROL 0x80, \"&Ne\", 7, 0x0000, 140, 38, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 186, 38, 40, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 246, 57\nCAPTION \"Potvrzen smazn adrese\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 4, 221, 10\n    CONTROL 0x82, \"Smazat adres:\", 100, 0x000c, 25, 14, 63, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 88, 14, 158, 10\n    CONTROL 0x80, \"&Ano\", 6, 0x0001, 20, 38, 40, 14\n    CONTROL 0x80, \"Ano pro &vechny\", 107, 0x0000, 66, 38, 68, 14\n    CONTROL 0x80, \"&Ne\", 7, 0x0000, 140, 38, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 186, 38, 40, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 246, 57\nCAPTION \"Potvrzen pesunu souboru\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 221, 10\n    CONTROL 0x82, \"Pesunout soubor:\", 100, 0x000c, 25, 14, 63, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 88, 14, 158, 10\n    CONTROL 0x80, \"&Ano\", 6, 0x0001, 20, 38, 40, 14\n    CONTROL 0x80, \"Ano pro &vechny\", 107, 0x0000, 66, 38, 68, 14\n    CONTROL 0x80, \"&Ne\", 7, 0x0000, 140, 38, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 186, 38, 40, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 246, 57\nCAPTION \"Potvrzen pejmenovn souboru\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 4, 221, 10\n    CONTROL 0x82, \"Pejmenovat soubor:\", 100, 0x000c, 25, 14, 73, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 98, 13, 148, 10\n    CONTROL 0x80, \"&Ano\", 6, 0x0001, 20, 38, 40, 14\n    CONTROL 0x80, \"Ano pro &vechny\", 107, 0x0000, 66, 38, 68, 14\n    CONTROL 0x80, \"&Ne\", 7, 0x0000, 140, 38, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 186, 38, 40, 14\nEND\n\n11 DIALOG 0x80c8, 20, 20, 240, 62\nCAPTION \"Vytiskni\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 4, 4, 188, 10\n    CONTROL 0x82, \"&Vytisknout:\", 100, 0x000c, 2, 20, 37, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 50, 18, 142, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 4, 36, 188, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 196, 4, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 196, 22, 40, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 196, 44, 40, 14\nEND\n\n13 DIALOG 0x80c8, 20, 20, 264, 62\nCAPTION \"Hledn souboru ()\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Vyhledat:\", 100, 0x000c, 4, 6, 42, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 46, 5, 166, 12\n    CONTROL 0x82, \"V &adresi:\", 100, 0x000c, 4, 21, 42, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 46, 20, 166, 12\n    CONTROL 0x80, \"&Prohledat tak podadrese\", 232, 0x0003, 46, 41, 109, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 220, 4, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 220, 22, 40, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 220, 44, 40, 14\nEND\n\n14 DIALOG 0x80c8, 47, 60, 230, 62\nCAPTION \"Pesun souboru ()\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Aktuln adres: N\", 101, 0x008b, 4, 4, 182, 10\n    CONTROL 0x82, \"&Kam:\", 100, 0x000c, 4, 33, 20, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 37, 32, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 26, 33, 10, 10\n    CONTROL 0x80, \"Koprovat do &schrnky\", 256, 0x0004, 26, 47, 121, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 4, 49, 40, 9\n    CONTROL 0x82, \"\", 201, 0x008b, 45, 49, 138, 9\n    CONTROL 0x80, \"OK\", 1, 0x0001, 186, 4, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 186, 22, 40, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 186, 44, 40, 14\n    CONTROL 0x82, \"&Odkud:\", 100, 0x000c, 3, 19, 27, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n15 DIALOG 0x80c8, 20, 20, 246, 62\nCAPTION \"Smazn souboru ()\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Aktuln adres: N\", 101, 0x008c, 3, 5, 193, 10\n    CONTROL 0x82, \"&Smazat:\", 100, 0x000c, 4, 20, 50, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 54, 19, 140, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 4, 35, 35, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 40, 35, 155, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 202, 4, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 202, 22, 40, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 202, 44, 40, 14\nEND\n\n38 DIALOG 0x80c8, 20, 20, 235, 62\nCAPTION \"Popis soubor\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Je vybrno %d soubor, celkov %s byt\", 100, 0x000c, 4, 4, 173, 10\n    CONTROL 0x80, \"Atributy\", -1, 0x0007, 4, 16, 126, 42\n    CONTROL 0x80, \"&Pouze ten\", 215, 0x0003, 10, 27, 52, 12\n    CONTROL 0x80, \"&Skryt\", 216, 0x0003, 72, 27, 52, 12\n    CONTROL 0x80, \"&Archivovat\", 217, 0x0003, 10, 40, 52, 12\n    CONTROL 0x80, \"S&ystm\", 218, 0x0003, 72, 41, 52, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 180, 4, 50, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 180, 22, 50, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 180, 44, 50, 14\nEND\n\n16 DIALOG 0x80c8, 33, 44, 230, 93\nCAPTION \"Popis %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 176, 4, 50, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 176, 22, 50, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 176, 44, 50, 14\n    CONTROL 0x82, \"&Jmno souboru:\", 100, 0x000c, 4, 4, 54, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 62, 4, 111, 10\n    CONTROL 0x82, \"Velikost:\", 100, 0x000c, 4, 15, 40, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 62, 15, 86, 10\n    CONTROL 0x82, \"Posledn zmna:\", 100, 0x000c, 4, 26, 58, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 62, 26, 111, 10\n    CONTROL 0x82, \"&Cesta:\", 100, 0x000c, 4, 37, 46, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 62, 37, 111, 10\n    CONTROL 0x80, \"Atributy\", 100, 0x0007, 4, 51, 160, 38\n    CONTROL 0x80, \"&Pouze ten\", 215, 0x0003, 9, 61, 52, 12\n    CONTROL 0x80, \"&Skryt\", 216, 0x0003, 71, 61, 49, 12\n    CONTROL 0x80, \"&Archivovat\", 217, 0x0003, 9, 73, 52, 12\n    CONTROL 0x80, \"S&ystm\", 218, 0x0003, 71, 73, 49, 12\nEND\n\n17 DIALOG 0x80c8, 20, 20, 200, 62\nCAPTION \"Vytvoen adrese\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 4, 4, 150, 10\n    CONTROL 0x82, \"&Jmno:\", 100, 0x000c, 4, 22, 26, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 30, 22, 90, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 46, 150, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 156, 4, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 156, 22, 40, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 156, 44, 40, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 140, 62\nCAPTION \"Vytvoen systmovho disku\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Systmov soubory koprovat na disketu v&jednotce:\", -1, 0x0000, 4, 4, 86, 28\n    CONTROL 0x85, \"\", 222, 0x0003, 22, 32, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 96, 4, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 96, 22, 40, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 96, 44, 40, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 156, 62\nCAPTION \"Koprovn diskety\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Zdrojov disketa:\", -1, 0x000c, 4, 6, 62, 10\n    CONTROL 0x85, \"\", 245, 0x0003, 66, 4, 40, 37\n    CONTROL 0x82, \"&Clov disketa:\", 206, 0x000c, 4, 22, 50, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 66, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 112, 4, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 112, 22, 40, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 112, 44, 40, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 59\nCAPTION \"Koprovn diskety\"\nFONT 8, \"Helv\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"Probh koprovn diskety\", 100, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \"v jednotce A:\", 222, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \"ten zdrojov diskety\", 243, 0x0001, 0, 26, 130, 10\n    CONTROL 0x80, \"Zruit\", 2, 0x0001, 44, 40, 44, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 160, 62\nCAPTION \"Pojmenovn disku\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Pojmenovn:\", 100, 0x000c, 4, 15, 62, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 4, 26, 100, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 116, 4, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 116, 22, 40, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 116, 44, 40, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 176, 88\nCAPTION \"Formtovn diskety\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 132, 4, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 132, 22, 40, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 132, 44, 40, 14\n    CONTROL 0x82, \"&Disketa:\", -1, 0x000c, 4, 7, 36, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 40, 4, 80, 40\n    CONTROL 0x82, \"&Kapacita:\", 100, 0x000c, 4, 20, 36, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 40, 19, 80, 40\n    CONTROL 0x80, \"Voliteln\", 102, 0x0007, 4, 32, 115, 52\n    CONTROL 0x82, \"&Pojmenovn:\", -1, 0x000c, 10, 44, 50, 10\n    CONTROL 0x81, \"\", 201, 0x0000, 60, 42, 53, 12\n    CONTROL 0x80, \"&Vytvoen systmov diskety\", 242, 0x0003, 10, 55, 108, 12\n    CONTROL 0x80, \"&Rychl formtovn\", 244, 0x0003, 10, 69, 90, 12\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 49\nCAPTION \"Formtovn diskety\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Probh formtovn diskety\", 100, 0x0001, 0, 5, 150, 10\n    CONTROL 0x82, \"Inicializace jednotky...\", 243, 0x0001, 0, 17, 150, 10\n    CONTROL 0x80, \"Zruit\", 2, 0x0001, 54, 30, 44, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 180, 57\nCAPTION \"Vytven systmov diskety\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Probh koprovn systmovch soubor\", 100, 0x0001, 0, 6, 180, 9\n    CONTROL 0x82, \"Pokud chcete innost peruit, stisknte tlatko Zruit.\", 100, 0x0001, 0, 18, 180, 9\n    CONTROL 0x80, \"Zruit\", 2, 0x0001, 68, 38, 44, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 240, 135\nCAPTION \"Pipojen na s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Nov pipojen\", -1, 0x0007, 4, 1, 170, 56\n    CONTROL 0x82, \"&Sov cesta:\", -1, 0x0000, 10, 14, 55, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 65, 12, 100, 12\n    CONTROL 0x82, \"&Jednotka:\", -1, 0x0000, 10, 28, 45, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 65, 26, 40, 100\n    CONTROL 0x82, \"&Heslo:\", -1, 0x0000, 10, 42, 36, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 65, 40, 100, 12\n    CONTROL 0x82, \"S&tvajc pipojen jednotek:\", -1, 0x0000, 5, 62, 120, 10\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 169, 60\n    CONTROL 0x80, \"&Zavt\", 2, 0x0001, 191, 4, 45, 14\n    CONTROL 0x80, \"&Pipojit\", 1, 0x0000, 191, 28, 45, 14\n    CONTROL 0x80, \"&Minul...\", 226, 0x0000, 191, 46, 45, 14\n    CONTROL 0x80, \"Na&listovat...\", 227, 0x0000, 191, 64, 45, 14\n    CONTROL 0x80, \"&Odpojit\", 255, 0x0000, 191, 82, 45, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 191, 100, 45, 14\nEND\n\n29 DIALOG 0x80c8, 30, 30, 230, 98\nCAPTION \"Minul pipojen na s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Sov &cesty:\", 100, 0x000c, 4, 3, 69, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 4, 14, 172, 80\n    CONTROL 0x80, \"&Zvolit\", 1, 0x0001, 182, 4, 44, 14\n    CONTROL 0x80, \"Zavt\", 2, 0x0000, 182, 24, 44, 14\n    CONTROL 0x80, \"&Vypustit\", 219, 0x0000, 182, 42, 44, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 182, 60, 44, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 162, 62\nCAPTION \"sten popis\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Parametry\", 100, 0x0007, 4, 2, 111, 56\n    CONTROL 0x80, \"&Velikost\", 203, 0x0003, 10, 13, 100, 10\n    CONTROL 0x80, \"&Datum posledn zmny\", 204, 0x0003, 10, 24, 100, 10\n    CONTROL 0x80, \"as posledn &zmny\", 205, 0x0003, 10, 35, 100, 10\n    CONTROL 0x80, \"&Atributy souboru\", 206, 0x0003, 10, 46, 100, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 118, 4, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 118, 22, 40, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 118, 44, 40, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 156, 98\nCAPTION \"Typ zobrazench soubor\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Jmno:\", 100, 0x000c, 4, 6, 28, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 4, 65, 12\n    CONTROL 0x80, \"Typ souboru\", 100, 0x0007, 4, 20, 95, 62\n    CONTROL 0x80, \"&Adrese\", 101, 0x0003, 10, 31, 60, 12\n    CONTROL 0x80, \"&Programy\", 210, 0x0003, 10, 43, 60, 12\n    CONTROL 0x80, \"&Dokumenty\", 211, 0x0003, 10, 55, 60, 12\n    CONTROL 0x80, \"&Ostatn soubory\", 212, 0x0003, 10, 67, 81, 12\n    CONTROL 0x80, \"&Zobrazit skryt a systmov soubory\", 250, 0x0003, 4, 85, 152, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 112, 4, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 112, 22, 40, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 112, 44, 40, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 164, 80\nCAPTION \"Potvrzen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Potvrzovan innosti\", 100, 0x0007, 4, 2, 108, 74\n    CONTROL 0x80, \"&Smazn souboru\", 219, 0x0003, 10, 13, 80, 12\n    CONTROL 0x80, \"Smazn &adrese\", 220, 0x0003, 10, 25, 80, 12\n    CONTROL 0x80, \"&Pepis souboru\", 221, 0x0003, 10, 37, 80, 12\n    CONTROL 0x80, \"Povely zadan &my\", 249, 0x0003, 10, 49, 88, 12\n    CONTROL 0x80, \"&Diskov povely\", 251, 0x0003, 10, 61, 80, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 120, 4, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 120, 22, 40, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 120, 44, 40, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 250, 46\nCAPTION \"Pesun souboru()...\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 4, 4, 60, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 64, 4, 182, 10\n    CONTROL 0x82, \"Kam:\", 108, 0x008b, 4, 14, 60, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 64, 14, 182, 10\n    CONTROL 0x80, \"Zruit\", 2, 0x0001, 206, 28, 40, 14\nEND\n\n36 DIALOG 0x80c8, 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Tisk souboru()...\", -1, 0x0001, 0, 6, 120, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 0, 20, 120, 12\n    CONTROL 0x80, \"Zruit\", 2, 0x0001, 44, 38, 32, 14\nEND\n\n12 DIALOG 0x80c8, 31, 39, 212, 89\nCAPTION \"Asociace typ soubor s aplikacemi\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Soubory s rozenm:\", 99, 0x000c, 4, 6, 74, 10\n    CONTROL 0x81, \"\", 112, 0x0400, 80, 4, 35, 12\n    CONTROL 0x82, \"&Asociovat s aplikac:\", 99, 0x000c, 4, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 4, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 10, 44, 146, 40\n    CONTROL 0x80, \"OK\", 1, 0x0001, 162, 4, 46, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 162, 22, 46, 14\n    CONTROL 0x80, \"Na&listovat...\", 232, 0x0000, 162, 53, 46, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 162, 71, 46, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 250, 69\nCAPTION \"Volba souboru\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Tato cesta neodpovd formtu DOS pro jmna soubor.  Zadejte, prosm, nov jmno souboru.\", 99, 0x0000, 4, 4, 190, 24\n    CONTROL 0x82, \"Nov &jmno:\", 99, 0x0002, 0, 52, 60, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 62, 51, 130, 12\n    CONTROL 0x82, \"Pvodn cesta:\", 99, 0x0002, 0, 28, 60, 11\n    CONTROL 0x81, \"\", 102, 0x0880, 62, 28, 130, 11\n    CONTROL 0x82, \"Do adrese:\", 99, 0x0002, 0, 38, 60, 11\n    CONTROL 0x81, \"\", 101, 0x0880, 62, 38, 130, 11\n    CONTROL 0x80, \"OK\", 1, 0x0001, 206, 4, 40, 14\n    CONTROL 0x80, \"Zruit\", 2, 0x0000, 206, 22, 40, 14\n    CONTROL 0x80, \"&Npovda\", 254, 0x0000, 206, 44, 40, 14\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"Ukonen bhu Windows\"\n0x0029   \"Toto je konec va prce ve Windows.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"Koprovn diskety\"\n0x0033   \"Vlote clovou disketu.\"\n0x0034   \"Vlote zdrojovou disketu.\"\n0x0035   \"Vlote zdrojovou a clovou disketu.\"\n0x0036   \"Formtovn clov diskety.\"\n0x0037   \"Chyba pi koprovn diskety\"\n0x0038   \"Disketu nelze zkoprovat.\"\n0x003a   \"Zdrojov a clov disketa nejsou kompatibiln.\"\n0x003c   \"%d%% hotovo\"\n0x003d   \"Vytven koenovho adrese...\"\n0x003e   \"Koprovn systmovch soubor...\"\n0x003f   \"Chyba pi formtovn diskety\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"Pro tisknut nen na disku dostatek msta.\n\nUvolnte msto na disku smaznm jednoho i vce soubor a zkuste to znovu.\"\n0x00c1   \"Pro tisknut nen dostatek pamti.\n\nZvtete mnostv dostupn pamti zavenm jedn i vce aplikac a zkuste to znovu.\"\n0x00c2   \"Pi tisku nastala chyba.\n\nPesvdte se, prosm, e tiskrna je pipojena a sprvn nastavena.\"\n0x00c3   \"Zobrazen adresov strom nen kompletn\"\n0x00c5   \"Clov disketa je pln.\n\nPokraujte vloenm nov.\"\n0x00c6   \"Tento soubor je systmov, skryt, i pouze pro ten.\"\n0x00c7   \"Nelze formtovat rychle.\n\nM bt pokraovno normlnm formtovnm?\"\n0x00c8   \"Zadan aplikace nen program pro Windows ani pro MS-DOS.\"\n0x00c9   \"Tato aplikace vyaduje novj verzi Microsoft Windows.\"\n0x00ca   \"Tato aplikace vyaduje Windows.\"\n0x00cb   \"Pi zasln povelu aplikaci nastala chyba.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"Disketu nelze formtovat.\"\n0x0042   \"Formtovn je dokoneno\"\n0x0043   \"Celkov msto na disket je %ld byt\n%ld byt je dostupnch\n\nChcete formtovat dal disketu?\"\n0x0046   \"Vytvoen systmovho disku\"\n0x0047   \"Opravdu chcete koprovat soubory na disketu v jednotce %c?\"\n0x0048   \"Chyba systmovho disku\"\n0x0049   \"Diskov jednotka, z kter byl sputn MS-DOS, bu neobsahuje systmov soubory, nebo tyto nejsou dostupn.\"\n0x004a   \"Na diskovou jednotku, z kter byl sputn MS-DOS, nelze koprovat systmov soubory.\"\n0x004b   \"Na disketu nelze pidat systmov soubory.\n\nPesvdte se, e v jednotce je zformtovan disk a e dvka jsou zaven.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"Sov chyba\"\n0x0053   \"Tato jednotka obsahuje systmov soubory Windows, a proto neme bt odpojena.\"\n0x005b   \"Nelze zmnit atributy.\n\nPesvdte se, e disk nen chrnn proti pepisu.\"\n0x005c   \"Adres nelze vytvoit.\n\nPesvdte se, e disk nen chrnn proti pepisu.\"\n0x005d   \"Disk nelze pojmenovat.\n\nPesvdte se, e disk nen chrnn proti pepisu, e nele v sti a e pojmenovn je platn.\nPojmenovn neme obsahovat tyto znaky:\n[mezera] * ? / \\ | . , ; : + = [ ] ( ) & ^ < > \" \"\n0x005f   \"Nebyly nalezeny dn odpovdajc soubory.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"Celkem %d soubory() (%s byt)\"\n0x00b5   \"Peteno %d adres\"\n0x00b6   \"%c: %s KB volnch,  %s KB celkem\"\n0x00b7   \"nalezeny(o) %d soubory()\"\n0x00b9   \"zvolen soubory\"\n0x00ba   \"Sovou jednotku nelze odpojit.\n\nLe na n oteven soubory.\"\n0x00bb   \"Zvoleny(o) %d soubory() (%s byt)\"\n0x00bc   \"V jednotce %c nen dn disketa.\n\nVlote ji a zkuste to znovu.\"\n0x00bd   \"Disketa v jednotce %c nen formtovan.\n\nChcete ji zformtovat?\"\n0x00bf   \"Nelze nalzt soubor, kter m bt vytisknut. Pesvdte se, prosm, e byla zadna sprvn cesta a jmno souboru.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"Adres u existuje.\"\n0x0061   \"Dolo ke zmn obsahu jednotky. Chcete aktualizovat okno s vsledky hledn souboru()?\"\n0x0065   \"Jednotka %c:%c\"\n0x006e   \"Program nelze spustit\"\n0x006f   \"Neoekvan chyba: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"Formtovn smae z diskety VECHNA data. Opravdu chcete formtovat disketu v jednotce %c?\"\n0x00d3   \"Potvrzen formtovn diskety\"\n0x00d4   \"Tato operace smae VECHNA data z clov diskety. Opravdu chcete pokraovat? \"\n0x00d5   \"Potvrzen koprovn diskety\"\n0x00d6   \"&Zavt\"\n0x00d7   \"Ob&nov smazan...\"\n0x00d8   \"&Pipojen sov jednotky...\"\n0x00d9   \"&Pipojen na s...\"\n0x00da   \"Adres %s neexistuje.\n\nChcete ho vytvoit?\"\n0x00db   \"programy#*.exe;*.pif;*.com;*.bat#nespecifikovn (*.*)#*.*#\"\n0x00dc   \"Nalistovn\"\n0x00dd   \"Sputn programu\"\n0x00de   \"Soubor nelze vytisknout\"\n0x00df   \"Npovdu nelze zobrazit.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"Pro sputn zadan aplikace nen dostatek pamti.\n\nUkonete jednu i vce aplikac a zkuste to znovu.\"\n0x0071   \"Soubor (nebo jednu z jeho poloek nelze) nelze nalzt.\n\nPesvdte se, prosm, o sprvnosti zadn jmna souboru a cesty a o tom, e vechny poadovan knihovny jsou dostupn.\"\n0x0072   \"Zadan cesta nen platn.\"\n0x0073   \"Je pouvno pili mnoho soubor najednou.\n\nBu ukonete jednu i vce aplikac, nebo zvtete hodnotu v pkazu FILES (soubor CONFIG.SYS), a zkuste to znovu.\"\n0x0074   \"S tmto typem souboru nen asociovna dn aplikace.\n\nZvolte Asociuj v nabdce Soubor a vytvote asociaci.\"\n0x0075   \"Nelze spustit vce ne jednu kopii zadanho programu.\"\n0x0076   \"Soubor nelze bu otevt, nebo vytisknout.\n\nSpuste aplikaci, pomoc kter byl soubor vytvoen, a otevete v n (poppad vytisknte) tento soubor.\"\n0x0078   \"Potvrzen povel zadanch my\"\n0x0079   \"Opravdu chcete koprovat zvolen soubory nebo adrese do %s?\"\n0x007a   \"Opravdu chcete pesunout zvolen soubory nebo adrese do %s?\"\n0x007b   \"Opravdu chcete spustit %s s pouitm %s jako poten soubor?\"\n0x007c   \"Sprvce soubor\"\n0x007e   \"Adresov strom\"\n0x007f   \"Vsledky hledn: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"Soubory s rozenm %s jsou programy a jako takov nemohou bt asociovny s jinou aplikac.\"\n0x00e1   \"%s nen program, a proto neme bt asociovn s rozenm souboru.\"\n0x00e2   \"(dn)\"\n0x00e3   \"Nebyly nalezeny dn soubory.\"\n0x00e4   \"Vytisknout vce soubor najednou nelze .\n\nZvolte pouze jeden a zkuste to znovu.\"\n0x00e5   \"Program nebo jedna z jeho poloek je v komprimovanm stavu.\n\nPouijte sluebn program MS-DOSu EXPAND a zkoprujte jm komprimovan soubor z instalan diskety.\"\n0x00e6   \"Jeden z knihovnch soubor potebnch ke sputn tto aplikace je pokozen. Provete, prosm, novou instalaci aplikace.\"\n0x00e7   \"Tento soubor pouv njak jin aplikace.\"\n0x00e8   \"Sprvce soubor nemus bt schopen mt pstup k souborm v adresi \"%s\".\n\nChcete pokraovat?\"\n0x00e9   \"Vytven adrese\"\n0x00ea   \"%ld byt\"\n0x00eb   \"%s byt\"\n0x00ec   \"Zkoprovat vce soubor nebo adres najednou do Schrnky nelze.\n\nZvolte pouze jeden a zkuste to znovu.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"Pli mnoho soubor\"\n0x0085   \"Sprvce soubor - dola pam\"\n0x0086   \"Pest cel adres nen mon.  Bude zobrazen pouze sten seznam.\"\n0x008c   \"Bn adres: %s\"\n0x008d   \"Koprovn\"\n0x008f   \"Zmna jmna\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"Formtovn diskety\"\n0x0092   \"Zvolte disk, kter m bt formtovn.\"\n0x0094   \"&Odpojen sov jednotky...\"\n0x0096   \"Vytven:\"\n0x0097   \"Vypoutn...\"\n0x0098   \"Koprovn:\"\n0x0099   \"Zmna jmna...\"\n0x009a   \"Pesun...\"\n0x009b   \"Mazn...\"\n0x009c   \"Probh tisknut: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"Jednotka %c neexistuje.\"\n0x00a9   \"Koprovn...\"\n0x00aa   \"Vypoutn:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"Otevrn...\"\n0x01a5   \"Zavrn...\"\n0x01a6   \"Je oteveno pli mnoho oken s adresi.\n\nZavete jedno  vce oken a zkuste to znovu.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"Chyba pi pesunu souboru\"\n0x03ea   \"Chyba pi koprovn souboru\"\n0x03eb   \"Chyba pi mazn souboru\"\n0x03ec   \"Chyba pi pejmenovn souboru\"\n0x03ed   \"Chyba pi volb diskov jednotky\"\n0x03ee   \"Chyba pi ten adrese\"\n0x03ef   \"Chyba pi pojmenovvn disku\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"Nelze pesunout %s: %s\"\n0x03f4   \"Nelze koprovat %s: %s\"\n0x03f5   \"Nelze smazat %s: %s\"\n0x03f6   \"Nelze pejmenovat %s: %s\"\n0x03fd   \"Nelze vytvoit adres %s: %s\"\n0x03fe   \"Nelze vyjmout adres %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"Nelze vytvoit nebo pepsat %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Neplatn funkce DOSu\"\n0x0412   \"Soubor nelze nalzt.\n\nPesvdte se, prosm, e byla zadna sprvn cesta a jmno souboru.\"\n0x0413   \"Cestu nelze nalzt.\n\nPesvdte se, prosm, e byla sprvn zadna.\"\n0x0414   \"Je pouvno pili mnoho soubor najednou.\n\nUkonete jednu i vce aplikac.\"\n0x0415   \"Pstup byl odepen.\n\nPesvdte se, prosm, e disk nen pln, nebo chrnn proti pepisu.\"\n0x0416   \"Neplatn handle souboru\"\n0x0418   \"Nedostatek pamti.\n\nUkonete jednu i vce aplikac a zkuste to znovu.\"\n0x041c   \"Neplatn pstup k souboru\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"Bn adres nelze vyjmout (vnitn chyba).\"\n0x0421   \"Neplatn zazen\"\n0x0422   \"Adres je przdn.\"\n0x0423   \"Disk je chrnn proti pepisu.\n\nOdstrate tuto ochranu, nebo pouijte jin disk, a zkuste to znovu.\"\n0x042d   \"Zpis se nezdail. Clov disk nebo soubor me bt pokozen.\"\n0x042f   \"ten se nezdailo. Clov disk nebo soubor me bt pokozen.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"Neplatn operace\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"Pstup do st byl odepen. Pesvdte se, prosm, e mte sprvn sov povolen k proveden tto operace.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"Poruen pravidel sdlen. Zdroj nebo cl me bt pouvn nkde jinde.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"Nedostatek msta na disku.\n\nUvolnte msto na disku smaznm jednoho i vce soubor a zkuste to znovu.\"\n0x0481   \"Zdroj a cl jsou toton.\"\n0x0482   \"Zvolte jen jeden soubor k pejmenovn. Mete ale tak pout syntaxi MS-DOSu k zadn vce soubor pomoc '*' a '?' (napklad *.TXT), a pejmenovat skupinu soubor s podobnm jmnem.\"\n0x0483   \"Adres nebo disk nelze pejmenovat.\"\n0x0484   \"Koenov adres (vnitn chyba).\"\n0x0486   \"Clov adres je podadres zdrojovho adrese.\"\n0x0487   \"Soubor je pouvn Windows.\"\n0x0488   \"Pstup byl odepen. Zdrojov soubor je patrn pouvn.\"\n0x0489   \"Cesta je pli dlouh.\"\n0x048a   \"Zadejte pouze jeden soubor nebo adres do pole 'Kam'. Mete tak pout syntaxi MS-DOSu k zadn vce soubor pomoc '*' a '?' (napklad *.TXT).\"\n0x048b   \"Soubor zadanho jmna ji existuje. Zkuste to znovu, ale zadejte jin jmno v poli 'Kam'.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1,2 MB\"\n0x0131   \"720K\"\n0x0132   \"1,44 MB\"\n0x0133   \"2,88 MB\"\n0x0134   \"Kapacita jednotky\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360K\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"Nedostatek pamti.\"\n0x0192   \"Diskovou jednotku, z kter byl sputn MS-DOS, nelze formtovat.\"\n0x0193   \"Diskov jednotka, z kter byl sputn MS-DOS, m neplatnou velikost sektoru.\"\n0x0194   \"Neznm typ jednotky.\"\n0x0199   \"Nepodailo se penst systmov soubory.\"\n0x019a   \"Tuto disketu je mon formtovat na kapacitu %s. Chcete pokraovat s formtovnm na tuto kapacitu?\"\n0x019b   \"Disketu nelze formtovat.\n\nPesvdte se, prosm, e disketa je sprvn zasunuta do jednotky, e nen chrnna proti pepisu, e nen pokozena, i urena pro formtovn na jinou kapacitu.\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.Danish.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"&Filer\"\n    BEGIN\n    MENUITEM    \"&bn\tEnter\", 0X0065\n    MENUITEM    \"&Flyt...\tF7\", 0X006A\n    MENUITEM    \"K&opier...\tF8\", 0X006B\n    MENUITEM    \"&Slet...\tDel\", 0X006C\n    MENUITEM    \"Om&db...\", 0X006D\n    MENUITEM    \"Fil&parametre...\tAlt+Enter\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Kr...\", 0X0069\n    MENUITEM    \"&Udskriv...\", 0X0066\n    MENUITEM    \"Asso&cier...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Opr&et bibliotek...\", 0X006F\n    MENUITEM    \"S&g...\", 0X0068\n    MENUITEM    \"&Marker filer...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Afslut\", 0X0073\n    END\n    POPUP   \"&Disk\"\n    BEGIN\n    MENUITEM    \"&Kopier diskette...\", 0X00C9\n    MENUITEM    \"&Navngiv disk...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Formater &diskette...\", 0X00CB\n    MENUITEM    \"&Lav systemdiskette...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Vlg drev...\", 0X00FB\n    END\n    POPUP   \"&Bibliotekstr\"\n    BEGIN\n    MENUITEM    \"Udvid med et &niveau\t+\", 0X012D\n    MENUITEM    \"&Udvid gren\t*\", 0X012E\n    MENUITEM    \"&Fuld udvidelse\tCtrl+*\", 0X012F\n    MENUITEM    \"&Skjul gren\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Vis udvidelige grene\", 0X01F9\n    END\n    POPUP   \"&Vis\"\n    BEGIN\n    MENUITEM    \"B&ibliotekstr og filliste\", 0X019D\n    MENUITEM    \"Kun &bibliotekstr\", 0X019B\n    MENUITEM    \"Kun &filliste\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Opdel\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Kun filnavn\", 0X0191\n    MENUITEM    \"&Alle filinformationer\", 0X0192\n    MENUITEM    \"&Udvalgte informationer...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Sorter efter &navn\", 0X0194\n    MENUITEM    \"Sor&ter efter type\", 0X0195\n    MENUITEM    \"Sorter efter st&rrelse\", 0X0196\n    MENUITEM    \"Sorter efter &dato\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Ud&valgte filtyper...\", 0X0199\n    END\n    POPUP   \"&Indstillinger\"\n    BEGIN\n    MENUITEM    \"&Bekrftelse...\", 0X01F5\n    MENUITEM    \"&Skrifttype...\", 0X01FE\n    MENUITEM    \"&Tilpas vrktjslinjen...\", 0X0200\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Vrktjslinje\", 0X01FC\n    MENUITEM    \"&Drevlinje\", 0X01FB\n    MENUITEM    \"Status&linje\", 0X01F7\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Minimer ved brug\", 0X01F8\n    MENUITEM    \"Gem indstillinger ved &afslutning\", 0X01FF\n    END\n    POPUP   \"Vind&ue\"\n    BEGIN\n    MENUITEM    \"&Nyt vindue\", 0X0452\n    MENUITEM    \"&Overlappet\tSkift+F5\", 0X044D\n    MENUITEM    \"Delt &vandret\", 0X044F\n    MENUITEM    \"De&lt lodret\tSkift+F4\", 0X044E\n    MENUITEM    \"&Arranger ikoner\", 0X0451\n    MENUITEM    \"O&pdater\tF5\", 0X0450\n    END\n    POPUP   \"&Hjlp\"\n    BEGIN\n    MENUITEM    \"&Indhold\", 0X04B1\n    MENUITEM    \"&Sg efter hjlp om...\", 0X001E\n    MENUITEM    \"&Brug af Hjlp\", 0X04B2\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Om Filhndtering...\", 0X04B3\n    END\nEND\n\n\n145 DIALOG 0x80c8, 13, 54, 265, 150\nCAPTION \"Skrifttype\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Skrifttype:\", 1088, 0x0000, 6, 3, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 13, 94, 54\n    CONTROL 0x82, \"&Typografi:\", 1089, 0x0000, 108, 3, 44, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 13, 64, 54\n    CONTROL 0x82, \"St&rrelse:\", 1090, 0x0000, 179, 3, 30, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 179, 13, 32, 54\n    CONTROL 0x80, \"Effekter\", 1072, 0x0007, 6, 72, 84, 61\n    CONTROL 0x80, \"&Gennemstreget\", 1040, 0x0003, 10, 82, 60, 10\n    CONTROL 0x80, \"&Understreget\", 1041, 0x0003, 10, 94, 53, 10\n    CONTROL 0x80, \"Sm &bogstaver\", 1042, 0x0003, 10, 82, 60, 10\n    CONTROL 0x82, \"&Farve:\", 1091, 0x0000, 10, 106, 22, 8\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 116, 75, 50\n    CONTROL 0x80, \"OK\", 1, 0x0001, 218, 6, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 218, 23, 40, 14\n    CONTROL 0x80, \"&Anvend\", 1026, 0x0000, 218, 40, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 1038, 0x0000, 218, 57, 40, 14\n    CONTROL 0x80, \"Eksempel\", 1073, 0x0007, 98, 72, 160, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 124, 160, 25\n    CONTROL 0x82, \"AaBb\", 1092, 0x0081, 104, 81, 149, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 201, 86\nCAPTION \"Vlg drev\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Drev:\", 245, 0x000c, 5, 5, 41, 10\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"OK\", 1, 0x0001, 155, 6, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 155, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 155, 44, 40, 14\nEND\n\n10 DIALOG 0x80c8, 15, 12, 210, 63\nCAPTION \"Kr\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 3, 6, 162, 10\n    CONTROL 0x82, \"&Kommandolinje:\", 100, 0x000c, 3, 18, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 134, 12\n    CONTROL 0x80, \"Kr &minimeret\", 214, 0x0003, 3, 45, 71, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 165, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 165, 43, 40, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 141, 83\nCAPTION \"Marker filer\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Fil(er):\", -1, 0x000c, 5, 16, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 29, 60, 12\n    CONTROL 0x80, \"&Marker\", 1, 0x0001, 78, 6, 55, 14\n    CONTROL 0x80, \"Fj&ern markering\", 6, 0x0000, 78, 23, 55, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 78, 39, 55, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 78, 62, 55, 14\nEND\n\n39 DIALOG 0x80c8, 10, 20, 245, 95\nCAPTION \"Bekrft erstatning af fil\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Erstat filen:\", 100, 0x000c, 25, 12, 49, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 75, 12, 165, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 75, 22, 170, 10\n    CONTROL 0x82, \"Med filen:\", 100, 0x000c, 25, 34, 49, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 75, 34, 165, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 75, 44, 170, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 33, 73, 40, 14\n    CONTROL 0x80, \"J&a til alle\", 107, 0x0000, 79, 73, 40, 14\n    CONTROL 0x80, \"&Nej\", 7, 0x0000, 125, 73, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 171, 73, 40, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"Bekrft sletning af fil\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 203, 10\n    CONTROL 0x82, \"Slet filen:\", 100, 0x000c, 25, 18, 44, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 18, 170, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"J&a til alle\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Nej\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"Bekrft sletning af bibliotek\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Slet biblioteket:\", 100, 0x000c, 25, 18, 55, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 18, 160, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"J&a til alle\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Nej\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"Bekrft flytning af fil\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Flyt filen:\", 100, 0x000c, 25, 18, 44, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 18, 170, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"J&a til alle\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Nej\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"Bekrft omdbning af fil\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Omdb filen:\", 100, 0x000c, 25, 13, 54, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 13, 160, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"J&a til alle\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Nej\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n11 DIALOG 0x80c8, 20, 20, 240, 63\nCAPTION \"Udskriv\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 193, 10\n    CONTROL 0x82, \"&Udskriv:\", 100, 0x000c, 3, 20, 28, 8\n    CONTROL 0x81, \"\", 102, 0x0480, 35, 18, 152, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 36, 190, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n13 DIALOG 0x80c8, 20, 20, 263, 63\nCAPTION \"Sg\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Sg efter:\", 100, 0x000c, 5, 6, 45, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 52, 5, 160, 12\n    CONTROL 0x82, \"Start &fra:\", 100, 0x000c, 5, 21, 45, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 52, 20, 160, 12\n    CONTROL 0x80, \"&Gennemsg alle underbiblioteker\", 232, 0x0003, 52, 34, 159, 12\n    CONTROL 0x82, \"\", 104, 0x000c, 5, 50, 200, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 217, 6, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 217, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 217, 43, 40, 14\nEND\n\n14 DIALOG 0x80c8, 47, 59, 231, 79\nCAPTION \"Flyt\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Nuvrende bibliotek: N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"&Til:\", 100, 0x000c, 3, 33, 20, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 37, 32, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 26, 33, 10, 10\n    CONTROL 0x80, \"K&opier til Udklipsholder\", 256, 0x0004, 26, 47, 149, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 1, 65, 40, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 45, 65, 138, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 185, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 185, 44, 40, 14\n    CONTROL 0x82, \"&Fra:\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n10014 DIALOG 0x80c8, 47, 59, 231, 98\nCAPTION \"Flyt\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Nuvrende bibliotek: N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"&Til:\", 100, 0x000c, 3, 38, 20, 10\n    CONTROL 0x62, \"edit\", 103, 0x0004, 37, 38, 138, 42\n    CONTROL 0x50, \"\", 256, 0x0401, 6656, 9728, 2560, 2560\n    CONTROL 0x80, \"K&opier til Udklipsholder\", 256, 0x0004, 26, 84, 86, 10\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 84, 40, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 45, 84, 138, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 185, 23, 40, 14\n    CONTROL 0x80, \"&Gennemse\", 600, 0x0000, 185, 40, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 185, 61, 40, 14\n    CONTROL 0x82, \"&Fra:\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n200 DIALOG 0x00c8, 36, 24, 181, 134\nCAPTION \"Vlg bibliotek\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x81, \"\", 1152, 0x0490, 6, 16, 92, 12\n    CONTROL 0x83, \"\", 1120, 0x0053, 12, 28, 92, 68\n    CONTROL 0x82, \"&Biblioteker:\", -1, 0x0000, 10, 6, 92, 9\n    CONTROL 0x82, \"\", 1088, 0x0000, 10, 16, 92, 9\n    CONTROL 0x83, \"\", 1121, 0x0053, 12, 28, 92, 68\n    CONTROL 0x82, \"&Drev:\", 1091, 0x0000, 14, 102, 92, 9\n    CONTROL 0x85, \"\", 1137, 0x0353, 12, 112, 92, 68\n    CONTROL 0x80, \"OK\", 1, 0x0001, 121, 6, 50, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 121, 24, 50, 14\n    CONTROL 0x82, \"&Filnavn:\", 1090, 0x0000, 10, 6, 92, 9\n    CONTROL 0x82, \"F&iltype:\", 1089, 0x0000, 14, 102, 92, 9\n    CONTROL 0x85, \"\", 1136, 0x0043, 12, 114, 92, 36\n    CONTROL 0x80, \"&Hjlp\", 1038, 0x0000, 208, 46, 50, 14\n    CONTROL 0x80, \"&Skrivebeskyttet\", 1040, 0x0003, 208, 68, 50, 12\nEND\n\n15 DIALOG 0x80c8, 20, 20, 246, 64\nCAPTION \"Slet\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Nuvrende bibliotek: C\", 101, 0x008c, 3, 5, 193, 10\n    CONTROL 0x82, \"&Slet:\", 100, 0x000c, 3, 20, 35, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 40, 19, 155, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 35, 35, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 40, 35, 155, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 200, 6, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 200, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 200, 43, 40, 14\nEND\n\n38 DIALOG 0x80c8, 20, 20, 206, 65\nCAPTION \"Filparametre\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"%d filer markeret, i alt %s byte\", 100, 0x000c, 5, 5, 144, 10\n    CONTROL 0x80, \"Attributter\", -1, 0x0007, 5, 18, 129, 42\n    CONTROL 0x80, \"&Skrivebeskyttet\", 215, 0x0003, 10, 29, 62, 10\n    CONTROL 0x80, \"S&kjult\", 216, 0x0003, 83, 29, 30, 10\n    CONTROL 0x80, \"&Arkiv\", 217, 0x0003, 10, 41, 52, 12\n    CONTROL 0x80, \"S&ystem\", 218, 0x0003, 83, 41, 34, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 150, 6, 50, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 150, 23, 50, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 150, 43, 50, 14\nEND\n\n16 DIALOG 0x80c8, 23, 13, 259, 195\nCAPTION \"Parametre for %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 204, 6, 50, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 204, 23, 50, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 204, 40, 50, 14\n    CONTROL 0x82, \"&Filnavn:\", 261, 0x000c, 5, 5, 55, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 64, 5, 134, 10\n    CONTROL 0x82, \"S&ti:\", 100, 0x000c, 5, 16, 51, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 64, 16, 134, 10\n    CONTROL 0x82, \"Seneste ndring:\", 100, 0x000c, 5, 27, 62, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 64, 27, 97, 10\n    CONTROL 0x82, \"Version:\", 258, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"Ikke markeret\", 259, 0x008c, 64, 38, 90, 10\n    CONTROL 0x82, \"&Copyright:\", -1, 0x0000, 5, 49, 45, 10\n    CONTROL 0x81, \"Ikke markeret\", 265, 0x0880, 64, 49, 134, 10\n    CONTROL 0x82, \"Strrelse:\", 260, 0x000c, 5, 60, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 64, 60, 90, 10\n    CONTROL 0x80, \"Attributter\", 100, 0x0007, 4, 74, 132, 42\n    CONTROL 0x80, \"&Skrivebeskyttet\", 215, 0x0003, 9, 86, 62, 10\n    CONTROL 0x80, \"S&kjult\", 216, 0x0003, 81, 86, 49, 12\n    CONTROL 0x80, \"&Arkiv\", 217, 0x0003, 9, 98, 52, 12\n    CONTROL 0x80, \"S&ystem\", 218, 0x0003, 81, 98, 49, 12\n    CONTROL 0x80, \"&Versionsinformation\", 262, 0x0007, 4, 121, 242, 72\n    CONTROL 0x83, \"\", 263, 0x1003, 9, 132, 91, 58\n    CONTROL 0x81, \"\", 264, 0x0804, 103, 132, 138, 58\nEND\n\n17 DIALOG 0x80c8, 20, 20, 200, 63\nCAPTION \"Opret bibliotek\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Navn:\", 100, 0x000c, 3, 23, 20, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 30, 22, 90, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 46, 150, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 157, 6, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 157, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 157, 43, 40, 14\nEND\n\n10017 DIALOG 0x80c8, 20, 20, 240, 74\nCAPTION \"Opret bibliotek\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Navn:\", 100, 0x000c, 3, 28, 20, 10\n    CONTROL 0x62, \"edit\", 201, 0x0000, 3, 40, 170, 18\n    CONTROL 0x50, \"\", 26624, 0x8c00, 768, 15360, -27136, 2560\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 162, 64\nCAPTION \"Lav systemdiskette\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"K&opier systemfiler til disketten i:\", -1, 0x000c, 5, 8, 106, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 30, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 116, 6, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 116, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 116, 40, 40, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 157, 64\nCAPTION \"Kopier diskette\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Kilde:\", -1, 0x000c, 5, 8, 20, 8\n    CONTROL 0x85, \"\", 245, 0x0003, 55, 6, 40, 37\n    CONTROL 0x82, \"&Destination:\", 206, 0x000c, 5, 22, 40, 8\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 55\nCAPTION \"Kopierer diskette\"\nFONT 8, \"Helv\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"Kopierer nu diskette i\", 100, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \"Drev A:\", 222, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \"Lser kildedisketten\", 243, 0x0001, 0, 26, 130, 10\n    CONTROL 0x80, \"Annuller\", 2, 0x0001, 44, 39, 44, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 161, 63\nCAPTION \"Navngiv disk\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Disk&navn:\", 100, 0x000c, 5, 15, 34, 8\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 100, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 115, 6, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 115, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 115, 43, 40, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 183, 96\nCAPTION \"Formater diskette\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 140, 6, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 140, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 140, 43, 40, 14\n    CONTROL 0x82, \"&Diskette i:\", -1, 0x000c, 5, 7, 49, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 4, 65, 40\n    CONTROL 0x82, \"Kapa&citet:\", 100, 0x000c, 5, 20, 49, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 55, 19, 65, 40\n    CONTROL 0x80, \"Indstillinger\", 102, 0x0007, 5, 39, 115, 53\n    CONTROL 0x82, \"Disk&navn:\", -1, 0x000c, 11, 51, 35, 10\n    CONTROL 0x81, \"\", 201, 0x0000, 46, 49, 63, 12\n    CONTROL 0x80, \"&Lav systemdiskette\", 242, 0x0003, 11, 62, 90, 12\n    CONTROL 0x80, \"&Ekspresformatering\", 244, 0x0003, 11, 76, 90, 12\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 50\nCAPTION \"Formaterer diskette\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Formaterer nu diskette\", 100, 0x0001, 0, 5, 150, 10\n    CONTROL 0x82, \"Initialiserer drev...\", 243, 0x0001, 0, 17, 150, 10\n    CONTROL 0x80, \"Annuller\", 2, 0x0001, 54, 30, 44, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 174, 57\nCAPTION \"Lav systemdiskette\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Kopierer nu systemfiler\", 100, 0x0001, 0, 6, 174, 8\n    CONTROL 0x82, \"Vlg Annuller, hvis du vil afbryde.\", 100, 0x0001, 0, 14, 174, 8\n    CONTROL 0x80, \"Annuller\", 2, 0x0001, 66, 39, 44, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 251, 135\nCAPTION \"Netvrkstilslutninger\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Ny tilslutning\", -1, 0x0007, 5, 3, 170, 55\n    CONTROL 0x82, \"&Netvrkssti:\", -1, 0x0000, 10, 16, 55, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 65, 14, 100, 12\n    CONTROL 0x82, \"&Drev:\", -1, 0x0000, 10, 30, 24, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 65, 28, 40, 100\n    CONTROL 0x82, \"&Adgangskode:\", -1, 0x0000, 10, 44, 48, 8\n    CONTROL 0x81, \"\", 224, 0x04a0, 65, 42, 100, 12\n    CONTROL 0x82, \"Akti&ve drevtilslutninger:\", -1, 0x0000, 5, 62, 120, 10\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 160, 60\n    CONTROL 0x80, \"&Luk\", 2, 0x0001, 186, 6, 63, 14\n    CONTROL 0x80, \"&Tilslut\", 1, 0x0000, 186, 27, 63, 14\n    CONTROL 0x80, \"&Forrige...\", 226, 0x0000, 186, 44, 63, 14\n    CONTROL 0x80, \"&Gennemse...\", 227, 0x0000, 186, 61, 63, 14\n    CONTROL 0x80, \"Frako&bl tilslutning\", 255, 0x0000, 186, 78, 63, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 186, 95, 63, 14\nEND\n\n29 DIALOG 0x80c8, 30, 30, 231, 98\nCAPTION \"Tidligere netvrkstilslutninger\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Netvrksstier:\", 100, 0x000c, 3, 3, 69, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 3, 15, 172, 80\n    CONTROL 0x80, \"&Marker\", 1, 0x0001, 181, 6, 44, 14\n    CONTROL 0x80, \"Luk\", 2, 0x0000, 181, 24, 44, 14\n    CONTROL 0x80, \"&Slet\", 219, 0x0000, 181, 41, 44, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 181, 58, 44, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 163, 65\nCAPTION \"Udvalgte informationer\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Detaljer\", 100, 0x0007, 4, 4, 111, 55\n    CONTROL 0x80, \"St&rrelse\", 203, 0x0003, 11, 15, 100, 9\n    CONTROL 0x80, \"&Dato for seneste ndring\", 204, 0x0003, 11, 25, 100, 9\n    CONTROL 0x80, \"&Tid for seneste ndring\", 205, 0x0003, 11, 35, 100, 9\n    CONTROL 0x80, \"&Filattributter\", 206, 0x0003, 11, 45, 100, 9\n    CONTROL 0x80, \"OK\", 1, 0x0001, 120, 6, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 120, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 120, 43, 40, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 157, 102\nCAPTION \"Udvalgte filtyper\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Navn:\", 100, 0x000c, 5, 8, 23, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"Filtype\", 100, 0x0007, 5, 20, 94, 62\n    CONTROL 0x80, \"&Biblioteker\", 101, 0x0003, 10, 31, 60, 12\n    CONTROL 0x80, \"&Programmer\", 210, 0x0003, 10, 43, 60, 12\n    CONTROL 0x80, \"&Dokumenter\", 211, 0x0003, 10, 55, 60, 12\n    CONTROL 0x80, \"&Andre filer\", 212, 0x0003, 10, 67, 60, 12\n    CONTROL 0x80, \"&Vis skjulte filer og systemfiler\", 250, 0x0003, 5, 85, 105, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 164, 80\nCAPTION \"Bekrftelse\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Bekrft\", 100, 0x0007, 5, 3, 108, 73\n    CONTROL 0x80, \"&Sletning af filer\", 219, 0x0003, 10, 15, 80, 12\n    CONTROL 0x80, \"Sletning af &biblioteker\", 220, 0x0003, 10, 27, 82, 10\n    CONTROL 0x80, \"&Erstatning af filer\", 221, 0x0003, 10, 39, 80, 12\n    CONTROL 0x80, \"&Operationer med musen\", 249, 0x0003, 10, 51, 88, 10\n    CONTROL 0x80, \"&Diskkommandoer\", 251, 0x0003, 10, 63, 80, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 118, 6, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 118, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 118, 44, 40, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 250, 46\nCAPTION \"Flytter...\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 5, 49, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 55, 5, 192, 10\n    CONTROL 0x82, \"Til:\", 108, 0x008b, 5, 15, 25, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 55, 15, 192, 10\n    CONTROL 0x80, \"Annuller\", 2, 0x0001, 200, 28, 40, 14\nEND\n\n36 DIALOG 0x80c8, 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Udskriver fil...\", -1, 0x0001, 4, 6, 120, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 4, 20, 120, 12\n    CONTROL 0x80, \"Annuller\", 2, 0x0001, 44, 40, 32, 14\nEND\n\n12 DIALOG 0x80c8, 31, 39, 211, 96\nCAPTION \"Associer\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Filer med filtypenavn:\", 99, 0x000c, 5, 8, 74, 10\n    CONTROL 0x81, \"\", 112, 0x0400, 80, 6, 35, 12\n    CONTROL 0x82, \"&Associer med:\", 99, 0x000c, 5, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 10, 32, 138, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 11, 44, 146, 40\n    CONTROL 0x80, \"OK\", 1, 0x0001, 163, 6, 46, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 163, 23, 46, 14\n    CONTROL 0x80, \"&Gennemse...\", 232, 0x0000, 163, 40, 46, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 163, 57, 46, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 250, 78\nCAPTION \"Vlg filnavn\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Denne sti passer ikke til DOS-formatet for filnavne. Angiv et nyt filnavn.\", 99, 0x0000, 4, 4, 190, 24\n    CONTROL 0x82, \"&Nyt navn:\", 99, 0x0002, 5, 56, 50, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 57, 55, 130, 12\n    CONTROL 0x82, \"Oprindelig sti:\", 99, 0x0002, 5, 28, 50, 11\n    CONTROL 0x81, \"\", 102, 0x0880, 57, 28, 130, 12\n    CONTROL 0x82, \"Til bibliotek:\", 99, 0x0002, 5, 42, 50, 11\n    CONTROL 0x81, \"\", 101, 0x0880, 57, 42, 130, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 205, 4, 40, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 205, 20, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 205, 36, 40, 14\nEND\n\n48 DIALOG 0x80c8, 23, 13, 250, 107\nCAPTION \"Parametre for %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 194, 6, 50, 14\n    CONTROL 0x80, \"Annuller\", 2, 0x0000, 194, 23, 50, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 194, 43, 50, 14\n    CONTROL 0x82, \"&Filnavn:\", 261, 0x000c, 5, 5, 55, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 60, 5, 134, 10\n    CONTROL 0x82, \"S&ti:\", 100, 0x000c, 5, 16, 51, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 60, 16, 134, 10\n    CONTROL 0x82, \"Seneste ndring:\", 100, 0x000c, 5, 27, 62, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 60, 27, 97, 10\n    CONTROL 0x82, \"Strrelse:\", 260, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 60, 38, 90, 10\n    CONTROL 0x80, \"Attributter\", 100, 0x0007, 4, 52, 131, 42\n    CONTROL 0x80, \"&Skrivebeskyttet\", 215, 0x0003, 9, 64, 62, 10\n    CONTROL 0x80, \"S&kjult\", 216, 0x0003, 83, 64, 49, 12\n    CONTROL 0x80, \"&Arkiv\", 217, 0x0003, 9, 76, 52, 12\n    CONTROL 0x80, \"S&ystem\", 218, 0x0003, 83, 76, 49, 12\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0101   \"(Rodbibliotek)\"\n0x0102   \"(Ikke anvendelig)\"\n0x0103   \"Delt som %s\"\n0x0104   \"Ikke delt\"\n0x0107   \"Kopierer filer til %s\"\n0x0108   \"Flytter filer til %s\"\n0x0109   \"Krer filer med %s\"\n0x010a   \"%s byte\"\n0x010b   \"%s KB\"\n0x010c   \"%s MB\"\n0x010d   \"%s GB\"\n0x010e   \"%s TB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"Afslut Windows\"\n0x0029   \"Dette vil afslutte Windows.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"Kopier diskette\"\n0x0033   \"Indst destinationsdiskette.\"\n0x0034   \"Indst kildediskette.\"\n0x0035   \"Indst kilde- og destinationsdisketter.\"\n0x0036   \"Formaterer destinationsdiskette.\"\n0x0037   \"Fejl under kopiering af diskette\"\n0x0038   \"Kan ikke kopiere diskette.\"\n0x003a   \"Kilde- og destinationsdrevene er ikke kompatible.\"\n0x003c   \"%d%% udfrt\"\n0x003d   \"Opretter rodbiblioteket...\"\n0x003e   \"Kopierer systemfiler...\"\n0x003f   \"Fejl under formatering af diskette\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"Der er ikke diskplads nok til at udskrive.\n\nSlet en eller flere filer, og prv igen.\"\n0x00c1   \"Der er ikke hukommelse nok til at udskrive.\n\nAfslut et eller flere programmer, og prv igen.\"\n0x00c2   \"Der er opstet en fejl under udskrivning.\n\nKontroller, at printeren er korrekt konfigureret og markeret.\"\n0x00c3   \"Viste bibliotekstr er ikke komplet\"\n0x00c5   \"Destinationsdrevet er fuldt.\n\nIndst en ny diskette for at fortstte.\"\n0x00c6   \"Dette er en systemfil, skjult eller skrivebeskyttet fil.\"\n0x00c7   \"Filhndtering kan ikke ekspresformatere.\n\nFortst med almindelig formatering?\"\n0x00c8   \"Det valgte program er ikke et Windows- eller MS-DOS-baseret program.\"\n0x00c9   \"Dette program krver en nyere version af Microsoft Windows.\"\n0x00ca   \"Dette program krver Windows.\"\n0x00cb   \"Der er opstet en fejl under sending af kommandoen til programmet.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"Kan ikke formatere disketten.\"\n0x0042   \"Formatering udfrt.\"\n0x0043   \"%ld byte diskplads i alt\n%ld byte diskplads fri\n\nVil du formatere en anden diskette?\"\n0x0046   \"Lav systemdiskette\"\n0x0047   \"Er du sikker p, at du vil kopiere systemfilerne til disketten i drev %c?\"\n0x0048   \"Fejl under oprettelse af systemdiskette\"\n0x0049   \"MS-DOS-startdrevet er ikke til rdighed eller indeholder ikke systemfiler.\"\n0x004a   \"Du kan ikke kopiere systemfiler til MS-DOS-startdrevet.\"\n0x004b   \"Du kan ikke fje systemfiler til denne diskette.\n\nKontroller, at der er en formateret diskette i drevet, og at drevet er lukket.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"Filhndtering kan ikke oprette eller erstatte %s: %s\"\n0x0408   \"Filhndtering kan ikke oprette en MS-DOS-systemdiskette, da Windows NT dual-boot er installeret p systemet. Brug SYS-faciliteten fra MS-DOS-kommandolinjen for at oprette en systemdiskette.\"\n0x0409   \"Vil du formatere disketten nu uden at overfre systemet?\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"Netvrksfejl\"\n0x0053   \"Dette drev indeholder systemfilerne til Windows og kan ikke frakobles.\"\n0x005b   \"Filhndtering kan ikke ndre attributterne.\n\nKontroller, at disken ikke er skrivebeskyttet.\"\n0x005c   \"Filhndtering kan ikke oprette et bibliotek.\n\nKontroller, at disken ikke er skrivebeskyttet.\"\n0x005d   \"Filhndtering kunne ikke navngive disken.\n\nDisken kan vre skrivebeskyttet, drevet kan vre et netvrksdrev, eller navnet er ikke gyldigt.\nNavnet m ikke indeholde flgende tegn:\n[mellemrum] * ? / \\ | . , ; : + = [ ] ( ) & ^ < > \" \"\n0x005f   \"Kan ikke finde nogen filer, der opfylder betingelserne.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"I alt %d fil(er) (%s)\"\n0x00b5   \"Lste biblioteker: %d\"\n0x00b6   \"%c: %s fri, %s i alt\"\n0x00b7   \"%d Fil(er) fundet\"\n0x00b9   \"de markerede filer\"\n0x00ba   \"Filhndtering kan ikke frakoble dette netvrksdrev, fordi der er bne filer.\"\n0x00bb   \"Valgte %d fil(er) (%s)\"\n0x00bc   \"Der er ingen diskette i drev %c.\n\nIndst en diskette, og prv igen.\"\n0x00bd   \"Disketten i drev %c er ikke formateret.\n\nVil du formatere den nu?\"\n0x00bf   \"Filen, du vil udskrive, kan ikke findes. Kontroller, at den korrekte sti og filnavn er angivet.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"Det valgte bibliotek findes allerede.\"\n0x0061   \"Indholdet af dette drev er ndret. Vil du opdatere vinduet Sgeresultater?\"\n0x0065   \"Drev %c:%c\"\n0x006e   \"Kan ikke kre programmet\"\n0x006f   \"Uventet fejl: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"Formatering vil slette ALLE data fra disketten. Er du sikker p, at du vil formatere disketten i drev %c?\"\n0x00d3   \"Bekrft formatering af diskette\"\n0x00d4   \"Denne operation vil slette ALLE data p destinationsdisketten. Er du sikker p, at du vil fortstte?\"\n0x00d5   \"Bekrft kopiering af diskette\"\n0x00d6   \"&Luk\"\n0x00da   \"Biblioteket %s eksisterer ikke.\n\nVil du oprette det?\"\n0x00db   \"Programmer#*.exe;*.pif;*.com;*.bat#Alle filer (*.*)#*.*#\"\n0x00dc   \"Gennemse\"\n0x00dd   \"Kr\"\n0x00de   \"Kan ikke udskrive filen\"\n0x00df   \"Kan ikke vise Hjlp-information.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"Der er ikke hukommelse nok til at starte programmet.\n\nAfslut et eller flere programmer, og prv igen.\"\n0x0071   \"Filhndtering kan ikke finde den valgte fil (eller en af dens komponenter).\n\nKontroller, at den korrekte sti og filnavn er angivet, og at alle programbiblioteker er til rdighed.\"\n0x0072   \"Den angivne sti er forkert.\"\n0x0073   \"Der er for mange filer bne.\n\nAfslut et eller flere programmer, eller forg vrdien af FILES= i CONFIG.SYS, og prv igen.\"\n0x0074   \"Der er ingen programmer associeret med denne fil.\n\nVlg Associer i menuen Filer.\"\n0x0075   \"Du kan ikke starte mere end en kopi af det valgte program.\"\n0x0076   \"Filhndtering kan ikke bne eller udskrive den valgte fil.\n\nKr programmet, der blev brugt til at oprette filen, og bn eller udskriv filen derfra.\"\n0x0078   \"Bekrft operationer med musen\"\n0x0079   \"Vil du kopiere de valgte filer og/eller biblioteker til %s ?\"\n0x007a   \"Vil du flytte de valgte filer og/eller biblioteker til %s ?\"\n0x007b   \"Start %s med %s som initialiseringsfil?\"\n0x007c   \"Filhndtering\"\n0x007e   \"Bibliotekstr\"\n0x007f   \"Sgeresultater: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"Filerne med typen %s er programmer og kan ikke associeres med andre programmer.\"\n0x00e1   \"%s er ikke et program og kan ikke associeres med en filtype.\"\n0x00e2   \"(Ingen)\"\n0x00e4   \"Filhndtering kan ikke udskrive flere filer.\n\nVlg kun en fil, og prv igen.\"\n0x00e5   \"Programmet eller et af dets komponenter er komprimeret.\n\nBenyt MS-DOS-vrktjet Expand.exe til at kopiere filen fra installationsdisketten.\"\n0x00e6   \"Et af programbibliotekerne, der bruges til at kre dette program, er beskadiget. Geninstaller programmet.\"\n0x00e7   \"Denne fil bruges af et andet program.\"\n0x00e8   \"Filhndtering kan ikke f adgang til filen i \"%s\" biblioteket.\n\nVil du fortstte?\"\n0x00e9   \"Opret bibliotek\"\n0x00ea   \"%ld byte\"\n0x00eb   \"%s byte\"\n0x00ec   \"Du kan ikke kopiere flere filer til Udklipsholder.\n\nVlg en enkelt fil, og prv igen.\"\n0x00ed   \"%s - %s\"\n0x00ee   \"Drev:\"\n0x00ef   \"%s, \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"For mange filer\"\n0x0085   \"Filhndtering - Ikke mere hukommelse\"\n0x0086   \"Kan ikke lse hele biblioteket. Der vises kun en delvis oversigt.\"\n0x008c   \"Nuvrende bibliotek: %s\"\n0x008d   \"Kopier\"\n0x008f   \"Omdb\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"Formater diskette\"\n0x0092   \"Vlg disketten, der skal formateres.\"\n0x0096   \"Opretter:\"\n0x0097   \"Fjerner...\"\n0x0098   \"Kopierer:\"\n0x0099   \"Omdber...\"\n0x009a   \"Flytter...\"\n0x009b   \"Sletter...\"\n0x009c   \"Udskriver: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"Drev %c eksisterer ikke.\"\n0x00a9   \"Kopierer...\"\n0x00aa   \"Fjerner:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"bner...\"\n0x01a5   \"Lukker...\"\n0x01a6   \"Der er for mange biblioteksvinduer bne.\n\nLuk et eller flere vinduer, og prv igen.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"Fejl under flytning\"\n0x03ea   \"Fejl under kopiering\"\n0x03eb   \"Fejl under sletning\"\n0x03ec   \"Fejl under omdbning\"\n0x03ed   \"Fejl under valg af drev\"\n0x03ee   \"Fejl under lsning af bibliotek\"\n0x03ef   \"Fejl under navngivning af disk\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"Filhndtering kan ikke flytte %s: %s\"\n0x03f4   \"Filhndtering kan ikke kopiere %s: %s\"\n0x03f5   \"Filhndtering kan ikke slette %s: %s\"\n0x03f6   \"Filhndtering kan ikke omdbe %s: %s\"\n0x03fd   \"Filhndtering kan ikke oprette biblioteket %s: %s\"\n0x03fe   \"Filhndtering kan ikke fjerne biblioteket %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Ugyldig MS-DOS-funktion.\"\n0x0412   \"Filhndtering kan ikke finde den valgte fil.\n\nKontroller, at den korrekte sti og filnavn er angivet.\"\n0x0413   \"Filhndtering kan ikke finde den valgte sti.\n\nKontroller, at den korrekte sti og filnavn er angivet.\"\n0x0414   \"Der er for mange andre filer bne. Afslut et eller flere programmer, og prv igen.\"\n0x0415   \"Adgang ngtet.\n\nKontroller, at disken ikke er fuld eller skrivebeskyttet.\"\n0x0416   \"Ugyldig filhndtering.\"\n0x0418   \"Der er ikke hukommelse nok.\n\nAfslut et eller flere programmer, og prv igen.\"\n0x041c   \"Ugyldig filadgang.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"Filhndtering kan ikke fjerne det aktuelle bibliotek (intern fejl).\"\n0x0421   \"Ugyldig enhed.\"\n0x0422   \"Biblioteket er tomt.\"\n0x0423   \"Disketten er skrivebeskyttet.\n\nFjern skrivebeskyttelsen, eller brug en anden diskette, og prv igen.\"\n0x042d   \"Filhndtering kan ikke skrive til destinationsfilen eller -disken.\"\n0x042f   \"Filhndtering kan ikke lse fra kildefilen eller -disken.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"Ugyldig operation.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"Netvrksadgang ngtet. Kontroller, at du har de korrekte netvrksrettigheder til at udfre denne operation.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"Fildelingsfejl. Kilde- eller destinationsfilerne kan vre i brug.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"Der er ikke diskplads nok.\n\nSlet en eller flere filer, og prv igen.\"\n0x0481   \"Kilde- og destinationsfilnavnet er det samme.\"\n0x0482   \"Vlg kun en fil, som skal omdbes, eller brug MS-DOS-jokertegn (f.eks. *.TXT) til at omdbe en gruppe af filer.\"\n0x0483   \"Du kan ikke omdbe til et andet bibliotek eller en anden disk.\"\n0x0484   \"Rodbibliotek (intern fejl).\"\n0x0486   \"Destinationsbiblioteket er et underbibliotek til kildebiblioteket.\"\n0x0487   \"Den valgte fil bruges af Windows.\"\n0x0488   \"Adgang ngtet. Kildefilen kan vre i brug.\"\n0x0489   \"Stien er for lang.\"\n0x048a   \"Angiv kun en fil eller et bibliotek i boksen \"Til\", eller benyt MS-DOS-jokertegn, hvis du vil specificere en gruppe af filer (f.eks. *.TXT).\"\n0x048b   \"Det valgte filnavn findes allerede. Prv igen, og angiv et andet filnavn i boksen \"Til\".\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1,2 MB\"\n0x0131   \"720 KB\"\n0x0132   \"1,44 MB\"\n0x0133   \"2,88 MB\"\n0x0134   \"Drevkapacitet\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360 KB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"Der er ikke hukommelse nok.\"\n0x0192   \"Du kan ikke formatere MS-DOS-startdrevet.\"\n0x0193   \"MS-DOS-startdrevet har en ugyldig sektorstrrelse.\"\n0x0194   \"Det valgte drev er af en ukendt type.\"\n0x0199   \"Filhndtering kunne ikke overfre systemfilerne.\"\n0x019a   \"Denne diskette kan formateres til en kapacitet p %s.\n\nFortst formatering med denne kapacitet?\"\n0x019b   \"Filhndtering kan ikke formatere denne diskette.\n\nKontroller, at disketten ikke er skrivebeskyttet, beskadiget eller af forkert tthed.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00fe   \"Biblioteksna&vn:\"\n0x00ff   \"\\StringFileInfo\\040604E4\\\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01f4   \"Kommentarer\"\n0x01f5   \"Firmanavn\"\n0x01f6   \"Filbeskrivelse\"\n0x01f7   \"Internt navn\"\n0x01f8   \"Registrerede varemrker\"\n0x01f9   \"Oprindeligt filnavn\"\n0x01fa   \"Beskrivelse af egen version\"\n0x01fb   \"Produktnavn\"\n0x01fc   \"Produktversion\"\n0x01fd   \"Beskrivelse af speciel version\"\n0x01fe   \"Sprog\"\n0x01ff   \"Sprog\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0222   \"Ingen filer fundet.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0255   \"Den valgte computer kan ikke findes.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0263   \"Det delte bibliotek kan ikke findes.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0274   \"Der er for mange netvrksomdirigeringer.\"\n0x0276   \"Ugyldig adgangskode.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x02b0   \"Netvrksdrevet er ikke til rdighed.\"\n0x02b1   \"Der opstod en fejl under lsning af drev %c:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0f90   \"Kommandoer til arbejde med filer\"\n0x0f91   \"Kommandoer til arbejde med diske\"\n0x0f92   \"Kommandoer til arbejde i et bibliotekstrvindue\"\n0x0f93   \"Kommandoer til bestemmelse af, hvordan information skal vises\"\n0x0f94   \"Kommandoer til valg af indstillinger\"\n0x0f9a   \"Kommandoer til arrangering af vinduer\"\n0x0f9b   \"Kommandoer til Hjlp til Filhndtering\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1005   \"bner det valgte element\"\n0x1006   \"Udskriver et dokument\"\n0x1007   \"Associerer en fil med et program\"\n0x1008   \"Sger efter filer og biblioteker\"\n0x1009   \"Starter eller bner et program eller et dokument\"\n0x100a   \"Flytter det valgte element\"\n0x100b   \"Kopierer filer og biblioteker\"\n0x100c   \"Sletter filer og biblioteker\"\n0x100d   \"Omdber en fil eller et bibliotek\"\n0x100e   \"Indstiller filattributter og viser filparametre\"\n0x100f   \"Opretter et bibliotek\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1013   \"Afslutter Filhndtering\"\n0x1014   \"Vlger filer og biblioteker\"\n0x1015   \"Henter tidligere slettede filer\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1069   \"Kopierer indholdet af en diskette\"\n0x106a   \"Tildeler eller ndrer et disknavn\"\n0x106b   \"Formaterer en diskette\"\n0x106c   \"Kopierer MS-DOS-filer til en diskette\"\n0x106d   \"Tilslutter et netvrksdrev\"\n0x106e   \"Frakobler et netvrksdrev\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x109b   \"Vlger et andet drev\"\n0x109c   \"Netvrkstilslutninger...\"\n0x109d   \"Vis delte biblioteker...\"\n0x109e   \"Deler et bibliotek\"\n0x109f   \"Stopper deling af et bibliotek\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10cd   \"Viser et andet biblioteksniveau\"\n0x10ce   \"Viser alle niveauer i et bibliotek\"\n0x10cf   \"Viser alle niveauer i alle biblioteker\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10d0   \"Skjuler alle underbiblioteker i et bibliotek\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1195   \"Kontrollerer bekrftelsesmeddelelser\"\n0x1197   \"Viser eller skjuler statuslinjen\"\n0x1198   \"Formindsker Filhndtering til et ikon ved start\"\n0x1199   \"Viser biblioteker, der har underbiblioteker\"\n0x119b   \"Viser eller skjuler drevlinjen\"\n0x119c   \"Viser eller skjuler vrktjslinjen\"\n0x119d   \"bner et nyt vindue, nr du tilslutter\"\n0x119e   \"ndrer skrifttypen i Filhndtering\"\n0x119f   \"Gemmer indstillinger, nr du afslutter Filhndtering\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1131   \"Viser kun filnavne\"\n0x1132   \"Viser alle filinformationer\"\n0x1133   \"Viser udvalgte filinformationer\"\n0x1134   \"Sorterer efter navn\"\n0x1135   \"Sorterer efter type\"\n0x1136   \"Sorterer efter strrelse\"\n0x1137   \"Sorterer efter dato\"\n0x1139   \"Viser udvalgte filtyper\"\n0x113b   \"Viser bibliotekstret\"\n0x113c   \"Viser indholdet af det aktuelle bibliotek\"\n0x113d   \"Viser bibliotekstret og indholdet af det aktuelle bibliotek\"\n0x113e   \"Deler et biblioteksvindue eller flytter delelinjen\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x11a0   \"Tilpasser vrktjslinjen\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13f0   \"Opdaterer indholdet af et vindue\"\n0x13f1   \"Arrangerer ikoner\"\n0x13f2   \"bner et nyt vindue\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13ed   \"Arrangerer vinduer\"\n0x13ee   \"Arrangerer vinduer\"\n0x13ef   \"Arrangerer vinduer\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1451   \"Viser indholdet af Hjlp til Filhndtering\"\n0x1452   \"Viser information om brug af Hjlp\"\n0x1453   \"Viser information om Filhndtering\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0fbe   \"Sger efter et emne i Hjlp til Filhndtering\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0320   \"&Tilslut netvrksdrev...\"\n0x0321   \"&Frakobl netvrksdrev...\"\n0x0322   \"&Netvrkstilslutninger...\"\n0x0323   \"Del &som...\"\n0x0324   \"D&el ikke...\"\n0x0325   \"&Vis delte biblioteker...\"\n0x0326   \"F&ortryd sletning...\"\n0x0327   \"&bn nyt vindue ved tilslutning\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.Dutch.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"&Bestand\"\n    BEGIN\n    MENUITEM    \"&Openen\tEnter\", 0X0065\n    MENUITEM    \"V&erplaatsen...\tF7\", 0X006A\n    MENUITEM    \"&Kopiren...\tF8\", 0X006B\n    MENUITEM    \"&Verwijderen...\tDel\", 0X006C\n    MENUITEM    \"Naam &wijzigen...\", 0X006D\n    MENUITEM    \"&Gegevens...\tAlt+Enter\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Starten...\", 0X0069\n    MENUITEM    \"Af&drukken...\", 0X0066\n    MENUITEM    \"Ve&rbinden...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Directory &maken...\", 0X006F\n    MENUITEM    \"&Zoeken...\", 0X0068\n    MENUITEM    \"Bestanden se&lecteren...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Afsluiten\", 0X0073\n    END\n    POPUP   \"&Schijf\"\n    BEGIN\n    MENUITEM    \"&Diskette kopiren...\", 0X00C9\n    MENUITEM    \"S&chijf naam geven...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Diskette &formatteren...\", 0X00CB\n    MENUITEM    \"&Systeemdiskette maken...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"S&tation selecteren...\", 0X00FB\n    END\n    POPUP   \"S&tructuur\"\n    BEGIN\n    MENUITEM    \"&Met n niveau uitbreiden\t+\", 0X012D\n    MENUITEM    \"&Subdirectory's weergeven\t*\", 0X012E\n    MENUITEM    \"&Alle subdirectory's weergeven\tCtrl+*\", 0X012F\n    MENUITEM    \"&Geen subdirectory's\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"S&ubdirectory's aangeven\", 0X01F9\n    END\n    POPUP   \"Beel&d\"\n    BEGIN\n    MENUITEM    \"&Structuur en directory\", 0X019D\n    MENUITEM    \"&Alleen structuur\", 0X019B\n    MENUITEM    \"A&lleen directory \", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"S&plitsen\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Naam\", 0X0191\n    MENUITEM    \"Alle bestands&gegevens\", 0X0192\n    MENUITEM    \"Deel&weergave...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Sorteren op naa&m\", 0X0194\n    MENUITEM    \"So&rteren op type\", 0X0195\n    MENUITEM    \"Sor&teren op omvang\", 0X0196\n    MENUITEM    \"Sorteren op &datum\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Op type...\", 0X0199\n    END\n    POPUP   \"&Opties\"\n    BEGIN\n    MENUITEM    \"&Bevestigen...\", 0X01F5\n    MENUITEM    \"&Lettertype...\", 0X01FE\n    MENUITEM    \"Werkb&alk aanpassen...\", 0X0200\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Werkbalk\", 0X01FC\n    MENUITEM    \"&Stationsbalk\", 0X01FB\n    MENUITEM    \"Stat&usbalk\", 0X01F7\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Pictogram bij toepassing\", 0X01F8\n    MENUITEM    \"&Instellingen opslaan bij afsluiten\", 0X01FF\n    END\n    POPUP   \"&Venster\"\n    BEGIN\n    MENUITEM    \"Nieu&w venster\", 0X0452\n    MENUITEM    \"&Trapsgewijs\tShift+F5\", 0X044D\n    MENUITEM    \"Naast elkaar - &horizontaal schikken\", 0X044F\n    MENUITEM    \"&Naast elkaar - verticaal schikken\tShift+F4\", 0X044E\n    MENUITEM    \"&Pictogrammen schikken\", 0X0451\n    MENUITEM    \"&Vernieuwen\tF5\", 0X0450\n    END\n    POPUP   \"&?\"\n    BEGIN\n    MENUITEM    \"&Help-index\", 0X04B1\n    MENUITEM    \"&Zoeken...\", 0X001E\n    MENUITEM    \"Help &gebruiken\", 0X04B2\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Info...\", 0X04B3\n    END\nEND\n\n\n145 DIALOG 0x80c8, 13, 54, 278, 150\nCAPTION \"Lettertype\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Lettertype:\", 1088, 0x0000, 6, 3, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 13, 94, 54\n    CONTROL 0x82, \"Lettertype-op&maak:\", 1089, 0x0000, 110, 3, 64, 8\n    CONTROL 0x85, \"\", 1137, 0x0001, 110, 13, 64, 54\n    CONTROL 0x82, \"Om&vang:\", 1090, 0x0000, 186, 3, 35, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 186, 13, 37, 54\n    CONTROL 0x80, \"Effecten\", 1072, 0x0007, 6, 72, 84, 61\n    CONTROL 0x80, \"&Doorhalen\", 1040, 0x0003, 10, 82, 52, 10\n    CONTROL 0x80, \"&Onderstrepen\", 1041, 0x0003, 10, 94, 55, 10\n    CONTROL 0x80, \"Klei&ne letters\", 1042, 0x0003, 10, 82, 54, 10\n    CONTROL 0x82, \"&Kleur:\", 1091, 0x0000, 10, 106, 30, 9\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 116, 75, 50\n    CONTROL 0x80, \"OK\", 1, 0x0001, 229, 6, 45, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 229, 23, 45, 14\n    CONTROL 0x80, \"&Toepassen\", 1026, 0x0000, 229, 40, 45, 14\n    CONTROL 0x80, \"&Help\", 1038, 0x0000, 229, 57, 45, 14\n    CONTROL 0x80, \"Voorbeeld\", 1073, 0x0007, 98, 72, 160, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 124, 160, 25\n    CONTROL 0x82, \"AaBbYyZz\", 1092, 0x0081, 104, 81, 149, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 201, 86\nCAPTION \"Station selecteren\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Stations:\", 245, 0x000c, 5, 5, 41, 10\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"OK\", 1, 0x0001, 155, 6, 40, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 155, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 155, 44, 40, 14\nEND\n\n10 DIALOG 0x80c8, 15, 12, 210, 63\nCAPTION \"Starten\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 3, 6, 162, 10\n    CONTROL 0x82, \"&Opdrachtregel:\", 100, 0x000c, 3, 18, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 134, 12\n    CONTROL 0x80, \"Starten als &pictogram\", 214, 0x0003, 3, 45, 82, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 40, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 165, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 165, 43, 40, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 123, 83\nCAPTION \"Bestanden selecteren\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Bestand(en):\", -1, 0x000c, 5, 16, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 29, 60, 12\n    CONTROL 0x80, \"S&electeren\", 1, 0x0001, 70, 6, 45, 14\n    CONTROL 0x80, \"&Opheffen\", 6, 0x0000, 70, 23, 45, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 70, 40, 45, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 70, 63, 45, 14\nEND\n\n39 DIALOG 0x80c8, 10, 20, 245, 95\nCAPTION \"Bestand vervangen bevestigen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Bestand vervangen:\", 100, 0x000c, 25, 12, 68, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 94, 12, 146, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 94, 22, 146, 10\n    CONTROL 0x82, \"Door bestand:\", 100, 0x000c, 25, 34, 49, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 94, 34, 146, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 94, 44, 146, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 28, 73, 45, 14\n    CONTROL 0x80, \"J&a op alles\", 107, 0x0000, 77, 73, 45, 14\n    CONTROL 0x80, \"&Nee\", 7, 0x0000, 126, 73, 45, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 175, 73, 45, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"Bestand verwijderen bevestigen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 203, 10\n    CONTROL 0x82, \"Bestand verwijderen:\", 100, 0x000c, 25, 18, 71, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 95, 18, 145, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 28, 42, 45, 14\n    CONTROL 0x80, \"J&a op alles\", 107, 0x0000, 77, 42, 45, 14\n    CONTROL 0x80, \"&Nee\", 7, 0x0000, 126, 42, 45, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 175, 42, 45, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"Directory verwijderen bevestigen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Directory verwijderen:\", 100, 0x000c, 25, 18, 74, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 99, 18, 141, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 28, 42, 45, 14\n    CONTROL 0x80, \"J&a op alles\", 107, 0x0000, 77, 42, 45, 14\n    CONTROL 0x80, \"&Nee\", 7, 0x0000, 126, 42, 45, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 175, 42, 45, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"Bestand verplaatsen bevestigen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Bestand verplaatsen:\", 100, 0x000c, 25, 18, 70, 8\n    CONTROL 0x82, \"\", 102, 0x008c, 97, 18, 143, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 28, 42, 45, 14\n    CONTROL 0x80, \"J&a op alles\", 107, 0x0000, 77, 42, 45, 14\n    CONTROL 0x80, \"&Nee\", 7, 0x0000, 126, 42, 45, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 175, 42, 45, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"Bestandsnaam wijzigen bevestigen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Bestandsnaam wijzigen:\", 100, 0x000c, 25, 13, 79, 8\n    CONTROL 0x82, \"\", 102, 0x008c, 105, 13, 135, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 28, 42, 45, 14\n    CONTROL 0x80, \"J&a op alles\", 107, 0x0000, 77, 42, 45, 14\n    CONTROL 0x80, \"&Nee\", 7, 0x0000, 126, 42, 45, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 175, 42, 45, 14\nEND\n\n11 DIALOG 0x80c8, 20, 20, 260, 63\nCAPTION \"Afdrukken\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 193, 10\n    CONTROL 0x82, \"Af&drukken:\", 100, 0x000c, 3, 20, 37, 8\n    CONTROL 0x81, \"\", 102, 0x0480, 42, 18, 160, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 36, 190, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 213, 6, 40, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 213, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 213, 43, 40, 14\nEND\n\n13 DIALOG 0x80c8, 20, 20, 263, 63\nCAPTION \"Zoeken\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Zoeken naar:\", 100, 0x000c, 5, 6, 45, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 52, 5, 160, 12\n    CONTROL 0x82, \"&Beginnen bij:\", 100, 0x000c, 5, 21, 45, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 52, 20, 160, 12\n    CONTROL 0x80, \"&Alle subdirectory's doorzoeken\", 232, 0x0003, 52, 34, 113, 10\n    CONTROL 0x82, \"\", 104, 0x000c, 5, 48, 200, 14\n    CONTROL 0x80, \"OK\", 1, 0x0001, 217, 6, 40, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 217, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 217, 43, 40, 14\nEND\n\n14 DIALOG 0x80c8, 47, 59, 258, 67\nCAPTION \"Verplaatsen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Huidige directory: N\", 101, 0x008b, 3, 6, 178, 10\n    CONTROL 0x82, \"&Naar:\", 100, 0x000c, 3, 33, 20, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 37, 32, 161, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 26, 33, 10, 10\n    CONTROL 0x80, \"&Kopiren naar Klembord\", 256, 0x0004, 26, 49, 89, 10\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 49, 92, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 99, 49, 101, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 206, 6, 44, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 206, 23, 44, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 206, 44, 44, 14\n    CONTROL 0x82, \"&Van:\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 161, 12\nEND\n\n10014 DIALOG 0x80c8, 47, 59, 231, 98\nCAPTION \"Verplaatsen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Huidige directory: N\", 101, 0x008b, 3, 6, 179, 10\n    CONTROL 0x82, \"&Naar:\", 100, 0x000c, 3, 38, 20, 10\n    CONTROL 0x62, \"edit\", 103, 0x0004, 37, 38, 138, 42\n    CONTROL 0x50, \"\", 256, 0x0401, 6656, 9728, 2560, 2560\n    CONTROL 0x80, \"&Kopiren naar Klembord\", 256, 0x0004, 26, 84, 92, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 86, 92, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 98, 86, 128, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 185, 23, 40, 14\n    CONTROL 0x80, \"&Bladeren\", 600, 0x0000, 185, 40, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 185, 61, 40, 14\n    CONTROL 0x82, \"&Van:\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n200 DIALOG 0x00c8, 36, 24, 164, 134\nCAPTION \"Directory selecteren\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x81, \"\", 1152, 0x0490, 6, 16, 90, 12\n    CONTROL 0x83, \"\", 1120, 0x0053, 12, 28, 84, 68\n    CONTROL 0x82, \"&Directory's:\", -1, 0x0000, 10, 6, 92, 9\n    CONTROL 0x82, \"\", 1088, 0x0000, 10, 17, 83, 8\n    CONTROL 0x83, \"\", 1121, 0x0053, 10, 28, 92, 68\n    CONTROL 0x82, \"&Stations:\", 1091, 0x0000, 10, 102, 92, 9\n    CONTROL 0x85, \"\", 1137, 0x0353, 10, 112, 92, 68\n    CONTROL 0x80, \"OK\", 1, 0x0001, 108, 6, 50, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 108, 24, 50, 14\n    CONTROL 0x82, \"Besta&ndsnaam:\", 1090, 0x0000, 6, 6, 76, 9\n    CONTROL 0x82, \"Geef bes&tanden weer van het type:\", 1089, 0x0000, 6, 104, 116, 9\n    CONTROL 0x85, \"\", 1136, 0x0043, 6, 114, 90, 36\n    CONTROL 0x80, \"&Help\", 1038, 0x0000, 208, 46, 50, 14\n    CONTROL 0x80, \"&Alleen-lezen\", 1040, 0x0003, 208, 68, 50, 12\nEND\n\n15 DIALOG 0x80c8, 20, 20, 258, 64\nCAPTION \"Verwijderen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Huidige directory: C\", 101, 0x008c, 3, 5, 193, 10\n    CONTROL 0x82, \"&Verwijderen:\", 100, 0x000c, 3, 20, 42, 8\n    CONTROL 0x81, \"\", 102, 0x0480, 47, 19, 155, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 40, 71, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 76, 40, 128, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 210, 6, 42, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 210, 23, 42, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 210, 43, 42, 14\nEND\n\n38 DIALOG 0x80c8, 20, 20, 230, 77\nCAPTION \"Gegevens\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"%d bestanden geselecteerd, totaal %s bytes\", 100, 0x000c, 5, 5, 167, 18\n    CONTROL 0x80, \"Kenmerken\", -1, 0x0007, 5, 23, 120, 42\n    CONTROL 0x80, \"&Alleen-lezen\", 215, 0x0003, 10, 34, 52, 12\n    CONTROL 0x80, \"&Verborgen\", 216, 0x0003, 72, 34, 52, 12\n    CONTROL 0x80, \"A&rchief\", 217, 0x0003, 10, 46, 52, 12\n    CONTROL 0x80, \"&Systeem\", 218, 0x0003, 72, 46, 52, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 174, 6, 50, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 174, 23, 50, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 174, 40, 50, 14\nEND\n\n16 DIALOG 0x80c8, 23, 13, 267, 195\nCAPTION \"Gegevens van %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 199, 6, 65, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 199, 23, 65, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 199, 40, 65, 14\n    CONTROL 0x82, \"Besta&ndsnaam:\", 261, 0x000c, 5, 5, 55, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 65, 5, 130, 10\n    CONTROL 0x82, \"&Pad:\", 100, 0x000c, 5, 16, 51, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 65, 16, 130, 10\n    CONTROL 0x82, \"Laatst gewijzigd:\", 100, 0x000c, 5, 27, 56, 8\n    CONTROL 0x82, \"\", 204, 0x000c, 65, 27, 97, 10\n    CONTROL 0x82, \"Versie:\", 258, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"Niet aangegeven\", 259, 0x008c, 65, 38, 90, 10\n    CONTROL 0x82, \"&Copyright:\", -1, 0x0000, 5, 49, 45, 10\n    CONTROL 0x81, \"Niet aangegeven\", 265, 0x0880, 65, 49, 130, 10\n    CONTROL 0x82, \"Omvang:\", 260, 0x000c, 5, 60, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 65, 60, 90, 10\n    CONTROL 0x80, \"Kenmerken\", 100, 0x0007, 4, 74, 120, 42\n    CONTROL 0x80, \"&Alleen-lezen\", 215, 0x0003, 9, 86, 51, 10\n    CONTROL 0x80, \"&Verborgen\", 216, 0x0003, 71, 86, 45, 10\n    CONTROL 0x80, \"A&rchief\", 217, 0x0003, 9, 98, 39, 10\n    CONTROL 0x80, \"&Systeem\", 218, 0x0003, 71, 98, 38, 10\n    CONTROL 0x80, \"V&ersiegegevens\", 262, 0x0007, 6, 121, 258, 72\n    CONTROL 0x83, \"\", 263, 0x1003, 9, 132, 120, 58\n    CONTROL 0x81, \"\", 264, 0x0804, 130, 132, 130, 58\nEND\n\n17 DIALOG 0x80c8, 20, 20, 200, 63\nCAPTION \"Directory maken\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Naam:\", 100, 0x000c, 3, 23, 20, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 30, 22, 90, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 46, 150, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 157, 6, 40, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 157, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 157, 43, 40, 14\nEND\n\n10017 DIALOG 0x80c8, 20, 20, 240, 74\nCAPTION \"Directory maken\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Naam:\", 100, 0x000c, 3, 28, 26, 10\n    CONTROL 0x62, \"edit\", 201, 0x0000, 3, 40, 170, 18\n    CONTROL 0x50, \"\", 26624, 0x8c00, 768, 15360, -27136, 2560\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 197, 64\nCAPTION \"Systeemdiskette maken\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Kopieer systeembestanden naar diskette in:\", -1, 0x000c, 5, 8, 143, 8\n    CONTROL 0x85, \"\", 222, 0x0003, 30, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 153, 7, 40, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 153, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 153, 44, 40, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 157, 64\nCAPTION \"Diskette kopiren\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Bronstation:\", -1, 0x000c, 5, 8, 40, 8\n    CONTROL 0x85, \"\", 245, 0x0003, 55, 6, 48, 37\n    CONTROL 0x82, \"&Doelstation:\", 206, 0x000c, 5, 22, 40, 8\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 20, 48, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 55\nCAPTION \"Bezig met diskette kopiren\"\nFONT 8, \"Helv\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"Bezig met kopiren diskette in \", 100, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \"Station A:\", 222, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \"Brondiskette wordt gelezen\", 243, 0x0001, 0, 26, 130, 10\n    CONTROL 0x80, \"Annuleren\", 2, 0x0001, 44, 39, 44, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 161, 63\nCAPTION \"Schijf naam geven\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Volumenaam:\", 100, 0x000c, 5, 15, 53, 8\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 100, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 115, 6, 40, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 115, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 115, 43, 40, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 183, 96\nCAPTION \"Diskette formatteren\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 140, 6, 40, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 140, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 140, 43, 40, 14\n    CONTROL 0x82, \"&Diskette in:\", -1, 0x000c, 5, 7, 47, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 4, 65, 40\n    CONTROL 0x82, \"&Capaciteit:\", 100, 0x000c, 5, 20, 48, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 55, 19, 65, 40\n    CONTROL 0x80, \"Opties\", 102, 0x0007, 5, 39, 119, 53\n    CONTROL 0x82, \"&Volumenaam:\", -1, 0x000c, 11, 51, 44, 8\n    CONTROL 0x81, \"\", 201, 0x0000, 56, 49, 63, 12\n    CONTROL 0x80, \"&Systeemdiskette maken\", 242, 0x0003, 11, 62, 93, 10\n    CONTROL 0x80, \"Diskette snelfor&matteren\", 244, 0x0003, 11, 76, 98, 10\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 50\nCAPTION \"Schijf formatteren\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Diskette wordt geformatteerd\", 100, 0x0001, 0, 5, 150, 10\n    CONTROL 0x82, \"Station wordt genitialiseerd...\", 243, 0x0001, 0, 17, 150, 10\n    CONTROL 0x80, \"Annuleren\", 2, 0x0001, 54, 30, 44, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 174, 57\nCAPTION \"Systeemdiskette maken\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Systeembestanden worden gekopieerd.\", 100, 0x0001, 0, 6, 174, 8\n    CONTROL 0x82, \"Druk op Annuleren om af te breken.\", 100, 0x0001, 0, 14, 174, 8\n    CONTROL 0x80, \"Annuleren\", 2, 0x0001, 66, 39, 44, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 241, 135\nCAPTION \"Netwerkverbindingen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Nieuwe verbinding\", -1, 0x0007, 5, 3, 170, 55\n    CONTROL 0x82, \"&Netwerkpad:\", -1, 0x0000, 10, 16, 55, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 65, 14, 100, 12\n    CONTROL 0x82, \"S&tation:\", -1, 0x0000, 10, 30, 24, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 65, 28, 40, 100\n    CONTROL 0x82, \"&Wachtwoord:\", -1, 0x0000, 10, 44, 44, 8\n    CONTROL 0x81, \"\", 224, 0x04a0, 65, 42, 100, 12\n    CONTROL 0x82, \"H&uidige stationsverbindingen:\", -1, 0x0000, 5, 62, 120, 10\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 160, 60\n    CONTROL 0x80, \"&Sluiten\", 2, 0x0001, 190, 6, 45, 14\n    CONTROL 0x80, \"&Verbinden\", 1, 0x0000, 190, 27, 45, 14\n    CONTROL 0x80, \"Vo&rige...\", 226, 0x0000, 190, 44, 45, 14\n    CONTROL 0x80, \"&Bladeren...\", 227, 0x0000, 190, 61, 45, 14\n    CONTROL 0x80, \"V&erbreken\", 255, 0x0000, 190, 78, 45, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 190, 95, 45, 14\nEND\n\n29 DIALOG 0x80c8, 30, 30, 239, 98\nCAPTION \"Vorige netwerkverbindingen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Netwerkpaden:\", 100, 0x000c, 3, 3, 69, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 3, 15, 172, 80\n    CONTROL 0x80, \"S&electeren\", 1, 0x0001, 181, 6, 47, 14\n    CONTROL 0x80, \"Sluiten\", 2, 0x0000, 181, 24, 47, 14\n    CONTROL 0x80, \"&Verwijderen\", 219, 0x0000, 181, 41, 47, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 181, 58, 47, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 163, 65\nCAPTION \"Deelweergave\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Gegevens\", 100, 0x0007, 4, 4, 111, 55\n    CONTROL 0x80, \"&Omvang\", 203, 0x0003, 11, 15, 100, 9\n    CONTROL 0x80, \"&Datum laatste wijziging\", 204, 0x0003, 11, 25, 100, 9\n    CONTROL 0x80, \"&Tijd laatste wijziging\", 205, 0x0003, 11, 35, 100, 9\n    CONTROL 0x80, \"&Bestandskenmerken\", 206, 0x0003, 11, 45, 100, 9\n    CONTROL 0x80, \"OK\", 1, 0x0001, 120, 6, 40, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 120, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 120, 43, 40, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 157, 102\nCAPTION \"Op type\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Naam:\", 100, 0x000c, 5, 8, 23, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"Bestandstype\", 100, 0x0007, 5, 20, 94, 62\n    CONTROL 0x80, \"&Directory's\", 101, 0x0003, 10, 31, 59, 10\n    CONTROL 0x80, \"&Programma's\", 210, 0x0003, 10, 43, 61, 10\n    CONTROL 0x80, \"Do&cumenten\", 211, 0x0003, 10, 55, 61, 10\n    CONTROL 0x80, \"&Andere bestanden\", 212, 0x0003, 10, 67, 77, 10\n    CONTROL 0x80, \"&Verborgen/systeembestanden weergeven\", 250, 0x0003, 5, 85, 150, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 164, 80\nCAPTION \"Bevestigen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Bevestigen van\", 100, 0x0007, 5, 3, 108, 73\n    CONTROL 0x80, \"&Bestand verwijderen\", 219, 0x0003, 10, 15, 83, 10\n    CONTROL 0x80, \"&Directory verwijderen\", 220, 0x0003, 10, 27, 80, 10\n    CONTROL 0x80, \"Bestand &vervangen\", 221, 0x0003, 10, 39, 77, 10\n    CONTROL 0x80, \"&Muisbewerking\", 249, 0x0003, 10, 51, 60, 10\n    CONTROL 0x80, \"&Schijfopdrachten\", 251, 0x0003, 10, 63, 66, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 118, 6, 40, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 118, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 118, 44, 40, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 250, 46\nCAPTION \"Bezig met verplaatsen...\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 5, 70, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 76, 5, 171, 10\n    CONTROL 0x82, \"Naar:\", 108, 0x008b, 5, 15, 25, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 55, 15, 192, 10\n    CONTROL 0x80, \"Annuleren\", 2, 0x0001, 200, 28, 40, 14\nEND\n\n36 DIALOG 0x80c8, 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Bezig met afdrukken bestand...\", -1, 0x0001, 4, 6, 120, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 4, 20, 120, 12\n    CONTROL 0x80, \"Annuleren\", 2, 0x0001, 44, 40, 42, 14\nEND\n\n12 DIALOG 0x80c8, 31, 39, 221, 96\nCAPTION \"Verbinden\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Bes&tanden met toevoeging:\", 99, 0x000c, 5, 8, 90, 8\n    CONTROL 0x81, \"\", 112, 0x0400, 100, 6, 35, 12\n    CONTROL 0x82, \"&Verbinden met:\", 99, 0x000c, 5, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 6, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 7, 44, 147, 40\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 45, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 165, 23, 45, 14\n    CONTROL 0x80, \"&Bladeren...\", 232, 0x0000, 165, 43, 45, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 165, 60, 45, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 250, 78\nCAPTION \"Bestandsnaam selecteren\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Dit pad komt niet overeen met de MS-DOS-indeling voor bestandsnamen. Voer een nieuwe naam in.\", 99, 0x0000, 4, 4, 190, 24\n    CONTROL 0x82, \"&Nieuwe naam:\", 99, 0x0002, 19, 56, 50, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 70, 55, 130, 12\n    CONTROL 0x82, \"Oorspronkelijk pad:\", 99, 0x0002, 5, 28, 64, 8\n    CONTROL 0x81, \"\", 102, 0x0880, 70, 28, 130, 12\n    CONTROL 0x82, \"Naar directory:\", 99, 0x0002, 19, 42, 50, 11\n    CONTROL 0x81, \"\", 101, 0x0880, 70, 42, 130, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 205, 4, 40, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 205, 20, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 205, 36, 40, 14\nEND\n\n48 DIALOG 0x80c8, 23, 13, 250, 107\nCAPTION \"Gegevens van %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 194, 6, 50, 14\n    CONTROL 0x80, \"Annuleren\", 2, 0x0000, 194, 23, 50, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 194, 43, 50, 14\n    CONTROL 0x82, \"Besta&ndsnaam:\", 261, 0x000c, 5, 5, 55, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 60, 5, 134, 10\n    CONTROL 0x82, \"&Pad:\", 100, 0x000c, 5, 16, 51, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 60, 16, 134, 10\n    CONTROL 0x82, \"Laatst gewijzigd:\", 100, 0x000c, 5, 27, 62, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 72, 27, 103, 10\n    CONTROL 0x82, \"Omvang:\", 260, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 60, 38, 90, 10\n    CONTROL 0x80, \"Kenmerken\", 100, 0x0007, 4, 52, 120, 42\n    CONTROL 0x80, \"&Alleen-lezen\", 215, 0x0003, 9, 64, 51, 10\n    CONTROL 0x80, \"&Verborgen\", 216, 0x0003, 71, 64, 45, 10\n    CONTROL 0x80, \"A&rchief\", 217, 0x0003, 9, 76, 34, 10\n    CONTROL 0x80, \"&Systeem\", 218, 0x0003, 71, 76, 38, 10\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0101   \"(Hoofddirectory)\"\n0x0102   \"(Niet van toepassing)\"\n0x0103   \"Gedeeld als %s\"\n0x0104   \"Niet gedeeld\"\n0x0107   \"Bezig met bestanden kopiren naar %s\"\n0x0108   \"Bezig met bestanden verplaatsen naar %s\"\n0x0109   \"Bestanden gestart met %s\"\n0x010a   \"%s bytes\"\n0x010b   \"%s kB\"\n0x010c   \"%sMB\"\n0x010d   \"%sGB\"\n0x010e   \"%sTB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"Windows afsluiten\"\n0x0029   \"Hiermee beindigt u de Windows-sessie.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"Diskette kopiren\"\n0x0033   \"Plaats de doeldiskette.\"\n0x0034   \"Plaats de brondiskette.\"\n0x0035   \"Plaats de bron- en doeldiskettes.\"\n0x0036   \"Doelschijf wordt geformatteerd.\"\n0x0037   \"Fout bij kopiren diskette\"\n0x0038   \"Kan schijf niet kopiren.\"\n0x003a   \"Bron- en doelstations zijn niet compatibel.\"\n0x003c   \"%d%% voltooid\"\n0x003d   \"Bezig met het maken van hoofddirectory...\"\n0x003e   \"Bezig met systeembestanden kopiren...\"\n0x003f   \"Fout bij formatteren van diskette\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"Onvoldoende schijfruimte om af te drukken.\n\nVerwijder een of meer bestanden en probeer het opnieuw.\"\n0x00c1   \"Onvoldoende geheugen om af te drukken.\n\nSluit een of meer toepassingen af en probeer het opnieuw.\"\n0x00c2   \"Fout bij het afdrukken.\n\nControleer of de printer is geselecteerd en juist is geconfigureerd.\"\n0x00c3   \"Onvolledige directorystructuur weergegeven\"\n0x00c5   \"Diskette in doelstation is vol.\n\nPlaats een nieuwe diskette om door te gaan.\"\n0x00c6   \"Dit is een systeem-, verborgen of alleen-lezen-bestand.\"\n0x00c7   \"Bestandsbeheer kan niet snelformatteren.\n\nNormaal formatteren?\"\n0x00c8   \"De opgegeven toepassing is geen Windows- of MS-DOS-toepassing.\"\n0x00c9   \"Deze toepassing vereist een nieuwere versie van Microsoft Windows.\"\n0x00ca   \"Deze toepassing vereist Windows.\"\n0x00cb   \"Tijdens het verzenden van de opdracht naar de toepassing is een fout opgetreden.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"Kan diskette niet formatteren.\"\n0x0042   \"Formatteren voltooid\"\n0x0043   \"%ld bytes totale schijfruimte\n%ld bytes beschikbaar op diskette\n\nWilt u nog een diskette formatteren?\"\n0x0046   \"Systeemdiskette maken\"\n0x0047   \"Weet u zeker dat u systeembestanden naar de diskette in station %c wilt kopiren?\"\n0x0048   \"Fout systeemdiskette\"\n0x0049   \"Het opstartstation van MS-DOS bevat geen systeembestanden of is niet beschikbaar.\"\n0x004a   \"U kunt geen systeembestanden kopiren naar het opstartstation van MS-DOS.\"\n0x004b   \"U kunt geen systeembestanden aan deze diskette toevoegen.\n\nControleer of een geformatteerde diskette in het station aanwezig is en of het station is gesloten.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"Bestandsbeheer kan %s niet maken of vervangen: %s\"\n0x0408   \"Bestandsbeheer kan geen MS-DOS-systeemdiskette maken omdat Windows NT multiboot op uw systeem is genstalleerd.  Een systeemdiskette maakt u met behulp van het hulpprogramma SYS in de MS-DOS-opdrachtregel.\"\n0x0409   \"Wilt u de diskette nu formatteren zonder het systeem over te brengen?\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"Netwerkfout\"\n0x0053   \"Deze schijf bevat de Windows-systeembestanden. De verbinding ermee kan niet worden beindigd.\"\n0x005b   \"Bestandsbeheer kan de kenmerken niet wijzigen.\n\nControleer of de schijf niet schrijfbeveiligd is.\"\n0x005c   \"Bestandsbeheer kan geen directory maken.\n\nControleer of de schijf niet schrijfbeveiligd is.\"\n0x005d   \"Bestandsbeheer kan de schijf geen naam geven.\n\nControleer of de schijf niet schrijfbeveiligd is en geen netwerkstation is en of de naam geldig is.\nNamen mogen volgende tekens niet bevatten:\n[space] * ? / \\ | . , ; : + = [ ] ( )\"\n0x005f   \"Geen overeenkomstige bestanden gevonden.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"%d bestand(en) (%s)\"\n0x00b5   \"Directory's gelezen: %d \"\n0x00b6   \"%c: %s vrij,  %s totaal\"\n0x00b7   \"%d bestand(en) gevonden\"\n0x00b9   \"de geselecteerde bestanden\"\n0x00ba   \"Bestandsbeheer kan de verbinding met het netwerkstation niet verbreken omdat er bestanden open staan.\"\n0x00bb   \"%d bestand(en) gesel. (%s)\"\n0x00bc   \"Station %c: bevat geen diskette.\n\nPlaats een diskette en probeer het opnieuw.\"\n0x00bd   \"De schijf in station %c: is niet geformatteerd.\n\nWilt u de schijf nu formatteren?\"\n0x00bf   \"Kan het af te drukken bestand niet vinden. Controleer of het pad en de bestandsnaam juist zijn ingevoerd.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"De opgegeven directory bestaat al.\"\n0x0061   \"De inhoud van dit station is gewijzigd. Wilt u het venster Zoekresultaten bijwerken?\"\n0x0065   \"Station %c:%c\"\n0x006e   \"Kan programma niet starten\"\n0x006f   \"Onverwachte fout: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"Hierdoor worden ALLE gegevens van de schijf verwijderd. Weet u zeker dat u de schijf in station %c  wilt formatteren?\"\n0x00d3   \"Diskette formatteren bevestigen\"\n0x00d4   \"Deze bewerking zal ALLE gegevens van de doeldiskette verwijderen. Weet u zeker dat u wilt doorgaan?\"\n0x00d5   \"Diskette kopiren bevestigen\"\n0x00d6   \"&Sluiten\"\n0x00da   \"Directory %s bestaat niet.\n\nWilt u deze maken?\"\n0x00db   \"Programma's#*.exe;*.pif;*.com;*.bat#Alle Bestanden (*.*)#*.*#\"\n0x00dc   \"Bladeren\"\n0x00dd   \"Starten\"\n0x00de   \"Kan bestand niet afdrukken\"\n0x00df   \"Kan Help-informatie niet weergeven.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"Onvoldoende geheugen voor het starten van de opgegeven toepassing.\n\nSluit een of meer toepassingen af en probeer het opnieuw.\"\n0x0071   \"Bestandsbeheer kan het opgegeven bestand (of een onderdeel ervan) niet vinden.\n\nControleer of het pad en de bestandsnaam juist zijn ingevoerd en of alle vereiste bibliotheken beschikbaar zijn.\"\n0x0072   \"Het opgegeven pad is ongeldig.\"\n0x0073   \"Er zijn momenteel te veel bestanden in gebruik.\n\nSluit een of meer toepassingen af of vergroot de waarde van de opdracht Files in CONFIG.SYS en probeer het opnieuw.\"\n0x0074   \"Er is geen toepassing verbonden met dit bestand.\n\nKies Verbinden in het menu Bestand om een verbinding te maken.\"\n0x0075   \"U kunt niet meer dan een versie van het opgegeven programma starten.\"\n0x0076   \"Bestandsbeheer kan het opgegeven bestand niet openen of afdrukken.\n\nStart de toepassing waarin dit bestand is gemaakt en open het daar of druk het van daaruit af.\"\n0x0078   \"Muisbewerking bevestigen\"\n0x0079   \"Weet u zeker dat u de geselecteerde bestanden of directory's naar %s wilt kopiren?\"\n0x007a   \"Weet u zeker dat u de geselecteerde bestanden of directory's naar %s wilt verplaatsen?\"\n0x007b   \"Weet u zeker dat u %s wilt starten met %s als opstartbestand?\"\n0x007c   \"Bestandsbeheer\"\n0x007e   \"Directorystructuur\"\n0x007f   \"Zoekresultaten: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"Bestanden met de toevoeging %s zijn programma's en kunnen niet worden verbonden met een andere toepassing.\"\n0x00e1   \"%s is geen programma en kan niet met een bestandstoevoeging worden verbonden.\"\n0x00e2   \"(Geen)\"\n0x00e4   \"Bestandsbeheer kan niet meerdere bestanden afdrukken.\n\nSelecteer n bestand en probeer het opnieuw.\"\n0x00e5   \"Dit programma of een van de onderdelen is gecomprimeerd.\n\nGebruik de MS-DOS-opdracht Expand om het bestand vanaf de setup-diskettes te kopiren.\"\n0x00e6   \"Een van de bibliotheekbestanden dat nodig is voor het starten van deze toepassing is beschadigd. Installeer deze toepassing opnieuw.\"\n0x00e7   \"Dit bestand wordt door een andere toepassing gebruikt.\"\n0x00e8   \"Het kan zijn dat Bestandsbeheer geen toegang krijgt tot bestanden die gemaakt zijn in de directory \"%s\".\n\nWilt u doorgaan?\"\n0x00e9   \"Directory maken\"\n0x00ea   \"%ld bytes\"\n0x00eb   \"%s bytes\"\n0x00ec   \"U kunt geen meervoudige bestanden of directory's naar het Klembord kopiren. \n\nSelecteer een enkelvoudig bestand en probeer het opnieuw.\"\n0x00ed   \"%s - %s\"\n0x00ee   \"Station:\"\n0x00ef   \"%s, \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"Te veel bestanden\"\n0x0085   \"Bestandsbeheer - Onvoldoende geheugen\"\n0x0086   \"Kan niet de gehele directory lezen. Deze wordt slechts gedeeltelijk weergegeven.\"\n0x008c   \"Huidige directory: %s\"\n0x008d   \"Kopiren\"\n0x008f   \"Naam wijzigen\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"Diskette formatteren\"\n0x0092   \"Selecteer de te formatteren diskette.\"\n0x0096   \"Bezig met maken van:\"\n0x0097   \"Bezig met verwijderen...\"\n0x0098   \"Bezig met kopiren:\"\n0x0099   \"Bezig met naam wijzigen...\"\n0x009a   \"Bezig met verplaatsen...\"\n0x009b   \"Bezig met verwijderen...\"\n0x009c   \"Bezig met afdrukken van: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"Station %c bestaat niet.\"\n0x00a9   \"Bezig met kopiren...\"\n0x00aa   \"Bezig met verwijderen:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"Bezig met openen...\"\n0x01a5   \"Bezig met sluiten...\"\n0x01a6   \"Er zijn te veel directory-vensters geopend.\n\nSluit een of meer vensters en probeer het opnieuw.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"Fout bij verplaatsen van bestand\"\n0x03ea   \"Fout bij kopiren van bestand\"\n0x03eb   \"Fout bij verwijderen van bestand\"\n0x03ec   \"Fout bij wijzigen naam van bestand\"\n0x03ed   \"Fout bij selecteren van station\"\n0x03ee   \"Fout bij lezen van directory\"\n0x03ef   \"Fout bij geven van volumenaam aan schijf\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"Bestandsbeheer kan %s niet verplaatsen: %s\"\n0x03f4   \"Bestandsbeheer kan %s niet kopiren: %s\"\n0x03f5   \"Bestandsbeheer kan %s niet verwijderen: %s\"\n0x03f6   \"Bestandsbeheer kan naam van %s niet wijzigen: %s\"\n0x03fd   \"Bestandsbeheer kan directory %s niet maken: %s\"\n0x03fe   \"Bestandsbeheer kan directory %s niet verwijderen: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Ongeldige MS-DOS-functie.\"\n0x0412   \"Bestandsbeheer kan het opgegeven bestand niet vinden.\n\nControleer of het pad en de bestandsnaam juist zijn ingevoerd.\"\n0x0413   \"Bestandsbeheer kan het opgegeven pad niet vinden.\n\nVoer het juiste pad in.\"\n0x0414   \"Te veel andere bestanden zijn in gebruik. Sluit een of meer toepassingen af en probeer het opnieuw.\"\n0x0415   \"Toegang geweigerd.\n\nControleer of de schijf niet vol is of schrijfbeveiligd.\"\n0x0416   \"Ongeldige bestandsingang.\"\n0x0418   \"Onvoldoende geheugen.\n\nSluit een of meer toepassingen af en probeer het opnieuw.\"\n0x041c   \"Ongeldige bestandstoegang.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"Bestandsbeheer kan de huidige directory niet verwijderen (interne fout).\"\n0x0421   \"Ongeldig apparaat.\"\n0x0422   \"Directory is leeg.\"\n0x0423   \"De diskette is schrijfbeveiligd.\n\nSchakel de beveiliging van de diskette uit of gebruik een andere diskette en probeer het opnieuw.\"\n0x042d   \"Bestandsbeheer kan niet naar het doelbestand of naar de doeldiskette schrijven.\"\n0x042f   \"Bestandsbeheer kan niet van het bronbestand of van de brondiskette lezen.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"Ongeldige bewerking.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"Toegang tot netwerk geweigerd. Controleer of u de juiste toegangsrechten tot het netwerk hebt voor het uitvoeren van deze bewerking.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"Inbreuk op gezamenlijk gebruik. Bron- of doelbestanden zijn wellicht al in gebruik.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"Onvoldoende schijfruimte.\n\nVerwijder een of meer bestanden en probeer het opnieuw.\"\n0x0481   \"Bron- en doelbestandsnamen zijn identiek.\"\n0x0482   \"Selecteer n bestand voor het wijzigen van de naam, of gebruik MS-DOS-jokertekens (bijvoorbeeld, *.TXT) voor het wijzigen van de naam van een groep bestanden met dezelfde naam.\"\n0x0483   \"U kunt de naam niet wijzigen in die van een andere directory of schijf.\"\n0x0484   \"Hoofddirectory (interne fout).\"\n0x0486   \"De doeldirectory is een subdirectory van de brondirectory.\"\n0x0487   \"Het opgegeven bestand is wordt door Windows gebruikt.\"\n0x0488   \"Toegang geweigerd. Bronbestand is wellicht al in gebruik.\"\n0x0489   \"Pad is te diep.\"\n0x048a   \"Geef een bestand of directory op in het vak Naar. Of gebruik, als u een groep bestanden op wilt geven, jokertekens van MS-DOS (bijvoorbeeld *.TXT).\"\n0x048b   \"De opgegeven bestandsnaam bestaat al. Geef een andere naam op in het vak In en probeer het opnieuw.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1,2 MB\"\n0x0131   \"720 kB\"\n0x0132   \"1,44 MB\"\n0x0133   \"2,88 MB\"\n0x0134   \"Capaciteit station\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360 kB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"Onvoldoende geheugen.\"\n0x0192   \"U kunt het opstartstation van MS-DOS niet formatteren.\"\n0x0193   \"Het opstartstation van MS-DOS heeft een ongeldig sectorformaat.\"\n0x0194   \"Het opgegeven stationstype is onbekend.\"\n0x0199   \"Bestandsbeheer heeft de systeembestanden niet overgedragen.\"\n0x019a   \"Deze schijf kan geformatteerd worden met een capaciteit van %s. Doorgaan met formatteren met deze capaciteit?\"\n0x019b   \"Bestandsbeheer kan diskette niet formatteren.\n\nControleer of de diskette in het station is geplaatst en of de diskette niet is schrijfbeveiligd, beschadigd, of een verkeerde dichtheidswaarde heeft.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00fe   \"&Directorynaam:\"\n0x00ff   \"\\StringFileInfo\\041304E4\\\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01f4   \"Opmerkingen\"\n0x01f5   \"Bedrijfsnaam\"\n0x01f6   \"Beschrijving bestand\"\n0x01f7   \"Interne naam\"\n0x01f8   \"Handelsmerken\"\n0x01f9   \"Oorspronkelijke bestandsnaam\"\n0x01fa   \"Beschrijving Private Build\"\n0x01fb   \"Produktnaam\"\n0x01fc   \"Produktversie\"\n0x01fd   \"Beschrijving Special Build\"\n0x01fe   \"Taal\"\n0x01ff   \"Talen\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0222   \"Geen bestanden gevonden.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0255   \"De opgegeven computer kan niet worden gevonden.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0263   \"De gedeelde directory kan niet worden gevonden.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0274   \"Er zijn teveel doorgestuurde netwerken.\"\n0x0276   \"Ongeldig wachtwoord.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x02b0   \"Het netwerkstation is niet beschikbaar.\"\n0x02b1   \"Bij het lezen van station %c: is een fout opgetreden.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0f90   \"Opdrachten voor het werken met bestanden\"\n0x0f91   \"Opdrachten voor het werken met diskettes\"\n0x0f92   \"Opdrachten voor het werken in het directorystructuurvenster\"\n0x0f93   \"Opdrachten voor het bepalen van weergave van informatie\"\n0x0f94   \"Opdrachten voor instelling van opties\"\n0x0f9a   \"Opdrachten voor het schikken van vensters\"\n0x0f9b   \"Opdrachten voor het weergeven van Help bij Bestandsbeheer\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1005   \"Opent het geselecteerde onderdeel\"\n0x1006   \"Drukt een document af\"\n0x1007   \"Verbindt een bestand met een toepassing\"\n0x1008   \"Zoekt naar bestanden en directory's\"\n0x1009   \"Start of opent een toepassing of document\"\n0x100a   \"Verplaatst het geselecteerde onderdeel\"\n0x100b   \"Kopieert bestanden en directory's\"\n0x100c   \"Verwijdert bestanden en directory's\"\n0x100d   \"Wijzigt naam van een bestand of directory \"\n0x100e   \"Bepaalt bestandskenmerken en geeft gegevens weer\"\n0x100f   \"Maakt een directory\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1013   \"Sluit Bestandsbeheer af\"\n0x1014   \"Selecteert bestanden en directory's\"\n0x1015   \"Haalt reeds verwijderde bestanden terug\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1069   \"Kopieert de inhoud van een diskette\"\n0x106a   \"Wijzigt de volumenaam van de schijf of wijst een volumenaam toe\"\n0x106b   \"Formatteert een diskette\"\n0x106c   \"Kopieert MS-DOS-bestanden naar een diskette\"\n0x106d   \"Brengt een verbinding tot stand met een netwerkstation\"\n0x106e   \"Verbreekt de verbinding met een netwerkstation\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x109b   \"Selecteert een ander station\"\n0x109c   \"Netwerkverbindingen...\"\n0x109d   \"Gedeelde directory's weergeven...\"\n0x109e   \"Deelt een directory\"\n0x109f   \"Beindigt het delen van een directory\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10cd   \"Geeft een ander niveau van een directory weer\"\n0x10ce   \"Geeft alle niveau's van een directory weer\"\n0x10cf   \"Geeft alle niveau's van alle directory's weer\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10d0   \"Vouwt alle directory's van een geselecteerde directory samen\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1195   \"Beheert bevestigingsberichten\"\n0x1197   \"Geeft statusbalk weer of verbergt deze\"\n0x1198   \"Verkleint Bestandsbeheer bij het starten tot een pictogram\"\n0x1199   \"Geeft aan welke directory's subdirectory's bevatten\"\n0x119b   \"Geeft stationsbalk weer of verbergt deze\"\n0x119c   \"Geeft werkbalk weer of verbergt deze\"\n0x119d   \"Opent een nieuw venster bij het verbinden\"\n0x119e   \"Wijzigt het lettertype van Bestandsbeheer\"\n0x119f   \"Slaat uw instellingen op bij het afsluiten van Bestandsbeheer\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1131   \"Geeft alleen bestandsnamen weer\"\n0x1132   \"Geeft alle bestandsgegevens weer\"\n0x1133   \"Geeft bepaalde bestandsgegevens weer \"\n0x1134   \"Sorteert bestanden op naam\"\n0x1135   \"Sorteert bestanden op type\"\n0x1136   \"Sorteert bestanden op omvang\"\n0x1137   \"Sorteert bestanden op datum\"\n0x1139   \"Geeft bestanden weer van een bepaald type...\"\n0x113b   \"Geeft de directorystructuur weer\"\n0x113c   \"Geeft de inhoud van de huidige directory weer\"\n0x113d   \"Geeft de directorystructuur weer en de inhoud van de huidige directory\"\n0x113e   \"Splitst een directoryvenster of verplaatst de splitsbalk\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x11a0   \"Past de werkbalk aan\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13f0   \"Werkt de inhoud van een venster bij\"\n0x13f1   \"Schikt pictogrammen\"\n0x13f2   \"Opent nieuw venster\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13ed   \"Schikt vensters\"\n0x13ee   \"Schikt vensters\"\n0x13ef   \"Schikt vensters\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1451   \"Geeft Help-index weer van Help bij Bestandsbeheer \"\n0x1452   \"Geeft informatie weer over Help gebruiken\"\n0x1453   \"Geeft informatie over Bestandsbeheer\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0fbe   \"Zoekt naar een onderwerp in Help bij Bestandsbeheer\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0320   \"Netwe&rkstation verbinden...\"\n0x0321   \"Ver&binding netwerkstation verbreken...\"\n0x0322   \"&Netwerkverbindingen...\"\n0x0323   \"Delen &als...\"\n0x0324   \"D&elen beindigen...\"\n0x0325   \"&Gedeelde directory's weergeven...\"\n0x0326   \"Verwijderen o&ngedaan maken...\"\n0x0327   \"Bij ve&rbinden nieuw venster openen\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.Finnish.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"&Tiedosto\"\n    BEGIN\n    MENUITEM    \"&Avaa\tEnter\", 0X0065\n    MENUITEM    \"Sii&rr...\tF7\", 0X006A\n    MENUITEM    \"&Kopioi...\tF8\", 0X006B\n    MENUITEM    \"&Poista...\tDel\", 0X006C\n    MENUITEM    \"&Nime uudelleen...\", 0X006D\n    MENUITEM    \"&Ominaisuudet...\tAlt+Enter\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Suorita...\", 0X0069\n    MENUITEM    \"&Tulosta...\", 0X0066\n    MENUITEM    \"K&ytke...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Luo &hakemisto...\", 0X006F\n    MENUITEM    \"&Etsi...\", 0X0068\n    MENUITEM    \"&Valitse tiedostot...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Lopeta\", 0X0073\n    END\n    POPUP   \"&Levy\"\n    BEGIN\n    MENUITEM    \"&Kopioi levyke...\", 0X00C9\n    MENUITEM    \"&Nime levy...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Alusta levyke...\", 0X00CB\n    MENUITEM    \"&Tee jrjestelmlevyke...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Va&litse asema...\", 0X00FB\n    END\n    POPUP   \"&Hakemistopuu\"\n    BEGIN\n    MENUITEM    \"Laajenna &yksi taso\t+\", 0X012D\n    MENUITEM    \"&Laajenna haara\t*\", 0X012E\n    MENUITEM    \"Laajenna &kaikki\tCtrl+*\", 0X012F\n    MENUITEM    \"Kutista &haara\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Merkitse laajennettavat haarat\", 0X01F9\n    END\n    POPUP   \"&Nyt\"\n    BEGIN\n    MENUITEM    \"&Puu ja hakemisto\", 0X019D\n    MENUITEM    \"&Vain puu\", 0X019B\n    MENUITEM    \"Vain &hakemisto\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Jaa\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Nimi\", 0X0191\n    MENUITEM    \"&Kaikki tiedostotiedot\", 0X0192\n    MENUITEM    \"&Osittaiset tiedot...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Laj&ittele nimen mukaan\", 0X0194\n    MENUITEM    \"Lajittele &tyypin mukaan\", 0X0195\n    MENUITEM    \"Lajittele koon &mukaan\", 0X0196\n    MENUITEM    \"Lajittele p&ivyksen mukaan\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Tiedostot&yypin mukaan...\", 0X0199\n    END\n    POPUP   \"&Asetukset\"\n    BEGIN\n    MENUITEM    \"&Vahvistus...\", 0X01F5\n    MENUITEM    \"&Fontti...\", 0X01FE\n    MENUITEM    \"&Muokkaa tykalurivi...\", 0X0200\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"T&ykalurivi\", 0X01FC\n    MENUITEM    \"A&semarivi\", 0X01FB\n    MENUITEM    \"T&ilarivi\", 0X01F7\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Pienenn kytettess\", 0X01F8\n    MENUITEM    \"&Tallenna asetukset lopetettaessa\", 0X01FF\n    END\n    POPUP   \"&Ikkuna\"\n    BEGIN\n    MENUITEM    \"&Uusi ikkuna\", 0X0452\n    MENUITEM    \"&Limittin\tVaihto+F5\", 0X044D\n    MENUITEM    \"Vierekkin &vaakasuunnassa\", 0X044F\n    MENUITEM    \"Vierekkin &pystysuunnassa\tVaihto+F4\", 0X044E\n    MENUITEM    \"&Jrjest kuvakkeet\", 0X0451\n    MENUITEM    \"P&ivit\tF5\", 0X0450\n    END\n    POPUP   \"&Ohje\"\n    BEGIN\n    MENUITEM    \"&Sisllys\", 0X04B1\n    MENUITEM    \"&Etsi ohje aiheesta...\", 0X001E\n    MENUITEM    \"&Ohjeen kytt\", 0X04B2\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Tietoja Tiedostonhallinnasta...\", 0X04B3\n    END\nEND\n\n\n145 DIALOG 0x80c8, 13, 54, 265, 153\nCAPTION \"Fontti\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Fontti:\", 1088, 0x0000, 6, 3, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 13, 94, 54\n    CONTROL 0x82, \"&Tyyli:\", 1089, 0x0000, 108, 3, 44, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 13, 64, 54\n    CONTROL 0x82, \"&Koko:\", 1090, 0x0000, 179, 3, 30, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 179, 13, 32, 54\n    CONTROL 0x80, \"Korostus\", 1072, 0x0007, 6, 72, 84, 61\n    CONTROL 0x80, \"&Yliviivattu\", 1040, 0x0003, 10, 82, 64, 10\n    CONTROL 0x80, \"&Alleviivattu\", 1041, 0x0003, 10, 94, 59, 10\n    CONTROL 0x80, \"&Pienet kirjaimet\", 1042, 0x0003, 10, 82, 67, 10\n    CONTROL 0x82, \"&Vri:\", 1091, 0x0000, 10, 106, 30, 9\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 116, 75, 50\n    CONTROL 0x80, \"OK\", 1, 0x0001, 218, 6, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 218, 23, 40, 14\n    CONTROL 0x80, \"K&yt\", 1026, 0x0000, 218, 40, 40, 14\n    CONTROL 0x80, \"&Ohje\", 1038, 0x0000, 218, 57, 40, 14\n    CONTROL 0x80, \"Malli\", 1073, 0x0007, 98, 72, 160, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 124, 160, 20\n    CONTROL 0x82, \"AaBb\", 1092, 0x0081, 104, 81, 149, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 201, 86\nCAPTION \"Valitse asema\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Asemat:\", 245, 0x000c, 5, 5, 41, 10\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"OK\", 1, 0x0001, 155, 6, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 155, 23, 40, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 155, 44, 40, 14\nEND\n\n10 DIALOG 0x80c8, 15, 12, 210, 63\nCAPTION \"Suorita\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 3, 6, 162, 10\n    CONTROL 0x82, \"&Komentorivi:\", 100, 0x000c, 3, 18, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 134, 12\n    CONTROL 0x80, \"&Suorita kuvakkeena\", 214, 0x0003, 3, 45, 80, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 165, 23, 40, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 165, 43, 40, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 133, 84\nCAPTION \"Valitse tiedostot\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Tiedosto(t):\", -1, 0x000c, 5, 16, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 29, 60, 12\n    CONTROL 0x80, \"&Valitse\", 1, 0x0001, 70, 6, 59, 14\n    CONTROL 0x80, \"&Peruuta valinta\", 6, 0x0000, 70, 23, 59, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 70, 40, 59, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 70, 63, 59, 14\nEND\n\n39 DIALOG 0x80c8, 10, 20, 245, 95\nCAPTION \"Vahvista tiedoston korvaus\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 215, 10\n    CONTROL 0x82, \"Korvaa tiedosto:\", 100, 0x000c, 25, 17, 56, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 83, 17, 157, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 83, 27, 157, 10\n    CONTROL 0x82, \"Tiedostolla:\", 100, 0x000c, 25, 39, 49, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 83, 39, 157, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 83, 49, 157, 10\n    CONTROL 0x80, \"&Kyll\", 6, 0x0001, 10, 75, 52, 14\n    CONTROL 0x80, \"Kyll k&aikkiin\", 107, 0x0000, 68, 75, 52, 14\n    CONTROL 0x80, \"&Ei\", 7, 0x0000, 126, 75, 52, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 184, 75, 52, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"Vahvista tiedoston poisto\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 214, 10\n    CONTROL 0x82, \"Poista tiedosto:\", 100, 0x000c, 25, 18, 52, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 82, 18, 158, 10\n    CONTROL 0x80, \"&Kyll\", 6, 0x0001, 10, 40, 52, 14\n    CONTROL 0x80, \"Kyll k&aikkiin\", 107, 0x0000, 68, 40, 52, 14\n    CONTROL 0x80, \"&Ei\", 7, 0x0000, 126, 40, 52, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 184, 40, 52, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"Vahvista hakemiston poisto\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 216, 10\n    CONTROL 0x82, \"Poista hakemisto:\", 100, 0x000c, 25, 18, 60, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 90, 18, 150, 10\n    CONTROL 0x80, \"&Kyll\", 6, 0x0001, 11, 40, 50, 14\n    CONTROL 0x80, \"Kyll k&aikkiin\", 107, 0x0000, 69, 40, 50, 14\n    CONTROL 0x80, \"&Ei\", 7, 0x0000, 127, 40, 50, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 185, 40, 50, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"Vahvista tiedoston siirto\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 217, 10\n    CONTROL 0x82, \"Siirr tiedosto:\", 100, 0x000c, 25, 18, 49, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 76, 18, 164, 10\n    CONTROL 0x80, \"&Kyll\", 6, 0x0001, 9, 40, 53, 14\n    CONTROL 0x80, \"Kyll k&aikkiin\", 107, 0x0000, 67, 40, 53, 14\n    CONTROL 0x80, \"&Ei\", 7, 0x0000, 125, 40, 53, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 183, 40, 53, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"Vahvista tiedoston uudelleen nimeminen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 213, 10\n    CONTROL 0x82, \"Nime tiedosto:\", 100, 0x000c, 25, 16, 54, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 16, 160, 10\n    CONTROL 0x80, \"&Kyll\", 6, 0x0001, 9, 40, 53, 14\n    CONTROL 0x80, \"Kyll k&aikkiin\", 107, 0x0000, 67, 40, 53, 14\n    CONTROL 0x80, \"&Ei\", 7, 0x0000, 125, 40, 53, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 183, 40, 53, 14\nEND\n\n11 DIALOG 0x80c8, 20, 20, 240, 63\nCAPTION \"Tulosta\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 193, 10\n    CONTROL 0x82, \"&Tulosta:\", 100, 0x000c, 3, 20, 28, 8\n    CONTROL 0x81, \"\", 102, 0x0480, 34, 18, 160, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 36, 190, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n13 DIALOG 0x80c8, 20, 20, 263, 63\nCAPTION \"Etsi\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Etsittv:\", 100, 0x000c, 5, 6, 45, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 52, 5, 160, 12\n    CONTROL 0x82, \"&Aloita mist:\", 100, 0x000c, 5, 21, 45, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 52, 20, 160, 12\n    CONTROL 0x80, \"Etsi &kaikki alihakemistot\", 232, 0x0003, 52, 34, 100, 12\n    CONTROL 0x82, \"\", 104, 0x000c, 5, 50, 200, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 217, 6, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 217, 23, 40, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 217, 43, 40, 14\nEND\n\n14 DIALOG 0x80c8, 47, 59, 231, 64\nCAPTION \"Siirr\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Nykyinen hakemisto: N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"Mi&hin:\", 100, 0x000c, 3, 33, 20, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 37, 32, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 26, 33, 10, 10\n    CONTROL 0x80, \"&Kopioi Leikepydlle\", 256, 0x0004, 26, 47, 83, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 49, 40, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 45, 49, 138, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 185, 23, 40, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 185, 44, 40, 14\n    CONTROL 0x82, \"&Mist:\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n10014 DIALOG 0x80c8, 47, 59, 231, 98\nCAPTION \"Siirr\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Nykyinen hakemisto: N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"Mi&hin:\", 100, 0x000c, 3, 38, 20, 10\n    CONTROL 0x62, \"edit\", 103, 0x0004, 37, 38, 138, 42\n    CONTROL 0x50, \"\", 256, 0x0401, 6656, 9728, 2560, 2560\n    CONTROL 0x80, \"&Kopioi Leikepydlle\", 256, 0x0004, 26, 84, 81, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 84, 40, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 45, 84, 138, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 185, 23, 40, 14\n    CONTROL 0x80, \"&Selaa\", 600, 0x0000, 185, 40, 40, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 185, 61, 40, 14\n    CONTROL 0x82, \"&Mist:\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n200 DIALOG 0x00c8, 36, 24, 164, 134\nCAPTION \"Valitse hakemisto\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x81, \"\", 1152, 0x0490, 6, 16, 90, 12\n    CONTROL 0x83, \"\", 1120, 0x0053, 12, 28, 84, 68\n    CONTROL 0x82, \"&Hakemistot:\", -1, 0x0000, 10, 6, 92, 9\n    CONTROL 0x82, \"\", 1088, 0x0000, 10, 16, 92, 9\n    CONTROL 0x83, \"\", 1121, 0x0053, 10, 28, 92, 68\n    CONTROL 0x82, \"&Asemat:\", 1091, 0x0000, 10, 102, 92, 9\n    CONTROL 0x85, \"\", 1137, 0x0353, 10, 112, 92, 68\n    CONTROL 0x80, \"OK\", 1, 0x0001, 108, 6, 50, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 108, 24, 50, 14\n    CONTROL 0x82, \"Tiedosto&nimi:\", 1090, 0x0000, 6, 6, 76, 9\n    CONTROL 0x82, \"&Luettele tiedostot tyypeittin:\", 1089, 0x0000, 6, 104, 99, 9\n    CONTROL 0x85, \"\", 1136, 0x0043, 6, 114, 90, 36\n    CONTROL 0x80, \"&Ohje\", 1038, 0x0000, 208, 46, 50, 14\n    CONTROL 0x80, \"&Vain luku\", 1040, 0x0003, 208, 68, 50, 12\nEND\n\n15 DIALOG 0x80c8, 20, 20, 246, 64\nCAPTION \"Poista\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Nykyinen hakemisto: C\", 101, 0x008c, 3, 5, 193, 10\n    CONTROL 0x82, \"&Poista:\", 100, 0x000c, 3, 20, 35, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 40, 19, 155, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 35, 35, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 40, 35, 155, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 200, 6, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 200, 23, 40, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 200, 43, 40, 14\nEND\n\n38 DIALOG 0x80c8, 20, 20, 218, 65\nCAPTION \"Ominaisuudet\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"%d tiedostoa valittuna, yhteens %s tavua.\", 100, 0x000c, 5, 5, 158, 10\n    CONTROL 0x80, \"Attribuutit\", -1, 0x0007, 5, 18, 144, 42\n    CONTROL 0x80, \"&Vain luku\", 215, 0x0003, 10, 29, 52, 12\n    CONTROL 0x80, \"&Piilotettu\", 216, 0x0003, 72, 29, 52, 12\n    CONTROL 0x80, \"&Arkisto\", 217, 0x0003, 10, 41, 52, 12\n    CONTROL 0x80, \"&Jrjestelm\", 218, 0x0003, 72, 41, 52, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 166, 6, 50, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 166, 23, 50, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 166, 43, 50, 14\nEND\n\n16 DIALOG 0x80c8, 23, 13, 263, 195\nCAPTION \"Tiedoston %s ominaisuudet\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 210, 6, 50, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 210, 23, 50, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 210, 40, 50, 14\n    CONTROL 0x82, \"Tiedosto&nimi:\", 261, 0x000c, 5, 5, 55, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 66, 5, 139, 10\n    CONTROL 0x82, \"&Polku:\", 100, 0x000c, 5, 16, 51, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 66, 16, 139, 10\n    CONTROL 0x82, \"Viimeisin muutos:\", 100, 0x000c, 5, 27, 58, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 66, 27, 139, 10\n    CONTROL 0x82, \"Versio:\", 258, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"Ei merkitty\", 259, 0x008c, 66, 38, 139, 10\n    CONTROL 0x82, \"&Tekijnoikeudet:\", -1, 0x0000, 5, 49, 56, 10\n    CONTROL 0x81, \"Ei merkitty\", 265, 0x0880, 66, 49, 134, 10\n    CONTROL 0x82, \"Koko:\", 260, 0x000c, 5, 60, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 66, 60, 139, 10\n    CONTROL 0x80, \"Attribuutit\", 100, 0x0007, 4, 74, 120, 42\n    CONTROL 0x80, \"&Vain luku\", 215, 0x0003, 9, 86, 52, 12\n    CONTROL 0x80, \"Piilotett&u\", 216, 0x0003, 71, 86, 49, 12\n    CONTROL 0x80, \"Ar&kisto\", 217, 0x0003, 9, 98, 52, 12\n    CONTROL 0x80, \"&Jrjestelm\", 218, 0x0003, 71, 98, 49, 12\n    CONTROL 0x80, \"Ve&rsiotiedot\", 262, 0x0007, 4, 121, 257, 72\n    CONTROL 0x83, \"\", 263, 0x1003, 9, 132, 108, 58\n    CONTROL 0x81, \"\", 264, 0x0804, 121, 132, 137, 58\nEND\n\n17 DIALOG 0x80c8, 20, 20, 200, 63\nCAPTION \"Luo hakemisto\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Nimi:\", 100, 0x000c, 3, 23, 20, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 30, 22, 90, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 46, 150, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 157, 6, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 157, 23, 40, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 157, 43, 40, 14\nEND\n\n10017 DIALOG 0x80c8, 20, 20, 240, 74\nCAPTION \"Luo hakemisto\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Nimi:\", 100, 0x000c, 3, 28, 20, 10\n    CONTROL 0x62, \"edit\", 201, 0x0000, 3, 40, 170, 18\n    CONTROL 0x50, \"\", 26624, 0x8c00, 768, 15360, -27136, 2560\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 173, 64\nCAPTION \"Tee jrjestelmlevyke\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Kopioi jrjestelmtiedostot asemaan:\", -1, 0x000c, 5, 8, 120, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 29, 23, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 129, 6, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 129, 23, 40, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 129, 43, 40, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 157, 64\nCAPTION \"Kopioi levyke\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Lhde:\", -1, 0x000c, 5, 8, 24, 8\n    CONTROL 0x85, \"\", 245, 0x0003, 55, 6, 40, 37\n    CONTROL 0x82, \"&Kohde:\", 206, 0x000c, 5, 22, 24, 8\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 55\nCAPTION \"Kopioidaan levy\"\nFONT 8, \"Helv\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"Kopioidaan levy \", 100, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \"asemassa A:\", 222, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \"Luetaan lhdelevy\", 243, 0x0001, 0, 26, 130, 10\n    CONTROL 0x80, \"Peruuta\", 2, 0x0001, 44, 39, 44, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 161, 63\nCAPTION \"Nime levy\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Nimi:\", 100, 0x000c, 5, 15, 30, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 100, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 115, 6, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 115, 23, 40, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 115, 43, 40, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 183, 96\nCAPTION \"Alusta levy\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 140, 6, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 140, 23, 40, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 140, 43, 40, 14\n    CONTROL 0x82, \"&Levyasema:\", -1, 0x000c, 5, 7, 49, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 4, 65, 40\n    CONTROL 0x82, \"L&evykoko:\", 100, 0x000c, 5, 20, 49, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 55, 19, 65, 40\n    CONTROL 0x80, \"Asetukset\", 102, 0x0007, 5, 39, 115, 53\n    CONTROL 0x82, \"&Nimi:\", -1, 0x000c, 11, 51, 18, 8\n    CONTROL 0x81, \"\", 201, 0x0000, 40, 49, 63, 12\n    CONTROL 0x80, \"&Tee jrjestelmlevyke\", 242, 0x0003, 11, 62, 90, 12\n    CONTROL 0x80, \"&Pika-alustus\", 244, 0x0003, 11, 76, 90, 12\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 50\nCAPTION \"Alustetaan levy\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Alustetaan levy\", 100, 0x0001, 0, 5, 150, 10\n    CONTROL 0x82, \"   Alustetaan asemaa...\", 243, 0x0001, 0, 17, 150, 10\n    CONTROL 0x80, \"Peruuta\", 2, 0x0001, 54, 30, 44, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 174, 57\nCAPTION \"Tee jrjestelmlevyke\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Kopioidaan jrjestelmtiedostoja...\", 100, 0x0001, 0, 6, 174, 8\n    CONTROL 0x82, \"Keskeyt painamalla Peruuta.\", 100, 0x0001, 0, 17, 174, 8\n    CONTROL 0x80, \"Peruuta\", 2, 0x0001, 66, 39, 44, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 241, 135\nCAPTION \"Verkkoyhteydet\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Uusi yhteys\", -1, 0x0007, 5, 3, 170, 55\n    CONTROL 0x82, \"&Verkkopolku:\", -1, 0x0000, 10, 16, 55, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 65, 14, 100, 12\n    CONTROL 0x82, \"&Asema:\", -1, 0x0000, 10, 30, 24, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 65, 28, 40, 100\n    CONTROL 0x82, \"Sa&lasana:\", -1, 0x0000, 10, 44, 36, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 65, 42, 100, 12\n    CONTROL 0x82, \"&Nykyiset yhteydet:\", -1, 0x0000, 5, 62, 120, 10\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 160, 60\n    CONTROL 0x80, \"S&ulje\", 2, 0x0001, 180, 6, 59, 14\n    CONTROL 0x80, \"&Yhdist\", 1, 0x0000, 180, 27, 59, 14\n    CONTROL 0x80, \"&Edellinen...\", 226, 0x0000, 180, 44, 59, 14\n    CONTROL 0x80, \"&Selaa...\", 227, 0x0000, 180, 61, 59, 14\n    CONTROL 0x80, \"&Katkaise yhteys\", 255, 0x0000, 180, 78, 59, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 180, 95, 59, 14\nEND\n\n29 DIALOG 0x80c8, 30, 30, 231, 98\nCAPTION \"Edelliset verkkoyhteydet\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"V&erkkopolut:\", 100, 0x000c, 3, 3, 69, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 3, 15, 172, 80\n    CONTROL 0x80, \"&Valitse\", 1, 0x0001, 181, 6, 44, 14\n    CONTROL 0x80, \"Sulje\", 2, 0x0000, 181, 24, 44, 14\n    CONTROL 0x80, \"&Poista\", 219, 0x0000, 181, 41, 44, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 181, 58, 44, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 183, 69\nCAPTION \"Osittaiset tiedot\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Tiedot\", 100, 0x0007, 4, 4, 129, 63\n    CONTROL 0x80, \"&Koko\", 203, 0x0003, 11, 15, 100, 11\n    CONTROL 0x80, \"Viimeisimmn muutoksen &pivys\", 204, 0x0003, 11, 27, 118, 11\n    CONTROL 0x80, \"Viimeisimmn muutoksen &aika\", 205, 0x0003, 11, 39, 107, 11\n    CONTROL 0x80, \"&Tiedoston attribuutit\", 206, 0x0003, 11, 51, 77, 11\n    CONTROL 0x80, \"OK\", 1, 0x0001, 138, 6, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 138, 23, 40, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 138, 43, 40, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 157, 102\nCAPTION \"Tiedostotyypin mukaan\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Nimi:\", 100, 0x000c, 5, 8, 23, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"Tiedostotyyppi\", 100, 0x0007, 5, 20, 94, 62\n    CONTROL 0x80, \"&Hakemistot\", 101, 0x0003, 10, 31, 60, 12\n    CONTROL 0x80, \"Ohj&elmat\", 210, 0x0003, 10, 43, 60, 12\n    CONTROL 0x80, \"&Asiakirjat\", 211, 0x0003, 10, 55, 60, 12\n    CONTROL 0x80, \"&Muut tiedostot\", 212, 0x0003, 10, 67, 60, 12\n    CONTROL 0x80, \"N&yt piilotetut ja jrjestelmtiedostot\", 250, 0x0003, 5, 85, 142, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 164, 80\nCAPTION \"Vahvistus\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Vahvista\", 100, 0x0007, 5, 3, 108, 73\n    CONTROL 0x80, \"&Tiedoston poisto\", 219, 0x0003, 10, 15, 80, 12\n    CONTROL 0x80, \"H&akemiston poisto\", 220, 0x0003, 10, 27, 80, 12\n    CONTROL 0x80, \"Tiedoston &korvaus\", 221, 0x0003, 10, 39, 80, 12\n    CONTROL 0x80, \"&Hiiritoiminnot\", 249, 0x0003, 10, 51, 80, 12\n    CONTROL 0x80, \"&Levykomennot\", 251, 0x0003, 10, 63, 80, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 118, 6, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 118, 23, 40, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 118, 44, 40, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 250, 46\nCAPTION \"Siirretn...\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 5, 49, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 55, 5, 192, 10\n    CONTROL 0x82, \"Mihin:\", 108, 0x008b, 5, 15, 25, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 55, 15, 192, 10\n    CONTROL 0x80, \"Peruuta\", 2, 0x0001, 200, 28, 40, 14\nEND\n\n36 DIALOG 0x80c8, 20, 20, 129, 58\nCAPTION \"\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Tulostetaan tiedostoa...\", -1, 0x0001, 4, 6, 120, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 4, 20, 120, 12\n    CONTROL 0x80, \"Peruuta\", 2, 0x0001, 46, 40, 36, 14\nEND\n\n12 DIALOG 0x80c8, 31, 39, 211, 96\nCAPTION \"Kytke\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Tiedostot, joiden tunniste on:\", 99, 0x000c, 5, 8, 103, 8\n    CONTROL 0x81, \"\", 112, 0x0400, 109, 7, 35, 12\n    CONTROL 0x82, \"K&ytke tiedostotyyppiin:\", 99, 0x000c, 5, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 5, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 11, 44, 146, 40\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 165, 23, 40, 14\n    CONTROL 0x80, \"&Selaa...\", 232, 0x0000, 165, 43, 40, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 165, 60, 40, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 250, 78\nCAPTION \"Valitse tiedostonimi\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Tm polku ei vastaa DOSin tiedostonimimuotoa. Anna tiedostolle uusi nimi.\", 99, 0x0000, 4, 4, 190, 24\n    CONTROL 0x82, \"&Uusi nimi:\", 99, 0x0002, 21, 56, 50, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 75, 55, 130, 12\n    CONTROL 0x82, \"Alkuperinen polku:\", 99, 0x0002, 5, 28, 66, 8\n    CONTROL 0x81, \"\", 102, 0x0880, 75, 28, 127, 12\n    CONTROL 0x82, \"Hakemistoon:\", 99, 0x0002, 21, 42, 50, 11\n    CONTROL 0x81, \"\", 101, 0x0880, 75, 42, 127, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 205, 4, 40, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 205, 20, 40, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 205, 36, 40, 14\nEND\n\n48 DIALOG 0x80c8, 23, 13, 250, 107\nCAPTION \"Tiedoston %s ominaisuudet\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 194, 6, 50, 14\n    CONTROL 0x80, \"Peruuta\", 2, 0x0000, 194, 23, 50, 14\n    CONTROL 0x80, \"&Ohje\", 254, 0x0000, 194, 43, 50, 14\n    CONTROL 0x82, \"Tiedosto&nimi:\", 261, 0x000c, 5, 5, 59, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 67, 5, 122, 10\n    CONTROL 0x82, \"&Polku:\", 100, 0x000c, 5, 16, 59, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 67, 16, 122, 10\n    CONTROL 0x82, \"Viimeisin muutos:\", 100, 0x000c, 5, 27, 59, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 67, 27, 122, 10\n    CONTROL 0x82, \"Koko:\", 260, 0x000c, 5, 38, 59, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 67, 38, 122, 10\n    CONTROL 0x80, \"Attribuutit\", 100, 0x0007, 4, 52, 120, 42\n    CONTROL 0x80, \"&Vain luku\", 215, 0x0003, 9, 64, 52, 12\n    CONTROL 0x80, \"Piilotett&u\", 216, 0x0003, 71, 64, 49, 12\n    CONTROL 0x80, \"Ar&kisto\", 217, 0x0003, 9, 76, 52, 12\n    CONTROL 0x80, \"&Jrjestelm\", 218, 0x0003, 71, 76, 49, 12\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0101   \"(phakemisto)\"\n0x0102   \"(Ei kytss)\"\n0x0103   \"Jaettu: %s\"\n0x0104   \"Ei jaettu\"\n0x0107   \"Kopioidaan tiedostoja hakemistoon %s.\"\n0x0108   \"Siirretn tiedostoja hakemistoon %s.\"\n0x0109   \"Suoritetaan tiedostoja ohjelmalla %s.\"\n0x010a   \"%s tavua\"\n0x010b   \"%s kt\"\n0x010c   \"%s Mt\"\n0x010d   \"%s Gt\"\n0x010e   \"%s Tt\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"Lopeta Windows\"\n0x0029   \"Lopettaa Windowsin.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"Kopioi levyke\"\n0x0033   \"Aseta kohdelevyke asemaan.\"\n0x0034   \"Aseta lhdelevyke asemaan.\"\n0x0035   \"Aseta kohde- ja lhdelevykkeet asemiin.\"\n0x0036   \"Kohdelevykkeen alustus.\"\n0x0037   \"Levykkeen kopiointivirhe\"\n0x0038   \"Levykett ei voi kopioida.\"\n0x003a   \"Lhde- ja kohdeasemat eivt ole yhteensopivia.\"\n0x003c   \"%d %% valmiina\"\n0x003d   \"Luodaan phakemistoa...\"\n0x003e   \"Kopioidaan jrjestelmtiedostoja...\"\n0x003f   \"Levykkeen alustusvirhe\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"Liian vhn levytilaa tulostamiseen.\n\nVapauta levytilaa poistamalla tiedostoja ja yrit uudelleen.\"\n0x00c1   \"Liian vhn muistia tulostamiseen.\n\nLopeta sovelluksia ja yrit uudelleen.\"\n0x00c2   \"Virhe tulostuksessa.\n\nVarmista, ett kirjoitinasetukset ovat oikein ja ett kirjoitin on valittuna.\"\n0x00c3   \"Hakemistopuuta ei esitetty kokonaisuudessaan\"\n0x00c5   \"Kohdelevy on tynn.\n\nAseta uusi levyke asemaan.\"\n0x00c6   \"Tiedosto on jrjestelmtiedosto, piilotettu tai vain luku -tyyppi.\"\n0x00c7   \"Pika-alustusta ei voi suorittaa.\n\nTehdnk normaalialustus?\"\n0x00c8   \"Sovellus ei ole Windows- tai MS-DOS-ohjelma.\"\n0x00c9   \"Tmn sovelluksen kyttn tarvitaan uudempi Microsoft Windows -versio.\"\n0x00ca   \"Sovelluksen kyttn tarvitaan Windows.\"\n0x00cb   \"Virhe lhetettess komentoa sovellukselle.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"Levy ei voi alustaa.\"\n0x0042   \"Alustus valmis\"\n0x0043   \"Yhteens %ld tavua levytilaa,\n%ld tavua kytettviss levyll.\n\nHaluatko alustaa toisen levykkeen?\"\n0x0046   \"Tee jrjestelmlevyke\"\n0x0047   \"Oletko varma, ett haluat kopioida jrjestelmtiedostot asemassa %c olevalle levylle?\"\n0x0048   \"Jrjestelmlevyvirhe\"\n0x0049   \"MS-DOSin kynnistysasemassa ei ole jrjestelmtiedostoja, tai se ei ole kytettviss.\"\n0x004a   \"Jrjestelmtiedostoja ei voi kopioida MS-DOSin kynnistysasemaan.\"\n0x004b   \"Jrjestelmtiedostoja ei voi list levylle.\n\nVarmista, ett asemassa on alustettu levy ja ett aseman luukku on suljettu.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"Tiedostonhallinta ei voi luoda tai korvata tiedostoa %s. %s\"\n0x0408   \"Tiedostonhallinta ei voi luoda MS-DOS-jrjestelmlevykett, koska jrjestelmsi on asennettu Windows NT Flexboot. Tee jrjestelmlevyke MS-DOSin komentorivilt SYS-apuohjelmalla.\"\n0x0409   \"Haluatko alustaa levykkeen nyt ilman jrjestelmtietojen siirtmist sille?\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"Verkkovirhe\"\n0x0053   \"Asema sislt Windowsin jrjestelmtiedostot, eik yhteytt siihen voi katkaista.\"\n0x005b   \"Attribuutteja ei voi muuttaa.\n\nVarmista, ettei levy ole kirjoitussuojattu.\"\n0x005c   \"Hakemistoa ei voi luoda.\n\nVarmista, ettei levy ole kirjoitussuojattu.\"\n0x005d   \"Tiedostonhallinta ei voi nimet levy. \n\nVarmista, ett levy ei ole kirjoitussuojattu, ettei asema ole verkkoasema ja ett nimi on kelvollinen.\nNimess ei saa olla seuraavia merkkej:\n[vli] * ? / \\ | . , ; : + = [ ] ( ) & ^ < > \" \"\n0x005f   \"Ei pyydettyj tiedostoja.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"Yht. %d tiedostoa (%s)\"\n0x00b5   \"Luetut hakemistot: %d \"\n0x00b6   \"%c: %s vapaana,  %s yht.\"\n0x00b7   \"%d tiedostoa lydetty\"\n0x00b9   \"valitut tiedostot\"\n0x00ba   \"Yhteytt verkkoasemaan ei voi katkaista.\n\nAsemassa on avoimia tiedostoja.\"\n0x00bb   \"Valittu %d tiedostoa (%s)\"\n0x00bc   \"Asemassa %c ei ole levykett.\n\nAseta levyke asemaan ja yrit uudelleen.\"\n0x00bd   \"Levy asemassa %c ei ole alustettu.\n\nHaluatko alustaa sen nyt?\"\n0x00bf   \"Tulostettavaa tiedostoa ei lydy. Varmista, ett hakemistopolku ja tiedostonimi ovat oikein.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"Hakemisto on jo olemassa.\"\n0x0061   \"Aseman sisllys on muuttunut. Haluatko pivitt Etsinnn tulokset -ikkunan?\"\n0x0065   \"Asema %c:%c\"\n0x006e   \"Ohjelmaa ei voi suorittaa\"\n0x006f   \"Odottamaton virhe: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"Alustus tuhoaa KAIKKI tiedot levylt. Haluatko varmasti alustaa levyn asemassa %c?\"\n0x00d3   \"Vahvista levykkeen alustus\"\n0x00d4   \"Toiminto tuhoaa KAIKKI tiedot kohdelevylt. Haluatko varmasti jatkaa?\"\n0x00d5   \"Vahvista levykkeen kopiointi\"\n0x00d6   \"&Sulje\"\n0x00da   \"Hakemistoa %s ei ole.\n\nLuodaanko hakemisto?\"\n0x00db   \"Ohjelmat#*.exe;*.pif;*.com;*.bat#Kaikki tiedostot (*.*)#*.*#\"\n0x00dc   \"Selaa\"\n0x00dd   \"Suorita\"\n0x00de   \"Tiedostoa ei voi tulostaa\"\n0x00df   \"Ohjetietoja ei voi nytt.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"Liian vhn muistia sovelluksen kynnistmiseen.\n\nLopeta sovelluksia ja yrit uudelleen.\"\n0x0071   \"Tiedostoa (tai sen osaa) ei lydy.\n\nVarmista, ett hakemistopolku ja tiedostonimi ovat oikein ja ett kaikki tarvittavat kirjastotiedostot ovat kytettviss.\"\n0x0072   \"Hakemistopolku on vr.\"\n0x0073   \"Liian monta tiedostoa kytss.\n\nLopeta sovelluksia tai suurenna FILES-komennon arvoa CONFIG.SYS-tiedostossa ja yrit uudelleen.\"\n0x0074   \"Mitn sovellusta ei ole kytketty thn datatiedostoon.\n\nLuo kytkent valitsemalla Tiedosto-valikosta Kytke.\"\n0x0075   \"Ohjelmasta voi kynnist vain yhden kopion.\"\n0x0076   \"Tiedostoa ei voi avata tai tulostaa.\n\nKynnist tiedoston luomiseen kytetty sovellus ja avaa tai tulosta tiedosto sovelluksesta.\"\n0x0078   \"Vahvista hiiritoiminto\"\n0x0079   \"Haluatko varmasti kopioida valitut tiedostot tai hakemistot hakemistoon %s?\"\n0x007a   \"Haluatko varmasti siirt valitut tiedostot tai hakemistot hakemistoon %s?\"\n0x007b   \"Haluatko varmasti kynnist ohjelman %s kytten tiedostoa %s ensimmiseksi?\"\n0x007c   \"Tiedostonhallinta\"\n0x007e   \"Hakemistopuu\"\n0x007f   \"Etsinnn tulokset: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"Tiedostot, joiden tunniste on %s, ovat ohjelmia, eik niit voi kytke toisiin sovelluksiin.\"\n0x00e1   \"%s ei ole ohjelma, eik sit voi kytke tiedostotunnisteeseen.\"\n0x00e2   \"(Ei mitn)\"\n0x00e4   \"Tiedostonhallinta ei voi tulostaa useita tiedostoja.\n\nValitse vain yksi tiedosto ja yrit uudelleen.\"\n0x00e5   \"Ohjelma tai jokin sen osista on pakattu.\n\nKopioi tiedosto asennuslevykkeelt MS-DOSin Expand-apuohjelmalla.\"\n0x00e6   \"Yksi sovelluksen kyttmist kirjastotiedostoista on vioittunut. Asenna sovellus uudelleen.\"\n0x00e7   \"Tiedosto on toisen sovelluksen kytss.\"\n0x00e8   \"Hakemistossa \"%s\" luotuja tiedostoja ei ehk voi ksitell Tiedostonhallinnassa.\n\nJatketaanko?\"\n0x00e9   \"Luo hakemisto\"\n0x00ea   \"%ld tavua\"\n0x00eb   \"%s tavua\"\n0x00ec   \"Leikepydlle ei voi kopioida useita tiedostoja tai hakemistoja.\n\nValitse yksi tiedosto ja yrit uudelleen.\"\n0x00ed   \"%s - %s\"\n0x00ee   \"Asema:\"\n0x00ef   \"%s, \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"Liian monta tiedostoa\"\n0x0085   \"Tiedostonhallinta - Muisti on lopussa\"\n0x0086   \"Koko hakemistoa ei voi lukea. Vain osittainen luettelo nytetn.\"\n0x008c   \"Nykyinen hakemisto: %s\"\n0x008d   \"Kopioi\"\n0x008f   \"Nime uudelleen\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"Alusta levy\"\n0x0092   \"Valitse alustettava levy.\"\n0x0096   \"Luodaan:\"\n0x0097   \"Poistetaan...\"\n0x0098   \"Kopioidaan:\"\n0x0099   \"Nimetn...\"\n0x009a   \"Siirretn...\"\n0x009b   \"Poistetaan...\"\n0x009c   \"Tulostetaan: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"Asemaa %c ei ole.\"\n0x00a9   \"Kopioidaan...\"\n0x00aa   \"Poistetaan:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"Avataan...\"\n0x01a5   \"Suljetaan...\"\n0x01a6   \"Liian monta avointa hakemistoikkunaa.\n\nSulje ikkunoita ja yrit uudelleen.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"Virhe tiedoston siirrossa\"\n0x03ea   \"Virhe tiedoston kopioinnissa\"\n0x03eb   \"Virhe tiedoston poistossa\"\n0x03ec   \"Virhe tiedoston uudelleen nimemisess\"\n0x03ed   \"Virhe aseman valinnassa\"\n0x03ee   \"Virhe hakemiston luvussa\"\n0x03ef   \"Virhe levyn nimemisess\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"Tiedostonhallinta ei voi siirt %s. %s\"\n0x03f4   \"Tiedostonhallinta ei voi kopioida %s. %s\"\n0x03f5   \"Tiedostonhallinta ei voi poistaa %s. %s\"\n0x03f6   \"Tiedostonhallinta ei voi nimet uudelleen %s. %s\"\n0x03fd   \"Tiedostonhallinta ei voi luoda hakemistoa %s. %s\"\n0x03fe   \"Tiedostonhallinta ei voi poistaa hakemistoa %s. %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Epkelpo MS-DOS-funktio.\"\n0x0412   \"Tiedostoa ei lydy.\n\nVarmista, ett hakemistopolku ja tiedostonimi ovat oikein.\"\n0x0413   \"Hakemistopolkua ei lydy.\n\nVarmista, ett hakemistopolku on oikein.\"\n0x0414   \"Liian monta muuta tiedostoa kytss. Lopeta sovelluksia ja yrit uudelleen.\"\n0x0415   \"Kytt estetty.\n\nVarmista, ettei levy ole tynn eik kirjoitussuojattu.\"\n0x0416   \"Epkelpo tiedostokahva.\"\n0x0418   \"Liian vhn muistia.\n\nLopeta sovelluksia ja yrit uudelleen.\"\n0x041c   \"Epkelpo tiedostonkyttpyynt.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"Nykyist hakemistoa ei voi poistaa (sisinen virhe).\"\n0x0421   \"Epkelpo laite.\"\n0x0422   \"Hakemisto on tyhj.\"\n0x0423   \"Levyke on kirjoitussuojattu.\n\nPoista levykkeen kirjoitussuojaus tai kyt toista levykett ja yrit uudelleen.\"\n0x042d   \"Kirjoitus eponnistui. Kohdetiedosto tai -levy voi olla vahingoittunut.\"\n0x042f   \"Luku eponnistui. Lhdetiedosto tai -levy voi olla vahingoittunut.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"Epkelpo toiminto.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"Psy verkkoon estetty. Varmista, ett sinulla on oikeat verkko-oikeudet tmn toiminnon suorittamiseen.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"Tiedostonjakovirhe. Lhde- tai kohdetiedostot voivat olla kytss.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"Levytila ei riit.\n\nVapauta levytilaa poistamalla tiedostoja ja yrit uudelleen.\"\n0x0481   \"Lhde- ja kohdetiedoston nimi on sama.\"\n0x0482   \"Valitse ainoastaan yksi tiedosto uudelleen nimettvksi tai kyt MS-DOSin yleismerkkej (esimerkiksi *.TXT), kun haluat nimet tiedostoryhmn samankaltaisilla nimill.\"\n0x0483   \"Ei voi siirt eri hakemistoon tai levylle nimemll uudelleen.\"\n0x0484   \"Phakemisto (sisinen virhe).\"\n0x0486   \"Kohdehakemisto on lhteen alihakemisto.\"\n0x0487   \"Tiedosto on Windowsin kytss.\"\n0x0488   \"Kytt estetty. Lhdetiedosto voi olla kytss.\"\n0x0489   \"Hakemistopolku on liian pitk.\"\n0x048a   \"Mrit vain yksi tiedosto tai hakemisto Mihin-ruudussa. Jos haluat mritt useampia tiedostoja, kyt MS-DOSin yleismerkkej (esimerkiksi *.TXT).\"\n0x048b   \"Tiedostonimi on jo olemassa. Anna toinen nimi Mihin-ruudussa ja yrit uudelleen.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1,2 Mt\"\n0x0131   \"720 kt\"\n0x0132   \"1,44 Mt\"\n0x0133   \"2,88 Mt\"\n0x0134   \"Levykoko\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360 kt\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"Liian vhn muistia.\"\n0x0192   \"MS-DOSin kynnistyslevy ei voi alustaa.\"\n0x0193   \"Vr sektorikoko MS-DOSin kynnistyslevyll.\"\n0x0194   \"Tuntematon asematyyppi.\"\n0x0199   \"Jrjestelmtiedostojen siirto eponnistui.\"\n0x019a   \"Levy voidaan alustaa kokoon %s. Jatketaanko alustamista thn kokoon?\"\n0x019b   \"Levy ei voi alustaa.\n\nVarmista, ett levyke on asemassa, ettei levyke ole kirjoitussuojattu eik vahingoittunut ja ett sen tiheys on oikea.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00fe   \"&Hakemistonimi:\"\n0x00ff   \"\\StringFileInfo\\040904E4\\\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01f4   \"Kommentit\"\n0x01f5   \"Yrityksen nimi\"\n0x01f6   \"Tiedostokuvaus\"\n0x01f7   \"Sisinen nimi\"\n0x01f8   \"Lailliset tavaramerkit\"\n0x01f9   \"Alkuperinen tiedostonimi\"\n0x01fa   \"Yksityinen ohjelman rakennuskuvaus\"\n0x01fb   \"Tuotenimi\"\n0x01fc   \"Tuoteversio\"\n0x01fd   \"Erityinen ohjelman rakennuskuvaus\"\n0x01fe   \"Kieli\"\n0x01ff   \"Kielet\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0222   \"Ei tiedostoja.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0255   \"Valittua tietokonetta ei lydy.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0263   \"Jaettua hakemistoa ei lydy.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0274   \"Liian monta verkkoyhteytt.\"\n0x0276   \"Vr salasana.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x02b0   \"Verkkoasema ei ole kytss.\"\n0x02b1   \"Virhe luettaessa asemaa %c:.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0f90   \"Tiedostojen ksittelykomennot\"\n0x0f91   \"Levyjen ksittelykomennot\"\n0x0f92   \"Hakemistopuuikkunan ksittelykomennot\"\n0x0f93   \"Tietojen nyttkomennot\"\n0x0f94   \"Asetuskomennot\"\n0x0f9a   \"Ikkunoiden jrjestelykomennot\"\n0x0f9b   \"Tiedostonhallinnan Ohjeen komennot\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1005   \"Avaa valitun kohteen\"\n0x1006   \"Tulostaa asiakirjan\"\n0x1007   \"Kytkee tiedoston sovellukseen\"\n0x1008   \"Etsii tiedostoja ja hakemistoja\"\n0x1009   \"Kynnist tai avaa sovelluksen tai asiakirjan\"\n0x100a   \"Siirt valitun kohteen\"\n0x100b   \"Kopioi tiedostoja ja hakemistoja\"\n0x100c   \"Poistaa tiedostoja ja hakemistoja\"\n0x100d   \"Nime tiedoston tai hakemiston uudelleen\"\n0x100e   \"Asettaa tiedoston attribuutit ja nytt sen ominaisuudet\"\n0x100f   \"Luo hakemiston\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1013   \"Lopettaa Tiedostonhallinnan\"\n0x1014   \"Valitsee tiedostoja ja hakemistoja\"\n0x1015   \"Palauttaa aiemmin poistettuja tiedostoja\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1069   \"Kopioi levykkeen sislln\"\n0x106a   \"Nime levyn tai muuttaa levyn nimen\"\n0x106b   \"Alustaa levykkeen\"\n0x106c   \"Kopioi MS-DOS-tiedostot levykkeelle\"\n0x106d   \"Luo yhteyden verkkoasemaan\"\n0x106e   \"Katkaisee yhteyden verkkoasemaan\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x109b   \"Valitsee aseman\"\n0x109c   \"Verkkoyhteydet...\"\n0x109d   \"Nyt jaetut hakemistot...\"\n0x109e   \"Jakaa hakemiston verkossa\"\n0x109f   \"Lopettaa hakemiston jakamisen\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10c1   \"      \"\n0x10cd   \"Nytt hakemiston seuraavan tason\"\n0x10ce   \"Nytt hakemiston kaikki tasot\"\n0x10cf   \"Nytt kaikkien hakemistojen kaikki tasot\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10d0   \"Piilottaa valitun hakemiston kaikki tasot\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1195   \"Vahvistusviestien asetukset\"\n0x1197   \"Nytt tai piilottaa tilarivin\"\n0x1198   \"Pienent Tiedostonhallinnan kuvakkeeksi kynnistettess\"\n0x1199   \"Osoittaa hakemistot, joilla on alihakemistoja\"\n0x119b   \"Nytt tai piilottaa levyasemarivin\"\n0x119c   \"Nytt tai piilottaa tykalurivin\"\n0x119d   \"Avaa uuden ikkunan yhdistettess verkkoasemaan\"\n0x119e   \"Muuttaa Tiedostonhallinnan fontin\"\n0x119f   \"Tallentaa asetukset lopetettaessa Tiedostonhallinta\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1131   \"Nytt vain tiedostonimet\"\n0x1132   \"Nytt kaikki tiedot tiedostoista\"\n0x1133   \"Nytt osittaiset tiedot tiedostoista\"\n0x1134   \"Jrjest tiedostot nimen mukaan\"\n0x1135   \"Jrjest tiedostot tyypin mukaan\"\n0x1136   \"Jrjest tiedostot koon mukaan\"\n0x1137   \"Jrjest tiedostot pivyksen mukaan\"\n0x1139   \"Nytt mritetyn tyyppiset tiedostot\"\n0x113b   \"Nytt hakemistopuun\"\n0x113c   \"Nytt nykyisen hakemiston sislln\"\n0x113d   \"Nytt hakemistopuun ja nykyisen hakemiston sislln\"\n0x113e   \"Jakaa hakemistoikkunan tai siirt jakopalkkia\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x11a0   \"Muokkaa tykalurivi\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13f0   \"Pivitt ikkunan sislln\"\n0x13f1   \"Jrjest kuvakkeet\"\n0x13f2   \"Avaa uuden ikkunan\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13ed   \"Jrjest ikkunat\"\n0x13ee   \"Jrjest ikkunat\"\n0x13ef   \"Jrjest ikkunat\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1451   \"Nytt Tiedostonhallinnan Ohjeen\"\n0x1452   \"Nytt ohjeita Ohjeen kytst\"\n0x1453   \"Nytt tietoja Tiedostonhallinnasta\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0fbe   \"Etsii aiheita Tiedostonhallinnan Ohjeesta\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0320   \"&Yhdist verkkoasemaan...\"\n0x0321   \"Katkaise yhteys &verkkoasemaan...\"\n0x0322   \"&Verkkoyhteydet...\"\n0x0323   \"&Jaa hakemisto...\"\n0x0324   \"L&opeta jakaminen...\"\n0x0325   \"&Nyt jaetut hakemistot...\"\n0x0326   \"Palauta t&iedosto...\"\n0x0327   \"Avaa &uusi ikkuna yhdistettess\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.French.Int.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"&Fichier\"\n    BEGIN\n    MENUITEM    \"&Ouvrir\tEntre\", 0X0065\n    MENUITEM    \"&Dplacer...\tF7\", 0X006A\n    MENUITEM    \"&Copier...\tF8\", 0X006B\n    MENUITEM    \"Suppri&mer...\tSuppr\", 0X006C\n    MENUITEM    \"Re&nommer...\", 0X006D\n    MENUITEM    \"&Proprits...\tAlt+Entre\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"E&xcuter...\", 0X0069\n    MENUITEM    \"&Imprimer...\", 0X0066\n    MENUITEM    \"&Associer...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Cr&er un rpertoire...\", 0X006F\n    MENUITEM    \"&Rechercher...\", 0X0068\n    MENUITEM    \"&Slectionner...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Quitter\", 0X0073\n    END\n    POPUP   \"&Disque\"\n    BEGIN\n    MENUITEM    \"&Copier une disquette...\", 0X00C9\n    MENUITEM    \"&Nommer un disque...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Formater une disquette...\", 0X00CB\n    MENUITEM    \"Crer une disquette syst&me...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Slectionner un lecteur...\", 0X00FB\n    END\n    POPUP   \"Ar&bre\"\n    BEGIN\n    MENUITEM    \"Dvelopper un &niveau\t+\", 0X012D\n    MENUITEM    \"Dvelopper une &branche\t*\", 0X012E\n    MENUITEM    \"Dvelopper &tout\tCtrl+*\", 0X012F\n    MENUITEM    \"&Rduire une branche\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Indiquer l'arborescence\", 0X01F9\n    END\n    POPUP   \"&Affichage\"\n    BEGIN\n    MENUITEM    \"Arbor&escence et rpertoire\", 0X019D\n    MENUITEM    \"&Arborescence seulement\", 0X019B\n    MENUITEM    \"&Rpertoire seulement\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Fractionner\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Nom\", 0X0191\n    MENUITEM    \"Dtail&s de fichiers\", 0X0192\n    MENUITEM    \"A&utres dtails...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Trier par n&om\", 0X0194\n    MENUITEM    \"Trier par &type\", 0X0195\n    MENUITEM    \"Trier par tai&lle\", 0X0196\n    MENUITEM    \"Trier par &date\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Par type de fichiers...\", 0X0199\n    END\n    POPUP   \"&Options\"\n    BEGIN\n    MENUITEM    \"&Confirmation...\", 0X01F5\n    MENUITEM    \"&Police...\", 0X01FE\n    MENUITEM    \"Per&sonnaliser la barre d'outils...\", 0X0200\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Barre d'&outils\", 0X01FC\n    MENUITEM    \"Barre de &lecteurs\", 0X01FB\n    MENUITEM    \"&Barre d'tat\", 0X01F7\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Rduire  l'utilisation\", 0X01F8\n    MENUITEM    \"&Enregistrer la configuration en quittant\", 0X01FF\n    END\n    POPUP   \"F&entre\"\n    BEGIN\n    MENUITEM    \"&Nouvelle fentre\", 0X0452\n    MENUITEM    \"&Cascade \tMaj+F5\", 0X044D\n    MENUITEM    \"Mosaque &horizontale \", 0X044F\n    MENUITEM    \"Mosaque &verticale \tMaj+F4\", 0X044E\n    MENUITEM    \"&Rorganiser les icnes\", 0X0451\n    MENUITEM    \"&Actualiser\tF5\", 0X0450\n    END\n    POPUP   \"&?\"\n    BEGIN\n    MENUITEM    \"&Index\", 0X04B1\n    MENUITEM    \"&Rechercher l'Aide sur...\", 0X001E\n    MENUITEM    \"&Utiliser l'Aide\", 0X04B2\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&A propos du Gestionnaire de fichiers...\", 0X04B3\n    END\nEND\n\n\n145 DIALOG 0x80c8, 16, 54, 264, 149\nCAPTION \"Police\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Police :\", 1088, 0x0000, 6, 3, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 10, 12, 94, 54\n    CONTROL 0x82, \"&Style de police :\", 1089, 0x0000, 108, 3, 54, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 13, 64, 54\n    CONTROL 0x82, \"&Taille :\", 1090, 0x0000, 179, 3, 30, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 179, 13, 32, 54\n    CONTROL 0x80, \"Effets\", 1072, 0x0007, 6, 67, 84, 77\n    CONTROL 0x80, \"&Barr\", 1040, 0x0003, 10, 78, 49, 10\n    CONTROL 0x80, \"So&ulign\", 1041, 0x0003, 10, 104, 51, 10\n    CONTROL 0x80, \"&Minuscule\", 1042, 0x0003, 10, 91, 49, 10\n    CONTROL 0x82, \"&Couleur :\", 1091, 0x0000, 10, 117, 30, 8\n    CONTROL 0x85, \"\", 1139, 0x0253, 12, 128, 75, 21\n    CONTROL 0x80, \"OK\", 1, 0x0001, 218, 12, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 218, 29, 40, 14\n    CONTROL 0x80, \"Applique&r\", 1026, 0x0000, 218, 46, 40, 14\n    CONTROL 0x80, \"&Aide\", 1038, 0x0000, 218, 63, 40, 14\n    CONTROL 0x80, \"Exemple\", 1073, 0x0007, 98, 79, 160, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 134, 160, 8\n    CONTROL 0x82, \"AaBbYyZz\", 1092, 0x0081, 104, 88, 149, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 201, 86\nCAPTION \"Slectionner un lecteur\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Lecteurs :\", 245, 0x000c, 5, 5, 34, 8\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"OK\", 1, 0x0001, 155, 16, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 155, 33, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 155, 54, 40, 14\nEND\n\n10 DIALOG 0x80c8, 39, 31, 210, 69\nCAPTION \"Excuter\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 5, 6, 159, 10\n    CONTROL 0x82, \"&Ligne de commande :\", 100, 0x000c, 3, 18, 71, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 134, 12\n    CONTROL 0x80, \"Rduire  l'&utilisation\", 214, 0x0003, 4, 49, 84, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 166, 12, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 166, 29, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 166, 49, 40, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 133, 83\nCAPTION \"Slectionner\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Fichier(s) :\", -1, 0x000c, 5, 24, 34, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 41, 54, 12\n    CONTROL 0x80, \"&Slectionner\", 1, 0x0001, 71, 6, 58, 14\n    CONTROL 0x80, \"&Dslectionner\", 6, 0x0000, 71, 23, 58, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 71, 40, 58, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 71, 57, 58, 14\nEND\n\n39 DIALOG 0x80c8, 10, 18, 245, 94\nCAPTION \"Confirmer le remplacement du fichier\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 14, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 215, 10\n    CONTROL 0x82, \"Remplacer le fichier :\", 100, 0x000c, 25, 15, 71, 8\n    CONTROL 0x82, \"\", 103, 0x008c, 95, 15, 147, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 62, 27, 181, 10\n    CONTROL 0x82, \"Par le fichier :\", 100, 0x000c, 24, 39, 45, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 39, 173, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 61, 51, 182, 10\n    CONTROL 0x80, \"&Oui\", 6, 0x0001, 33, 75, 40, 14\n    CONTROL 0x80, \"&Tout\", 107, 0x0000, 79, 75, 40, 14\n    CONTROL 0x80, \"&Non\", 7, 0x0000, 125, 75, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 171, 75, 40, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 269, 60\nCAPTION \"Confirmer la suppression du fichier\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 240, 10\n    CONTROL 0x82, \"Supprimer le fichier :\", 100, 0x000c, 25, 18, 68, 8\n    CONTROL 0x82, \"\", 102, 0x008c, 93, 18, 173, 10\n    CONTROL 0x80, \"&Oui\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"&Tout\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Non\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 276, 60\nCAPTION \"Confirmer la suppression du rpertoire\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 248, 10\n    CONTROL 0x82, \"Supprimer le rpertoire :\", 100, 0x000c, 25, 18, 83, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 109, 18, 164, 10\n    CONTROL 0x80, \"&Oui\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"&Tout\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Non\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 265, 60\nCAPTION \"Confirmer le dplacement de fichier\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 236, 10\n    CONTROL 0x82, \"Dplacer le fichier :\", 100, 0x000c, 25, 18, 66, 8\n    CONTROL 0x82, \"\", 102, 0x008c, 89, 18, 172, 10\n    CONTROL 0x80, \"&Oui\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"&Tout\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Non\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 253, 60\nCAPTION \"Confirmer le changement de nom du fichier\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 223, 10\n    CONTROL 0x82, \"Renommer le fichier :\", 100, 0x000c, 25, 15, 70, 8\n    CONTROL 0x82, \"\", 102, 0x008c, 94, 15, 156, 10\n    CONTROL 0x80, \"&Oui\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"&Tout\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Non\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n11 DIALOG 0x80c8, 22, 43, 252, 63\nCAPTION \"Imprimer\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 8, 193, 10\n    CONTROL 0x82, \"&Imprimer :\", 100, 0x000c, 4, 26, 33, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 25, 160, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 11, 44, 190, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 207, 7, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 207, 24, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 207, 44, 40, 14\nEND\n\n13 DIALOG 0x80c8, 20, 46, 263, 75\nCAPTION \"Rechercher\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Rechercher :\", 100, 0x000c, 5, 8, 45, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 52, 8, 160, 12\n    CONTROL 0x82, \"A par&tir de :\", 100, 0x000c, 5, 25, 45, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 52, 25, 160, 12\n    CONTROL 0x80, \"Rechercher dans tous les &sous-rpertoires\", 232, 0x0003, 51, 44, 150, 12\n    CONTROL 0x82, \"\", 104, 0x000c, 5, 58, 200, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 217, 7, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 217, 24, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 217, 44, 40, 14\nEND\n\n14 DIALOG 0x80c8, 45, 59, 233, 79\nCAPTION \"Dplacer\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Le rpertoire courant est : N\", 101, 0x008b, 5, 6, 174, 10\n    CONTROL 0x82, \"&Vers :\", 100, 0x000c, 5, 44, 20, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 41, 44, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 30, 45, 10, 10\n    CONTROL 0x80, \"Vers le &Presse-papiers\", 256, 0x0004, 30, 61, 85, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 4, 63, 77, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 81, 63, 145, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 187, 6, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 187, 23, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 187, 40, 40, 14\n    CONTROL 0x82, \"&De :\", 100, 0x000c, 5, 24, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 41, 23, 138, 12\nEND\n\n10014 DIALOG 0x80c8, 47, 59, 231, 112\nCAPTION \"Dplacer\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Rpertoire courant : N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"&Vers :\", 100, 0x000c, 3, 38, 18, 10\n    CONTROL 0x62, \"edit\", 103, 0x0004, 37, 38, 138, 42\n    CONTROL 0x50, \"\", 256, 0x0401, 6656, 9728, 2560, 2560\n    CONTROL 0x80, \"Vers le P&resse-papiers\", 256, 0x0004, 26, 85, 85, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 86, 44, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 45, 86, 138, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 185, 23, 40, 14\n    CONTROL 0x80, \"&Parcourir\", 600, 0x0000, 185, 40, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 185, 57, 40, 14\n    CONTROL 0x82, \"&De :\", 100, 0x000c, 3, 19, 13, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n200 DIALOG 0x00c8, 36, 24, 164, 134\nCAPTION \"Slectionner un rpertoire\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x81, \"\", 1152, 0x0490, 6, 16, 90, 12\n    CONTROL 0x83, \"\", 1120, 0x0053, 12, 28, 92, 68\n    CONTROL 0x82, \"&Rpertoires :\", -1, 0x0000, 9, 6, 92, 9\n    CONTROL 0x82, \"\", 1088, 0x0000, 10, 16, 92, 9\n    CONTROL 0x83, \"\", 1121, 0x0053, 12, 28, 92, 68\n    CONTROL 0x82, \"&Lecteurs :\", 1091, 0x0000, 10, 104, 90, 9\n    CONTROL 0x85, \"\", 1137, 0x0353, 10, 114, 92, 68\n    CONTROL 0x80, \"OK\", 1, 0x0001, 108, 6, 50, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 108, 24, 50, 14\n    CONTROL 0x82, \"&Nom de fichier :\", 1090, 0x0000, 10, 6, 86, 9\n    CONTROL 0x82, \"Liste des fichiers de &type :\", 1089, 0x0000, 10, 104, 90, 9\n    CONTROL 0x85, \"\", 1136, 0x0043, 10, 114, 90, 36\n    CONTROL 0x80, \"&Aide\", 1038, 0x0000, 208, 46, 50, 14\n    CONTROL 0x80, \"Lecture &seule\", 1040, 0x0003, 208, 68, 50, 12\nEND\n\n15 DIALOG 0x80c8, 17, 38, 253, 64\nCAPTION \"Supprimer\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Le rpertoire courant est : C\", 101, 0x008c, 6, 5, 197, 10\n    CONTROL 0x82, \"&Supprimer :\", 100, 0x000c, 6, 25, 38, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 49, 25, 155, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 2, 46, 74, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 77, 46, 127, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 208, 7, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 208, 24, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 208, 44, 40, 14\nEND\n\n38 DIALOG 0x80c8, 20, 21, 213, 65\nCAPTION \"Proprits\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"%d fichiers slectionns, total %s octets\", 100, 0x000c, 5, 5, 157, 10\n    CONTROL 0x80, \"Attributs\", -1, 0x0007, 5, 18, 148, 42\n    CONTROL 0x80, \"&Lecture seule\", 215, 0x0003, 10, 29, 57, 12\n    CONTROL 0x80, \"Fi&chier cach\", 216, 0x0003, 79, 29, 57, 12\n    CONTROL 0x80, \"Fichier archi&ve\", 217, 0x0003, 10, 41, 61, 12\n    CONTROL 0x80, \"Fichier &systme\", 218, 0x0003, 79, 41, 63, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 167, 6, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 167, 23, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 167, 43, 40, 14\nEND\n\n16 DIALOG 0x80c8, 49, 25, 271, 200\nCAPTION \"Proprits pour  %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 215, 7, 51, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 215, 24, 51, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 215, 41, 50, 14\n    CONTROL 0x82, \"&Nom du fichier :\", 261, 0x000c, 4, 5, 73, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 79, 5, 131, 10\n    CONTROL 0x82, \"C&hemin d'accs :\", 100, 0x000c, 4, 18, 55, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 79, 18, 131, 10\n    CONTROL 0x82, \"Dernire modification :\", 100, 0x000c, 4, 31, 72, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 79, 31, 131, 10\n    CONTROL 0x82, \"Version :\", 258, 0x000c, 4, 44, 28, 10\n    CONTROL 0x82, \"Non indiqu(e)\", 259, 0x008c, 79, 44, 131, 10\n    CONTROL 0x82, \"C&opyright :\", -1, 0x0000, 4, 57, 39, 10\n    CONTROL 0x81, \"Non indiqu(e)\", 265, 0x0880, 79, 57, 131, 10\n    CONTROL 0x82, \"Taille :\", 260, 0x000c, 4, 70, 22, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 79, 70, 131, 10\n    CONTROL 0x80, \"Attributs\", 100, 0x0007, 4, 83, 150, 37\n    CONTROL 0x80, \"&Lecture seule\", 215, 0x0003, 9, 94, 57, 12\n    CONTROL 0x80, \"Fi&chier cach\", 216, 0x0003, 87, 94, 57, 12\n    CONTROL 0x80, \"Fichier archi&ve\", 217, 0x0003, 9, 106, 61, 12\n    CONTROL 0x80, \"Fichier &systme\", 218, 0x0003, 87, 106, 63, 12\n    CONTROL 0x80, \"&Informations sur la version\", 262, 0x0007, 4, 123, 263, 73\n    CONTROL 0x83, \"\", 263, 0x1003, 9, 136, 100, 59\n    CONTROL 0x81, \"\", 264, 0x0804, 111, 135, 151, 58\nEND\n\n17 DIALOG 0x80c8, 20, 20, 180, 63\nCAPTION \"Crer un rpertoire\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 9, 127, 10\n    CONTROL 0x82, \"&Nom :\", 100, 0x000c, 5, 26, 18, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 26, 26, 106, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 47, 127, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 135, 8, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 135, 25, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 135, 45, 40, 14\nEND\n\n10017 DIALOG 0x80c8, 20, 20, 240, 74\nCAPTION \"Crer le rpertoire\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Nom :\", 100, 0x000c, 3, 28, 20, 10\n    CONTROL 0x62, \"edit\", 201, 0x0000, 3, 40, 170, 18\n    CONTROL 0x50, \"\", 26624, 0x8c00, 768, 15360, -27136, 2560\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n47 DIALOG 0x80c8, 11, 20, 166, 64\nCAPTION \"Crer une disquette systme\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Copier les fichiers systme sur :\", -1, 0x000c, 4, 8, 105, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 39, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 119, 6, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 119, 23, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 119, 43, 40, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 157, 64\nCAPTION \"Copier une disquette\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Source :\", -1, 0x000c, 5, 8, 29, 8\n    CONTROL 0x85, \"\", 245, 0x0003, 55, 6, 40, 37\n    CONTROL 0x82, \"&Destination :\", 206, 0x000c, 5, 22, 43, 8\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 56\nCAPTION \"Copie de la disquette\"\nFONT 8, \"Helv\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"Copie de la disquette du\", 100, 0x0001, 2, 5, 126, 10\n    CONTROL 0x82, \"Lecteur A :\", 222, 0x0001, 2, 15, 126, 10\n    CONTROL 0x82, \"Lecture de la disquette source\", 243, 0x0001, 2, 26, 126, 10\n    CONTROL 0x80, \"Annuler\", 2, 0x0001, 44, 39, 44, 14\nEND\n\n23 DIALOG 0x80c8, 21, 51, 141, 63\nCAPTION \"Nommer un disque\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Nom de volume :\", 100, 0x000c, 5, 16, 56, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 85, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 97, 8, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 97, 25, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 97, 45, 40, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 207, 110\nCAPTION \"Formater une disquette\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 161, 7, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 161, 24, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 161, 44, 40, 14\n    CONTROL 0x82, \"&Disquette :\", -1, 0x000c, 5, 7, 46, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 7, 65, 40\n    CONTROL 0x82, \"&Capacit :\", 100, 0x000c, 5, 22, 49, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 55, 22, 65, 40\n    CONTROL 0x80, \"Options\", 102, 0x0007, 5, 39, 148, 64\n    CONTROL 0x82, \"&Nom de volume :\", -1, 0x000c, 11, 53, 56, 10\n    CONTROL 0x81, \"\", 201, 0x0000, 71, 53, 65, 12\n    CONTROL 0x80, \"Crer une di&squette systme\", 242, 0x0003, 11, 71, 104, 12\n    CONTROL 0x80, \"&Formatage rapide\", 244, 0x0003, 11, 85, 69, 12\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 50\nCAPTION \"Formatage de la disquette\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Formatage de la disquette\", 100, 0x0001, 2, 5, 146, 10\n    CONTROL 0x82, \"Initialisation du lecteur...\", 243, 0x0001, 2, 17, 146, 10\n    CONTROL 0x80, \"Annuler\", 2, 0x0001, 54, 30, 44, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 174, 57\nCAPTION \"Crer une disquette systme\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Copie des fichiers systme.\", 100, 0x0001, 2, 6, 170, 8\n    CONTROL 0x82, \"Choisissez Annuler pour abandonner.\", 100, 0x0001, 2, 17, 170, 8\n    CONTROL 0x80, \"Annuler\", 2, 0x0001, 66, 39, 44, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 253, 135\nCAPTION \"Connexions rseau\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Nouvelle connexion\", -1, 0x0007, 5, 3, 182, 55\n    CONTROL 0x82, \"C&hemin d'accs :\", -1, 0x0000, 10, 15, 59, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 79, 14, 100, 12\n    CONTROL 0x82, \"&Lecteur :\", -1, 0x0000, 10, 29, 31, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 79, 28, 40, 50\n    CONTROL 0x82, \"&Mot de passe :\", -1, 0x0000, 10, 43, 50, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 79, 43, 100, 12\n    CONTROL 0x82, \"Lecte&ur(s) courant(s) connect(s) :\", -1, 0x0000, 5, 62, 117, 10\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 182, 60\n    CONTROL 0x80, \"Annuler\", 2, 0x0001, 196, 7, 51, 14\n    CONTROL 0x80, \"&Connecter\", 1, 0x0000, 196, 28, 51, 14\n    CONTROL 0x80, \"&Prcdent...\", 226, 0x0000, 196, 45, 51, 14\n    CONTROL 0x80, \"Pa&rcourir...\", 227, 0x0000, 196, 62, 51, 14\n    CONTROL 0x80, \"&Dconnecter\", 255, 0x0000, 196, 79, 51, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 196, 96, 51, 14\nEND\n\n29 DIALOG 0x80c8, 28, 27, 237, 104\nCAPTION \"Connexions prcdentes\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Chemins d'accs :\", 100, 0x000c, 5, 6, 81, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 5, 18, 172, 80\n    CONTROL 0x80, \"&Slectionner\", 1, 0x0001, 183, 6, 50, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 183, 24, 50, 14\n    CONTROL 0x80, \"Suppri&mer\", 219, 0x0000, 183, 41, 50, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 183, 58, 50, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 184, 65\nCAPTION \"Autres dtails\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Dtails\", 100, 0x0007, 4, 4, 134, 55\n    CONTROL 0x80, \"Tai&lle\", 203, 0x0003, 11, 15, 46, 9\n    CONTROL 0x80, \"Date de la dernire &modification\", 204, 0x0003, 11, 25, 123, 9\n    CONTROL 0x80, \"Heure de la dernire modifica&tion\", 205, 0x0003, 11, 35, 123, 9\n    CONTROL 0x80, \"Attributs de &fichier\", 206, 0x0003, 11, 45, 76, 9\n    CONTROL 0x80, \"OK\", 1, 0x0001, 141, 8, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 141, 26, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 141, 45, 40, 14\nEND\n\n32 DIALOG 0x80c8, 20, 41, 165, 102\nCAPTION \"Par type de fichiers\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Nom :\", 100, 0x000c, 5, 8, 18, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"Type de fichiers\", 100, 0x0007, 5, 20, 94, 62\n    CONTROL 0x80, \"&Rpertoires\", 101, 0x0003, 10, 31, 50, 12\n    CONTROL 0x80, \"&Programmes\", 210, 0x0003, 10, 43, 52, 12\n    CONTROL 0x80, \"Docu&ments\", 211, 0x0003, 10, 55, 49, 12\n    CONTROL 0x80, \"A&utres fichiers\", 212, 0x0003, 10, 67, 56, 12\n    CONTROL 0x80, \"Vi&sualisation des fichiers systme/cachs\", 250, 0x0003, 10, 85, 151, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 114, 6, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 114, 23, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 114, 43, 40, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 180, 80\nCAPTION \"Confirmation\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Confirmer\", 100, 0x0007, 5, 3, 125, 73\n    CONTROL 0x80, \"&Suppressions de fichiers\", 219, 0x0003, 10, 15, 92, 12\n    CONTROL 0x80, \"Suppressions de rp&ertoires\", 220, 0x0003, 10, 27, 103, 12\n    CONTROL 0x80, \"&Remplacements de fichiers\", 221, 0x0003, 10, 39, 100, 12\n    CONTROL 0x80, \"&Oprations de la souris\", 249, 0x0003, 10, 51, 87, 12\n    CONTROL 0x80, \"Comman&des disque\", 251, 0x0003, 10, 63, 75, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 136, 6, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 136, 23, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 136, 44, 40, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 250, 51\nCAPTION \"Dplacement...\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 6, 50, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 58, 6, 188, 10\n    CONTROL 0x82, \"Vers :\", 108, 0x008b, 5, 18, 23, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 58, 18, 188, 10\n    CONTROL 0x80, \"Annuler\", 2, 0x0001, 200, 32, 40, 14\nEND\n\n36 DIALOG 0x80c8, 20, 21, 120, 58\nCAPTION \"\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Impression en cours...\", -1, 0x0001, 2, 6, 116, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 2, 20, 116, 12\n    CONTROL 0x80, \"Annuler\", 2, 0x0001, 41, 40, 40, 14\nEND\n\n12 DIALOG 0x80c8, 31, 39, 211, 96\nCAPTION \"Associer\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Fichiers avec extension :\", 99, 0x000c, 5, 8, 83, 8\n    CONTROL 0x81, \"\", 112, 0x0400, 92, 6, 35, 12\n    CONTROL 0x82, \"A&ssocier  :\", 99, 0x000c, 5, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 5, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 11, 44, 146, 40\n    CONTROL 0x80, \"OK\", 1, 0x0001, 162, 11, 46, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 162, 28, 46, 14\n    CONTROL 0x80, \"Pa&rcourir...\", 232, 0x0000, 162, 48, 46, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 162, 65, 46, 14\nEND\n\n46 DIALOG 0x80c8, 23, 28, 282, 78\nCAPTION \"Slection du fichier\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Ce chemin d'accs ne correspond pas  un nom de fichier utilisant le format MS-DOS. Entrez un nouveau nom.\", 99, 0x0000, 4, 4, 190, 20\n    CONTROL 0x82, \"&Nouveau nom :\", 99, 0x0002, 5, 56, 51, 8\n    CONTROL 0x81, \"\", 103, 0x0000, 97, 56, 133, 12\n    CONTROL 0x82, \"Chemin d'accs d'origine :\", 99, 0x0002, 5, 27, 87, 8\n    CONTROL 0x81, \"\", 102, 0x0880, 97, 27, 134, 12\n    CONTROL 0x82, \"Vers le rpertoire :\", 99, 0x0002, 5, 42, 62, 8\n    CONTROL 0x81, \"\", 101, 0x0880, 97, 42, 130, 11\n    CONTROL 0x80, \"OK\", 1, 0x0001, 235, 5, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 235, 21, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 235, 38, 40, 14\nEND\n\n48 DIALOG 0x80c8, 23, 13, 275, 101\nCAPTION \"Proprits pour %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 221, 6, 50, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 221, 23, 50, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 221, 43, 50, 14\n    CONTROL 0x82, \"&Nom du fichier :\", 261, 0x000c, 5, 8, 69, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 80, 8, 132, 10\n    CONTROL 0x82, \"C&hemin d'accs :\", 100, 0x000c, 5, 19, 63, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 80, 19, 132, 10\n    CONTROL 0x82, \"Dernire modification :\", 100, 0x000c, 5, 30, 75, 8\n    CONTROL 0x82, \"\", 204, 0x000c, 80, 30, 132, 10\n    CONTROL 0x82, \"Taille :\", 260, 0x000c, 5, 41, 22, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 78, 41, 134, 10\n    CONTROL 0x80, \"Attributs\", 100, 0x0007, 4, 52, 149, 42\n    CONTROL 0x80, \"&Lecture seule\", 215, 0x0003, 9, 64, 57, 12\n    CONTROL 0x80, \"Fi&chier cach\", 216, 0x0003, 84, 64, 57, 12\n    CONTROL 0x80, \"&Fichier archive\", 217, 0x0003, 9, 76, 61, 12\n    CONTROL 0x80, \"Fichier &systme\", 218, 0x0003, 84, 76, 63, 12\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0101   \"(Rpertoire racine)\"\n0x0102   \"(Non applicable)\"\n0x0103   \"Nom de partage: %s\"\n0x0104   \"Non partag\"\n0x0107   \"Copie les fichiers vers %s\"\n0x0108   \"Dplace les fichiers vers %s\"\n0x0109   \"Lance les fichiers avec %s\"\n0x010a   \"%s octets\"\n0x010b   \"%s Ko\"\n0x010c   \"%s Mo\"\n0x010d   \"%s Go\"\n0x010e   \"%s To\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"Quitter Windows\"\n0x0029   \"Ceci terminera votre session Windows.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"Copier une disquette\"\n0x0033   \"Insrez la disquette destination.\"\n0x0034   \"Insrez la disquette source.\"\n0x0035   \"Insrez les disquettes source et destination.\"\n0x0036   \"Formatage de la disquette destination.\"\n0x0037   \"Erreur de copie de disquette\"\n0x0038   \"Impossible de copier la disquette.\"\n0x003a   \"Les lecteurs source et destination sont incompatibles.\"\n0x003c   \"%d%% effectus\"\n0x003d   \"Cration du rpertoire racine...\"\n0x003e   \"Copie des fichiers systme...\"\n0x003f   \"Erreur de formatage de disquette\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"L'espace disque est insuffisant pour imprimer.\n\rSupprimez un ou plusieurs fichiers pour librer de l'espace et essayez  nouveau.\"\n0x00c1   \"La mmoire est insuffisante pour imprimer.\n\rFermez une ou plusieurs applications et essayez  nouveau.\"\n0x00c2   \"Erreur pendant l'impression.\n\rAssurez-vous que l'imprimante est correctement configure et slectionne.\"\n0x00c3   \"L'arborescence affiche est incomplte.\"\n0x00c5   \"La disquette destination est pleine.\nInsrez une nouvelle disquette pour continuer.\"\n0x00c6   \"Ce fichier est un fichier systme, cach, ou en lecture seule.\"\n0x00c7   \"Le Gestionnaire de fichiers ne peut effectuer un formatage rapide.\n\rVoulez-vous continuer avec un formatage normal?\"\n0x00c8   \"L'application spcifie n'est pas une application pour Windows ou pour MS-DOS.\"\n0x00c9   \"Cette application requiert une version de Microsoft Windows plus rcente.\"\n0x00ca   \"Cette application ncessite Windows.\"\n0x00cb   \"Une erreur est survenue lors de l'envoi de la commande vers l'application.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"Impossible de formater la disquette.\"\n0x0042   \"Formatage termin\"\n0x0043   \"%ld octets sur la disquette.\n%ld d'octets disponibles.\n\r\rVoulez-vous formater une autre disquette?\"\n0x0046   \"Crer une disquette systme\"\n0x0047   \"Etes-vous sr de vouloir copier les fichiers systme sur le lecteur %c?\"\n0x0048   \"Erreur du disque systme\"\n0x0049   \"Le lecteur de dmarrage MS-DOS ne contient pas de fichiers systme ou n'est pas disponible.\"\n0x004a   \"Impossible de copier les fichiers systme sur le lecteur de dmarrage MS-DOS.\"\n0x004b   \"Impossible d'ajouter les fichiers systme sur cette disquette.\n\nAssurez-vous qu'il y a une disquette formate dans le lecteur et que le loquet du lecteur est ferm.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"Le Gestionnaire de fichiers ne peut pas crer ou remplacer %s: %s\"\n0x0408   \"Le Gestionnaire de fichiers ne peut pas crer une disquette systme MS-DOS parce que vous avez install Windows NT multiboot sur votre systme. Pour faire une disquette systme, utilisez l'utilitaire SYS  l'appel MS-DOS.\"\n0x0409   \"Dsirez-vous formater la disquette maintenant, sans tranfrer le systme?\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"Erreur rseau\"\n0x0053   \"Ce lecteur contient les fichiers systme Windows et ne peut tre dconnect.\"\n0x005b   \"Le Gestionnaire de fichiers ne peut pas changer les attributs.\n\rAssurez-vous que la disquette n'est pas protg en criture.\"\n0x005c   \"Le Gestionnaire de fichiers ne peut pas crer le rpertoire.\n\rAssurez-vous que la disquette n'est pas protge en criture.\"\n0x005d   \"Le Gestionnaire de fichiers ne peut pas nommer le disque.\n\rAssurez-vous que le lecteur n'est pas protg en criture ou n'est pas un lecteur rseau. Un nom de volume ne doit pas contenir ces caractres\n[espace] * ? /  | . , ; : + = [ ] ( ) & ^ < > \"\"\n0x005f   \"Aucun fichier n'a t trouv.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"Total %d fichier(s) %s\"\n0x00b5   \"Rpertoires lus : %d \"\n0x00b6   \"%c: %s libres,  %s au total\"\n0x00b7   \"%d fichier(s) trouv(s)\"\n0x00b9   \"Fichiers slectionns\"\n0x00ba   \"Le Gestionnaire de fichiers ne peut pas se dconnecter de ce lecteur rseau parce que des fichiers sont ouverts sur ce lecteur.\"\n0x00bb   \"%d fichiers slectionns (%s)\"\n0x00bc   \"Il n'y a pas de disquette dans le lecteur %c.\nInsrez une nouvelle disquette et essayez  nouveau.\"\n0x00bd   \"La disquette dans le lecteur %c n'est pas formate.\nVoulez-vous la formater?\"\n0x00bf   \"Le fichier que vous voulez imprimer n'a pas t trouv. Assurez-vous que le chemin d'accs et le nom sont corrects.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"Le rpertoire spcifi existe dj.\"\n0x0061   \"Le contenu de ce lecteur a chang. Voulez-vous mettre  jour la fentre Rsultat de la recherche?\"\n0x0065   \"Lecteur %c: %c\"\n0x006e   \"Impossible d'excuter le programme\"\n0x006f   \"Erreur inattendue: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"Le formatage dtruira TOUTES les donnes de la disquette. Etes-vous sr de vouloir formater la disquette qui se trouve dans le lecteur %c?\"\n0x00d3   \"Confirmer le formatage de la disquette\"\n0x00d4   \"Cette opration effacera TOUTES les donnes sur la disquette destination. Voulez-vous continuer?\"\n0x00d5   \"Confirmer la copie de la disquette\"\n0x00d6   \"Ferme&r\"\n0x00da   \"Le rpertoire %s n'existe pas.\n\rVoulez-vous le crer?\"\n0x00db   \"Programmes#*.exe;*.pif;*.com;*.bat#Tout fichier (*.*)#*.*#\"\n0x00dc   \"Parcourir\"\n0x00dd   \"Excuter\"\n0x00de   \"Impossible d'imprimer le fichier\"\n0x00df   \"Impossible d'afficher l'Aide.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"La mmoire est insuffisante pour excuter l'application.\n\rFermez une ou plusieurs applications et essayez  nouveau.\"\n0x0071   \"Le Gestionnaire de fichiers ne peut pas trouver le fichier (ou un de ses composants).\n\rVrifiez que le chemin d'accs et le nom sont corrects et que toutes les bibliothques sont disponibles.\"\n0x0072   \"Le chemin d'accs spcifi n'est pas valide.\"\n0x0073   \"Il y a trop de fichiers actuellement utiliss.\n\rFermez une ou plusieurs applications ou augmentez la valeur FILES du fichier CONFIG.SYS et essayez  nouveau.\"\n0x0074   \"Il n'y a aucune application associe  ce fichier.\n\rChoisissez Fichier Associer pour crer une association.\"\n0x0075   \"Vous ne pouvez pas excuter plus d'une copie du programme demand.\"\n0x0076   \"Le Gestionnaire de fichiers ne peut pas ouvrir ou imprimer ce fichier.\n\rExcutez l'application utilise pour la cration de ce fichier et ouvrez ou imprimez-le  partir de celle-ci.\"\n0x0078   \"Confirmer l'opration de la souris\"\n0x0079   \"Voulez-vous copier les fichiers slectionns ou les rpertoires vers %s?\"\n0x007a   \"Voulez-vous dplacer les fichiers slectionns ou les rpertoires vers %s?\"\n0x007b   \"Voulez-vous excuter %s en utilisant %s comme fichier initial?\"\n0x007c   \"Gestionnaire de fichiers\"\n0x007e   \"Arborescence\"\n0x007f   \"Rsultats de la recherche: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"Les fichiers avec une extension %s sont des programmes et ne peuvent pas tre associs  une autre application.\"\n0x00e1   \"%s n'est pas un programme et ne peut pas tre associ  une extension.\"\n0x00e2   \"(Aucun)\"\n0x00e4   \"Le Gestionnaire de fichiers ne peut pas imprimer plusieurs fichiers en mme temps.\n\rSlectionnez un seul fichier et essayez  nouveau.\"\n0x00e5   \"Ce fichier ou un de ses composants est compress.\n\rUtilisez l'utilitaire MS-DOS Expand pour copier le fichier de la disquette d'installation.\"\n0x00e6   \"Une des bibliothques ncessaires pour excuter cette application est endommage. Rinstaller cette application.\"\n0x00e7   \"Ce fichier est utilis par une autre application.\"\n0x00e8   \"Le Gestionnaire de fichiers ne peut pas accder aux fichiers crs dans le rpertoire '%s'.\n\rVoulez-vous continuer?\"\n0x00e9   \"Crer le rpertoire\"\n0x00ea   \"%ld octets\"\n0x00eb   \"%s octets\"\n0x00ec   \"Vous ne pouvez pas copier des fichiers multiples ou des rpertoires dans le Presse-papiers.\n\rSlectionnez un seul fichier et essayez  nouveau.\"\n0x00ed   \"%s - %s\"\n0x00ee   \"Lecteur:\"\n0x00ef   \"%s, \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"Trop de fichiers\"\n0x0085   \"Gestionnaire de fichiers - Mmoire insuffisante\"\n0x0086   \"Impossible de lire entirement le rpertoire. Seule une partie sera affiche.\"\n0x008c   \"Rpertoire courant : %s\"\n0x008d   \"Copier\"\n0x008f   \"Renommer\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"Formater une disquette\"\n0x0092   \"Slectionnez la disquette  formater.\"\n0x0096   \"Cration:\"\n0x0097   \"Suppression...\"\n0x0098   \"Copie:\"\n0x0099   \"Changement de nom...\"\n0x009a   \"Dplacement...\"\n0x009b   \"Suppression...\"\n0x009c   \"Impression: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"Le lecteur %c n'existe pas.\"\n0x00a9   \"Copie...\"\n0x00aa   \"Suppression:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"Ouverture...\"\n0x01a5   \"Fermeture...\"\n0x01a6   \"Il y a trop de fentres de rpertoire ouvertes.\n\rFermez-en une ou plusieurs et essayez  nouveau.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"Erreur de dplacement de fichier\"\n0x03ea   \"Erreur de copie de fichier\"\n0x03eb   \"Erreur de suppression de fichier\"\n0x03ec   \"Erreur de changement de nom\"\n0x03ed   \"Erreur de slection du lecteur\"\n0x03ee   \"Erreur de lecture du rpertoire\"\n0x03ef   \"Erreur de cration du nom de volume de la disquette\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"Le Gestionnaire de fichiers ne peut pas dplacer %s:  %s\"\n0x03f4   \"Le Gestionnaire de fichiers ne peut pas copier %s:  %s\"\n0x03f5   \"Le Gestionnaire de fichiers ne peut pas supprimer %s:  %s\"\n0x03f6   \"Le Gestionnaire de fichiers ne peut pas renommer %s:  %s\"\n0x03fd   \"Le Gestionnaire de fichiers ne peut pas crer le rpertoire %s: %s\"\n0x03fe   \"Le Gestionnaire de fichiers ne peut pas supprimer le rpertoire %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Fonction MS-DOS non valide.\"\n0x0412   \"Le Gestionnaire de fichiers ne peut pas trouver le fichier spcifi.\n\rAssurez-vous que le nom et le chemin d'accs sont corrects.\"\n0x0413   \"Le Gestionnaire de fichiers ne peut pas trouver le chemin d'accs spcifi.\n\rAssurez-vous qu'il est correct.\"\n0x0414   \"Il y a trop de fichiers en cours d'utilisation.\nQuittez une ou plusieurs applications et essayez  nouveau.\"\n0x0415   \"L'accs est refus.\n\rVrifiez que le lecteur n'est pas plein ou protg en criture.\"\n0x0416   \"Descripteur de fichier non valide.\"\n0x0418   \"La mmoire est insuffisante.\n\rQuittez une ou plusieurs applications et essayez  nouveau.\"\n0x041c   \"Accs au fichier non valide.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"Le Gestionnaire de fichiers ne peut pas supprimer le rpertoire actuel (erreur interne).\"\n0x0421   \"Priphrique non valide.\"\n0x0422   \"Le rpertoire est vide.\"\n0x0423   \"La disquette est protge en criture.\n\rOtez la protection de la disquette ou utilisez-en une autre et essayez  nouveau.\"\n0x042d   \"Le Gestionnaire de fichiers ne peut pas crire sur le fichier ou disque destination.\"\n0x042f   \"Le Gestionnaire de fichiers ne peut pas lire le fichier ou disque source.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"Opration non valide.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"L'accs rseau est refus. Assurez-vous que vous avez les privilges rseau suffisants pour cette opration.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"Il y a eu une violation de partage. Les fichiers source ou destination sont peut-tre en cours d'utilisation.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"L'espace disque est insuffisant.\n\nSupprimez un ou plusieurs fichiers pour augmenter l'espace disque disponible et essayez  nouveau.\"\n0x0481   \"Les noms des fichiers source et destination sont les mmes.\"\n0x0482   \"Slectionnez seulement un fichier  renommer ou utilisez les caractres gnriques de MS-DOS pour renommer un groupe de fichiers avec un nom similaire (Ex: *.txt).\"\n0x0483   \"Vous ne pouvez pas renommer en un nom situ sur un disque ou rpertoire diffrent.\"\n0x0484   \"Rpertoire racine (erreur interne).\"\n0x0486   \"Le rpertoire destination est un sous-rpertoire du rpertoire source.\"\n0x0487   \"Le fichier spcifi est utilis par Windows.\"\n0x0488   \"L'accs est refus. Le fichier source est peut-tre en cours d'utilisation.\"\n0x0489   \"Le chemin d'accs est trop long.\"\n0x048a   \"Spcifiez seulement un fichier dans la zone Vers. Si vous voulez spcifier un groupe de fichiers, utilisez les caractres gnriques MS-DOS ( EX: *.txt).\"\n0x048b   \"Le nom spcifi existe dj. Essayez  nouveau avec un nom diffrent dans la zone Vers.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1,2 Mo\"\n0x0131   \"720 Ko\"\n0x0132   \"1,44 Mo\"\n0x0133   \"2,88 Mo\"\n0x0134   \"Capacit du lecteur\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360 Ko\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"La mmoire est insuffisante.\"\n0x0192   \"Vous ne pouvez pas formater le lecteur de dmarrage MS-DOS.\"\n0x0193   \"Le lecteur de dmarrage MS-DOS a une taille de secteurs non valide.\"\n0x0194   \"Le lecteur spcifi est de type inconnu.\"\n0x0199   \"Le Gestionnaire de fichiers n'a pas russi  transfrer les fichiers systme.\"\n0x019a   \"Cette disquette peut tre formate avec une capacit de %s. Voulez-vous vraiment continuer avec cette capacit?\"\n0x019b   \"Le Gestionnaire de fichiers ne peut pas formater la disquette.\n\rVrifiez que la disquette est dans le lecteur, n'est pas protge en criture, ni endommage ou de mauvaise densit.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00fe   \"&Nom du rpertoire :\"\n0x00ff   \"\\StringFileInfo\\040904E4\\\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01f4   \"Commentaires\"\n0x01f5   \"Organisation\"\n0x01f6   \"Description du fichier\"\n0x01f7   \"Nom interne\"\n0x01f8   \"Marques lgales\"\n0x01f9   \"Nom d'origine du fichier\"\n0x01fa   \"Description personnelle de compilation\"\n0x01fb   \"Nom du produit\"\n0x01fc   \"Version du produit\"\n0x01fd   \"Description spciale de compilation\"\n0x01fe   \"Langue\"\n0x01ff   \"Langues\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0222   \"Pas de fichier trouv.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0255   \"Impossible de trouver l'ordinateur spcifi.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0263   \"Impossible de trouver le rpertoire partag.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0274   \"Il y a trop de redirections rseau.\"\n0x0276   \"Mot de passe non valide.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x02b0   \"Le lecteur rseau n'est pas disponible.\"\n0x02b1   \"Une erreur s'est produite en lisant le lecteur %c:.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0f90   \"Commandes pour traiter les fichiers\"\n0x0f91   \"Commandes pour traiter les disques\"\n0x0f92   \"Commandes pour modifier l'arborescence\"\n0x0f93   \"Commandes pour dterminer l'affichage\"\n0x0f94   \"Commandes pour modifier les options\"\n0x0f9a   \"Commandes pour arranger les fentres\"\n0x0f9b   \"Commandes pour accder  l'Aide\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1005   \"Ouvre l'lment slectionn\"\n0x1006   \"Imprime un document\"\n0x1007   \"Associe un fichier  une application\"\n0x1008   \"Recherche des fichiers et rpertoires\"\n0x1009   \"Excute ou ouvre une application ou un document\"\n0x100a   \"Dplace l'lment slectionn\"\n0x100b   \"Copie des fichiers et rpertoires\"\n0x100c   \"Supprime des fichiers et rpertoires\"\n0x100d   \"Renomme un fichier ou rpertoire\"\n0x100e   \"Modifie les attributs de fichiers et affiche les proprits\"\n0x100f   \"Cre un rpertoire\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1013   \"Quitte le Gestionnaire de fichiers\"\n0x1014   \"Slectionne des fichiers et rpertoires\"\n0x1015   \"Restitue des fichiers supprims\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1069   \"Copie le contenu d'une disquette\"\n0x106a   \"Affecte ou modifie le nom de volume d'un disque\"\n0x106b   \"Formate une disquette\"\n0x106c   \"Copie les fichiers systme MS-DOS sur une disquette\"\n0x106d   \"Se connecte  un lecteur rseau\"\n0x106e   \"Se dconnecte d'un lecteur rseau\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x109b   \"Slectionne un autre lecteur\"\n0x109c   \"Connexions rseau...\"\n0x109d   \"Visualise les rpertoires partags...\"\n0x109e   \"Partage un rpertoire\"\n0x109f   \"Cesse de partager un rpertoire\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10cd   \"Affiche un autre niveau d'un rpertoire\"\n0x10ce   \"Affiche tous les niveaux d'un rpertoire\"\n0x10cf   \"Affiche tous les niveaux de tous les rpertoires\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10d0   \"Rduit tous les rpertoires d'un rpertoire slectionn\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1195   \"Contrle les messages de confirmation\"\n0x1197   \"Affiche ou masque la barre d'tat\"\n0x1198   \"Rduit le Gestionnaire de fichiers en une icne au dmarrage\"\n0x1199   \"Indique les rpertoires qui ont des sous-rpertoires\"\n0x119b   \"Affiche ou masque la barre de lecteurs\"\n0x119c   \"Affiche ou masque la barre d'outils\"\n0x119d   \"Ouvre une nouvelle fentre lorsque vous vous connectez\"\n0x119e   \"Modifie la police utilise par le Gestionnaire de fichiers\"\n0x119f   \"Enregistre la configuration lorsque vous quittez le Gestionnaire de fichiers\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1131   \"N'affiche que les noms de fichiers\"\n0x1132   \"Affiche tous les dtails des fichiers\"\n0x1133   \"Affiche des dtails partiels des fichiers\"\n0x1134   \"Trie les fichiers par nom\"\n0x1135   \"Trie les fichiers par type\"\n0x1136   \"Trie les fichiers par taille\"\n0x1137   \"Trie les fichiers par date\"\n0x1139   \"Affiche les fichiers d'un certain type\"\n0x113b   \"Affiche l'arborescence\"\n0x113c   \"Affiche le contenu du rpertoire courant\"\n0x113d   \"Affiche l'arborescence et le contenu du rpertoire courant\"\n0x113e   \"Fractionne la fentre de rpertoire ou dplace la barre de fractionnement\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x11a0   \"Personnalise la barre d'outils\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13f0   \"Met  jour le contenu d'une fentre\"\n0x13f1   \"Range les icnes\"\n0x13f2   \"Ouvre une nouvelle fentre\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13ed   \"Affiche l'index de l'Aide du Gestionnaire de fichiers\"\n0x13ee   \"Affiche l'Aide sur l'Aide\"\n0x13ef   \"Affiche des informations au sujet du Gestionnaire de fichiers\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1451   \"Affiche les contenus pour l'Aide du gestionnaire des fichiers\"\n0x1452   \"Affiche des informations sur l'utilisation de l'aide\"\n0x1453   \"Affiche les informations sur le gestionnaire des fichiers\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0fbe   \"Recherche une rubrique dans l'Aide du Gestionnaire de fichiers\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0320   \"Connecter un lecteur &rseau...\"\n0x0321   \"&Dconnecter un lecteur rseau...\"\n0x0322   \"Connexions &rseau...\"\n0x0323   \"&Partager...\"\n0x0324   \"C&esser de partager...\"\n0x0325   \"&Visualiser les rpertoires partags...\"\n0x0326   \"Res&tituer...\"\n0x0327   \"&Nouvelle fentre lors de connexions\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.French.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"&Fichier\"\n    BEGIN\n    MENUITEM    \"&Ouvrir\tEntre\", 0X0065\n    MENUITEM    \"&Dplacer...\tF7\", 0X006A\n    MENUITEM    \"&Copier...\tF8\", 0X006B\n    MENUITEM    \"Suppri&mer...\tSuppr\", 0X006C\n    MENUITEM    \"Re&nommer...\", 0X006D\n    MENUITEM    \"&Proprits...\tAlt+Entre\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"E&xcuter...\", 0X0069\n    MENUITEM    \"&Imprimer...\", 0X0066\n    MENUITEM    \"&Associer...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Cr&er un rpertoire...\", 0X006F\n    MENUITEM    \"&Rechercher...\", 0X0068\n    MENUITEM    \"&Slectionner...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Quitter\", 0X0073\n    END\n    POPUP   \"&Disque\"\n    BEGIN\n    MENUITEM    \"&Copier une disquette...\", 0X00C9\n    MENUITEM    \"&Nommer un disque...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Formater une disquette...\", 0X00CB\n    MENUITEM    \"Crer une disquette syst&me...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Slectionner un lecteur...\", 0X00FB\n    END\n    POPUP   \"Ar&bre\"\n    BEGIN\n    MENUITEM    \"Dvelopper un &niveau\t+\", 0X012D\n    MENUITEM    \"Dvelopper une &branche\t*\", 0X012E\n    MENUITEM    \"Dvelopper &tout\tCtrl+*\", 0X012F\n    MENUITEM    \"&Rduire une branche\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Indiquer l'arborescence\", 0X01F9\n    END\n    POPUP   \"&Affichage\"\n    BEGIN\n    MENUITEM    \"Arbor&escence et rpertoire\", 0X019D\n    MENUITEM    \"&Arborescence seulement\", 0X019B\n    MENUITEM    \"&Rpertoire seulement\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Fractionner\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Nom\", 0X0191\n    MENUITEM    \"Dtail&s de fichiers\", 0X0192\n    MENUITEM    \"A&utres dtails...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Trier par n&om\", 0X0194\n    MENUITEM    \"Trier par &type\", 0X0195\n    MENUITEM    \"Trier par tai&lle\", 0X0196\n    MENUITEM    \"Trier par &date\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Par type de fichiers...\", 0X0199\n    END\n    POPUP   \"&Options\"\n    BEGIN\n    MENUITEM    \"&Confirmation...\", 0X01F5\n    MENUITEM    \"&Police...\", 0X01FE\n    MENUITEM    \"Per&sonnaliser la barre d'outils...\", 0X0200\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Barre d'&outils\", 0X01FC\n    MENUITEM    \"Barre de &lecteurs\", 0X01FB\n    MENUITEM    \"&Barre d'tat\", 0X01F7\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Rduire  l'utilisation\", 0X01F8\n    MENUITEM    \"&Enregistrer la configuration en quittant\", 0X01FF\n    END\n    POPUP   \"F&entre\"\n    BEGIN\n    MENUITEM    \"&Nouvelle fentre\", 0X0452\n    MENUITEM    \"&Cascade \tMaj+F5\", 0X044D\n    MENUITEM    \"Mosaque &horizontale \", 0X044F\n    MENUITEM    \"Mosaque &verticale \tMaj+F4\", 0X044E\n    MENUITEM    \"&Rorganiser les icnes\", 0X0451\n    MENUITEM    \"&Actualiser\tF5\", 0X0450\n    END\n    POPUP   \"&?\"\n    BEGIN\n    MENUITEM    \"&Index\", 0X04B1\n    MENUITEM    \"&Rechercher l'Aide sur...\", 0X001E\n    MENUITEM    \"&Utiliser l'Aide\", 0X04B2\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&A propos du Gestionnaire de fichiers...\", 0X04B3\n    END\nEND\n\n\n145 DIALOG 0x80c8, 16, 54, 264, 149\nCAPTION \"Police\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Police :\", 1088, 0x0000, 6, 3, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 10, 12, 94, 54\n    CONTROL 0x82, \"&Style de police :\", 1089, 0x0000, 108, 3, 54, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 13, 64, 54\n    CONTROL 0x82, \"&Taille :\", 1090, 0x0000, 179, 3, 30, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 179, 13, 32, 54\n    CONTROL 0x80, \"Effets\", 1072, 0x0007, 6, 67, 84, 77\n    CONTROL 0x80, \"&Barr\", 1040, 0x0003, 10, 78, 49, 10\n    CONTROL 0x80, \"So&ulign\", 1041, 0x0003, 10, 104, 51, 10\n    CONTROL 0x80, \"&Minuscule\", 1042, 0x0003, 10, 91, 49, 10\n    CONTROL 0x82, \"&Couleur :\", 1091, 0x0000, 10, 117, 30, 8\n    CONTROL 0x85, \"\", 1139, 0x0253, 12, 128, 75, 21\n    CONTROL 0x80, \"OK\", 1, 0x0001, 218, 12, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 218, 29, 40, 14\n    CONTROL 0x80, \"Applique&r\", 1026, 0x0000, 218, 46, 40, 14\n    CONTROL 0x80, \"&Aide\", 1038, 0x0000, 218, 63, 40, 14\n    CONTROL 0x80, \"Exemple\", 1073, 0x0007, 98, 79, 160, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 134, 160, 8\n    CONTROL 0x82, \"AaBbYyZz\", 1092, 0x0081, 104, 88, 149, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 201, 86\nCAPTION \"Slectionner un lecteur\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Lecteurs :\", 245, 0x000c, 5, 5, 34, 8\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"OK\", 1, 0x0001, 155, 16, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 155, 33, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 155, 54, 40, 14\nEND\n\n10 DIALOG 0x80c8, 39, 31, 210, 69\nCAPTION \"Excuter\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 5, 6, 159, 10\n    CONTROL 0x82, \"&Ligne de commande :\", 100, 0x000c, 3, 18, 71, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 134, 12\n    CONTROL 0x80, \"Rduire  l'&utilisation\", 214, 0x0003, 4, 49, 84, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 166, 12, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 166, 29, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 166, 49, 40, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 133, 83\nCAPTION \"Slectionner\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Fichier(s) :\", -1, 0x000c, 5, 24, 34, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 41, 54, 12\n    CONTROL 0x80, \"&Slectionner\", 1, 0x0001, 71, 6, 58, 14\n    CONTROL 0x80, \"&Dslectionner\", 6, 0x0000, 71, 23, 58, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 71, 40, 58, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 71, 57, 58, 14\nEND\n\n39 DIALOG 0x80c8, 10, 18, 245, 94\nCAPTION \"Confirmer le remplacement du fichier\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 14, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 215, 10\n    CONTROL 0x82, \"Remplacer le fichier :\", 100, 0x000c, 25, 15, 71, 8\n    CONTROL 0x82, \"\", 103, 0x008c, 95, 15, 147, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 62, 27, 181, 10\n    CONTROL 0x82, \"Par le fichier :\", 100, 0x000c, 24, 39, 45, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 39, 173, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 61, 51, 182, 10\n    CONTROL 0x80, \"&Oui\", 6, 0x0001, 33, 75, 40, 14\n    CONTROL 0x80, \"&Tout\", 107, 0x0000, 79, 75, 40, 14\n    CONTROL 0x80, \"&Non\", 7, 0x0000, 125, 75, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 171, 75, 40, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 269, 60\nCAPTION \"Confirmer la suppression du fichier\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 240, 10\n    CONTROL 0x82, \"Supprimer le fichier :\", 100, 0x000c, 25, 18, 68, 8\n    CONTROL 0x82, \"\", 102, 0x008c, 93, 18, 173, 10\n    CONTROL 0x80, \"&Oui\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"&Tout\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Non\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 276, 60\nCAPTION \"Confirmer la suppression du rpertoire\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 248, 10\n    CONTROL 0x82, \"Supprimer le rpertoire :\", 100, 0x000c, 25, 18, 83, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 109, 18, 164, 10\n    CONTROL 0x80, \"&Oui\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"&Tout\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Non\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 265, 60\nCAPTION \"Confirmer le dplacement de fichier\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 236, 10\n    CONTROL 0x82, \"Dplacer le fichier :\", 100, 0x000c, 25, 18, 66, 8\n    CONTROL 0x82, \"\", 102, 0x008c, 89, 18, 172, 10\n    CONTROL 0x80, \"&Oui\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"&Tout\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Non\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 253, 60\nCAPTION \"Confirmer le changement de nom du fichier\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 223, 10\n    CONTROL 0x82, \"Renommer le fichier :\", 100, 0x000c, 25, 15, 70, 8\n    CONTROL 0x82, \"\", 102, 0x008c, 94, 15, 156, 10\n    CONTROL 0x80, \"&Oui\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"&Tout\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Non\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n11 DIALOG 0x80c8, 22, 43, 252, 63\nCAPTION \"Imprimer\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 8, 193, 10\n    CONTROL 0x82, \"&Imprimer :\", 100, 0x000c, 4, 26, 33, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 25, 160, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 11, 44, 190, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 207, 7, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 207, 24, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 207, 44, 40, 14\nEND\n\n13 DIALOG 0x80c8, 20, 46, 263, 75\nCAPTION \"Rechercher\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Rechercher :\", 100, 0x000c, 5, 8, 45, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 52, 8, 160, 12\n    CONTROL 0x82, \"A par&tir de :\", 100, 0x000c, 5, 25, 45, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 52, 25, 160, 12\n    CONTROL 0x80, \"Rechercher dans tous les &sous-rpertoires\", 232, 0x0003, 51, 44, 150, 12\n    CONTROL 0x82, \"\", 104, 0x000c, 5, 58, 200, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 217, 7, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 217, 24, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 217, 44, 40, 14\nEND\n\n14 DIALOG 0x80c8, 45, 59, 233, 79\nCAPTION \"Dplacer\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Le rpertoire courant est : N\", 101, 0x008b, 5, 6, 174, 10\n    CONTROL 0x82, \"&Vers :\", 100, 0x000c, 5, 44, 20, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 41, 44, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 30, 45, 10, 10\n    CONTROL 0x80, \"Vers le &Presse-papiers\", 256, 0x0004, 30, 61, 85, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 4, 63, 77, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 81, 63, 145, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 187, 6, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 187, 23, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 187, 40, 40, 14\n    CONTROL 0x82, \"&De :\", 100, 0x000c, 5, 24, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 41, 23, 138, 12\nEND\n\n10014 DIALOG 0x80c8, 47, 59, 231, 112\nCAPTION \"Dplacer\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Rpertoire courant : N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"&Vers :\", 100, 0x000c, 3, 38, 18, 10\n    CONTROL 0x62, \"edit\", 103, 0x0004, 37, 38, 138, 42\n    CONTROL 0x50, \"\", 256, 0x0401, 6656, 9728, 2560, 2560\n    CONTROL 0x80, \"Vers le P&resse-papiers\", 256, 0x0004, 26, 85, 85, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 86, 44, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 45, 86, 138, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 185, 23, 40, 14\n    CONTROL 0x80, \"&Parcourir\", 600, 0x0000, 185, 40, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 185, 57, 40, 14\n    CONTROL 0x82, \"&De :\", 100, 0x000c, 3, 19, 13, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n200 DIALOG 0x00c8, 36, 24, 164, 134\nCAPTION \"Slectionner un rpertoire\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x81, \"\", 1152, 0x0490, 6, 16, 90, 12\n    CONTROL 0x83, \"\", 1120, 0x0053, 12, 28, 92, 68\n    CONTROL 0x82, \"&Rpertoires :\", -1, 0x0000, 9, 6, 92, 9\n    CONTROL 0x82, \"\", 1088, 0x0000, 10, 16, 92, 9\n    CONTROL 0x83, \"\", 1121, 0x0053, 12, 28, 92, 68\n    CONTROL 0x82, \"&Lecteurs :\", 1091, 0x0000, 10, 104, 90, 9\n    CONTROL 0x85, \"\", 1137, 0x0353, 10, 114, 92, 68\n    CONTROL 0x80, \"OK\", 1, 0x0001, 108, 6, 50, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 108, 24, 50, 14\n    CONTROL 0x82, \"&Nom de fichier :\", 1090, 0x0000, 10, 6, 86, 9\n    CONTROL 0x82, \"Liste des fichiers de &type :\", 1089, 0x0000, 10, 104, 90, 9\n    CONTROL 0x85, \"\", 1136, 0x0043, 10, 114, 90, 36\n    CONTROL 0x80, \"&Aide\", 1038, 0x0000, 208, 46, 50, 14\n    CONTROL 0x80, \"Lecture &seule\", 1040, 0x0003, 208, 68, 50, 12\nEND\n\n15 DIALOG 0x80c8, 17, 38, 253, 64\nCAPTION \"Supprimer\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Le rpertoire courant est : C\", 101, 0x008c, 6, 5, 197, 10\n    CONTROL 0x82, \"&Supprimer :\", 100, 0x000c, 6, 25, 38, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 49, 25, 155, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 2, 46, 74, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 77, 46, 127, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 208, 7, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 208, 24, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 208, 44, 40, 14\nEND\n\n38 DIALOG 0x80c8, 20, 21, 213, 65\nCAPTION \"Proprits\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"%d fichiers slectionns, total %s octets\", 100, 0x000c, 5, 5, 157, 10\n    CONTROL 0x80, \"Attributs\", -1, 0x0007, 5, 18, 148, 42\n    CONTROL 0x80, \"&Lecture seule\", 215, 0x0003, 10, 29, 57, 12\n    CONTROL 0x80, \"Fi&chier cach\", 216, 0x0003, 79, 29, 57, 12\n    CONTROL 0x80, \"Fichier archi&ve\", 217, 0x0003, 10, 41, 61, 12\n    CONTROL 0x80, \"Fichier &systme\", 218, 0x0003, 79, 41, 63, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 167, 6, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 167, 23, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 167, 43, 40, 14\nEND\n\n16 DIALOG 0x80c8, 49, 25, 271, 200\nCAPTION \"Proprits pour  %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 215, 7, 51, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 215, 24, 51, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 215, 41, 50, 14\n    CONTROL 0x82, \"&Nom du fichier :\", 261, 0x000c, 4, 5, 73, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 79, 5, 131, 10\n    CONTROL 0x82, \"C&hemin d'accs :\", 100, 0x000c, 4, 18, 55, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 79, 18, 131, 10\n    CONTROL 0x82, \"Dernire modification :\", 100, 0x000c, 4, 31, 72, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 79, 31, 131, 10\n    CONTROL 0x82, \"Version :\", 258, 0x000c, 4, 44, 28, 10\n    CONTROL 0x82, \"Non indiqu(e)\", 259, 0x008c, 79, 44, 131, 10\n    CONTROL 0x82, \"C&opyright :\", -1, 0x0000, 4, 57, 39, 10\n    CONTROL 0x81, \"Non indiqu(e)\", 265, 0x0880, 79, 57, 131, 10\n    CONTROL 0x82, \"Taille :\", 260, 0x000c, 4, 70, 22, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 79, 70, 131, 10\n    CONTROL 0x80, \"Attributs\", 100, 0x0007, 4, 83, 150, 37\n    CONTROL 0x80, \"&Lecture seule\", 215, 0x0003, 9, 94, 57, 12\n    CONTROL 0x80, \"Fi&chier cach\", 216, 0x0003, 87, 94, 57, 12\n    CONTROL 0x80, \"Fichier archi&ve\", 217, 0x0003, 9, 106, 61, 12\n    CONTROL 0x80, \"Fichier &systme\", 218, 0x0003, 87, 106, 63, 12\n    CONTROL 0x80, \"&Informations sur la version\", 262, 0x0007, 4, 123, 263, 73\n    CONTROL 0x83, \"\", 263, 0x1003, 9, 136, 100, 59\n    CONTROL 0x81, \"\", 264, 0x0804, 111, 135, 151, 58\nEND\n\n17 DIALOG 0x80c8, 20, 20, 180, 63\nCAPTION \"Crer un rpertoire\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 9, 127, 10\n    CONTROL 0x82, \"&Nom :\", 100, 0x000c, 5, 26, 18, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 26, 26, 106, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 47, 127, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 135, 8, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 135, 25, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 135, 45, 40, 14\nEND\n\n10017 DIALOG 0x80c8, 20, 20, 240, 74\nCAPTION \"Crer le rpertoire\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Nom :\", 100, 0x000c, 3, 28, 20, 10\n    CONTROL 0x62, \"edit\", 201, 0x0000, 3, 40, 170, 18\n    CONTROL 0x50, \"\", 26624, 0x8c00, 768, 15360, -27136, 2560\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n47 DIALOG 0x80c8, 11, 20, 166, 64\nCAPTION \"Crer une disquette systme\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Copier les fichiers systme sur :\", -1, 0x000c, 4, 8, 105, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 39, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 119, 6, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 119, 23, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 119, 43, 40, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 157, 64\nCAPTION \"Copier une disquette\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Source :\", -1, 0x000c, 5, 8, 29, 8\n    CONTROL 0x85, \"\", 245, 0x0003, 55, 6, 40, 37\n    CONTROL 0x82, \"&Destination :\", 206, 0x000c, 5, 22, 43, 8\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 56\nCAPTION \"Copie de la disquette\"\nFONT 8, \"Helv\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"Copie de la disquette du\", 100, 0x0001, 2, 5, 126, 10\n    CONTROL 0x82, \"Lecteur A :\", 222, 0x0001, 2, 15, 126, 10\n    CONTROL 0x82, \"Lecture de la disquette source\", 243, 0x0001, 2, 26, 126, 10\n    CONTROL 0x80, \"Annuler\", 2, 0x0001, 44, 39, 44, 14\nEND\n\n23 DIALOG 0x80c8, 21, 51, 141, 63\nCAPTION \"Nommer un disque\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Nom de volume :\", 100, 0x000c, 5, 16, 56, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 85, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 97, 8, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 97, 25, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 97, 45, 40, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 207, 110\nCAPTION \"Formater une disquette\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 161, 7, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 161, 24, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 161, 44, 40, 14\n    CONTROL 0x82, \"&Disquette :\", -1, 0x000c, 5, 7, 46, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 7, 65, 40\n    CONTROL 0x82, \"&Capacit :\", 100, 0x000c, 5, 22, 49, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 55, 22, 65, 40\n    CONTROL 0x80, \"Options\", 102, 0x0007, 5, 39, 148, 64\n    CONTROL 0x82, \"&Nom de volume :\", -1, 0x000c, 11, 53, 56, 10\n    CONTROL 0x81, \"\", 201, 0x0000, 71, 53, 65, 12\n    CONTROL 0x80, \"Crer une di&squette systme\", 242, 0x0003, 11, 71, 104, 12\n    CONTROL 0x80, \"&Formatage rapide\", 244, 0x0003, 11, 85, 69, 12\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 50\nCAPTION \"Formatage de la disquette\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Formatage de la disquette\", 100, 0x0001, 2, 5, 146, 10\n    CONTROL 0x82, \"Initialisation du lecteur...\", 243, 0x0001, 2, 17, 146, 10\n    CONTROL 0x80, \"Annuler\", 2, 0x0001, 54, 30, 44, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 174, 57\nCAPTION \"Crer une disquette systme\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Copie des fichiers systme.\", 100, 0x0001, 2, 6, 170, 8\n    CONTROL 0x82, \"Choisissez Annuler pour abandonner.\", 100, 0x0001, 2, 17, 170, 8\n    CONTROL 0x80, \"Annuler\", 2, 0x0001, 66, 39, 44, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 253, 135\nCAPTION \"Connexions rseau\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Nouvelle connexion\", -1, 0x0007, 5, 3, 182, 55\n    CONTROL 0x82, \"C&hemin d'accs :\", -1, 0x0000, 10, 15, 59, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 79, 14, 100, 12\n    CONTROL 0x82, \"&Lecteur :\", -1, 0x0000, 10, 29, 31, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 79, 28, 40, 50\n    CONTROL 0x82, \"&Mot de passe :\", -1, 0x0000, 10, 43, 50, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 79, 43, 100, 12\n    CONTROL 0x82, \"Lecte&ur(s) courant(s) connect(s) :\", -1, 0x0000, 5, 62, 117, 10\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 182, 60\n    CONTROL 0x80, \"Annuler\", 2, 0x0001, 196, 7, 51, 14\n    CONTROL 0x80, \"&Connecter\", 1, 0x0000, 196, 28, 51, 14\n    CONTROL 0x80, \"&Prcdent...\", 226, 0x0000, 196, 45, 51, 14\n    CONTROL 0x80, \"Pa&rcourir...\", 227, 0x0000, 196, 62, 51, 14\n    CONTROL 0x80, \"&Dconnecter\", 255, 0x0000, 196, 79, 51, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 196, 96, 51, 14\nEND\n\n29 DIALOG 0x80c8, 28, 27, 237, 104\nCAPTION \"Connexions prcdentes\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Chemins d'accs :\", 100, 0x000c, 5, 6, 81, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 5, 18, 172, 80\n    CONTROL 0x80, \"&Slectionner\", 1, 0x0001, 183, 6, 50, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 183, 24, 50, 14\n    CONTROL 0x80, \"Suppri&mer\", 219, 0x0000, 183, 41, 50, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 183, 58, 50, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 184, 65\nCAPTION \"Autres dtails\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Dtails\", 100, 0x0007, 4, 4, 134, 55\n    CONTROL 0x80, \"Tai&lle\", 203, 0x0003, 11, 15, 46, 9\n    CONTROL 0x80, \"Date de la dernire &modification\", 204, 0x0003, 11, 25, 123, 9\n    CONTROL 0x80, \"Heure de la dernire modifica&tion\", 205, 0x0003, 11, 35, 123, 9\n    CONTROL 0x80, \"Attributs de &fichier\", 206, 0x0003, 11, 45, 76, 9\n    CONTROL 0x80, \"OK\", 1, 0x0001, 141, 8, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 141, 26, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 141, 45, 40, 14\nEND\n\n32 DIALOG 0x80c8, 20, 41, 165, 102\nCAPTION \"Par type de fichiers\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Nom :\", 100, 0x000c, 5, 8, 18, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"Type de fichiers\", 100, 0x0007, 5, 20, 94, 62\n    CONTROL 0x80, \"&Rpertoires\", 101, 0x0003, 10, 31, 50, 12\n    CONTROL 0x80, \"&Programmes\", 210, 0x0003, 10, 43, 52, 12\n    CONTROL 0x80, \"Docu&ments\", 211, 0x0003, 10, 55, 49, 12\n    CONTROL 0x80, \"A&utres fichiers\", 212, 0x0003, 10, 67, 56, 12\n    CONTROL 0x80, \"Vi&sualisation des fichiers systme/cachs\", 250, 0x0003, 10, 85, 151, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 114, 6, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 114, 23, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 114, 43, 40, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 180, 80\nCAPTION \"Confirmation\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Confirmer\", 100, 0x0007, 5, 3, 125, 73\n    CONTROL 0x80, \"&Suppressions de fichiers\", 219, 0x0003, 10, 15, 92, 12\n    CONTROL 0x80, \"Suppressions de rp&ertoires\", 220, 0x0003, 10, 27, 103, 12\n    CONTROL 0x80, \"&Remplacements de fichiers\", 221, 0x0003, 10, 39, 100, 12\n    CONTROL 0x80, \"&Oprations de la souris\", 249, 0x0003, 10, 51, 87, 12\n    CONTROL 0x80, \"Comman&des disque\", 251, 0x0003, 10, 63, 75, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 136, 6, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 136, 23, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 136, 44, 40, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 250, 51\nCAPTION \"Dplacement...\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 6, 50, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 58, 6, 188, 10\n    CONTROL 0x82, \"Vers :\", 108, 0x008b, 5, 18, 23, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 58, 18, 188, 10\n    CONTROL 0x80, \"Annuler\", 2, 0x0001, 200, 32, 40, 14\nEND\n\n36 DIALOG 0x80c8, 20, 21, 120, 58\nCAPTION \"\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Impression en cours...\", -1, 0x0001, 2, 6, 116, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 2, 20, 116, 12\n    CONTROL 0x80, \"Annuler\", 2, 0x0001, 41, 40, 40, 14\nEND\n\n12 DIALOG 0x80c8, 31, 39, 211, 96\nCAPTION \"Associer\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Fichiers avec extension :\", 99, 0x000c, 5, 8, 83, 8\n    CONTROL 0x81, \"\", 112, 0x0400, 92, 6, 35, 12\n    CONTROL 0x82, \"A&ssocier  :\", 99, 0x000c, 5, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 5, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 11, 44, 146, 40\n    CONTROL 0x80, \"OK\", 1, 0x0001, 162, 11, 46, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 162, 28, 46, 14\n    CONTROL 0x80, \"Pa&rcourir...\", 232, 0x0000, 162, 48, 46, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 162, 65, 46, 14\nEND\n\n46 DIALOG 0x80c8, 23, 28, 282, 78\nCAPTION \"Slection du fichier\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Ce chemin d'accs ne correspond pas  un nom de fichier utilisant le format MS-DOS. Entrez un nouveau nom.\", 99, 0x0000, 4, 4, 190, 20\n    CONTROL 0x82, \"&Nouveau nom :\", 99, 0x0002, 5, 56, 51, 8\n    CONTROL 0x81, \"\", 103, 0x0000, 97, 56, 133, 12\n    CONTROL 0x82, \"Chemin d'accs d'origine :\", 99, 0x0002, 5, 27, 87, 8\n    CONTROL 0x81, \"\", 102, 0x0880, 97, 27, 134, 12\n    CONTROL 0x82, \"Vers le rpertoire :\", 99, 0x0002, 5, 42, 62, 8\n    CONTROL 0x81, \"\", 101, 0x0880, 97, 42, 130, 11\n    CONTROL 0x80, \"OK\", 1, 0x0001, 235, 5, 40, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 235, 21, 40, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 235, 38, 40, 14\nEND\n\n48 DIALOG 0x80c8, 23, 13, 275, 101\nCAPTION \"Proprits pour %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 221, 6, 50, 14\n    CONTROL 0x80, \"Annuler\", 2, 0x0000, 221, 23, 50, 14\n    CONTROL 0x80, \"&Aide\", 254, 0x0000, 221, 43, 50, 14\n    CONTROL 0x82, \"&Nom du fichier :\", 261, 0x000c, 5, 8, 69, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 80, 8, 132, 10\n    CONTROL 0x82, \"C&hemin d'accs :\", 100, 0x000c, 5, 19, 63, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 80, 19, 132, 10\n    CONTROL 0x82, \"Dernire modification :\", 100, 0x000c, 5, 30, 75, 8\n    CONTROL 0x82, \"\", 204, 0x000c, 80, 30, 132, 10\n    CONTROL 0x82, \"Taille :\", 260, 0x000c, 5, 41, 22, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 78, 41, 134, 10\n    CONTROL 0x80, \"Attributs\", 100, 0x0007, 4, 52, 149, 42\n    CONTROL 0x80, \"&Lecture seule\", 215, 0x0003, 9, 64, 57, 12\n    CONTROL 0x80, \"Fi&chier cach\", 216, 0x0003, 84, 64, 57, 12\n    CONTROL 0x80, \"&Fichier archive\", 217, 0x0003, 9, 76, 61, 12\n    CONTROL 0x80, \"Fichier &systme\", 218, 0x0003, 84, 76, 63, 12\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0101   \"(Rpertoire racine)\"\n0x0102   \"(Non applicable)\"\n0x0103   \"Nom de partage: %s\"\n0x0104   \"Non partag\"\n0x0107   \"Copie les fichiers vers %s\"\n0x0108   \"Dplace les fichiers vers %s\"\n0x0109   \"Lance les fichiers avec %s\"\n0x010a   \"%s octets\"\n0x010b   \"%s Ko\"\n0x010c   \"%s Mo\"\n0x010d   \"%s Go\"\n0x010e   \"%s To\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"Quitter Windows\"\n0x0029   \"Ceci terminera votre session Windows.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"Copier une disquette\"\n0x0033   \"Insrez la disquette destination.\"\n0x0034   \"Insrez la disquette source.\"\n0x0035   \"Insrez les disquettes source et destination.\"\n0x0036   \"Formatage de la disquette destination.\"\n0x0037   \"Erreur de copie de disquette\"\n0x0038   \"Impossible de copier la disquette.\"\n0x003a   \"Les lecteurs source et destination sont incompatibles.\"\n0x003c   \"%d%% effectus\"\n0x003d   \"Cration du rpertoire racine...\"\n0x003e   \"Copie des fichiers systme...\"\n0x003f   \"Erreur de formatage de disquette\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"L'espace disque est insuffisant pour imprimer.\n\rSupprimez un ou plusieurs fichiers pour librer de l'espace et essayez  nouveau.\"\n0x00c1   \"La mmoire est insuffisante pour imprimer.\n\rFermez une ou plusieurs applications et essayez  nouveau.\"\n0x00c2   \"Erreur pendant l'impression.\n\rAssurez-vous que l'imprimante est correctement configure et slectionne.\"\n0x00c3   \"L'arborescence affiche est incomplte.\"\n0x00c5   \"La disquette destination est pleine.\nInsrez une nouvelle disquette pour continuer.\"\n0x00c6   \"Ce fichier est un fichier systme, cach, ou en lecture seule.\"\n0x00c7   \"Le Gestionnaire de fichiers ne peut effectuer un formatage rapide.\n\rVoulez-vous continuer avec un formatage normal?\"\n0x00c8   \"L'application spcifie n'est pas une application pour Windows ou pour MS-DOS.\"\n0x00c9   \"Cette application requiert une version de Microsoft Windows plus rcente.\"\n0x00ca   \"Cette application ncessite Windows.\"\n0x00cb   \"Une erreur est survenue lors de l'envoi de la commande vers l'application.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"Impossible de formater la disquette.\"\n0x0042   \"Formatage termin\"\n0x0043   \"%ld octets sur la disquette.\n%ld d'octets disponibles.\n\r\rVoulez-vous formater une autre disquette?\"\n0x0046   \"Crer une disquette systme\"\n0x0047   \"Etes-vous sr de vouloir copier les fichiers systme sur le lecteur %c?\"\n0x0048   \"Erreur du disque systme\"\n0x0049   \"Le lecteur de dmarrage MS-DOS ne contient pas de fichiers systme ou n'est pas disponible.\"\n0x004a   \"Impossible de copier les fichiers systme sur le lecteur de dmarrage MS-DOS.\"\n0x004b   \"Impossible d'ajouter les fichiers systme sur cette disquette.\n\nAssurez-vous qu'il y a une disquette formate dans le lecteur et que le loquet du lecteur est ferm.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"Le Gestionnaire de fichiers ne peut pas crer ou remplacer %s: %s\"\n0x0408   \"Le Gestionnaire de fichiers ne peut pas crer une disquette systme MS-DOS parce que vous avez install Windows NT multiboot sur votre systme. Pour faire une disquette systme, utilisez l'utilitaire SYS  l'appel MS-DOS.\"\n0x0409   \"Dsirez-vous formater la disquette maintenant, sans tranfrer le systme?\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"Erreur rseau\"\n0x0053   \"Ce lecteur contient les fichiers systme Windows et ne peut tre dconnect.\"\n0x005b   \"Le Gestionnaire de fichiers ne peut pas changer les attributs.\n\rAssurez-vous que la disquette n'est pas protg en criture.\"\n0x005c   \"Le Gestionnaire de fichiers ne peut pas crer le rpertoire.\n\rAssurez-vous que la disquette n'est pas protge en criture.\"\n0x005d   \"Le Gestionnaire de fichiers ne peut pas nommer le disque.\n\rAssurez-vous que le lecteur n'est pas protg en criture ou n'est pas un lecteur rseau. Un nom de volume ne doit pas contenir ces caractres\n[espace] * ? /  | . , ; : + = [ ] ( ) & ^ < > \"\"\n0x005f   \"Aucun fichier n'a t trouv.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"Total %d fichier(s) %s\"\n0x00b5   \"Rpertoires lus : %d \"\n0x00b6   \"%c: %s libres,  %s au total\"\n0x00b7   \"%d fichier(s) trouv(s)\"\n0x00b9   \"Fichiers slectionns\"\n0x00ba   \"Le Gestionnaire de fichiers ne peut pas se dconnecter de ce lecteur rseau parce que des fichiers sont ouverts sur ce lecteur.\"\n0x00bb   \"%d fichiers slectionns (%s)\"\n0x00bc   \"Il n'y a pas de disquette dans le lecteur %c.\nInsrez une nouvelle disquette et essayez  nouveau.\"\n0x00bd   \"La disquette dans le lecteur %c n'est pas formate.\nVoulez-vous la formater?\"\n0x00bf   \"Le fichier que vous voulez imprimer n'a pas t trouv. Assurez-vous que le chemin d'accs et le nom sont corrects.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"Le rpertoire spcifi existe dj.\"\n0x0061   \"Le contenu de ce lecteur a chang. Voulez-vous mettre  jour la fentre Rsultat de la recherche?\"\n0x0065   \"Lecteur %c: %c\"\n0x006e   \"Impossible d'excuter le programme\"\n0x006f   \"Erreur inattendue: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"Le formatage dtruira TOUTES les donnes de la disquette. Etes-vous sr de vouloir formater la disquette qui se trouve dans le lecteur %c?\"\n0x00d3   \"Confirmer le formatage de la disquette\"\n0x00d4   \"Cette opration effacera TOUTES les donnes sur la disquette destination. Voulez-vous continuer?\"\n0x00d5   \"Confirmer la copie de la disquette\"\n0x00d6   \"Ferme&r\"\n0x00da   \"Le rpertoire %s n'existe pas.\n\rVoulez-vous le crer?\"\n0x00db   \"Programmes#*.exe;*.pif;*.com;*.bat#Tout fichier (*.*)#*.*#\"\n0x00dc   \"Parcourir\"\n0x00dd   \"Excuter\"\n0x00de   \"Impossible d'imprimer le fichier\"\n0x00df   \"Impossible d'afficher l'Aide.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"La mmoire est insuffisante pour excuter l'application.\n\rFermez une ou plusieurs applications et essayez  nouveau.\"\n0x0071   \"Le Gestionnaire de fichiers ne peut pas trouver le fichier (ou un de ses composants).\n\rVrifiez que le chemin d'accs et le nom sont corrects et que toutes les bibliothques sont disponibles.\"\n0x0072   \"Le chemin d'accs spcifi n'est pas valide.\"\n0x0073   \"Il y a trop de fichiers actuellement utiliss.\n\rFermez une ou plusieurs applications ou augmentez la valeur FILES du fichier CONFIG.SYS et essayez  nouveau.\"\n0x0074   \"Il n'y a aucune application associe  ce fichier.\n\rChoisissez Fichier Associer pour crer une association.\"\n0x0075   \"Vous ne pouvez pas excuter plus d'une copie du programme demand.\"\n0x0076   \"Le Gestionnaire de fichiers ne peut pas ouvrir ou imprimer ce fichier.\n\rExcutez l'application utilise pour la cration de ce fichier et ouvrez ou imprimez-le  partir de celle-ci.\"\n0x0078   \"Confirmer l'opration de la souris\"\n0x0079   \"Voulez-vous copier les fichiers slectionns ou les rpertoires vers %s?\"\n0x007a   \"Voulez-vous dplacer les fichiers slectionns ou les rpertoires vers %s?\"\n0x007b   \"Voulez-vous excuter %s en utilisant %s comme fichier initial?\"\n0x007c   \"Gestionnaire de fichiers\"\n0x007e   \"Arborescence\"\n0x007f   \"Rsultats de la recherche: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"Les fichiers avec une extension %s sont des programmes et ne peuvent pas tre associs  une autre application.\"\n0x00e1   \"%s n'est pas un programme et ne peut pas tre associ  une extension.\"\n0x00e2   \"(Aucun)\"\n0x00e4   \"Le Gestionnaire de fichiers ne peut pas imprimer plusieurs fichiers en mme temps.\n\rSlectionnez un seul fichier et essayez  nouveau.\"\n0x00e5   \"Ce fichier ou un de ses composants est compress.\n\rUtilisez l'utilitaire MS-DOS Expand pour copier le fichier de la disquette d'installation.\"\n0x00e6   \"Une des bibliothques ncessaires pour excuter cette application est endommage. Rinstaller cette application.\"\n0x00e7   \"Ce fichier est utilis par une autre application.\"\n0x00e8   \"Le Gestionnaire de fichiers ne peut pas accder aux fichiers crs dans le rpertoire '%s'.\n\rVoulez-vous continuer?\"\n0x00e9   \"Crer le rpertoire\"\n0x00ea   \"%ld octets\"\n0x00eb   \"%s octets\"\n0x00ec   \"Vous ne pouvez pas copier des fichiers multiples ou des rpertoires dans le Presse-papiers.\n\rSlectionnez un seul fichier et essayez  nouveau.\"\n0x00ed   \"%s - %s\"\n0x00ee   \"Lecteur:\"\n0x00ef   \"%s, \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"Trop de fichiers\"\n0x0085   \"Gestionnaire de fichiers - Mmoire insuffisante\"\n0x0086   \"Impossible de lire entirement le rpertoire. Seule une partie sera affiche.\"\n0x008c   \"Rpertoire courant : %s\"\n0x008d   \"Copier\"\n0x008f   \"Renommer\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"Formater une disquette\"\n0x0092   \"Slectionnez la disquette  formater.\"\n0x0096   \"Cration:\"\n0x0097   \"Suppression...\"\n0x0098   \"Copie:\"\n0x0099   \"Changement de nom...\"\n0x009a   \"Dplacement...\"\n0x009b   \"Suppression...\"\n0x009c   \"Impression: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"Le lecteur %c n'existe pas.\"\n0x00a9   \"Copie...\"\n0x00aa   \"Suppression:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"Ouverture...\"\n0x01a5   \"Fermeture...\"\n0x01a6   \"Il y a trop de fentres de rpertoire ouvertes.\n\rFermez-en une ou plusieurs et essayez  nouveau.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"Erreur de dplacement de fichier\"\n0x03ea   \"Erreur de copie de fichier\"\n0x03eb   \"Erreur de suppression de fichier\"\n0x03ec   \"Erreur de changement de nom\"\n0x03ed   \"Erreur de slection du lecteur\"\n0x03ee   \"Erreur de lecture du rpertoire\"\n0x03ef   \"Erreur de cration du nom de volume de la disquette\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"Le Gestionnaire de fichiers ne peut pas dplacer %s:  %s\"\n0x03f4   \"Le Gestionnaire de fichiers ne peut pas copier %s:  %s\"\n0x03f5   \"Le Gestionnaire de fichiers ne peut pas supprimer %s:  %s\"\n0x03f6   \"Le Gestionnaire de fichiers ne peut pas renommer %s:  %s\"\n0x03fd   \"Le Gestionnaire de fichiers ne peut pas crer le rpertoire %s: %s\"\n0x03fe   \"Le Gestionnaire de fichiers ne peut pas supprimer le rpertoire %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Fonction MS-DOS non valide.\"\n0x0412   \"Le Gestionnaire de fichiers ne peut pas trouver le fichier spcifi.\n\rAssurez-vous que le nom et le chemin d'accs sont corrects.\"\n0x0413   \"Le Gestionnaire de fichiers ne peut pas trouver le chemin d'accs spcifi.\n\rAssurez-vous qu'il est correct.\"\n0x0414   \"Il y a trop de fichiers en cours d'utilisation.\nQuittez une ou plusieurs applications et essayez  nouveau.\"\n0x0415   \"L'accs est refus.\n\rVrifiez que le lecteur n'est pas plein ou protg en criture.\"\n0x0416   \"Descripteur de fichier non valide.\"\n0x0418   \"La mmoire est insuffisante.\n\rQuittez une ou plusieurs applications et essayez  nouveau.\"\n0x041c   \"Accs au fichier non valide.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"Le Gestionnaire de fichiers ne peut pas supprimer le rpertoire actuel (erreur interne).\"\n0x0421   \"Priphrique non valide.\"\n0x0422   \"Le rpertoire est vide.\"\n0x0423   \"La disquette est protge en criture.\n\rOtez la protection de la disquette ou utilisez-en une autre et essayez  nouveau.\"\n0x042d   \"Le Gestionnaire de fichiers ne peut pas crire sur le fichier ou disque destination.\"\n0x042f   \"Le Gestionnaire de fichiers ne peut pas lire le fichier ou disque source.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"Opration non valide.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"L'accs rseau est refus. Assurez-vous que vous avez les privilges rseau suffisants pour cette opration.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"Il y a eu une violation de partage. Les fichiers source ou destination sont peut-tre en cours d'utilisation.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"L'espace disque est insuffisant.\n\nSupprimez un ou plusieurs fichiers pour augmenter l'espace disque disponible et essayez  nouveau.\"\n0x0481   \"Les noms des fichiers source et destination sont les mmes.\"\n0x0482   \"Slectionnez seulement un fichier  renommer ou utilisez les caractres gnriques de MS-DOS pour renommer un groupe de fichiers avec un nom similaire (Ex: *.txt).\"\n0x0483   \"Vous ne pouvez pas renommer en un nom situ sur un disque ou rpertoire diffrent.\"\n0x0484   \"Rpertoire racine (erreur interne).\"\n0x0486   \"Le rpertoire destination est un sous-rpertoire du rpertoire source.\"\n0x0487   \"Le fichier spcifi est utilis par Windows.\"\n0x0488   \"L'accs est refus. Le fichier source est peut-tre en cours d'utilisation.\"\n0x0489   \"Le chemin d'accs est trop long.\"\n0x048a   \"Spcifiez seulement un fichier dans la zone Vers. Si vous voulez spcifier un groupe de fichiers, utilisez les caractres gnriques MS-DOS ( EX: *.txt).\"\n0x048b   \"Le nom spcifi existe dj. Essayez  nouveau avec un nom diffrent dans la zone Vers.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1,2 Mo\"\n0x0131   \"720 Ko\"\n0x0132   \"1,44 Mo\"\n0x0133   \"2,88 Mo\"\n0x0134   \"Capacit du lecteur\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360 Ko\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"La mmoire est insuffisante.\"\n0x0192   \"Vous ne pouvez pas formater le lecteur de dmarrage MS-DOS.\"\n0x0193   \"Le lecteur de dmarrage MS-DOS a une taille de secteurs non valide.\"\n0x0194   \"Le lecteur spcifi est de type inconnu.\"\n0x0199   \"Le Gestionnaire de fichiers n'a pas russi  transfrer les fichiers systme.\"\n0x019a   \"Cette disquette peut tre formate avec une capacit de %s. Voulez-vous vraiment continuer avec cette capacit?\"\n0x019b   \"Le Gestionnaire de fichiers ne peut pas formater la disquette.\n\rVrifiez que la disquette est dans le lecteur, n'est pas protge en criture, ni endommage ou de mauvaise densit.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00fe   \"&Nom du rpertoire :\"\n0x00ff   \"\\StringFileInfo\\040904E4\\\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01f4   \"Commentaires\"\n0x01f5   \"Organisation\"\n0x01f6   \"Description du fichier\"\n0x01f7   \"Nom interne\"\n0x01f8   \"Marques lgales\"\n0x01f9   \"Nom d'origine du fichier\"\n0x01fa   \"Description personnelle de compilation\"\n0x01fb   \"Nom du produit\"\n0x01fc   \"Version du produit\"\n0x01fd   \"Description spciale de compilation\"\n0x01fe   \"Langue\"\n0x01ff   \"Langues\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0222   \"Pas de fichier trouv.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0255   \"Impossible de trouver l'ordinateur spcifi.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0263   \"Impossible de trouver le rpertoire partag.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0274   \"Il y a trop de redirections rseau.\"\n0x0276   \"Mot de passe non valide.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x02b0   \"Le lecteur rseau n'est pas disponible.\"\n0x02b1   \"Une erreur s'est produite en lisant le lecteur %c:.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0f90   \"Commandes pour traiter les fichiers\"\n0x0f91   \"Commandes pour traiter les disques\"\n0x0f92   \"Commandes pour modifier l'arborescence\"\n0x0f93   \"Commandes pour dterminer l'affichage\"\n0x0f94   \"Commandes pour modifier les options\"\n0x0f9a   \"Commandes pour arranger les fentres\"\n0x0f9b   \"Commandes pour accder  l'Aide\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1005   \"Ouvre l'lment slectionn\"\n0x1006   \"Imprime un document\"\n0x1007   \"Associe un fichier  une application\"\n0x1008   \"Recherche des fichiers et rpertoires\"\n0x1009   \"Excute ou ouvre une application ou un document\"\n0x100a   \"Dplace l'lment slectionn\"\n0x100b   \"Copie des fichiers et rpertoires\"\n0x100c   \"Supprime des fichiers et rpertoires\"\n0x100d   \"Renomme un fichier ou rpertoire\"\n0x100e   \"Modifie les attributs de fichiers et affiche les proprits\"\n0x100f   \"Cre un rpertoire\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1013   \"Quitte le Gestionnaire de fichiers\"\n0x1014   \"Slectionne des fichiers et rpertoires\"\n0x1015   \"Restitue des fichiers supprims\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1069   \"Copie le contenu d'une disquette\"\n0x106a   \"Affecte ou modifie le nom de volume d'un disque\"\n0x106b   \"Formate une disquette\"\n0x106c   \"Copie les fichiers systme MS-DOS sur une disquette\"\n0x106d   \"Se connecte  un lecteur rseau\"\n0x106e   \"Se dconnecte d'un lecteur rseau\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x109b   \"Slectionne un autre lecteur\"\n0x109c   \"Connexions rseau...\"\n0x109d   \"Visualise les rpertoires partags...\"\n0x109e   \"Partage un rpertoire\"\n0x109f   \"Cesse de partager un rpertoire\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10cd   \"Affiche un autre niveau d'un rpertoire\"\n0x10ce   \"Affiche tous les niveaux d'un rpertoire\"\n0x10cf   \"Affiche tous les niveaux de tous les rpertoires\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10d0   \"Rduit tous les rpertoires d'un rpertoire slectionn\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1195   \"Contrle les messages de confirmation\"\n0x1197   \"Affiche ou masque la barre d'tat\"\n0x1198   \"Rduit le Gestionnaire de fichiers en une icne au dmarrage\"\n0x1199   \"Indique les rpertoires qui ont des sous-rpertoires\"\n0x119b   \"Affiche ou masque la barre de lecteurs\"\n0x119c   \"Affiche ou masque la barre d'outils\"\n0x119d   \"Ouvre une nouvelle fentre lorsque vous vous connectez\"\n0x119e   \"Modifie la police utilise par le Gestionnaire de fichiers\"\n0x119f   \"Enregistre la configuration lorsque vous quittez le Gestionnaire de fichiers\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1131   \"N'affiche que les noms de fichiers\"\n0x1132   \"Affiche tous les dtails des fichiers\"\n0x1133   \"Affiche des dtails partiels des fichiers\"\n0x1134   \"Trie les fichiers par nom\"\n0x1135   \"Trie les fichiers par type\"\n0x1136   \"Trie les fichiers par taille\"\n0x1137   \"Trie les fichiers par date\"\n0x1139   \"Affiche les fichiers d'un certain type\"\n0x113b   \"Affiche l'arborescence\"\n0x113c   \"Affiche le contenu du rpertoire courant\"\n0x113d   \"Affiche l'arborescence et le contenu du rpertoire courant\"\n0x113e   \"Fractionne la fentre de rpertoire ou dplace la barre de fractionnement\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x11a0   \"Personnalise la barre d'outils\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13f0   \"Met  jour le contenu d'une fentre\"\n0x13f1   \"Range les icnes\"\n0x13f2   \"Ouvre une nouvelle fentre\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13ed   \"Affiche l'index de l'Aide du Gestionnaire de fichiers\"\n0x13ee   \"Affiche l'Aide sur l'Aide\"\n0x13ef   \"Affiche des informations au sujet du Gestionnaire de fichiers\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1451   \"Affiche les contenus pour l'Aide du gestionnaire des fichiers\"\n0x1452   \"Affiche des informations sur l'utilisation de l'aide\"\n0x1453   \"Affiche les informations sur le gestionnaire des fichiers\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0fbe   \"Recherche une rubrique dans l'Aide du Gestionnaire de fichiers\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0320   \"Connecter un lecteur &rseau...\"\n0x0321   \"&Dconnecter un lecteur rseau...\"\n0x0322   \"Connexions &rseau...\"\n0x0323   \"&Partager...\"\n0x0324   \"C&esser de partager...\"\n0x0325   \"&Visualiser les rpertoires partags...\"\n0x0326   \"Res&tituer...\"\n0x0327   \"&Nouvelle fentre lors de connexions\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.German.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"&Datei\"\n    BEGIN\n    MENUITEM    \"&ffnen\tEingabetaste\", 0X0065\n    MENUITEM    \"&Verschieben...\tF7\", 0X006A\n    MENUITEM    \"&Kopieren...\tF8\", 0X006B\n    MENUITEM    \"&Lschen...\tEntf\", 0X006C\n    MENUITEM    \"&Umbenennen...\", 0X006D\n    MENUITEM    \"&Eigenschaften...\tAlt+Eingabetaste\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Ausfhren...\", 0X0069\n    MENUITEM    \"&Drucken...\", 0X0066\n    MENUITEM    \"Verk&npfen...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Ver&zeichnis erstellen...\", 0X006F\n    MENUITEM    \"&Suchen...\", 0X0068\n    MENUITEM    \"Dateien aus&whlen...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Beenden\", 0X0073\n    END\n    POPUP   \"Daten&trger\"\n    BEGIN\n    MENUITEM    \"Datentrger &kopieren...\", 0X00C9\n    MENUITEM    \"Datentrger &benennen...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Datentrger &formatieren...\", 0X00CB\n    MENUITEM    \"&Systemdatentrger erstellen...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Laufwerk aus&whlen...\", 0X00FB\n    END\n    POPUP   \"&Verzeichnisse\"\n    BEGIN\n    MENUITEM    \"&Nchste Ebene einblenden\t+\", 0X012D\n    MENUITEM    \"&Zweig einblenden\t*\", 0X012E\n    MENUITEM    \"Alle Ebenen &einblenden\tStrg+*\", 0X012F\n    MENUITEM    \"Zweig &ausblenden\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Verzweigungen kennzeichnen\", 0X01F9\n    END\n    POPUP   \"&Ansicht\"\n    BEGIN\n    MENUITEM    \"Struktur &und Verzeichnis\", 0X019D\n    MENUITEM    \"Nur &Struktur\", 0X019B\n    MENUITEM    \"Nur &Verzeichnis\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Tei&len\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Name\", 0X0191\n    MENUITEM    \"Alle &Dateiangaben\", 0X0192\n    MENUITEM    \"&Bestimmte Dateiangaben...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Nach N&ame\", 0X0194\n    MENUITEM    \"Nach &Typ\", 0X0195\n    MENUITEM    \"Nach &Gre\", 0X0196\n    MENUITEM    \"Nach Datu&m\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Angaben aus&whlen...\", 0X0199\n    END\n    POPUP   \"&Optionen\"\n    BEGIN\n    MENUITEM    \"&Besttigen...\", 0X01F5\n    MENUITEM    \"Schrift&art...\", 0X01FE\n    MENUITEM    \"Symbolleiste &definieren...\", 0X0200\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Sy&mbolleiste\", 0X01FC\n    MENUITEM    \"&Laufwerkleiste\", 0X01FB\n    MENUITEM    \"Status&zeile\", 0X01F7\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Symbol nach Programmstart\", 0X01F8\n    MENUITEM    \"&Einstellungen beim Beenden speichern\", 0X01FF\n    END\n    POPUP   \"&Fenster\"\n    BEGIN\n    MENUITEM    \"Neues &Fenster\", 0X0452\n    MENUITEM    \"ber&lappend\tUmschalt+F5\", 0X044D\n    MENUITEM    \"&Untereinander\", 0X044F\n    MENUITEM    \"&Nebeneinander\tUmschalt+F4\", 0X044E\n    MENUITEM    \"&Symbole anordnen\", 0X0451\n    MENUITEM    \"&Aktualisieren\tF5\", 0X0450\n    END\n    POPUP   \"&Hilfe\"\n    BEGIN\n    MENUITEM    \"&Inhalt\", 0X04B1\n    MENUITEM    \"&Suchen...\", 0X001E\n    MENUITEM    \"&Hilfe benutzen\", 0X04B2\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Inf&o...\", 0X04B3\n    END\nEND\n\n\n145 DIALOG 0x80c8, 13, 54, 304, 136\nCAPTION \"Schriftart\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Schrift&art:\", 1088, 0x0000, 6, 3, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 13, 94, 54\n    CONTROL 0x82, \"Schrifts&til:\", 1089, 0x0000, 108, 3, 44, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 13, 64, 54\n    CONTROL 0x82, \"&Schriftgre:\", 1090, 0x0000, 179, 3, 43, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 179, 13, 43, 54\n    CONTROL 0x80, \"Darstellung\", 1072, 0x0007, 6, 72, 94, 61\n    CONTROL 0x80, \"&Durchgestrichen\", 1040, 0x0003, 10, 82, 49, 10\n    CONTROL 0x80, \"&Unterstrichen\", 1041, 0x0003, 10, 94, 67, 10\n    CONTROL 0x80, \"&Kleinbuchstaben\", 1042, 0x0003, 10, 82, 67, 10\n    CONTROL 0x82, \"&Farbe:\", 1091, 0x0000, 10, 106, 30, 9\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 116, 75, 50\n    CONTROL 0x80, \"OK\", 1, 0x0001, 243, 6, 55, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 243, 23, 55, 14\n    CONTROL 0x80, \"&Zuweisen\", 1026, 0x0000, 243, 40, 55, 14\n    CONTROL 0x80, \"&Hilfe\", 1038, 0x0000, 243, 57, 55, 14\n    CONTROL 0x80, \"Muster\", 1073, 0x0007, 108, 72, 190, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 108, 124, 190, 9\n    CONTROL 0x82, \"AaBbYyZz\", 1092, 0x0081, 117, 81, 172, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 207, 86\nCAPTION \"Laufwerk auswhlen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Laufwerke:\", 245, 0x000c, 5, 5, 41, 9\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 64\n    CONTROL 0x80, \"OK\", 1, 0x0001, 155, 6, 45, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 155, 23, 45, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 155, 44, 45, 14\nEND\n\n10 DIALOG 0x80c8, 14, 12, 211, 63\nCAPTION \"Ausfhren\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 4, 6, 150, 10\n    CONTROL 0x82, \"Befehls&zeile:\", 100, 0x000c, 4, 19, 60, 9\n    CONTROL 0x81, \"\", 201, 0x0480, 4, 29, 134, 12\n    CONTROL 0x80, \"Als Sy&mbol\", 214, 0x0003, 4, 45, 71, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 161, 6, 45, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 161, 23, 45, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 161, 43, 45, 14\nEND\n\n44 DIALOG 0x80c8, 36, 23, 146, 81\nCAPTION \"Dateien auswhlen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Datei(en):\", -1, 0x000c, 4, 19, 60, 9\n    CONTROL 0x81, \"\", 201, 0x0480, 4, 29, 60, 12\n    CONTROL 0x80, \"Aus&whlen\", 1, 0x0001, 74, 6, 69, 14\n    CONTROL 0x80, \"Auswahl &aufheben\", 6, 0x0000, 74, 23, 69, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 74, 40, 69, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 74, 63, 69, 14\nEND\n\n39 DIALOG 0x80c8, 10, 20, 270, 95\nCAPTION \"Dateiberschreiben besttigen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 241, 10\n    CONTROL 0x82, \"berschreibe Datei:\", 100, 0x000c, 25, 17, 67, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 95, 17, 165, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 95, 27, 170, 10\n    CONTROL 0x82, \"Mit Datei:\", 100, 0x000c, 25, 39, 49, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 95, 39, 165, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 95, 49, 170, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 33, 73, 40, 14\n    CONTROL 0x80, \"&Alle berschreiben\", 107, 0x0000, 79, 73, 70, 14\n    CONTROL 0x80, \"&Nein\", 7, 0x0000, 155, 73, 40, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 201, 73, 40, 14\nEND\n\n40 DIALOG 0x80c8, 29, 36, 270, 60\nCAPTION \"Dateilschen besttigen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 237, 10\n    CONTROL 0x82, \"Lsche Datei:\", 100, 0x000c, 25, 19, 46, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 73, 19, 185, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 25, 41, 49, 14\n    CONTROL 0x80, \"&Alle lschen\", 107, 0x0000, 83, 41, 49, 14\n    CONTROL 0x80, \"&Nein\", 7, 0x0000, 141, 41, 49, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 199, 41, 49, 14\nEND\n\n41 DIALOG 0x80c8, 11, 20, 270, 60\nCAPTION \"Verzeichnislschen besttigen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 237, 10\n    CONTROL 0x82, \"Lsche Verzeichnis:\", 100, 0x000c, 25, 19, 65, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 92, 19, 171, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 25, 41, 49, 14\n    CONTROL 0x80, \"&Alle lschen\", 107, 0x0000, 82, 41, 49, 14\n    CONTROL 0x80, \"&Nein\", 7, 0x0000, 139, 41, 49, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 196, 41, 49, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 277, 60\nCAPTION \"Dateiverschieben besttigen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 245, 10\n    CONTROL 0x82, \"Verschiebe Datei:\", 100, 0x000c, 25, 18, 57, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 84, 18, 186, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 6, 41, 63, 14\n    CONTROL 0x80, \"&Alle verschieben\", 107, 0x0000, 73, 41, 63, 14\n    CONTROL 0x80, \"&Nein\", 7, 0x0000, 140, 41, 63, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 207, 41, 63, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 289, 60\nCAPTION \"Dateiumbenennen besttigen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 257, 10\n    CONTROL 0x82, \"Benenne Datei um:\", 100, 0x000c, 25, 18, 61, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 88, 18, 194, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 7, 41, 65, 14\n    CONTROL 0x80, \"&Alle umbenennen\", 107, 0x0000, 77, 41, 65, 14\n    CONTROL 0x80, \"&Nein\", 7, 0x0000, 147, 41, 65, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 217, 41, 65, 14\nEND\n\n11 DIALOG 0x80c8, 20, 20, 251, 62\nCAPTION \"Drucken\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 4, 5, 190, 10\n    CONTROL 0x82, \"&Drucken:\", 100, 0x000c, 4, 20, 31, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 156, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 4, 36, 190, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 202, 6, 45, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 202, 23, 45, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 202, 43, 45, 14\nEND\n\n13 DIALOG 0x80c8, 21, 20, 272, 64\nCAPTION \"Suchen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Suchen nach:\", 100, 0x000c, 4, 7, 47, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 53, 5, 160, 12\n    CONTROL 0x82, \"&Beginnen in:\", 100, 0x000c, 4, 22, 47, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 53, 20, 160, 12\n    CONTROL 0x80, \"&Alle Unterverzeichnisse durchsuchen\", 232, 0x0003, 53, 34, 133, 12\n    CONTROL 0x82, \"\", 104, 0x000c, 5, 50, 200, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 223, 4, 45, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 223, 21, 45, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 223, 41, 45, 14\nEND\n\n14 DIALOG 0x80c8, 47, 59, 238, 62\nCAPTION \"Verschieben\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Aktuelles Verzeichnis: N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"&Nach:\", 100, 0x000c, 3, 33, 20, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 37, 32, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 25, 33, 10, 10\n    CONTROL 0x80, \"In die &Zwischenablage kopieren\", 256, 0x0004, 25, 47, 150, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 4, 48, 50, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 54, 48, 128, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 189, 7, 45, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 189, 23, 45, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 189, 44, 45, 14\n    CONTROL 0x82, \"&Von:\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n10014 DIALOG 0x80c8, 47, 59, 236, 100\nCAPTION \"Verschieben\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Aktuelles Verzeichnis: N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"&Nach:\", 100, 0x000c, 3, 38, 20, 10\n    CONTROL 0x62, \"edit\", 103, 0x0004, 37, 38, 138, 42\n    CONTROL 0x50, \"\", 256, 0x0401, 6656, 9728, 2560, 2560\n    CONTROL 0x80, \"In die &Zwischenablage kopieren\", 256, 0x0004, 26, 84, 149, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 84, 40, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 45, 84, 138, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 182, 6, 48, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 182, 23, 48, 14\n    CONTROL 0x80, \"&Durchsuchen\", 600, 0x0000, 182, 40, 48, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 182, 58, 48, 14\n    CONTROL 0x82, \"&Von:\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n200 DIALOG 0x00c8, 36, 24, 164, 134\nCAPTION \"Verzeichnis auswhlen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x81, \"\", 1152, 0x0490, 6, 16, 90, 12\n    CONTROL 0x83, \"\", 1120, 0x0053, 12, 28, 84, 68\n    CONTROL 0x82, \"&Verzeichnisse:\", -1, 0x0000, 6, 6, 92, 9\n    CONTROL 0x82, \"\", 1088, 0x0000, 10, 16, 92, 9\n    CONTROL 0x83, \"\", 1121, 0x0053, 10, 28, 92, 68\n    CONTROL 0x82, \"&Laufwerke:\", 1091, 0x0000, 10, 102, 92, 9\n    CONTROL 0x85, \"\", 1137, 0x0353, 10, 112, 92, 68\n    CONTROL 0x80, \"OK\", 1, 0x0001, 108, 6, 50, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 108, 24, 50, 14\n    CONTROL 0x82, \"Datei&name:\", 1090, 0x0000, 6, 6, 76, 9\n    CONTROL 0x82, \"Zeige Dateien des &Typs an:\", 1089, 0x0000, 10, 102, 92, 9\n    CONTROL 0x85, \"\", 1136, 0x0043, 10, 112, 90, 36\n    CONTROL 0x80, \"&Hilfe\", 1038, 0x0000, 208, 46, 50, 14\n    CONTROL 0x80, \"&Schreibgeschtzt\", 1040, 0x0003, 208, 68, 50, 12\nEND\n\n15 DIALOG 0x80c8, 20, 20, 252, 62\nCAPTION \"Lschen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Aktuelles Verzeichnis: C\", 101, 0x008c, 3, 5, 193, 10\n    CONTROL 0x82, \"&Lschen:\", 100, 0x000c, 3, 20, 35, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 40, 19, 155, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 35, 35, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 40, 35, 155, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 203, 6, 45, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 203, 23, 45, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 203, 43, 45, 14\nEND\n\n38 DIALOG 0x80c8, 23, 35, 250, 65\nCAPTION \"Eigenschaften\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"%d Dateien ausgewhlt, insgesamt %s Byte\", 100, 0x000c, 5, 5, 188, 10\n    CONTROL 0x80, \"Dateiattribute\", -1, 0x0007, 5, 18, 166, 42\n    CONTROL 0x80, \"&Schreibgeschtzt\", 215, 0x0003, 10, 29, 69, 12\n    CONTROL 0x80, \"&Versteckt\", 216, 0x0003, 102, 29, 52, 12\n    CONTROL 0x80, \"&Archiv\", 217, 0x0003, 10, 41, 69, 12\n    CONTROL 0x80, \"Sys&tem\", 218, 0x0003, 102, 41, 52, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 50, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 197, 23, 50, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 197, 43, 50, 14\nEND\n\n16 DIALOG 0x80c8, 34, 38, 255, 200\nCAPTION \"Eigenschaften von %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 194, 6, 57, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 194, 23, 57, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 194, 40, 57, 14\n    CONTROL 0x82, \"Datei&name:\", 261, 0x000c, 4, 5, 45, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 62, 5, 130, 10\n    CONTROL 0x82, \"&Pfad:\", 100, 0x000c, 4, 16, 43, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 62, 16, 130, 10\n    CONTROL 0x82, \"Letzte nderung:\", 100, 0x000c, 4, 27, 57, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 62, 27, 130, 10\n    CONTROL 0x82, \"Version:\", 258, 0x000c, 4, 38, 49, 10\n    CONTROL 0x82, \"Nicht gekennzeichnet\", 259, 0x008c, 62, 38, 130, 10\n    CONTROL 0x82, \"&Copyright:\", -1, 0x0000, 4, 49, 45, 10\n    CONTROL 0x81, \"Nicht gekennzeichnet\", 265, 0x0880, 62, 49, 130, 10\n    CONTROL 0x82, \"Gre:\", 260, 0x000c, 4, 61, 47, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 62, 61, 130, 10\n    CONTROL 0x80, \"Dateiattribute\", 100, 0x0007, 4, 75, 135, 45\n    CONTROL 0x80, \"&Schreibgeschtzt\", 215, 0x0003, 12, 88, 69, 12\n    CONTROL 0x80, \"&Versteckt\", 216, 0x0003, 87, 88, 49, 14\n    CONTROL 0x80, \"&Archiv\", 217, 0x0003, 12, 104, 70, 12\n    CONTROL 0x80, \"Sys&tem\", 218, 0x0003, 87, 104, 49, 14\n    CONTROL 0x80, \"&Informationen zur Version\", 262, 0x0007, 4, 126, 226, 72\n    CONTROL 0x83, \"\", 263, 0x1003, 9, 137, 91, 58\n    CONTROL 0x81, \"\", 264, 0x0804, 103, 137, 124, 58\nEND\n\n17 DIALOG 0x80c8, 20, 20, 208, 61\nCAPTION \"Verzeichnis erstellen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 150, 10\n    CONTROL 0x82, \"&Name:\", 100, 0x000c, 3, 23, 22, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 28, 22, 120, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 46, 150, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 160, 6, 45, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 160, 23, 45, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 160, 43, 45, 14\nEND\n\n10017 DIALOG 0x80c8, 20, 20, 240, 74\nCAPTION \"Verzeichnis erstellen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Name:\", 100, 0x000c, 3, 28, 20, 10\n    CONTROL 0x62, \"edit\", 201, 0x0000, 3, 40, 170, 18\n    CONTROL 0x50, \"\", 26624, 0x8c00, 768, 15360, -27136, 2560\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 215, 62\nCAPTION \"Systemdatentrger erstellen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Kopieren der Systemdateien auf Datentrger in:\", -1, 0x000c, 5, 8, 156, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 57, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 166, 6, 45, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 166, 23, 45, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 166, 43, 45, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 177, 62\nCAPTION \"Datentrger kopieren\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Quelldatentrger in:\", -1, 0x000c, 5, 7, 66, 10\n    CONTROL 0x85, \"\", 245, 0x0003, 73, 5, 40, 37\n    CONTROL 0x82, \"&Zieldatentrger in:\", 206, 0x000c, 5, 22, 66, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 73, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 127, 5, 45, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 127, 22, 45, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 127, 42, 45, 14\nEND\n\n22 DIALOG 0x90c8, 33, 41, 130, 69\nCAPTION \"Datentrger kopieren\"\nFONT 8, \"Helv\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"wird kopiert.\", 100, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \"Der Datentrger in Laufwerk A:\", 222, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \"Der Quelldatentrger wird gelesen.\", 243, 0x0001, 0, 26, 130, 19\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0001, 42, 49, 45, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 165, 63\nCAPTION \"Datentrger benennen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Datentrgerbezeichnung:\", 100, 0x000c, 5, 15, 100, 9\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 100, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 115, 6, 45, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 115, 23, 45, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 115, 43, 45, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 197, 96\nCAPTION \"Datentrger formatieren\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 147, 4, 45, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 147, 21, 45, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 147, 41, 45, 14\n    CONTROL 0x82, \"&Datentrger in:\", -1, 0x000c, 5, 7, 62, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 68, 4, 65, 40\n    CONTROL 0x82, \"Speicher&kapazitt:\", 100, 0x000c, 5, 20, 62, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 68, 19, 65, 40\n    CONTROL 0x80, \"Optionen\", 102, 0x0007, 5, 39, 128, 53\n    CONTROL 0x82, \"&Bezeichnung:\", -1, 0x000c, 11, 51, 46, 10\n    CONTROL 0x81, \"\", 201, 0x0000, 58, 49, 63, 12\n    CONTROL 0x80, \"&Systemdatentrger erstellen\", 242, 0x0003, 11, 62, 103, 12\n    CONTROL 0x80, \"&QuickFormat\", 244, 0x0003, 11, 76, 103, 12\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 61\nCAPTION \"Datentrger formatieren\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Der Datentrger wird jetzt formatiert.\", 100, 0x0001, 0, 5, 150, 10\n    CONTROL 0x82, \"Das Laufwerk wird initialisiert...\", 243, 0x0001, 0, 17, 150, 20\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0001, 52, 41, 45, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 174, 74\nCAPTION \"Systemdatentrger erstellen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Die Systemdateien werden jetzt kopiert.\", 100, 0x0001, 0, 6, 174, 8\n    CONTROL 0x82, \"Whlen Sie 'Abbrechen', wenn Sie den Vorgang abbrechen mchten.\", 100, 0x0001, 0, 18, 174, 31\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0001, 65, 54, 44, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 281, 135\nCAPTION \"Netzwerkverbindungen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Neue Verbindung\", -1, 0x0007, 5, 3, 170, 55\n    CONTROL 0x82, \"&Netzwerkpfad:\", -1, 0x0000, 10, 16, 48, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 61, 14, 104, 12\n    CONTROL 0x82, \"&Laufwerk:\", -1, 0x0000, 10, 30, 48, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 61, 28, 39, 100\n    CONTROL 0x82, \"&Kennwort:\", -1, 0x0000, 10, 44, 48, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 61, 42, 104, 12\n    CONTROL 0x82, \"&Aktuelle Verbindungen:\", -1, 0x0000, 5, 63, 120, 9\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 169, 60\n    CONTROL 0x80, \"&Schlieen\", 2, 0x0001, 184, 6, 93, 14\n    CONTROL 0x80, \"&Verbinden\", 1, 0x0000, 184, 27, 93, 14\n    CONTROL 0x80, \"&Bisherige Verbindungen...\", 226, 0x0000, 184, 44, 93, 14\n    CONTROL 0x80, \"&Durchsuchen...\", 227, 0x0000, 184, 61, 93, 14\n    CONTROL 0x80, \"&Trennen\", 255, 0x0000, 184, 78, 93, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 184, 95, 93, 14\nEND\n\n29 DIALOG 0x80c8, 30, 30, 232, 99\nCAPTION \"Bisherige Netzwerkverbindungen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Netzwerkpfade:\", 100, 0x000c, 4, 3, 69, 9\n    CONTROL 0x83, \"\", 226, 0x0003, 4, 14, 172, 80\n    CONTROL 0x80, \"&Auswhlen\", 1, 0x0001, 183, 5, 45, 14\n    CONTROL 0x80, \"Schlieen\", 2, 0x0000, 183, 23, 45, 14\n    CONTROL 0x80, \"&Lschen\", 219, 0x0000, 183, 40, 45, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 183, 57, 45, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 181, 65\nCAPTION \"Bestimmte Dateiangaben\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Angaben\", 100, 0x0007, 4, 4, 117, 55\n    CONTROL 0x80, \"&Gre\", 203, 0x0003, 11, 15, 106, 10\n    CONTROL 0x80, \"&Datum der letzten nderung\", 204, 0x0003, 11, 25, 106, 10\n    CONTROL 0x80, \"&Uhrzeit der letzten nderung\", 205, 0x0003, 11, 35, 106, 10\n    CONTROL 0x80, \"Datei&attribute\", 206, 0x0003, 11, 45, 106, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 132, 6, 45, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 132, 23, 45, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 132, 43, 45, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 159, 102\nCAPTION \"Angaben auswhlen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Name:\", 100, 0x000c, 5, 8, 23, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"Dateityp\", 100, 0x0007, 5, 20, 93, 62\n    CONTROL 0x80, \"&Verzeichnisse\", 101, 0x0003, 10, 31, 74, 12\n    CONTROL 0x80, \"&Programme\", 210, 0x0003, 10, 43, 74, 12\n    CONTROL 0x80, \"&Dokumente\", 211, 0x0003, 10, 55, 74, 12\n    CONTROL 0x80, \"&Andere Dateien\", 212, 0x0003, 10, 67, 74, 12\n    CONTROL 0x80, \"Versteckte/Sys&temdateien anzeigen\", 250, 0x0003, 5, 85, 150, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 45, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 110, 23, 45, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 110, 43, 45, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 203, 80\nCAPTION \"Besttigen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Besttigung einholen vor\", 100, 0x0007, 5, 3, 138, 73\n    CONTROL 0x80, \"Lschen von &Dateien\", 219, 0x0003, 10, 15, 123, 12\n    CONTROL 0x80, \"Lschen von &Verzeichnissen\", 220, 0x0003, 10, 27, 123, 12\n    CONTROL 0x80, \"ber&schreiben von Dateien\", 221, 0x0003, 10, 39, 123, 12\n    CONTROL 0x80, \"Ausfhren von &Mausaktionen\", 249, 0x0003, 10, 51, 123, 12\n    CONTROL 0x80, \"Ausfhren von Datentrger&befehlen\", 251, 0x0003, 10, 63, 128, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 154, 6, 45, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 154, 23, 45, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 154, 44, 45, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 250, 46\nCAPTION \"Verschieben...\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 5, 49, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 55, 5, 192, 10\n    CONTROL 0x82, \"Nach:\", 108, 0x008b, 5, 15, 49, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 55, 15, 192, 10\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0001, 200, 28, 45, 14\nEND\n\n36 DIALOG 0x80c8, 20, 20, 138, 55\nCAPTION \"\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Datei wird gedruckt...\", -1, 0x0001, 32, 6, 72, 8\n    CONTROL 0x82, \"\", 100, 0x0081, 0, 14, 138, 10\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0001, 46, 35, 45, 14\nEND\n\n12 DIALOG 0x80c8, 32, 39, 234, 91\nCAPTION \"Verknpfen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Dateien mit Dateinamen&erweiterung:\", 99, 0x000c, 4, 8, 119, 10\n    CONTROL 0x81, \"\", 112, 0x0400, 124, 6, 35, 12\n    CONTROL 0x82, \"&Verknpfen mit:\", 99, 0x000c, 4, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 4, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 10, 44, 146, 40\n    CONTROL 0x80, \"OK\", 1, 0x0001, 171, 6, 59, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 171, 23, 59, 14\n    CONTROL 0x80, \"&Durchsuchen...\", 232, 0x0000, 171, 43, 59, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 171, 60, 59, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 246, 100\nCAPTION \"Dateinamen auswhlen\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Diese Pfadangabe entspricht nicht dem MS-DOS-Format fr Dateinamen. Geben Sie einen neuen Namen ein.\", 99, 0x0000, 5, 4, 186, 27\n    CONTROL 0x82, \"&Neuer Name:\", 99, 0x0002, 4, 82, 50, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 57, 80, 126, 12\n    CONTROL 0x82, \"Ursprnglicher Pfad:\", 99, 0x0002, 5, 34, 50, 18\n    CONTROL 0x81, \"\", 102, 0x0880, 57, 42, 126, 10\n    CONTROL 0x82, \"Nach Verzeichnis:\", 99, 0x0002, 4, 53, 50, 18\n    CONTROL 0x81, \"\", 101, 0x0880, 57, 61, 126, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 196, 4, 45, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 196, 20, 45, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 196, 38, 45, 14\nEND\n\n48 DIALOG 0x80c8, 23, 13, 254, 107\nCAPTION \"Eigenschaften von %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 194, 6, 57, 14\n    CONTROL 0x80, \"Abbrechen\", 2, 0x0000, 194, 23, 57, 14\n    CONTROL 0x80, \"&Hilfe\", 254, 0x0000, 194, 43, 57, 14\n    CONTROL 0x82, \"Datei&name:\", 261, 0x000c, 5, 5, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 66, 5, 122, 10\n    CONTROL 0x82, \"&Pfad:\", 100, 0x000c, 5, 16, 51, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 66, 16, 122, 10\n    CONTROL 0x82, \"Letzte nderung:\", 100, 0x000c, 5, 27, 59, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 66, 27, 122, 10\n    CONTROL 0x82, \"Gre:\", 260, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 66, 38, 122, 10\n    CONTROL 0x80, \"Dateiattribute\", 100, 0x0007, 4, 52, 127, 42\n    CONTROL 0x80, \"&Schreibgeschtzt\", 215, 0x0003, 9, 64, 69, 12\n    CONTROL 0x80, \"&Versteckt\", 216, 0x0003, 81, 64, 45, 12\n    CONTROL 0x80, \"&Archiv\", 217, 0x0003, 9, 76, 52, 12\n    CONTROL 0x80, \"Sys&tem\", 218, 0x0003, 81, 76, 41, 12\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0101   \"(Stammverzeichnis)\"\n0x0102   \"(Nicht anwendbar)\"\n0x0103   \"Freigegeben als %s\"\n0x0104   \"Nicht freigegeben\"\n0x0107   \"Datei(en) kopieren nach %s\"\n0x0108   \"Datei(en) verschieben nach %s\"\n0x0109   \"Datei(en) ausfhren mit %s\"\n0x010a   \"%s Byte\"\n0x010b   \"%s KB\"\n0x010c   \"%s MB\"\n0x010d   \"%s GB\"\n0x010e   \"%s TB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"Windows beenden\"\n0x0029   \"Hiermit beenden Sie Ihre Windows-Sitzung.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"Datentrger kopieren\"\n0x0033   \"Legen Sie den Zieldatentrger ein.\"\n0x0034   \"Legen Sie den Quelldatentrger ein.\"\n0x0035   \"Legen Sie den Quell- und den Zieldatentrger ein.\"\n0x0036   \"Formatiert den Zieldatentrger.\"\n0x0037   \"Fehler beim Datentrgerkopieren\"\n0x0038   \"Das Kopieren des Datentrgers ist nicht mglich.\"\n0x003a   \"Das Quell- und das Ziellaufwerk sind inkompatibel.\"\n0x003c   \"%d %% bearbeitet\"\n0x003d   \"Das Stammverzeichnis wird angelegt...\"\n0x003e   \"Die Systemdateien werden kopiert...\"\n0x003f   \"Fehler beim Formatieren\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"Nicht gengend Speicherplatz auf dem Datentrger, um zu drucken.\n\nLschen Sie eine oder mehrere Dateien, und versuchen Sie es erneut.\"\n0x00c1   \"Nicht gengend Arbeitsspeicher, um zu drucken.\n\nSchlieen Sie eine oder mehrere Anwendungen, und versuchen Sie es erneut.\"\n0x00c2   \"Whrend des Druckens ist ein Fehler aufgetreten.\n\nVergewissern Sie sich, da der Drucker richtig konfiguriert und selektiert ist.\"\n0x00c3   \"Unvollstndige Anzeige der Verzeichnisstruktur\"\n0x00c5   \"Die Speicherkapazitt des Ziellaufwerks ist erschpft.\n\nLegen Sie einen neuen Datentrger ein, um fortzufahren.\"\n0x00c6   \"Dies ist eine System-, eine versteckte oder eine schreibgeschtzte Datei.\"\n0x00c7   \"Der Datei-Manager kann keine schnelle Formatierung durchfhren.\n\nMchten Sie mit standardmigem Formatieren fortsetzen?\"\n0x00c8   \"Die angegebene Anwendung ist keine auf Windows- oder auf MS-DOS basierende Anwendung.\"\n0x00c9   \"Diese Anwendung bentigt eine neuere Version von Microsoft Windows.\"\n0x00ca   \"Diese Anwendung erfordert Windows.\"\n0x00cb   \"Fehler beim Senden des Befehls an die Anwendung.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"Der Datentrger kann nicht formatiert werden.\"\n0x0042   \"Formatieren abgeschlossen\"\n0x0043   \"%ld Byte Speicherplatz insgesamt\n%ld Byte Speicherplatz verfgbar\n\nMchten Sie einen weiteren Datentrger formatieren?\"\n0x0046   \"Systemdatentrger erstellen\"\n0x0047   \"Sind Sie sicher, da Sie die Systemdateien auf den Datentrger in Laufwerk %c: kopieren mchten?\"\n0x0048   \"Systemdatentrgerfehler\"\n0x0049   \"Das MS-DOS-Startlaufwerk enthlt keine Systemdateien oder ist nicht verfgbar.\"\n0x004a   \"Auf das MS-DOS-Startlaufwerk knnen keine Systemdateien kopiert werden.\"\n0x004b   \"Auf diesen Datentrger knnen keine Systemdateien kopiert werden.\n\nVergewissern Sie sich, da in das Laufwerk ein formatierter Datentrger eingelegt wurde und das Laufwerk verriegelt ist.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"Der Datei-Manager kann %s nicht erzeugen oder ersetzen. %s\"\n0x0408   \"Datei-Manager kann keine MS-DOS-Systemdiskette anlegen, da Windows NT-multiboot auf Ihrem System installiert ist. Benutzen Sie das SYS-Dienstprogramm in der MS-DOS Befehlszeile, um eine Systemdiskette zu erstellen.\"\n0x0409   \"Mchten Sie die Diskette formatieren, ohne das System zu bertragen?\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"Netzwerkfehler\"\n0x0053   \"Dieses Laufwerk enthlt die Windows-Systemdateien und kann nicht getrennt werden.\"\n0x005b   \"Der Datei-Manager kann die Attribute nicht ndern.\n\nVergewissern Sie sich, da der Datentrger nicht schreibgeschtzt ist.\"\n0x005c   \"Der Datei-Manager kann dieses Verzeichnis nicht erstellen.\n\nVergewissern Sie sich, da der Datentrger nicht schreibgeschtzt ist.\"\n0x005d   \"Der Datentrger kann nicht umbenannt werden.\n\nVergewissern Sie sich, da der er nicht schreibgeschtzt und kein Netzwerklaufwerk ist und da der Name keines der folgenden unzulssigen Zeichen enthlt.\n[LEER] * ? / \\ | . , ; : + = [ ] ( ) & ^ < > \" \"\n0x005f   \"Es wurden keine entsprechenden Dateien gefunden.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"%d Datei(en) (%s)\"\n0x00b5   \"Gelesene Verzeichnisse: %d \"\n0x00b6   \"%c: %s von %s frei\"\n0x00b7   \"%d Datei(en) gefunden\"\n0x00b9   \"die ausgewhlten Dateien\"\n0x00ba   \"Der Datei-Manager konnte das Netzwerklaufwerk nicht trennen, da noch Dateien geffnet sind.\"\n0x00bb   \"%d Datei(en) (%s) ausgewhlt\"\n0x00bc   \"In Laufwerk %c ist kein Datentrger eingelegt.\n\nLegen Sie einen Datentrger ein, und versuchen Sie es erneut.\"\n0x00bd   \"Der Datentrger in Laufwerk %c ist nicht formatiert.\n\nMchten Sie, da der Datentrger jetzt formatiert wird?\"\n0x00bf   \"Die auszudruckende Datei kann nicht gefunden werden. Vergewissern Sie sich, da der angegebene Pfad- und Dateiname richtig ist.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"Das angegebene Verzeichnis besteht bereits.\"\n0x0061   \"Der Inhalt des Laufwerks hat sich gendert. Mchten Sie, da das Fenster \"Suchergebnis\" aktualisiert wird?\"\n0x0065   \"Laufwerk %c:%c\"\n0x006e   \"Programmausfhrungsfehler\"\n0x006f   \"Unerwarteter Fehler: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"Das Formatieren lscht ALLE Daten auf dem Datentrger. Mchten Sie tatschlich den Datentrger in Laufwerk %c: formatieren?\"\n0x00d3   \"Datentrgerformatieren besttigen\"\n0x00d4   \"Die Ausfhrung dieser Funktion lscht ALLE Daten auf dem Zieldatentrger. Mchten Sie fortsetzen?\"\n0x00d5   \"Datentrgerkopieren besttigen\"\n0x00d6   \"Sch&lieen\"\n0x00da   \"Das Verzeichnis %s existiert nicht.\n\nMchten Sie, da es angelegt wird?\"\n0x00db   \"Programme#*.exe;*.pif;*.com;*.bat#Alle Dateien (*.*)#*.*#\"\n0x00dc   \"Durchsuchen\"\n0x00dd   \"Ausfhren\"\n0x00de   \"Datei kann nicht gedruckt werden.\"\n0x00df   \"Die Hilfeinformation kann nicht angezeigt werden.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"Nicht gengend Arbeitsspeicher, um die Anwendung zu starten.\n\nSchlieen Sie eine oder mehrere Anwendungen, und versuchen Sie es erneut.\"\n0x0071   \"Der Datei-Manager konnte die Datei bzw. Komponente nicht finden.\n\nberprfen Sie, ob Pfad- und Dateiname richtig und alle Bibliotheken verfgbar sind.\"\n0x0072   \"Der angegebene Pfadname ist ungltig.\"\n0x0073   \"Es sind zu viele Dateien geffnet.\n\nSchlieen Sie eine oder mehrere Anwendungen, oder erhhen Sie den Wert fr FILES in Ihrer CONFIG.SYS-Datei, und versuchen Sie es dann erneut.\"\n0x0074   \"Dieser Datei ist keine Anwendung zugeordnet.\n\nWhlen Sie aus dem Men 'Datei' den Befehl 'Verknpfen', um eine Verknpfung herzustellen.\"\n0x0075   \"Das angegebene Programm kann nicht mehrmals gleichzeitig ausgefhrt werden.\"\n0x0076   \"Der Datei-Manager kann die Datei nicht ffnen oder drucken.\n\nVerwenden Sie die Anwendung, mit der die Datei erstellt wurde, und ffnen oder drucken Sie die Datei von dort.\"\n0x0078   \"Mausaktion besttigen\"\n0x0079   \"Sind Sie sicher, da Sie die ausgewhlten Dateien oder Verzeichnisse nach %s kopieren mchten?\"\n0x007a   \"Sind Sie sicher, da Sie die ausgewhlten Dateien oder Verzeichnisse nach %s verschieben mchten?\"\n0x007b   \"Sind Sie sicher, da Sie %s ausfhren und %s bearbeiten mchten?\"\n0x007c   \"Datei-Manager\"\n0x007e   \"Verzeichnisstruktur\"\n0x007f   \"Suchergebnis: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"Dateien mit der Dateinamenerweiterung %s sind Programme und knnen nicht mit einer anderen Anwendung verknpft werden.\"\n0x00e1   \"%s ist kein Programm und kann mit keiner Dateinamenerweiterung verknpft werden.\"\n0x00e2   \"(Keine)\"\n0x00e4   \"Mehrere Dateien knnen nicht in einem gedruckt werden.\n\nWhlen Sie eine einzelne Datei aus, und versuchen Sie es erneut.\"\n0x00e5   \"Dieses Programm oder eine der Komponenten ist komprimiert.\n\nBenutzen Sie den MS-DOS-Befehl \"Expand\", um die Datei von Ihren Setup-Disketten zu kopieren.\"\n0x00e6   \"Eine der zur Ausfhrung dieser Anwendung bentigten Bibliotheksdateien ist beschdigt. Installieren Sie die Anwendung neu.\"\n0x00e7   \"Diese Datei wird von einer anderen Anwendung bearbeitet.\"\n0x00e8   \"Der Datei-Manager kann eventuell nicht auf die Dateien, erstellt im Verzeichnis \"%s\", zugreifen.\n\nMchten Sie fortsetzen?\"\n0x00e9   \"Verzeichnis erstellen\"\n0x00ea   \"%ld Byte\"\n0x00eb   \"%s Byte\"\n0x00ec   \"Mehrere Dateien oder Verzeichnisse knnen nicht gleichzeitig in die Zwischenablage kopiert werden.\n\nMarkieren Sie eine einzelne Datei, und versuchen Sie es erneut.\"\n0x00ed   \"%s - %s\"\n0x00ee   \"Laufwerk:\"\n0x00ef   \"%s,\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"Zu viele Dateien\"\n0x0085   \"Datei-Manager - Kein Arbeitsspeicher\"\n0x0086   \"Das vollstndige Verzeichnis kann nicht gelesen werden. Es wird nur ein Teil der Informationen angezeigt.\"\n0x008c   \"Aktuelles Verzeichnis: %s\"\n0x008d   \"Kopieren\"\n0x008f   \"Umbenennen\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"Datentrger formatieren\"\n0x0092   \"Whlen Sie den Datentrger aus, den Sie formatieren mchten.\"\n0x0096   \"Erstellt:\"\n0x0097   \"Lschen...\"\n0x0098   \"Kopiert:\"\n0x0099   \"Umbenennen...\"\n0x009a   \"Verschieben...\"\n0x009b   \"Lschen...\"\n0x009c   \"Druckt: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"Laufwerk %c existiert nicht.\"\n0x00a9   \"Kopieren...\"\n0x00aa   \"Lschen:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"ffnen...\"\n0x01a5   \"Schlieen...\"\n0x01a6   \"Es sind zu viele Verzeichnisfenster geffnet.\n\nSchlieen Sie ein oder mehrere Fenster, und versuchen Sie es erneut.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"Fehler beim Dateiverschieben\"\n0x03ea   \"Fehler beim Dateikopieren\"\n0x03eb   \"Fehler beim Dateilschen\"\n0x03ec   \"Fehler beim Dateiumbenennen\"\n0x03ed   \"Fehler beim Laufwerkauswhlen\"\n0x03ee   \"Fehler beim Verzeichnislesen\"\n0x03ef   \"Fehler beim Datentrgerbenennen\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"Der Datei-Manager kann %s nicht verschieben. %s\"\n0x03f4   \"Der Datei-Manager kann %s nicht kopieren. %s\"\n0x03f5   \"Der Datei-Manager kann %s nicht lschen. %s\"\n0x03f6   \"Der Datei-Manager kann %s nicht umbenennen. %s\"\n0x03fd   \"Der Datei-Manager kann das Verzeichnis %s nicht erzeugen. %s\"\n0x03fe   \"Der Datei-Manager kann das Verzeichnis %s nicht lschen. %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Ungltige MS-DOS-Funktion.\"\n0x0412   \"Der Datei-Manager konnte die angegebene Datei nicht finden.\n\nVergewissern Sie sich, da Pfad- und Dateiname richtig angegeben wurden.\"\n0x0413   \"Der Datei-Manager konnte den angegebenen Pfad nicht finden.\n\nVergewissern Sie sich, da der Pfadname richtig angegeben wurde.\"\n0x0414   \"Es sind zu viele Dateien geffnet. Schlieen Sie eine oder mehrere Anwendungen, und versuchen Sie es dann erneut.\"\n0x0415   \"Der Zugriff wird verweigert.\n\nVergewissern Sie sich, da der Datentrger nicht voll oder schreibgeschtzt ist.\"\n0x0416   \"Ungltige Dateizugriffsnummer\"\n0x0418   \"Nicht gengend Arbeitsspeicher verfgbar.\n\nBeenden Sie eine oder mehrere Anwendungen, und versuchen Sie es erneut.\"\n0x041c   \"Ungltiger Dateizugriff\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"Der Datei-Manager kann das aktuelle Verzeichnis nicht lschen (interner Fehler).\"\n0x0421   \"Ungltiges Gert\"\n0x0422   \"Das Verzeichnis ist leer.\"\n0x0423   \"Der Datentrger ist schreibgeschtzt.\n\nEntfernen Sie den Schreibschutz, oder benutzen Sie einen anderen Datentrger, und versuchen Sie es erneut.\"\n0x042d   \"Der Datei-Manager kann nicht in die Zieldatei oder den Zieldatentrger schreiben.\"\n0x042f   \"Der Datei-Manager kann nicht aus der Quelldatei oder von dem Zieldatentrger lesen.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"Ungltige Funktion\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"Der Netzwerkzugriff wurde verweigert. Vergewissern Sie sich, da Ihre Netzwerkprivilegien zur Funktionsdurchfhrung ausreichen.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"Konflikt durch gemeinsamen Dateizugriff. Die Quell- oder Zieldatei wird mglicherweise gerade benutzt.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"Nicht gengend Speicherplatz auf dem Datentrger verfgbar.\n\nLschen Sie eine oder mehrere Dateien, um den verfgbaren Speicherplatz zu erhhen, und versuchen Sie es erneut.\"\n0x0481   \"Die Quell- und Zieldateinamen sind identisch.\"\n0x0482   \"Whlen Sie nur eine umzubenennende Datei aus, oder verwenden Sie MS-DOS-Stellvertreterzeichen (z.B. *.TXT), um eine Dateigruppe mit hnlichen Namen umzubennen.\"\n0x0483   \"Das Umbenennen lt sich nicht gleichzeitig mit einer Verschiebung in ein anderes Verzeichnis oder auf ein anderes Laufwerk durchfhren.\"\n0x0484   \"Stammverzeichnis (interner Fehler).\"\n0x0486   \"Das Zielverzeichnis ist ein Unterverzeichnis des Quellverzeichnisses.\"\n0x0487   \"Die Datei wird von Windows momentan benutzt.\"\n0x0488   \"Zugriff verweigert. Die Quelldatei wird mglicherweise gerade benutzt.\"\n0x0489   \"Der Pfad ist zu tief verschachtelt.\"\n0x048a   \"Whlen Sie nur eine Datei oder ein Verzeichnis aus. Wenn Sie eine Dateigruppe mit hnlichen Namen angeben wollen, knnen Sie MS-DOS-Stellvertreterzeichen (z.B. *.TXT) verwenden.\"\n0x048b   \"Der angegebene Dateiname besteht bereits. Versuchen Sie es erneut, und verwenden Sie einen anderen Dateinamen.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1,2 MB\"\n0x0131   \"720 KB\"\n0x0132   \"1,44 MB\"\n0x0133   \"2,88 MB\"\n0x0134   \"Laufwerkskapazitt\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360 KB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"Nicht gengend Arbeitsspeicher verfgbar.\"\n0x0192   \"Das MS-DOS-Startlaufwerk kann nicht formatiert werden.\"\n0x0193   \"Das MS-DOS-Startlaufwerk hat eine ungltige Sektorgre.\"\n0x0194   \"Der angegebene Datentrger hat einen unbekannten Laufwerkstyp.\"\n0x0199   \"Der Datei-Manager konnte die Systemdateien nicht bertragen.\"\n0x019a   \"Dieser Datentrger kann mit einer Kapazitt von %s formatiert werden.\n\nMchten Sie, da der Datentrger mit dieser Kapazitt formatiert wird?\"\n0x019b   \"Der Datei-Manager kann den Datentrger nicht formatieren.\n\nVergewissern Sie sich, da der Datentrger eingelegt und nicht schreibgeschtzt oder beschdigt ist und da er nicht die falsche Speicherdichte hat.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00fe   \"Ver&zeichnisname:\"\n0x00ff   \"\\StringFileInfo\\040904E4\\\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01f4   \"Kommentare\"\n0x01f5   \"Firmenname\"\n0x01f6   \"Dateibeschreibung\"\n0x01f7   \"Interner Name\"\n0x01f8   \"Geschtztes Warenzeichen\"\n0x01f9   \"Originaler Dateiname\"\n0x01fa   \"Beschreibung\"\n0x01fb   \"Produktname\"\n0x01fc   \"Produktversion\"\n0x01fd   \"Spezielle Beschreibung\"\n0x01fe   \"Sprache\"\n0x01ff   \"Sprachen\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0222   \"Es wurden keine Dateien gefunden.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0255   \"Der angegebene Computer kann nicht gefunden werden.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0263   \"Das freigebene Verzeichnis kann nicht gefunden werden.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0274   \"Es gibt zu viele Redirections.\"\n0x0276   \"Ungltiges Kennwort\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x02b0   \"Das Netzwerklaufwerk ist nicht verfgbar.\"\n0x02b1   \"Beim Lesen von Laufwerk %c: ist ein Fehler aufgetreten.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0f90   \"Befehle zum Arbeiten mit Dateien\"\n0x0f91   \"Befehle zum Arbeiten mit Datentrgern\"\n0x0f92   \"Befehle zum Arbeiten im Verzeichnisfenster\"\n0x0f93   \"Befehle zum ndern der Anzeige\"\n0x0f94   \"Befehle zum Setzen von Optionen\"\n0x0f9a   \"Befehle zum Arbeiten mit Fenstern\"\n0x0f9b   \"Befehle zum Anfordern von Hilfe\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1005   \"ffnet das ausgewhlte Element.\"\n0x1006   \"Druckt ein Dokument.\"\n0x1007   \"Verknpft eine Datei mit einer Anwendung.\"\n0x1008   \"Sucht nach Dateien und Verzeichnissen.\"\n0x1009   \"Startet oder ffnet eine Anwendung oder ein Dokument.\"\n0x100a   \"Verschiebt das ausgewhlte Element.\"\n0x100b   \"Kopiert Dateien und Verzeichnisse.\"\n0x100c   \"Lscht Dateien und Verzeichnisse.\"\n0x100d   \"Benennt eine Datei oder ein Verzeichnis um.\"\n0x100e   \"Setzt Dateiattribute und zeigt Eigenschaften an.\"\n0x100f   \"Erstellt ein Verzeichnis.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1013   \"Beendet den Datei-Manager.\"\n0x1014   \"Whlt Dateien und Verzeichnisse aus.\"\n0x1015   \"Stellt eine gelschte Datei wieder her.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1069   \"Kopiert den Inhalt einer Diskette.\"\n0x106a   \"ndert den Namen eines Datentrgers oder weist ihm einen Namen zu.\"\n0x106b   \"Formatiert eine Diskette.\"\n0x106c   \"Kopiert MS-DOS-Systemdateien auf eine Diskette.\"\n0x106d   \"Verbindet zu einem Netzwerklaufwerk.\"\n0x106e   \"Trennt von einem Netzwerklaufwerk.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x109b   \"Whlt ein anderes Laufwerk.\"\n0x109c   \"Netzwerkverbindungen...\"\n0x109d   \"Freigegebene Verzeichnisse anzeigen...\"\n0x109e   \"Gibt ein Verzeichnis fr andere Benutzer frei.\"\n0x109f   \"Beendet die Freigabe eines Verzeichnisses fr andere Benutzer.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10cd   \"Blendet die nchste Verzeichnisebene ein.\"\n0x10ce   \"Blendet einen ganzen Zweig eines Verzeichnisses ein.\"\n0x10cf   \"Blendet alle Ebenen aller Verzeichnisse ein.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10d0   \"Blendet alle Unterverzeichnisse des gewhlten Verzeichnisses aus.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1195   \"Setzt die Optionen zum Besttigen von Aktionen.\"\n0x1197   \"Blendet die Statuszeile ein oder aus.\"\n0x1198   \"Reduziert den Datei-Manager nach dem Start zu einem Symbol.\"\n0x1199   \"Kennzeichnet Verzeichnisse, die Unterverzeichnisse besitzen.\"\n0x119b   \"Blendet die Laufwerkleiste ein oder aus.\"\n0x119c   \"Blendet die Symbolleiste ein oder aus.\"\n0x119d   \"ffnet ein neues Fenster bei jedem Herstellen einer Verbindung.\"\n0x119e   \"ndert die vom Datei-Manager benutzte Schriftart.\"\n0x119f   \"Speichert die Einstellungen des Datei-Managers beim Beenden.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1131   \"Zeigt nur Dateinamen an.\"\n0x1132   \"Zeigt alle Dateiangaben an.\"\n0x1133   \"Zeigt bestimmte Dateiangaben an.\"\n0x1134   \"Sortiert Dateien nach Namen.\"\n0x1135   \"Sortiert Dateien nach Dateityp.\"\n0x1136   \"Sortiert Dateien nach Gre.\"\n0x1137   \"Sortiert Dateien nach Datum.\"\n0x1139   \"Zeigt Dateien eines bestimmten Typs an.\"\n0x113b   \"Zeigt nur die Verzeichnisstruktur an.\"\n0x113c   \"Zeigt nur den Inhalt des aktuellen Verzeichnisses an.\"\n0x113d   \"Zeigt die Verzeichnisstruktur und den Inhalt des aktuellen Verzeichnisses an.\"\n0x113e   \"Teilt ein Verzeichnisfenster oder bewegt die Teilungsmarkierung.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x11a0   \"Definiert das Aussehen der Symbolleiste.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13f0   \"Aktualisiert den Inhalt eines Fensters.\"\n0x13f1   \"Ordnet die Symbole an.\"\n0x13f2   \"ffnet ein neues Fenster.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13ed   \"Arrangiert die Fenster.\"\n0x13ee   \"Arrangiert die Fenster.\"\n0x13ef   \"Arrangiert die Fenster.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1451   \"Zeigt den Inhalt fr die Datei-Manager Hilfe an\"\n0x1452   \"Zeigt Informationen ber Hilfe benutzen an\"\n0x1453   \"Zeigt Informationen ber Datei-Manager an\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0fbe   \"Sucht nach einem Thema in der Hilfe zum Datei-Manager.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0320   \"Netzlaufwerk &verbinden...\"\n0x0321   \"Netzlaufwerk &trennen...\"\n0x0322   \"Netz&werkverbindungen...\"\n0x0323   \"F&reigeben als...\"\n0x0324   \"Freigabe been&den...\"\n0x0325   \"Frei&gegebene Verzeichnisse...\"\n0x0326   \"&Undelete...\"\n0x0327   \"Beim Verbinden ne&ues Fenster ffnen\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.Hungary.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"&File\"\n    BEGIN\n    MENUITEM    \"&Megnyit\tEnter\", 0X0065\n    MENUITEM    \"t&helyez...\tF7\", 0X006A\n    MENUITEM    \"M&sol...\tF8\", 0X006B\n    MENUITEM    \"&Trl...\tDel\", 0X006C\n    MENUITEM    \"tne&vez...\", 0X006D\n    MENUITEM    \"J&ellemzk...\tAlt+Enter\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"F&uttat...\", 0X0069\n    MENUITEM    \"&Nyomtat...\", 0X0066\n    MENUITEM    \"T&rst...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Knyvtrat &ltrehoz...\", 0X006F\n    MENUITEM    \"&Keres...\", 0X0068\n    MENUITEM    \"&File-okat jell...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"K&ilp\", 0X0073\n    END\n    POPUP   \"&Lemez\"\n    BEGIN\n    MENUITEM    \"Lemez m&solsa...\", 0X00C9\n    MENUITEM    \"Lemez &cmkzse...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Lemez f&ormzsa...\", 0X00CB\n    MENUITEM    \"&Rendszerlemez...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Lemezmeghajt...\", 0X00FB\n    END\n    POPUP   \"&Knyvtrfa\"\n    BEGIN\n    MENUITEM    \"Egy &szint kifejtse\t+\", 0X012D\n    MENUITEM    \"&Egy g kifejtse\t*\", 0X012E\n    MENUITEM    \"&Teljes kifejts\tCtrl+*\", 0X012F\n    MENUITEM    \"Egy g &bezrsa\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Kifejthet gak jellse\", 0X01F9\n    END\n    POPUP   \"&Nzet\"\n    BEGIN\n    MENUITEM    \"&Fa s tartalom\", 0X019D\n    MENUITEM    \"&Csak a fa\", 0X019B\n    MENUITEM    \"C&sak a tartalom\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"F&eloszt\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"N&v\", 0X0191\n    MENUITEM    \"&Minden adat\", 0X0192\n    MENUITEM    \"&Az adatok egy rsze...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Nv szerint rendez\", 0X0194\n    MENUITEM    \"&Tpus szerint rendez\", 0X0195\n    MENUITEM    \"M&ret szerint rendez\", 0X0196\n    MENUITEM    \"&Dtum szerint rendez\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"M&utatott filetpusok...\", 0X0199\n    END\n    POPUP   \"&Egyebek\"\n    BEGIN\n    MENUITEM    \"J&vhagys...\", 0X01F5\n    MENUITEM    \"&Bettpus...\", 0X01FE\n    MENUITEM    \"&Egyedi eszkztr...\", 0X0200\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"E&szkztr\", 0X01FC\n    MENUITEM    \"&Lemezek\", 0X01FB\n    MENUITEM    \"lla&potsor\", 0X01F7\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Ikon llapot indtskor\", 0X01F8\n    MENUITEM    \"Belltsok &mentse kilpskor\", 0X01FF\n    END\n    POPUP   \"&Ablak\"\n    BEGIN\n    MENUITEM    \"j &ablak\", 0X0452\n    MENUITEM    \"&Lpcszetes elrendezs\tShift+F5\", 0X044D\n    MENUITEM    \"&Vzszintes mozaik elrendezs\", 0X044F\n    MENUITEM    \"&Fggleges mozaik elrendezs\tShift+F4\", 0X044E\n    MENUITEM    \"&Ikonok elrendezse\", 0X0451\n    MENUITEM    \"F&risst\tF5\", 0X0450\n    END\n    POPUP   \"&Sg\"\n    BEGIN\n    MENUITEM    \"&Tartalom\", 0X04B1\n    MENUITEM    \"Tma&kr keresse...\", 0X001E\n    MENUITEM    \"&Hasznlat\", 0X04B2\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Nvjegy...\", 0X04B3\n    END\nEND\n\n\n145 DIALOG 0x80c8, 13, 54, 264, 127\nCAPTION \"Bettpus\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Bettpus:\", 1088, 0x0000, 6, 3, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 13, 94, 54\n    CONTROL 0x82, \"J&ellemz:\", 1089, 0x0000, 108, 3, 44, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 13, 64, 54\n    CONTROL 0x82, \"&Mret:\", 1090, 0x0000, 179, 3, 30, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 179, 13, 32, 54\n    CONTROL 0x80, \"Klnlegessgek\", 1072, 0x0007, 6, 72, 84, 61\n    CONTROL 0x80, \"&thzott\", 1040, 0x0003, 10, 82, 49, 10\n    CONTROL 0x80, \"A&lhzott\", 1041, 0x0003, 10, 94, 51, 10\n    CONTROL 0x80, \"&Kisbetk\", 1042, 0x0003, 10, 82, 49, 10\n    CONTROL 0x82, \"S&zn:\", 1091, 0x0000, 10, 106, 30, 9\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 116, 75, 50\n    CONTROL 0x80, \"OK\", 1, 0x0001, 218, 6, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 218, 23, 40, 14\n    CONTROL 0x80, \"&Alkalmaz\", 1026, 0x0000, 218, 40, 40, 14\n    CONTROL 0x80, \"&Sg\", 1038, 0x0000, 218, 57, 40, 14\n    CONTROL 0x80, \"Minta\", 1073, 0x0007, 98, 72, 160, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 124, 160, 20\n    CONTROL 0x82, \"AaBbYy\", 1092, 0x0081, 104, 81, 149, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 201, 86\nCAPTION \"Lemezmeghajt\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Lemezmeghajtk:\", 245, 0x000c, 5, 5, 58, 10\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"OK\", 1, 0x0001, 155, 6, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 155, 23, 40, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 155, 44, 40, 14\nEND\n\n10 DIALOG 0x80c8, 15, 12, 210, 63\nCAPTION \"Program futtatsa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 3, 6, 162, 10\n    CONTROL 0x82, \"&Parancssor:\", 100, 0x000c, 3, 18, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 134, 12\n    CONTROL 0x80, \"&Ikon llapotban indul\", 214, 0x0003, 3, 45, 81, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 165, 23, 40, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 165, 43, 40, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 154, 83\nCAPTION \"File-ok kijellse\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&File-ok:\", -1, 0x000c, 5, 16, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 29, 60, 12\n    CONTROL 0x80, \"&Kijell\", 1, 0x0001, 70, 6, 78, 14\n    CONTROL 0x80, \"Kijellst &megszntet\", 6, 0x0000, 70, 23, 78, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 70, 40, 78, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 70, 63, 78, 14\nEND\n\n39 DIALOG 0x80c8, 10, 20, 245, 95\nCAPTION \"File fellrsnak jvhagysa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Trlend file:\", 100, 0x000c, 25, 12, 49, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 75, 12, 165, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 75, 22, 170, 10\n    CONTROL 0x82, \"j file:\", 100, 0x000c, 25, 34, 49, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 75, 34, 165, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 75, 44, 170, 10\n    CONTROL 0x80, \"&Igen\", 6, 0x0001, 33, 73, 40, 14\n    CONTROL 0x80, \"&Mind\", 107, 0x0000, 79, 73, 40, 14\n    CONTROL 0x80, \"&Nem\", 7, 0x0000, 125, 73, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 171, 73, 40, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"File trlsnek jvhagysa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 203, 10\n    CONTROL 0x82, \"Trlend file:\", 100, 0x000c, 25, 18, 44, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 18, 170, 10\n    CONTROL 0x80, \"&Igen\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"&Mind\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Nem\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"Knyvtr trlsnek jvhagysa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Trlend knyvtr:\", 100, 0x000c, 25, 18, 63, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 88, 18, 152, 10\n    CONTROL 0x80, \"&Igen\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"&Mind\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Nem\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"File thelyezsnek jvhagysa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"thelyezend file:\", 100, 0x000c, 25, 18, 59, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 85, 18, 155, 10\n    CONTROL 0x80, \"&Igen\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"&Mind\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Nem\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"File tnevezsnek jvhagysa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"tnevezend file:\", 100, 0x000c, 25, 13, 58, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 86, 13, 154, 10\n    CONTROL 0x80, \"&Igen\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"&Mind\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Nem\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n11 DIALOG 0x80c8, 20, 20, 260, 63\nCAPTION \"Nyomtats\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 211, 10\n    CONTROL 0x82, \"&Nyomtatand file:\", 100, 0x000c, 3, 20, 58, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 61, 18, 146, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 36, 212, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 217, 6, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 217, 23, 40, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 217, 43, 40, 14\nEND\n\n13 DIALOG 0x80c8, 20, 20, 269, 63\nCAPTION \"Keress\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Filenv:\", 100, 0x000c, 5, 6, 27, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 60, 5, 160, 12\n    CONTROL 0x82, \"&Kezd knyvtr:\", 100, 0x000c, 5, 21, 54, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 60, 20, 160, 12\n    CONTROL 0x80, \"&Alknyvtrakban is keres\", 232, 0x0003, 60, 34, 95, 12\n    CONTROL 0x82, \"\", 104, 0x000c, 5, 48, 218, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 225, 6, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 225, 23, 40, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 225, 43, 40, 14\nEND\n\n14 DIALOG 0x80c8, 47, 59, 231, 64\nCAPTION \"thelyezs\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Az l knyvtr: N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"&Cl:\", 100, 0x000c, 3, 33, 20, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 37, 32, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 26, 33, 10, 10\n    CONTROL 0x80, \"&Vglapra msol\", 256, 0x0004, 26, 47, 66, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 49, 40, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 45, 49, 138, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 185, 23, 40, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 185, 44, 40, 14\n    CONTROL 0x82, \"&Forrs:\", 100, 0x000c, 3, 19, 22, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n10014 DIALOG 0x80c8, 47, 59, 231, 98\nCAPTION \"thelyezs\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Az l knyvtr: N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"&Cl:\", 100, 0x000c, 3, 38, 20, 10\n    CONTROL 0x62, \"edit\", 103, 0x0004, 37, 38, 138, 42\n    CONTROL 0x50, \"\", 256, 0x0401, 6656, 9728, 2560, 2560\n    CONTROL 0x80, \"&Vglapra msol\", 256, 0x0004, 26, 84, 66, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 84, 40, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 45, 84, 138, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 185, 23, 40, 14\n    CONTROL 0x80, \"&Tallzs\", 600, 0x0000, 185, 40, 40, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 185, 61, 40, 14\n    CONTROL 0x82, \"&Forrs:\", 100, 0x000c, 3, 19, 24, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n200 DIALOG 0x00c8, 36, 24, 164, 134\nCAPTION \"Knyvtr vlasztsa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x81, \"\", 1152, 0x0490, 6, 16, 90, 12\n    CONTROL 0x83, \"\", 1120, 0x0053, 12, 28, 84, 68\n    CONTROL 0x82, \"&Knyvtr:\", -1, 0x0000, 7, 4, 92, 9\n    CONTROL 0x82, \"\", 1088, 0x0000, 9, 17, 92, 9\n    CONTROL 0x83, \"\", 1121, 0x0053, 10, 28, 92, 68\n    CONTROL 0x82, \"&Meghajtk:\", 1091, 0x0000, 10, 102, 92, 9\n    CONTROL 0x85, \"\", 1137, 0x0353, 10, 112, 92, 68\n    CONTROL 0x80, \"OK\", 1, 0x0001, 108, 6, 50, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 108, 24, 50, 14\n    CONTROL 0x82, \"&Filenv:\", 1090, 0x0000, 6, 4, 76, 9\n    CONTROL 0x82, \"&Listzand filetpus:\", 1089, 0x0000, 6, 104, 90, 9\n    CONTROL 0x85, \"\", 1136, 0x0043, 6, 114, 90, 36\n    CONTROL 0x80, \"&Sg\", 1038, 0x0000, 208, 46, 50, 14\n    CONTROL 0x80, \"rs&vdett\", 1040, 0x0003, 208, 68, 50, 12\nEND\n\n15 DIALOG 0x80c8, 20, 20, 267, 64\nCAPTION \"Trls\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Az l knyvtr: C\", 101, 0x008c, 3, 5, 193, 10\n    CONTROL 0x82, \"&Trlend:\", 100, 0x000c, 3, 20, 35, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 40, 19, 155, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 2, 36, 49, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 54, 36, 163, 11\n    CONTROL 0x80, \"OK\", 1, 0x0001, 220, 6, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 220, 23, 40, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 220, 43, 40, 14\nEND\n\n38 DIALOG 0x80c8, 20, 20, 215, 65\nCAPTION \"Jellemzk\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"%d file (sszesen %s byte) van kijellve\", 100, 0x000c, 5, 5, 152, 10\n    CONTROL 0x80, \"Attribtumok\", -1, 0x0007, 5, 18, 120, 42\n    CONTROL 0x80, \"rs&vdett\", 215, 0x0003, 10, 29, 52, 12\n    CONTROL 0x80, \"&Rejtett\", 216, 0x0003, 72, 29, 52, 12\n    CONTROL 0x80, \"&Archivland\", 217, 0x0003, 10, 41, 55, 12\n    CONTROL 0x80, \"R&endszer\", 218, 0x0003, 72, 41, 52, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 161, 6, 50, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 161, 23, 50, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 161, 43, 50, 14\nEND\n\n16 DIALOG 0x80c8, 22, -31, 273, 195\nCAPTION \"%s jellemzi\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 221, 6, 50, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 221, 23, 50, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 221, 40, 50, 14\n    CONTROL 0x82, \"&Filenv:\", 261, 0x000c, 5, 5, 55, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 77, 5, 134, 10\n    CONTROL 0x82, \"&Elrsi t:\", 100, 0x000c, 5, 16, 51, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 77, 16, 134, 10\n    CONTROL 0x82, \"Legutbbi mdosts:\", 100, 0x000c, 5, 27, 71, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 77, 27, 97, 10\n    CONTROL 0x82, \"Verziszm:\", 258, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"Nincs megjellve\", 259, 0x008c, 77, 38, 90, 10\n    CONTROL 0x82, \"&Copyright:\", -1, 0x0000, 5, 49, 45, 10\n    CONTROL 0x81, \"Nincs megjellve\", 265, 0x0880, 77, 49, 134, 10\n    CONTROL 0x82, \"Mret:\", 260, 0x000c, 5, 60, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 77, 60, 90, 10\n    CONTROL 0x80, \"Attribtumok\", 100, 0x0007, 4, 74, 120, 42\n    CONTROL 0x80, \"rs&vdett\", 215, 0x0003, 9, 86, 52, 12\n    CONTROL 0x80, \"&Rejtett\", 216, 0x0003, 71, 86, 49, 12\n    CONTROL 0x80, \"&Archivland\", 217, 0x0003, 9, 98, 55, 12\n    CONTROL 0x80, \"Re&ndszer\", 218, 0x0003, 71, 98, 49, 12\n    CONTROL 0x80, \"Verz&i informci\", 262, 0x0007, 4, 121, 257, 72\n    CONTROL 0x83, \"\", 263, 0x1003, 9, 132, 105, 58\n    CONTROL 0x81, \"\", 264, 0x0804, 116, 132, 138, 58\nEND\n\n17 DIALOG 0x80c8, 20, 20, 200, 63\nCAPTION \"Knyvtr ltrehozsa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Nv:\", 100, 0x000c, 3, 23, 20, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 30, 22, 90, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 46, 150, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 157, 6, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 157, 23, 40, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 157, 43, 40, 14\nEND\n\n10017 DIALOG 0x80c8, 20, 20, 240, 74\nCAPTION \"Knyvtr ltrehozsa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 189, 10\n    CONTROL 0x82, \"&Nv:\", 100, 0x000c, 3, 28, 20, 10\n    CONTROL 0x62, \"edit\", 201, 0x0000, 3, 40, 170, 18\n    CONTROL 0x50, \"\", 26624, 0x8c00, 768, 15360, -27136, 2560\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 171, 64\nCAPTION \"Rendszerlemez ksztse\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Rendszerfile-ok msolsa az\nalbbi meghajtban lev lemezre:\", -1, 0x000c, 5, 8, 118, 16\n    CONTROL 0x85, \"\", 222, 0x0003, 36, 28, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 127, 5, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 127, 22, 40, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 127, 43, 40, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 157, 64\nCAPTION \"Lemez msolsa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Forrslemez:\", -1, 0x000c, 5, 8, 42, 8\n    CONTROL 0x85, \"\", 245, 0x0003, 55, 6, 40, 37\n    CONTROL 0x82, \"&Cllemez:\", 206, 0x000c, 5, 22, 32, 8\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 55\nCAPTION \"Lemez msolsa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"Lemez msolsa \", 100, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \"'A:' lemezmeghajt\", 222, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \"A forrslemez olvassa\", 243, 0x0001, 0, 26, 130, 10\n    CONTROL 0x80, \"Mgsem\", 2, 0x0001, 44, 39, 44, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 161, 63\nCAPTION \"Lemez cmkzse\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Cmke:\", 100, 0x000c, 5, 15, 30, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 100, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 115, 6, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 115, 23, 40, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 115, 43, 40, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 183, 96\nCAPTION \"Lemez formzsa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 140, 6, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 140, 23, 40, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 140, 43, 40, 14\n    CONTROL 0x82, \"&Lemezmeghajt:\", -1, 0x000c, 5, 7, 54, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 60, 4, 65, 40\n    CONTROL 0x82, \"&Kapacits:\", 100, 0x000c, 5, 20, 49, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 60, 19, 65, 40\n    CONTROL 0x80, \"Egyebek\", 102, 0x0007, 5, 39, 120, 53\n    CONTROL 0x82, \"&Cmke:\", -1, 0x000c, 11, 51, 24, 8\n    CONTROL 0x81, \"\", 201, 0x0000, 40, 49, 63, 12\n    CONTROL 0x80, \"&Rendszerlemez ksztse\", 242, 0x0003, 11, 62, 95, 12\n    CONTROL 0x80, \"&Gyors formzs\", 244, 0x0003, 11, 76, 90, 12\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 50\nCAPTION \"Lemez formzsa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Lemez formzsa\", 100, 0x0001, 0, 5, 150, 10\n    CONTROL 0x82, \"A meghajt inicializlsa...\", 243, 0x0001, 0, 17, 150, 10\n    CONTROL 0x80, \"Mgsem\", 2, 0x0001, 54, 30, 44, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 174, 57\nCAPTION \"Rendszerlemez ksztse\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Rendszerfile-ok msolsa\", 100, 0x0001, 0, 6, 174, 8\n    CONTROL 0x82, \"A Mgsem gombbal flbeszakthatja.\", 100, 0x0001, 0, 14, 174, 8\n    CONTROL 0x80, \"Mgsem\", 2, 0x0001, 66, 39, 44, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 241, 135\nCAPTION \"Hlzati csatlakozsok\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"j csatlakozs\", -1, 0x0007, 5, 3, 170, 55\n    CONTROL 0x82, \"&Hlzati t:\", -1, 0x0000, 10, 16, 55, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 65, 14, 100, 12\n    CONTROL 0x82, \"&Lemezmeghajt:\", -1, 0x0000, 10, 30, 54, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 65, 28, 40, 100\n    CONTROL 0x82, \"J&elsz:\", -1, 0x0000, 10, 44, 36, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 65, 42, 100, 12\n    CONTROL 0x82, \"l &meghajt-csatlakozsok:\", -1, 0x0000, 5, 62, 120, 10\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 160, 60\n    CONTROL 0x80, \"&Bezr\", 2, 0x0001, 186, 6, 50, 14\n    CONTROL 0x80, \"&Csatlakoztat\", 1, 0x0000, 186, 27, 50, 14\n    CONTROL 0x80, \"El&z...\", 226, 0x0000, 186, 44, 50, 14\n    CONTROL 0x80, \"&Tallz...\", 227, 0x0000, 186, 61, 50, 14\n    CONTROL 0x80, \"Le&vlaszt\", 255, 0x0000, 186, 78, 50, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 186, 95, 50, 14\nEND\n\n29 DIALOG 0x80c8, 30, 30, 231, 98\nCAPTION \"Korbbi hlzati csatlakozsok\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Hlzati utak:\", 100, 0x000c, 3, 3, 69, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 3, 15, 172, 80\n    CONTROL 0x80, \"&Kivlaszts\", 1, 0x0001, 181, 6, 46, 14\n    CONTROL 0x80, \"Bezrs\", 2, 0x0000, 181, 24, 46, 14\n    CONTROL 0x80, \"&Trls\", 219, 0x0000, 181, 41, 46, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 181, 58, 46, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 173, 65\nCAPTION \"A megjelentend jellemzk \"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Jellemzk\", 100, 0x0007, 4, 4, 120, 55\n    CONTROL 0x80, \"&Mret\", 203, 0x0003, 11, 15, 100, 9\n    CONTROL 0x80, \"A &legutbbi mdosts dtuma\", 204, 0x0003, 11, 25, 110, 9\n    CONTROL 0x80, \"&A legutbbi mdosts ideje\", 205, 0x0003, 11, 35, 102, 9\n    CONTROL 0x80, \"&Fileattribtumok\", 206, 0x0003, 11, 45, 100, 9\n    CONTROL 0x80, \"OK\", 1, 0x0001, 129, 6, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 129, 23, 40, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 129, 43, 40, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 157, 102\nCAPTION \"Mutatott file-ok\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Nv:\", 100, 0x000c, 5, 8, 23, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"Filetpus\", 100, 0x0007, 5, 20, 94, 62\n    CONTROL 0x80, \"&Knyvtrak\", 101, 0x0003, 10, 31, 60, 12\n    CONTROL 0x80, \"&Vgrehajthat file-ok\", 210, 0x0003, 10, 43, 80, 12\n    CONTROL 0x80, \"&Dokumentumok\", 211, 0x0003, 10, 55, 60, 12\n    CONTROL 0x80, \"&Egyb file-ok\", 212, 0x0003, 10, 67, 60, 12\n    CONTROL 0x80, \"&Rejtett s rendszerfile-ok megmutatsa\", 250, 0x0003, 5, 85, 139, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 164, 80\nCAPTION \"Jvhagys\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Megerstend mveletek\", 100, 0x0007, 5, 3, 108, 73\n    CONTROL 0x80, \"File &trlse\", 219, 0x0003, 10, 15, 80, 12\n    CONTROL 0x80, \"&Knyvtr trlse\", 220, 0x0003, 10, 27, 80, 12\n    CONTROL 0x80, \"&File fellrsa\", 221, 0x0003, 10, 39, 80, 12\n    CONTROL 0x80, \"Eg&rmveletek\", 249, 0x0003, 10, 51, 80, 12\n    CONTROL 0x80, \"&Lemezparancsok\", 251, 0x0003, 10, 63, 80, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 118, 6, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 118, 23, 40, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 118, 44, 40, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 250, 46\nCAPTION \"thelyezs...\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 5, 49, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 55, 5, 192, 10\n    CONTROL 0x82, \"Cl:\", 108, 0x008b, 5, 15, 25, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 55, 15, 192, 10\n    CONTROL 0x80, \"Mgsem\", 2, 0x0001, 200, 28, 40, 14\nEND\n\n36 DIALOG 0x80c8, 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"File nyomtatsa...\", -1, 0x0001, 4, 6, 120, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 4, 20, 120, 12\n    CONTROL 0x80, \"Mgsem\", 2, 0x0001, 40, 38, 40, 14\nEND\n\n12 DIALOG 0x80c8, 31, 39, 211, 96\nCAPTION \"Trsts\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Filenv-kiterjeszts:\", 99, 0x000c, 5, 8, 74, 10\n    CONTROL 0x81, \"\", 112, 0x0400, 80, 6, 35, 12\n    CONTROL 0x82, \"&A hozz tartoz program:\", 99, 0x000c, 5, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 5, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 11, 44, 146, 40\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 165, 23, 40, 14\n    CONTROL 0x80, \"&Tallz...\", 232, 0x0000, 165, 43, 40, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 165, 60, 40, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 256, 78\nCAPTION \"Filenv kivlaszts\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Ez az elrsi t nem felel meg a DOS filenevek formai kvetelmnyeinek. Adjon meg egy j nevet.\", 99, 0x0000, 4, 4, 190, 19\n    CONTROL 0x82, \"j &nv:\", 99, 0x0002, 14, 56, 50, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 68, 55, 130, 12\n    CONTROL 0x82, \"Eredeti elrsi t:\", 99, 0x0002, 5, 28, 59, 11\n    CONTROL 0x81, \"\", 102, 0x0880, 68, 28, 130, 12\n    CONTROL 0x82, \"Clknyvtr:\", 99, 0x0002, 14, 42, 50, 11\n    CONTROL 0x81, \"\", 101, 0x0880, 68, 42, 130, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 210, 4, 40, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 210, 20, 40, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 210, 36, 40, 14\nEND\n\n48 DIALOG 0x80c8, 23, 13, 266, 107\nCAPTION \"%s jellemzi\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 213, 6, 50, 14\n    CONTROL 0x80, \"Mgsem\", 2, 0x0000, 213, 23, 50, 14\n    CONTROL 0x80, \"&Sg\", 254, 0x0000, 213, 43, 50, 14\n    CONTROL 0x82, \"&Filenv:\", 261, 0x000c, 5, 5, 55, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 77, 5, 130, 10\n    CONTROL 0x82, \"&Elrsi t:\", 100, 0x000c, 5, 16, 51, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 77, 16, 131, 10\n    CONTROL 0x82, \"Legutbbi mdosts:\", 100, 0x000c, 5, 27, 71, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 77, 27, 97, 10\n    CONTROL 0x82, \"Mret:\", 260, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 77, 38, 90, 10\n    CONTROL 0x80, \"Attribtumok\", 100, 0x0007, 4, 52, 120, 42\n    CONTROL 0x80, \"rs&vdett\", 215, 0x0003, 9, 64, 52, 12\n    CONTROL 0x80, \"&Rejtett\", 216, 0x0003, 71, 64, 49, 12\n    CONTROL 0x80, \"&Archivland\", 217, 0x0003, 9, 76, 55, 12\n    CONTROL 0x80, \"Ren&dszer\", 218, 0x0003, 71, 76, 49, 12\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0101   \"(Gykrknyvtr)\"\n0x0102   \"(Nem alkalmazhat)\"\n0x0103   \"Megosztva - %s\"\n0x0104   \"Nincs megosztva\"\n0x0107   \"File msolsa. Hov: %s\"\n0x0108   \"File mozgatsa. Hov: %s\"\n0x0109   \"Az albbi file indtsa az adott paramterrel: %s\"\n0x010a   \"%s byte\"\n0x010b   \"%s kB\"\n0x010c   \"%sMB\"\n0x010d   \"%sGB\"\n0x010e   \"%sTB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"Kilps a Windowsbl\"\n0x0029   \"A Windows hasznlatnak befejezse.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"Lemez msolsa\"\n0x0033   \"Helyezze be a cllemezt.\"\n0x0034   \"Helyezze be a forrslemezt.\"\n0x0035   \"Helyezze be a forrs- s a cllemezt.\"\n0x0036   \"A cllemez formzsa.\"\n0x0037   \"Hiba lemez msolsa kzben\"\n0x0038   \"Nem sikerlt msolni a lemezt.\"\n0x003a   \"A forrs- s a clmeghajt nem kompatibilis.\"\n0x003c   \"%d%% ksz\"\n0x003d   \"A gykrknyvtr ltrehozsa...\"\n0x003e   \"A rendszerfile-ok msolsa...\"\n0x003f   \"Hiba a lemez formzsa kzben\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"Kevs a szabad lemezterlet a nyomtatshoz.\n\nSzabadtson fel helyet a lemezen nhny file trlsvel, majd prblja jra.\"\n0x00c1   \"Kevs a memria a nyomtatshoz.\n\nLpjen ki nhny programbl, ezzel memrit szabadt fel, majd prblja jra.\"\n0x00c2   \"Hiba trtnt nyomtats kzben.\n\nEllenrizze, hogy a nyomtat megfelelen van-e konfigurlva s a megfelel nyomtatt vlasztotta-e.\"\n0x00c3   \"A knyvtrfa nem teljes\"\n0x00c5   \"A cllemez megtelt.\n\nA folytatshoz helyezzen be egy j lemezt.\"\n0x00c6   \"Ez egy rendszer-, rejtett vagy rsvdett file.\"\n0x00c7   \"A lemez gyorsformzsa nem lehetsges.\n\nKvnja a lemezt teljesen formzni?\"\n0x00c8   \"A megadott alkalmazs nem Windows vagy MS-DOS alkalmazs.\"\n0x00c9   \"Ez az alkalmazs a Microsoft Windows egy jabb vltozatt ignyli.\"\n0x00ca   \"Az alkalmazsnak Windowsra van szksge.\"\n0x00cb   \"Hiba trtnt egy parancsnak az alkalmazs fel kldse kzben.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"A lemezt nem lehet formzni.\"\n0x0042   \"A formzs ksz\"\n0x0043   \"%ld byte teljes lemezterlet\n%ld byte hasznlhat\n\nKvn egy msik lemezt formzni?\"\n0x0046   \"Rendszerlemez ksztse\"\n0x0047   \"%c: meghajt\nValban r akarja msolni a rendszerfile-okat a lemezre?\"\n0x0048   \"Rendszerlemez hiba\"\n0x0049   \"Az MS-DOS indt meghajtja nem tartalmaz rendszerfile-okat vagy nem elrhet.\"\n0x004a   \"Az MS-DOS indt meghajtra nem lehet rendszerfile-okat msolni.\"\n0x004b   \"Nem lehet a lemezre rendszerfile-okat msolni.\n\nEllenrizze, hogy a lemez formzva van-e, illetve hogy a meghajt ajtaja le van-e zrva.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"Nem lehet ltrehozni vagy fellrni: %s: %s\"\n0x0408   \"Nem lehet MS-DOS rendszerlemezt ltrehozni, mivel a rendszeren Windows NT multiboot van teleptve. A rendszerfile-ok msolshoz hasznlja az MS-DOS parancssorbl a SYS utastst.\"\n0x0409   \"Akarja formzni a lemezt a rendszerfile-ok msolsa nlkl?\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"Hlzati hiba\"\n0x0053   \"Ez a meghajt tartalmazza a Windows rendszerfile-okat, s nem lehet levlasztani.\"\n0x005b   \"A jellemzket nem lehet megvltoztatni.\n\nEllenrizze, hogy a lemez nem rsvdett-e.\"\n0x005c   \"Nem sikerlt knyvtrat ltrehozni.\n\nEllenrizze, hogy a lemez nem rsvdett-e.\"\n0x005d   \"Nem sikerlt a lemezt cmkzni.\n\nEllenrizze, hogy a lemez nem rsvdett-e, a meghajt nem hlzati meghajt-e, valamint hogy a cmke nem hibs-e.\nA cmke nem tartalmazhatja a kvetkez jeleket:\n[szkz] * ? /  | . , ; : + = [ ] ( )  ^ < > \" \"\n0x005f   \"Nincs ilyen file.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"ssz. %d file (%s)\"\n0x00b5   \"Olvasott knyvtrak szma: %d \"\n0x00b6   \"%c: %s szabad %s-bl\"\n0x00b7   \"%d ilyen file van\"\n0x00b9   \"a kijellt file-ok\"\n0x00ba   \"A hlzati meghajtt nem lehet levlasztani.\n\nMegnyitott file-okat tartalmaz.\"\n0x00bb   \"%d kijellt file (%s)\"\n0x00bc   \"%c: meghajt\n\nA meghajtban nincs lemez.\nHelyezzen be egy lemezt, majd prblja jra.\"\n0x00bd   \"%c: meghajt\n\nA lemez nincs formzva.\nKvnja most formzni?\"\n0x00bf   \"A nyomtatand file nem tallhat. Ellenrizze, hogy a megfelel elrsi t s filenv van-e megadva.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"A megadott knyvtr mr ltezik.\"\n0x0061   \"A meghajt tartalma megvltozott. Kvnja frissteni a Keress eredmnye ablakot?\"\n0x0065   \"\"%c:\" meghajt\"\n0x006e   \"A program nem futtathat\"\n0x006f   \"Nem vrt hiba: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"%c: meghajt\n\nA formzs MINDEN adatot trl a lemezrl. Valban formzni akarja a lemezt?\"\n0x00d3   \"Formzs jvhagysa\"\n0x00d4   \"Ez a mvelet MINDEN adatot trlni fog a cllemezrl. Valban ezt akarja?\"\n0x00d5   \"Lemezmsols jvhagysa\"\n0x00d6   \"&Bezr\"\n0x00da   \"%s\n\nA knyvtr nem ltezik\nLtre kvnja hozni?\"\n0x00db   \"Programok#*.exe;*.pif;*.com;*.bat#Minden file (*.*)#*.*#\"\n0x00dc   \"Tallzs\"\n0x00dd   \"Program futtatsa\"\n0x00de   \"Nem nyomtathat a file\"\n0x00df   \"A Sg nem mkdik.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"Nincs elg memria az alkalmazs indtshoz.\n\nLpjen ki nhny programbl, majd prblja jra.\"\n0x0071   \"A file vagy egy rsze nem tallhat.\n\nEllenrizze, hogy az elrsi t s a filenv helyes-e, s elrhet-e minden szksges DLL.\"\n0x0072   \"A megadott elrsi t hibs.\"\n0x0073   \"Tl sok file van hasznlatban.\n\nLpjen ki nhny programbl, vagy nvelje a FILES parancs rtkt a CONFIG.SYS file-ban, majd prblja jra.\"\n0x0074   \"A file-hoz nincs alkalmazs trstva.\n\nFile s alkalmazs trstshoz hasznlja a File men Trst parancst.\"\n0x0075   \"A megadott programnak csak egy pldnya futhat.\"\n0x0076   \"A file-t nem lehet megnyitni vagy nyomtatni.\n\nIndtsa el azt az alkalmazst, amely a dokumentumot ltrehozta, s nyomtassa onnan.\"\n0x0078   \"Egrmvelet jvhagysa\"\n0x0079   \"Valban t akarja msolni a kijellt file-okat, illetve knyvtrakat a(z) %s knyvtrba?\"\n0x007a   \"Valban t akarja helyezni a kijellt file-okat, illetve knyvtrakat a(z) %s knyvtrba?\"\n0x007b   \"Program: %s\nIndt file: %s\n\nValban indtani akarja a programot?\"\n0x007c   \"Filekezel\"\n0x007e   \"Knyvtrfa\"\n0x007f   \"A keress eredmnye: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"Az albbi kiterjesztssel rendelkez file-ok programok, gy nem trsthatk msik alkalmazshoz: %s.\"\n0x00e1   \"%s nem program, ezrt nem lehet trstani kiterjesztssel.\"\n0x00e2   \"(nincs)\"\n0x00e4   \"Nem lehet egyszerre tbb file-t nyomtatni.\n\nJelljn ki egyet, majd prblja jra.\"\n0x00e5   \"Ez a program, vagy egy rsze tmrtve van.\n\nAz MS-DOS Expand segdprogramja hasznlatval msolja a file-t a telept lemezrl.\"\n0x00e6   \"Az egyik DLL, amelyre a file futtatshoz szksg van, megsrlt. Teleptse jra az alkalmazst.\"\n0x00e7   \"Ezt a file-t egy msik alkalmazs hasznlja.\"\n0x00e8   \"%s\n\nA Filekezel valsznleg nem tudja elrni az ebben a knyvtrban ltrehozott file-okat.\nKvnja folytatni a mveletet?\"\n0x00e9   \"Knyvtr ltrehozsa\"\n0x00ea   \"%ld byte\"\n0x00eb   \"%s byte\"\n0x00ec   \"A Vglapra nem lehet egynl tbb file-t vagy knyvtrat msolni.\n\nJelljn ki egy file-t, majd prblja jra.\"\n0x00ed   \"%s - %s\"\n0x00ee   \"Lemezmeghajt:\"\n0x00ef   \"%s, \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"Tl sok file\"\n0x0085   \"Filekezel - kevs memria\"\n0x0086   \"Nem sikerlt az egsz knyvtrat beolvasni. Csak rszleges lista jelenik meg.\"\n0x008c   \"Az l knyvtr: %s\"\n0x008d   \"Msols\"\n0x008f   \"tnevezs\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"Lemez formzsa\"\n0x0092   \"Vlassza ki a formzand lemezt.\"\n0x0096   \"Ltrehozs alatt:\"\n0x0097   \"Trls...\"\n0x0098   \"Msols alatt:\"\n0x0099   \"tnevezs...\"\n0x009a   \"thelyezs...\"\n0x009b   \"Trls...\"\n0x009c   \"Nyomtats alatt: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"%c: meghajt\n\nA meghajt nem ltezik.\"\n0x00a9   \"Msols...\"\n0x00aa   \"Trls alatt:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"Nyits...\"\n0x01a5   \"Zrs...\"\n0x01a6   \"Tl sok knyvtrablak van egyszerre nyitva.\n\nZrjon be nhny ablakot, majd prblja jra.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"Hiba a file thelyezse kzben\"\n0x03ea   \"Hiba a file msolsa kzben\"\n0x03eb   \"Hiba a file trlse kzben\"\n0x03ec   \"Hiba a file tnevezse kzben\"\n0x03ed   \"Hiba a meghajt kivlasztsa kzben\"\n0x03ee   \"Hiba a knyvtr olvassa kzben\"\n0x03ef   \"Hiba a lemez cmkzse kzben\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"%s nem helyezhet t: %s\"\n0x03f4   \"%s nem msolhat: %s\"\n0x03f5   \"%s nem trlhet: %s\"\n0x03f6   \"%s nem nevezhet t: %s\"\n0x03fd   \"%s\n\nA knyvtr nem hozhat ltre: %s\"\n0x03fe   \"%s\n\nA knyvtr nem trlhet: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Nem ltez MS-DOS fggvny.\"\n0x0412   \"A file nem tallhat.\n\nEllenrizze, hogy helyes elrsi t s filenv van megadva.\"\n0x0413   \"Az elrsi t nem tallhat.\n\nEllenrizze, hogy helyesen van-e megadva.\"\n0x0414   \"Tl sok egyb file van hasznlatban. Lpjen ki nhny alkalmazsbl.\"\n0x0415   \"A hozzfrs nem engedlyezett.\n\nEllenrizze, hogy a lemez nincs-e tele s nem rsvdett-e.\"\n0x0416   \"Hibs filekezel (handle).\"\n0x0418   \"Nincs elg memria.\n\nLpjen ki nhny programbl, majd prblja jra.\"\n0x041c   \"Hibs filehozzfrs.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"Az l knyvtrat nem lehet trlni (bels hiba).\"\n0x0421   \"Nem ltez hardver eszkz.\"\n0x0422   \"A knyvtr res.\"\n0x0423   \"A lemez rsvdett.\n\nSzntesse meg az rsvdelmet, vagy hasznljon msik lemezt, majd prblja jra.\"\n0x042d   \"Nem lehet rni a clfile-ba vagy -lemezre.\"\n0x042f   \"Nem lehet olvasni a clfile-bl vagy -lemezrl.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"Nem ltez mvelet.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"Tiltott a hozzfrs a hlzathoz. Ellenrizze, hogy rendelkezik-e a mvelethez szksges jogokkal.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"Elrsi jog megsrtse. A forrst vagy a clt valsznleg ms program hasznlja.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"Nincs elg lemezterlet.\n\nTrljn nhny file-t a szabad lemezterlet nvelse rdekben, majd prblja jra.\"\n0x0481   \"A forrs s a cl megegyezik.\"\n0x0482   \"Csak egy file-t jelljn ki tnevezsre, vagy hasznlja az MS-DOS helyettest karaktereket (pldul *.TXT) hasonl nev file-ok tnevezshez.\"\n0x0483   \"Nem lehet egy msik knyvtrba vagy lemezre tnevezni.\"\n0x0484   \"Gykrknyvtr (bels hiba).\"\n0x0486   \"A clknyvtr a forrsknyvtr alknyvtra.\"\n0x0487   \"A file-t a Windows hasznlja.\"\n0x0488   \"A hozzfrs tiltott. A forrsfile valsznleg hasznlatban van.\"\n0x0489   \"Az elrsi t tl hossz.\"\n0x048a   \"Csak egy file-t vagy knyvtrat adjon meg a Cl mezben. Ha file-ok egy csoportjt kvnja megadni, akkor hasznlja az MS-DOS helyettest karaktereket (pldul *.TXT).\"\n0x048b   \"A megadott nven mr ltezik egy file. Prblja jra egy msik filenv megadsval.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1,2 Mbyte\"\n0x0131   \" 720 kbyte\"\n0x0132   \"1,44 Mbyte\"\n0x0133   \"2,88 Mbyte\"\n0x0134   \"Lemezkapacits\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360 kbyte\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"Kevs a memria.\"\n0x0192   \"Az MS-DOS indt meghajtt nem lehet formzni.\"\n0x0193   \"Az MS-DOS indt meghajt szektormrete hibs.\"\n0x0194   \"Ismeretlen lemezmeghajt-tpus.\"\n0x0199   \"A rendszerfile-ok tmsolsa nem sikerlt.\"\n0x019a   \"Ezt a lemezt %s kapacitsra is lehet formzni. Ezzel a kapacitssal kvnja folytatni a formzst?\"\n0x019b   \"A lemez nem formzhat.\n\nEllenrizze, hogy a meghajtban olyan lemez van-e, amely nem rsvdett, nem srlt, s a srsge megegyezik a  megadottal.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00fe   \"A &knyvtr neve:\"\n0x00ff   \"\\StringFileInfo\\040904E4\\\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01f4   \"Megjegyzs\"\n0x01f5   \"A cg neve\"\n0x01f6   \"Filelers\"\n0x01f7   \"Bels nv\"\n0x01f8   \"Bejegyzett nv\"\n0x01f9   \"Eredeti filenv\"\n0x01fa   \"Sajt ptsi lers\"\n0x01fb   \"A termk neve\"\n0x01fc   \"A termk verziszma\"\n0x01fd   \"Kln ptsi lers\"\n0x01fe   \"Nyelv\"\n0x01ff   \"Nyelv\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0222   \"Nem tallhat file.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0255   \"A megadott szmtgp nem tallhat.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0263   \"A megosztott knyvtr nem tallhat.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0274   \"Tl sok a hlzati tirnytsok szma.\"\n0x0276   \"rvnytelen jelsz.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x02b0   \"A hlzati meghajt nem rhet el.\"\n0x02b1   \"%c: lemezmeghajt\nHiba az olvasskor.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0f90   \"Filekezel parancsok\"\n0x0f91   \"Lemezkezel parancsok\"\n0x0f92   \"Knyvtrfa-ablak kezelsre vonatkoz parancsok\"\n0x0f93   \"Az adatok kijelzst meghatroz parancsok\"\n0x0f94   \"Parancsok a jellemzk belltsra\"\n0x0f9a   \"Ablakok mretezst szolgl parancsok\"\n0x0f9b   \"A Sg megjelentsre vonatkoz parancsok\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1005   \"A kivlasztott adat megnyitsa\"\n0x1006   \"Dokumentum nyomtatsa\"\n0x1007   \"File trstsa egy alkalmazssal\"\n0x1008   \"File s knyvtr keresse\"\n0x1009   \"Alkalmazs vagy dokumentum indtsa, illetve megnyitsa\"\n0x100a   \"A kivlasztott adat thelyezse\"\n0x100b   \"File s knyvtr msolsa\"\n0x100c   \"File s knyvtr trlse\"\n0x100d   \"File s knyvtr tnevezse\"\n0x100e   \"Fileattribtum belltsa -jellemzk megjelentse\"\n0x100f   \"Knyvtr ltrehozsa\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1013   \"Kilps a Filekezelbl\"\n0x1014   \"File s knyvtr kijellse\"\n0x1015   \"A korbban trlt file visszanyerse\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1069   \"Hajlkonylemez tartalmnak msolsa\"\n0x106a   \"Lemezcmke ltrehozsa vagy mdostsa\"\n0x106b   \"Hajlkonylemez formzsa\"\n0x106c   \"Az MS-DOS file-ok msolsa a lemezre\"\n0x106d   \"Hlzati lemezmeghajthoz val csatlakozs\"\n0x106e   \"A hlzati lemezmeghajt levlasztsa\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x109b   \"Msik lemezmeghajt kivlasztsa\"\n0x109c   \"Hlzati csatlakozsok...\"\n0x109d   \"Osztott knyvtrak megmutatsa...\"\n0x109e   \"Knyvtr megosztsa\"\n0x109f   \"Knyvtr megosztsnak vge\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10cd   \"Knyvtr ms szintjnek megjelentse\"\n0x10ce   \"A knyvtr sszes szintjnek megjelentse\"\n0x10cf   \"Minden knyvtr minden szintjnek megjelentse\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10d0   \"Minden alknyvtr bezrsa a vlasztott knyvtrban\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1195   \"zenetek nyugtzsnak irnytsa\"\n0x1197   \"Megmutatja, ill. elrejti az llapotsort\"\n0x1198   \"Ikonmretre cskkenti a Filekezelt indtskor\"\n0x1199   \"Alknyvtrakat tartalmaz knyvtrak kijelzse\"\n0x119b   \"Lemezmeghajtk kijelzse, illetve elrejtse\"\n0x119c   \"Az eszkztr kijelzse, illetve elrejtse\"\n0x119d   \"Kapcsolat ltrejttekor j ablakot nyit\"\n0x119e   \"A bettpus megvltoztatsa\"\n0x119f   \"Belltsok mentse kilpskor\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1131   \"Csak a nevet mutatja meg\"\n0x1132   \"Minden adatot megmutat\"\n0x1133   \"Az adatok egy rszt mutatja csak\"\n0x1134   \"Nv szerinti rendezs\"\n0x1135   \"Tpus szerinti rendezs\"\n0x1136   \"Mret szerinti rendezs\"\n0x1137   \"Dtum szerinti rendezs\"\n0x1139   \"Csak a kivlasztott filetpusokat mutatja meg\"\n0x113b   \"Knyvtrfa megjelentse\"\n0x113c   \"Megjelenti az aktulis knyvtr tartalmt\"\n0x113d   \"Megjelenti a knyvtrft s az aktulis knyvtr tartalmt\"\n0x113e   \"Sztosztja a knyvtrablakot vagy elmozdtja az osztcskot\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x11a0   \"Eszkztr egyedi belltsa\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13f0   \"Ablak tartalmnak frisstse\"\n0x13f1   \"Ikon elrendezse\"\n0x13f2   \"j ablak megnyitsa\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13ed   \"Ablak elrendezse\"\n0x13ee   \"Ablak elrendezse\"\n0x13ef   \"Ablak elrendezse\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1451   \"A Filekezel Sgjnak tartalomjegyzke\"\n0x1452   \"Informci a Sg hasznlatrl\"\n0x1453   \"Informci a Filekezelrl\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0fbe   \"Keress a Filekezel Sgjban\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0320   \"&Hlzati meghajt csatlakoztatsa...\"\n0x0321   \"Hlzati &meghajt levlasztsa...\"\n0x0322   \"Hlzati &csatlakozsok...\"\n0x0323   \"M&egoszts...\"\n0x0324   \"Megoszts &vge...\"\n0x0325   \"&Osztott knyvtrak megmutatsa...\"\n0x0326   \"Viss&zahoz...\"\n0x0327   \"j abla&k nyitsa kapcsolat ltrejttekor\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.Italian.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"&File\"\n    BEGIN\n    MENUITEM    \"&Apri\tINVIO\", 0X0065\n    MENUITEM    \"&Sposta...\tF7\", 0X006A\n    MENUITEM    \"Co&pia...\tF8\", 0X006B\n    MENUITEM    \"E&limina...\tCANC\", 0X006C\n    MENUITEM    \"Ri&nomina...\", 0X006D\n    MENUITEM    \"P&ropriet...\tALT+INVIO\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Ese&gui...\", 0X0069\n    MENUITEM    \"Sta&mpa...\", 0X0066\n    MENUITEM    \"Ass&ocia...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Crea &directory...\", 0X006F\n    MENUITEM    \"&Cerca...\", 0X0068\n    MENUITEM    \"Sele&ziona file...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Esci\", 0X0073\n    END\n    POPUP   \"&Disco\"\n    BEGIN\n    MENUITEM    \"Co&pia disco...\", 0X00C9\n    MENUITEM    \"&Etichetta disco...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Formatta disco...\", 0X00CB\n    MENUITEM    \"&Crea disco di sistema...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Sele&ziona unit...\", 0X00FB\n    END\n    POPUP   \"S&truttura\"\n    BEGIN\n    MENUITEM    \"Espandi un &livello\t+\", 0X012D\n    MENUITEM    \"Espandi &ramo\t*\", 0X012E\n    MENUITEM    \"Espandi &tutto\tCTRL+*\", 0X012F\n    MENUITEM    \"&Comprimi ramo\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Mostra rami espandibili\", 0X01F9\n    END\n    POPUP   \"&Visualizza\"\n    BEGIN\n    MENUITEM    \"S&truttura e directory\", 0X019D\n    MENUITEM    \"&Solo struttura\", 0X019B\n    MENUITEM    \"Solo &directory\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Di&vidi\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Nome\", 0X0191\n    MENUITEM    \"Tutti i dettagli sul &file\", 0X0192\n    MENUITEM    \"Sc&elta dettagli...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Ordina per nome\", 0X0194\n    MENUITEM    \"Ordina &per tipo\", 0X0195\n    MENUITEM    \"Ordina per di&mensione\", 0X0196\n    MENUITEM    \"Ordin&a per data\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Per t&ipo di file...\", 0X0199\n    END\n    POPUP   \"O&pzioni\"\n    BEGIN\n    MENUITEM    \"C&onferma...\", 0X01F5\n    MENUITEM    \"&Carattere...\", 0X01FE\n    MENUITEM    \"&Personalizza barra degli strumenti...\", 0X0200\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Barra &degli strumenti\", 0X01FC\n    MENUITEM    \"Barra delle &unit\", 0X01FB\n    MENUITEM    \"&Barra di stato\", 0X01F7\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Riduci ad icona in esecuzione\", 0X01F8\n    MENUITEM    \"&Salva le impostazioni in uscita\", 0X01FF\n    END\n    POPUP   \"Fi&nestra\"\n    BEGIN\n    MENUITEM    \"Nuova &finestra\", 0X0452\n    MENUITEM    \"Sovra&pponi\tMAIUSC+F5\", 0X044D\n    MENUITEM    \"Affianca &orizzontalmente\", 0X044F\n    MENUITEM    \"Affianca &verticalmente\tMAIUSC+F4\", 0X044E\n    MENUITEM    \"&Disponi icone\", 0X0451\n    MENUITEM    \"&Aggiorna\tF5\", 0X0450\n    END\n    POPUP   \"&?\"\n    BEGIN\n    MENUITEM    \"S&ommario\", 0X04B1\n    MENUITEM    \"C&erca argomento...\", 0X001E\n    MENUITEM    \"&Uso della Guida\", 0X04B2\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Inform. &su File Manager...\", 0X04B3\n    END\nEND\n\n\n145 DIALOG 0x80c8, 13, 54, 269, 156\nCAPTION \"Carattere\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Tipo:\", 1088, 0x0000, 6, 3, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 13, 94, 54\n    CONTROL 0x82, \"St&ile:\", 1089, 0x0000, 108, 3, 44, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 13, 64, 54\n    CONTROL 0x82, \"&Dimensione:\", 1090, 0x0000, 179, 3, 41, 8\n    CONTROL 0x85, \"\", 1138, 0x0311, 179, 13, 37, 54\n    CONTROL 0x80, \"Effetti\", 1072, 0x0007, 6, 72, 84, 61\n    CONTROL 0x80, \"&Barrato\", 1040, 0x0003, 10, 82, 49, 10\n    CONTROL 0x80, \"&Sottolineato\", 1041, 0x0003, 10, 94, 51, 10\n    CONTROL 0x80, \"&Minuscolo\", 1042, 0x0003, 10, 82, 49, 10\n    CONTROL 0x82, \"&Colore:\", 1091, 0x0000, 10, 106, 30, 9\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 116, 75, 50\n    CONTROL 0x80, \"OK\", 1, 0x0001, 226, 6, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 226, 23, 40, 14\n    CONTROL 0x80, \"&Applica\", 1026, 0x0000, 226, 40, 40, 14\n    CONTROL 0x80, \"&?\", 1038, 0x0000, 226, 57, 40, 14\n    CONTROL 0x80, \"Esempio\", 1073, 0x0007, 106, 72, 160, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 104, 124, 160, 20\n    CONTROL 0x82, \"AaBbYyZz\", 1092, 0x0081, 112, 81, 149, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 201, 86\nCAPTION \"Seleziona unit\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Unit:\", 245, 0x000c, 5, 5, 41, 10\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"OK\", 1, 0x0001, 155, 6, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 155, 23, 40, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 155, 44, 40, 14\nEND\n\n10 DIALOG 0x80c8, 15, 12, 210, 63\nCAPTION \"Esegui\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 3, 6, 162, 10\n    CONTROL 0x82, \"&Riga di comando:\", 100, 0x000c, 3, 18, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 134, 12\n    CONTROL 0x80, \"&Avvia ridotto ad icona\", 214, 0x0003, 3, 45, 83, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 165, 23, 40, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 165, 43, 40, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 123, 83\nCAPTION \"Seleziona file\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&File:\", -1, 0x000c, 5, 16, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 29, 60, 12\n    CONTROL 0x80, \"&Seleziona\", 1, 0x0001, 70, 6, 50, 14\n    CONTROL 0x80, \"&Deseleziona\", 6, 0x0000, 70, 23, 50, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 70, 40, 50, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 70, 63, 50, 14\nEND\n\n39 DIALOG 0x80c8, 10, 20, 245, 95\nCAPTION \"Conferma sostituzione file\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Sostituire il file:\", 100, 0x000c, 25, 12, 51, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 80, 12, 160, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 80, 22, 160, 10\n    CONTROL 0x82, \"Con il file:\", 100, 0x000c, 25, 34, 47, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 34, 160, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 80, 44, 160, 10\n    CONTROL 0x80, \"&S\", 6, 0x0001, 33, 73, 40, 14\n    CONTROL 0x80, \"S &tutti\", 107, 0x0000, 79, 73, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 125, 73, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 171, 73, 40, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"Conferma eliminazione file\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 203, 10\n    CONTROL 0x82, \"Elimina file:\", 100, 0x000c, 25, 18, 43, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 18, 170, 10\n    CONTROL 0x80, \"&S\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"S &tutti\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"Conferma eliminazione directory\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Elimina directory:\", 100, 0x000c, 25, 18, 59, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 84, 18, 156, 10\n    CONTROL 0x80, \"&S\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"S &tutte\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"Conferma spostamento file\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Sposta file:\", 100, 0x000c, 25, 18, 39, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 18, 170, 10\n    CONTROL 0x80, \"&S\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"S &tutti\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"Conferma ridenominazione file\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Rinomina file:\", 100, 0x000c, 25, 13, 51, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 13, 160, 10\n    CONTROL 0x80, \"&S\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"S &tutti\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n11 DIALOG 0x80c8, 20, 20, 240, 63\nCAPTION \"Stampa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 193, 10\n    CONTROL 0x82, \"Sta&mpa:\", 100, 0x000c, 3, 20, 28, 8\n    CONTROL 0x81, \"\", 102, 0x0480, 34, 18, 160, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 36, 190, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n13 DIALOG 0x80c8, 20, 20, 263, 63\nCAPTION \"Cerca\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"C&erca:\", 100, 0x000c, 5, 6, 45, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 52, 5, 160, 12\n    CONTROL 0x82, \"Comincia &da:\", 100, 0x000c, 5, 21, 45, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 52, 20, 160, 12\n    CONTROL 0x80, \"&Cerca in tutte le sottodirectory\", 232, 0x0003, 52, 34, 110, 10\n    CONTROL 0x82, \"\", 104, 0x000c, 5, 50, 200, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 217, 6, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 217, 23, 40, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 217, 43, 40, 14\nEND\n\n14 DIALOG 0x80c8, 47, 59, 267, 74\nCAPTION \"Sposta\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Directory corrente: N\", 101, 0x008b, 3, 13, 213, 10\n    CONTROL 0x82, \"&A:\", 100, 0x000c, 3, 40, 20, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 37, 39, 179, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 26, 40, 10, 10\n    CONTROL 0x80, \"Co&pia negli Appunti\", 256, 0x0004, 26, 54, 78, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 56, 89, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 96, 56, 164, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 224, 3, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 224, 21, 40, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 224, 37, 40, 14\n    CONTROL 0x82, \"&Da:\", 100, 0x000c, 3, 26, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 25, 179, 12\nEND\n\n10014 DIALOG 0x80c8, 47, 59, 231, 98\nCAPTION \"Sposta\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Directory corrente: N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"&A:\", 100, 0x000c, 3, 38, 20, 10\n    CONTROL 0x62, \"edit\", 103, 0x0004, 37, 38, 138, 42\n    CONTROL 0x50, \"\", 256, 0x0401, 6656, 9728, 2560, 2560\n    CONTROL 0x80, \"Co&pia negli Appunti\", 256, 0x0004, 26, 84, 74, 10\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 84, 40, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 45, 84, 138, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 185, 23, 40, 14\n    CONTROL 0x80, \"S&foglia\", 600, 0x0000, 185, 40, 40, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 185, 61, 40, 14\n    CONTROL 0x82, \"&Da:\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n200 DIALOG 0x00c8, 36, 24, 164, 134\nCAPTION \"Seleziona directory\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x81, \"\", 1152, 0x0490, 6, 16, 90, 12\n    CONTROL 0x83, \"\", 1120, 0x0053, 12, 28, 84, 68\n    CONTROL 0x82, \"&Directory:\", -1, 0x0000, 10, 6, 92, 9\n    CONTROL 0x82, \"\", 1088, 0x0000, 10, 16, 92, 9\n    CONTROL 0x83, \"\", 1121, 0x0053, 10, 28, 92, 68\n    CONTROL 0x82, \"&Unit:\", 1091, 0x0000, 10, 102, 92, 9\n    CONTROL 0x85, \"\", 1137, 0x0353, 10, 112, 92, 68\n    CONTROL 0x80, \"OK\", 1, 0x0001, 108, 6, 50, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 108, 24, 50, 14\n    CONTROL 0x82, \"&Nome file:\", 1090, 0x0000, 6, 6, 76, 9\n    CONTROL 0x82, \"&Tipo file:\", 1089, 0x0000, 6, 104, 90, 9\n    CONTROL 0x85, \"\", 1136, 0x0043, 6, 114, 90, 36\n    CONTROL 0x80, \"&?\", 1038, 0x0000, 208, 46, 50, 14\n    CONTROL 0x80, \"So&la lettura\", 1040, 0x0003, 208, 68, 50, 12\nEND\n\n15 DIALOG 0x80c8, 20, 20, 275, 64\nCAPTION \"Elimina\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Directory corrente: C\", 101, 0x008c, 3, 5, 221, 10\n    CONTROL 0x82, \"E&limina:\", 100, 0x000c, 3, 20, 35, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 44, 19, 180, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 35, 77, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 84, 35, 140, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 232, 5, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 232, 22, 40, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 232, 42, 40, 14\nEND\n\n38 DIALOG 0x80c8, 20, 20, 215, 65\nCAPTION \"Propriet\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"%d File selezionati, Totale %s byte\", 100, 0x000c, 5, 5, 151, 10\n    CONTROL 0x80, \"Attributi\", -1, 0x0007, 5, 18, 120, 42\n    CONTROL 0x80, \"So&la lettura\", 215, 0x0003, 10, 29, 52, 12\n    CONTROL 0x80, \"&Nascosto\", 216, 0x0003, 72, 29, 52, 12\n    CONTROL 0x80, \"Arc&hivio\", 217, 0x0003, 10, 41, 52, 12\n    CONTROL 0x80, \"&Sistema\", 218, 0x0003, 72, 41, 52, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 158, 6, 50, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 158, 23, 50, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 158, 43, 50, 14\nEND\n\n16 DIALOG 0x80c8, 23, 13, 250, 195\nCAPTION \"Propriet di %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 196, 6, 50, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 196, 23, 50, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 196, 40, 50, 14\n    CONTROL 0x82, \"N&ome file:\", 261, 0x000c, 5, 5, 55, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 60, 5, 134, 10\n    CONTROL 0x82, \"&Percorso:\", 100, 0x000c, 5, 16, 51, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 60, 16, 134, 10\n    CONTROL 0x82, \"Ultima modifica:\", 100, 0x000c, 5, 27, 55, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 60, 27, 97, 10\n    CONTROL 0x82, \"Versione:\", 258, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"Non specificata\", 259, 0x008c, 60, 38, 90, 10\n    CONTROL 0x82, \"&Copyright:\", -1, 0x0000, 5, 49, 45, 10\n    CONTROL 0x81, \"Non specificata\", 265, 0x0880, 60, 49, 134, 10\n    CONTROL 0x82, \"Dimensione:\", 260, 0x000c, 5, 60, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 60, 60, 90, 10\n    CONTROL 0x80, \"Attributi\", 100, 0x0007, 4, 74, 120, 42\n    CONTROL 0x80, \"So&la lettura\", 215, 0x0003, 9, 86, 52, 12\n    CONTROL 0x80, \"&Nascosto\", 216, 0x0003, 71, 86, 49, 12\n    CONTROL 0x80, \"Arc&hivio\", 217, 0x0003, 9, 98, 52, 12\n    CONTROL 0x80, \"&Sistema\", 218, 0x0003, 71, 98, 49, 12\n    CONTROL 0x80, \"Informazioni sulla &versione\", 262, 0x0007, 4, 121, 242, 72\n    CONTROL 0x83, \"\", 263, 0x1003, 9, 132, 91, 58\n    CONTROL 0x81, \"\", 264, 0x0804, 103, 132, 138, 58\nEND\n\n17 DIALOG 0x80c8, 20, 20, 200, 63\nCAPTION \"Crea directory\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Nome:\", 100, 0x000c, 3, 23, 20, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 30, 22, 90, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 46, 150, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 157, 6, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 157, 23, 40, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 157, 43, 40, 14\nEND\n\n10017 DIALOG 0x80c8, 20, 20, 240, 74\nCAPTION \"Crea directory\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Nome:\", 100, 0x000c, 3, 28, 20, 10\n    CONTROL 0x62, \"edit\", 201, 0x0000, 3, 40, 170, 18\n    CONTROL 0x50, \"\", 26624, 0x8c00, 768, 15360, -27136, 2560\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 190, 64\nCAPTION \"Crea disco di sistema\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Copia i file di sistema sul disco nell'unit:\", -1, 0x000c, 5, 8, 135, 8\n    CONTROL 0x85, \"\", 222, 0x0003, 30, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 146, 7, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 146, 24, 40, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 146, 44, 40, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 178, 64\nCAPTION \"Copia disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Disco &origine in:\", -1, 0x000c, 5, 8, 54, 8\n    CONTROL 0x85, \"\", 245, 0x0003, 81, 6, 40, 37\n    CONTROL 0x82, \"Disco &destinazione in:\", 206, 0x000c, 5, 22, 73, 8\n    CONTROL 0x85, \"\", 222, 0x0003, 81, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 133, 5, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 133, 23, 40, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 133, 41, 40, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 55\nCAPTION \"Copia in corso\"\nFONT 8, \"Helv\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"Copia del disco in corso su\", 100, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \"Unit A:\", 222, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \"Lettura disco origine.\", 243, 0x0001, 0, 26, 130, 10\n    CONTROL 0x80, \"Annulla\", 2, 0x0001, 44, 39, 44, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 161, 63\nCAPTION \"Etichetta disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Etichetta:\", 100, 0x000c, 5, 15, 35, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 100, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 115, 6, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 115, 23, 40, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 115, 43, 40, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 183, 96\nCAPTION \"Formatta disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 140, 6, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 140, 23, 40, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 140, 43, 40, 14\n    CONTROL 0x82, \"&Disco:\", -1, 0x000c, 5, 7, 49, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 4, 65, 40\n    CONTROL 0x82, \"C&apacit:\", 100, 0x000c, 5, 20, 49, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 55, 19, 65, 40\n    CONTROL 0x80, \"Opzioni\", 102, 0x0007, 5, 39, 115, 53\n    CONTROL 0x82, \"&Etichetta:\", -1, 0x000c, 11, 51, 33, 10\n    CONTROL 0x81, \"\", 201, 0x0000, 46, 49, 63, 12\n    CONTROL 0x80, \"&Crea disco di sistema\", 242, 0x0003, 11, 62, 85, 10\n    CONTROL 0x80, \"&Formattazione veloce\", 244, 0x0003, 11, 76, 85, 10\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 50\nCAPTION \"Formattazione del disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Formattazione del disco in corso.\", 100, 0x0001, 0, 5, 150, 10\n    CONTROL 0x82, \"Inizializzazione del disco in corso...\", 243, 0x0001, 0, 17, 150, 10\n    CONTROL 0x80, \"Annulla\", 2, 0x0001, 54, 30, 44, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 174, 57\nCAPTION \"Crea disco di sistema\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Copia dei file di sistema in corso.\", 100, 0x0001, 0, 6, 174, 8\n    CONTROL 0x82, \"Premere Annulla per interrompere.\", 100, 0x0001, 0, 14, 174, 8\n    CONTROL 0x80, \"Annulla\", 2, 0x0001, 66, 39, 44, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 241, 135\nCAPTION \"Connessioni in rete\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Nuova connessione\", -1, 0x0007, 5, 3, 170, 55\n    CONTROL 0x82, \"Pe&rcorso rete:\", -1, 0x0000, 10, 16, 55, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 65, 14, 100, 12\n    CONTROL 0x82, \"&Unit:\", -1, 0x0000, 10, 30, 24, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 65, 28, 40, 100\n    CONTROL 0x82, \"Pass&word:\", -1, 0x0000, 10, 44, 36, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 65, 42, 100, 12\n    CONTROL 0x82, \"Co&nnessioni unit correnti:\", -1, 0x0000, 5, 62, 120, 10\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 160, 60\n    CONTROL 0x80, \"&Chiudi\", 2, 0x0001, 188, 6, 49, 14\n    CONTROL 0x80, \"C&onnetti\", 1, 0x0000, 188, 27, 49, 14\n    CONTROL 0x80, \"&Precedenti...\", 226, 0x0000, 188, 44, 49, 14\n    CONTROL 0x80, \"S&foglia...\", 227, 0x0000, 188, 61, 49, 14\n    CONTROL 0x80, \"Di&sconnetti\", 255, 0x0000, 188, 78, 49, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 188, 95, 49, 14\nEND\n\n29 DIALOG 0x80c8, 30, 30, 231, 98\nCAPTION \"Precedenti connessioni in rete\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Pe&rcorsi rete:\", 100, 0x000c, 3, 3, 69, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 3, 15, 172, 80\n    CONTROL 0x80, \"&Seleziona\", 1, 0x0001, 181, 6, 44, 14\n    CONTROL 0x80, \"Chiudi\", 2, 0x0000, 181, 24, 44, 14\n    CONTROL 0x80, \"E&limina\", 219, 0x0000, 181, 41, 44, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 181, 58, 44, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 163, 65\nCAPTION \"Scelta dettagli\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Dettagli\", 100, 0x0007, 4, 4, 111, 55\n    CONTROL 0x80, \"D&imensione\", 203, 0x0003, 11, 15, 53, 10\n    CONTROL 0x80, \"&Data ultima modifica\", 204, 0x0003, 11, 25, 81, 10\n    CONTROL 0x80, \"&Ora ultima modifica\", 205, 0x0003, 11, 35, 77, 10\n    CONTROL 0x80, \"&Attributi file\", 206, 0x0003, 11, 45, 53, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 120, 6, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 120, 23, 40, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 120, 43, 40, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 157, 102\nCAPTION \"Per tipo di file\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Nome:\", 100, 0x000c, 5, 8, 23, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"Tipo file\", 100, 0x0007, 5, 20, 94, 62\n    CONTROL 0x80, \"&Directory\", 101, 0x0003, 10, 31, 42, 10\n    CONTROL 0x80, \"&Programmi\", 210, 0x0003, 10, 43, 50, 10\n    CONTROL 0x80, \"D&ocumenti\", 211, 0x0003, 10, 55, 50, 10\n    CONTROL 0x80, \"&Altri file\", 212, 0x0003, 10, 67, 38, 10\n    CONTROL 0x80, \"&Mostra file nascosti/di sistema\", 250, 0x0003, 5, 85, 115, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 164, 80\nCAPTION \"Conferma\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Conferma per\", 100, 0x0007, 5, 3, 108, 73\n    CONTROL 0x80, \"E&liminazione file\", 219, 0x0003, 10, 15, 64, 10\n    CONTROL 0x80, \"El&iminazione directory\", 220, 0x0003, 10, 27, 82, 10\n    CONTROL 0x80, \"&Sostituzione file\", 221, 0x0003, 10, 39, 63, 10\n    CONTROL 0x80, \"Operazioni col &mouse\", 249, 0x0003, 10, 51, 81, 10\n    CONTROL 0x80, \"Coman&di disco\", 251, 0x0003, 10, 63, 58, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 118, 6, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 118, 23, 40, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 118, 44, 40, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 279, 46\nCAPTION \"Spostamento in corso...\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 5, 75, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 84, 5, 192, 10\n    CONTROL 0x82, \"A:\", 108, 0x008b, 5, 15, 25, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 84, 15, 192, 10\n    CONTROL 0x80, \"Annulla\", 2, 0x0001, 229, 29, 40, 14\nEND\n\n36 DIALOG 0x80c8, 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Stampa file...\", -1, 0x0001, 4, 6, 120, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 4, 20, 120, 12\n    CONTROL 0x80, \"Annulla\", 2, 0x0001, 44, 40, 32, 14\nEND\n\n12 DIALOG 0x80c8, 31, 39, 211, 96\nCAPTION \"Associa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Fil&e con estensione:\", 99, 0x000c, 5, 8, 74, 10\n    CONTROL 0x81, \"\", 112, 0x0400, 80, 6, 35, 12\n    CONTROL 0x82, \"&Associa a:\", 99, 0x000c, 5, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 5, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 11, 44, 146, 40\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 165, 23, 40, 14\n    CONTROL 0x80, \"S&foglia...\", 232, 0x0000, 165, 43, 40, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 165, 60, 40, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 250, 78\nCAPTION \"Seleziona nome file\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Questo percorso non corrisponde al formato DOS per i nomi di file.  Immettere un nuovo nome.\", 99, 0x0000, 4, 4, 190, 24\n    CONTROL 0x82, \"&Nuovo nome:\", 99, 0x0002, 23, 56, 44, 8\n    CONTROL 0x81, \"\", 103, 0x0000, 67, 55, 130, 12\n    CONTROL 0x82, \"Percorso originale:\", 99, 0x0002, 5, 28, 62, 8\n    CONTROL 0x81, \"\", 102, 0x0880, 67, 28, 130, 12\n    CONTROL 0x82, \"Alla directory:\", 99, 0x0002, 21, 42, 46, 8\n    CONTROL 0x81, \"\", 101, 0x0880, 67, 42, 130, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 205, 4, 40, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 205, 20, 40, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 205, 36, 40, 14\nEND\n\n48 DIALOG 0x80c8, 23, 13, 250, 107\nCAPTION \"Propriet di %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 194, 6, 50, 14\n    CONTROL 0x80, \"Annulla\", 2, 0x0000, 194, 23, 50, 14\n    CONTROL 0x80, \"&?\", 254, 0x0000, 194, 43, 50, 14\n    CONTROL 0x82, \"N&ome file:\", 261, 0x000c, 5, 5, 51, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 60, 5, 134, 10\n    CONTROL 0x82, \"&Percorso:\", 100, 0x000c, 5, 16, 47, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 60, 16, 134, 10\n    CONTROL 0x82, \"Ultima modifica:\", 100, 0x000c, 5, 27, 55, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 60, 27, 97, 10\n    CONTROL 0x82, \"Dimensione:\", 260, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 60, 38, 90, 10\n    CONTROL 0x80, \"Attributi\", 100, 0x0007, 4, 52, 120, 42\n    CONTROL 0x80, \"So&la lettura\", 215, 0x0003, 9, 64, 52, 12\n    CONTROL 0x80, \"&Nascosto\", 216, 0x0003, 71, 64, 49, 12\n    CONTROL 0x80, \"Arc&hivio\", 217, 0x0003, 9, 76, 52, 12\n    CONTROL 0x80, \"&Sistema\", 218, 0x0003, 71, 76, 49, 12\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0101   \"(Directory principale)\"\n0x0102   \"(Non applicabile)\"\n0x0103   \"Condivisa con nome %s\"\n0x0104   \"Non condivisa\"\n0x0107   \"Copia file su %s\"\n0x0108   \"Sposta file su %s\"\n0x0109   \"Esecuzione file con %s\"\n0x010a   \"%s byte\"\n0x010b   \"%s Kb\"\n0x010c   \"%s Mb\"\n0x010d   \"%s Gb\"\n0x010e   \"%s Tb\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"Esci da Windows\"\n0x0029   \"Fine della sessione di lavoro.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"Copia disco\"\n0x0033   \"Inserire il disco di destinazione.\"\n0x0034   \"Inserire il disco di origine.\"\n0x0035   \"Inserire i dischi di origine e destinazione.\"\n0x0036   \"Formattazione disco di destinazione in corso.\"\n0x0037   \"Errore durante la copia del disco\"\n0x0038   \"Impossibile copiare il disco.\"\n0x003a   \"Le unit di origine e destinazione non sono compatibili.\"\n0x003c   \"%d%% completato\"\n0x003d   \"Creazione directory principale...\"\n0x003e   \"Copia file di sistema...\"\n0x003f   \"Errore nella formattazione del disco\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"Spazio disco insufficiente per la stampa.\n\nEliminare uno o pi file per aumentare lo spazio disco, quindi riprovare.\"\n0x00c1   \"Memoria insufficiente per la stampa.\n\nChiudere una o pi applicazioni e riprovare.\"\n0x00c2   \"Errore in fase di stampa.\n\nAssicurarsi che la stampante sia correttamente configurata e selezionata.\"\n0x00c3   \"La struttura della directory visualizzata  incompleta\"\n0x00c5   \"Unit di destinazione piena.\n\nInserire un altro disco per continuare.\"\n0x00c6   \"File di sistema, nascosto o di sola lettura.\"\n0x00c7   \"Formattazione veloce impossibile per File Manager.\n\nProseguire con la formattazione normale?\"\n0x00c8   \"L'applicazione specificata non  un'applicazione per Windows o MS-DOS.\"\n0x00c9   \"L'applicazione richiede una versione pi recente di Microsoft Windows.\"\n0x00ca   \"Il programma richiede Windows.\"\n0x00cb   \"Errore durante l'invio del comando all'applicazione.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"Impossibile formattare il disco.\"\n0x0042   \"Formattazione completa.\"\n0x0043   \"Spazio totale su disco %ld byte.\n%ld byte disponibili su disco.\n\nFormattare un altro disco?\"\n0x0046   \"Crea disco di sistema\"\n0x0047   \"Copiare i file di sistema sul disco nell'unit %c?\"\n0x0048   \"Errore nel disco di sistema\"\n0x0049   \"Il disco di avvio MS-DOS non contiene i file di sistema o non  disponibile.\"\n0x004a   \"Impossibile copiare i file di sistema nell'unit di avvio di MS-DOS.\"\n0x004b   \"Impossibile copiare i file di sistema su questo disco.\n\nAssicurarsi che un disco formattato sia presente nell'unit e che lo sportello dell'unit sia chiuso.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"Impossibile creare o sostituire %s: %s\"\n0x0408   \"Impossibile creare un disco di sistema MS-DOS perch  installato il multiboot di Windows NT. Per creare un disco di sistema utilizzare il comando SYS dal prompt dei comandi di MS-DOS.\"\n0x0409   \"Formattare il disco senza trasferire i file di sistema?\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"Errore di rete\"\n0x0053   \"L'unit contiene i file di sistema di Windows e non pu essere disconnessa.\"\n0x005b   \"Impossibile cambiare gli attributi.\n\nAssicurarsi che il disco non sia protetto da scrittura.\"\n0x005c   \"Impossibile creare la directory.\n\nAssicurarsi che il disco non sia protetto da scrittura.\"\n0x005d   \"Impossibile etichettare il disco.\n\nAssicurarsi che il disco non sia protetto da scrittura, non sia un'unit di rete e che l'atichetta sia valida. L'etchetta non pu contenere i seguenti caratteri:\n[spazio] * ? / \\ | . , ; : + = [ ] ( ) & ^ < > \" \"\n0x005f   \"Nessun file trovato.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"Totale %d file (%s)\"\n0x00b5   \"Directory lette: %d \"\n0x00b6   \"%c: %s liberi,  %s totali\"\n0x00b7   \"%d file trovati\"\n0x00b9   \"i file selezionati\"\n0x00ba   \"Impossibile disconnettere. File aperti sull'unit.\"\n0x00bb   \"%d file selezionato/i (%s)\"\n0x00bc   \"Nessun disco nell'unit %c.\n\nInserire un disco e riprovare.\"\n0x00bd   \"Il disco nell'unit %c non  formattato.\n\nProcedere con la formattazione?\"\n0x00bf   \"Impossibile trovare il file da stampare. Assicurarsi che il percorso ed il nome del file specificati siano corretti.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"La directory specificata  gi esistente.\"\n0x0061   \"Il contenuto di questa unit  cambiato. Aggiornare la finestra con i risultati della ricerca?\"\n0x0065   \"Unit %c:%c\"\n0x006e   \"Impossibile eseguire il programma\"\n0x006f   \"Errore inaspettato: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"La formattazione canceller tutti i dati presenti sul disco. Formattare il disco nell'unit %c?\"\n0x00d3   \"Conferma formattazione disco\"\n0x00d4   \"L'operazione canceller tutti i dati presenti sul disco di destinazione. Continuare?\"\n0x00d5   \"Conferma copia disco\"\n0x00d6   \"&Chiudi\"\n0x00da   \"La directory %s non esiste.\n\nCrearla?\"\n0x00db   \"Programmi#*.exe;*.pif;*.com;*.bat#Tutti i file (*.*)#*.*#\"\n0x00dc   \"Sfoglia\"\n0x00dd   \"Esegui\"\n0x00de   \"Impossibile stampare il file\"\n0x00df   \"Impossibile visualizzare le informazioni della Guida.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"Memoria insufficiente per avviare l'applicazione specificata.\n\nChiudere una o pi applicazioni e riprovare.\"\n0x0071   \"Impossibile trovare il file (o uno dei suoi componenti).\n\nAssicurarsi che il percorso ed il nome del file siano corretti e che tutte le librerie richieste siano disponibili.\"\n0x0072   \"Il percorso specificato non  valido.\"\n0x0073   \"Troppi file in uso.\n\nChiudere una o pi applicazioni o incrementare il valore del comando FILES nel CONFIG.SYS, quindi riprovare.\"\n0x0074   \"Nessuna applicazione associata a questo file.\n\nScegliere Associa dal menu File per creare un'associazione.\"\n0x0075   \"Non si possono avviare pi copie del programma specificato.\"\n0x0076   \"Impossibile aprire o stampare il file.\n\nAvviare l'applicazione usata per generare il file ed aprirlo o stamparlo usando tale applicazione.\"\n0x0078   \"Conferma operazione col mouse\"\n0x0079   \"Copiare le directory o i file selezionati in %s?\"\n0x007a   \"Spostare le directory o i file selezionati in %s?\"\n0x007b   \"Avviare %s usando %s come file iniziale?\"\n0x007c   \"File Manager\"\n0x007e   \"Struttura directory\"\n0x007f   \"Risultati ricerca: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"I file con estensione %s sono programmi e non possono essere associati ad un'altra applicazione.\"\n0x00e1   \"%s non  un programma e non pu essere associato con l'estensione di un file.\"\n0x00e2   \"(Nessuna)\"\n0x00e4   \"Impossibile stampare file multipli.\n\nSelezionare un solo file e riprovare.\"\n0x00e5   \"Il programma o uno dei suoi elementi  compresso.\n\nUsare l'utilit Expand di MS-DOS per copiare i file dai dischi di installazione.\"\n0x00e6   \"Uno dei file di libreria necessario per eseguire l'applicazione  danneggiato. Reinstallare l'applicazione.\"\n0x00e7   \"File in uso in un'altra applicazione.\"\n0x00e8   \"Impossibile accedere ai file creati nella directory \"%s\".\n\nContinuare?\"\n0x00e9   \"Crea directory\"\n0x00ea   \"%ld byte\"\n0x00eb   \"%s byte\"\n0x00ec   \"Impossibile copiare pi file o directory negli Appunti.\n\nSelezionare un solo file e riprovare.\"\n0x00ed   \"%s - %s\"\n0x00ee   \"Unit:\"\n0x00ef   \"%s, \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"Troppi file\"\n0x0085   \"File Manager - Memoria esaurita\"\n0x0086   \"Impossibile leggere tutta la directory. Verr visualizzato solo un elenco parziale.\"\n0x008c   \"Directory corrente: %s\"\n0x008d   \"Copia\"\n0x008f   \"Rinomina\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"Formatta disco\"\n0x0092   \"Seleziona il disco da formattare.\"\n0x0096   \"Creazione in corso:\"\n0x0097   \"Rimozione in corso...\"\n0x0098   \"Copia in corso da:\"\n0x0099   \"Ridenominazione in corso...\"\n0x009a   \"Spostamento in corso...\"\n0x009b   \"Eliminazione in corso...\"\n0x009c   \"Stampa di  %s in corso\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"Unit %c non esistente.\"\n0x00a9   \"Copia in corso...\"\n0x00aa   \"Rimozione in corso:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"Apertura in corso...\"\n0x01a5   \"Chiusura in corso...\"\n0x01a6   \"Vi sono troppe finestre di directory aperte.\n\nChiudere una o pi finestre e riprovare.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"Errore nello spostamento del file\"\n0x03ea   \"Errore nella copia del file\"\n0x03eb   \"Errore nell'eliminazione del file\"\n0x03ec   \"Errore nella rinominazione del file\"\n0x03ed   \"Errore nella selezione dell'unit\"\n0x03ee   \"Errore nella lettura della directory\"\n0x03ef   \"Errore nell'etichettatura del disco\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"Impossibile spostare %s: %s\"\n0x03f4   \"Impossibile copiare %s: %s\"\n0x03f5   \"Impossibile eliminare %s: %s\"\n0x03f6   \"Impossibile rinominare %s: %s\"\n0x03fd   \"Impossibile creare la directory %s: %s\"\n0x03fe   \"Impossibile rimuovere la  directory %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Funzione MS-DOS non valida.\"\n0x0412   \"Impossibile trovare il file.\n\nAssicurarsi che il percorso ed il nome del file dati siano corretti.\"\n0x0413   \"Impossibile trovare il percorso.\n\nAssicurarsi che il percorso dato sia corretto.\"\n0x0414   \"Troppi file attualmente in uso. Chiudere una o pi applicazioni.\"\n0x0415   \"Accesso negato.\n\nAssicurarsi che il disco non sia pieno o protetto da scrittura.\"\n0x0416   \"File handle non valido.\"\n0x0418   \"Memoria insufficiente.\n\nChiudere una o pi applicazioni e riprovare.\"\n0x041c   \"Accesso al file non valido.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"Impossibile rimuovere la directory corrente (errore interno).\"\n0x0421   \"Periferica non valida.\"\n0x0422   \"La directory  vuota.\"\n0x0423   \"Il disco  protetto da scrittura.\n\nDisattivare la protezione sul disco o usare un altro disco e riprovare.\"\n0x042d   \"Impossibile scrivere sul file o sul disco di destinazione.\"\n0x042f   \"Impossibile leggere dal file o dal disco origine.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"Operazione non valida.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"Accesso alla rete negato. Assicurarsi di possedere le autorizzazioni per compiere questa operazione.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"Errore di condivisione. L'origine o la destinazione potrebbero essere in uso.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"Spazio su disco insufficiente.\n\nEliminare uno o pi file per aumentare lo spazio disponibile su disco e riprovare.\"\n0x0481   \"I nomi dei file di origine e destinazione sono uguali.\"\n0x0482   \"Selezionare solo un file da rinominare, o usare un carattere jolly MS-DOS (per esempio, *.TXT) per rinominare un gruppo di file con nomi simili.\"\n0x0483   \"Impossibile rinominare in una directory o in un disco diverso.\"\n0x0484   \"Directory principale (errore interno).\"\n0x0486   \"La directory di destinazione  una sottodirectory della directory origine.\"\n0x0487   \"Il file specificato  in uso in Windows.\"\n0x0488   \"Accesso negato. Il file origine potrebbe essere in uso.\"\n0x0489   \"Il percorso  troppo lungo.\"\n0x048a   \"Specificare solo un file o una directory nella casella \"A\". Per specificare un gruppo di file, usare un carattere jolly MS-DOS (per esempio,*.TXT).\"\n0x048b   \"Nome del file specificato gi esistente. Riprovare specificando un nome diverso nella casella A.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1,2 Mb\"\n0x0131   \"720 Kb\"\n0x0132   \"1,44 Mb\"\n0x0133   \"2,88 Mb\"\n0x0134   \"Capacit dell'unit\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360 Kb\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"Memoria insufficiente.\"\n0x0192   \"Impossibile formattare l'unit di avvio MS-DOS.\"\n0x0193   \"L'unit di avvio MS-DOS ha una dimensione di settore non valida.\"\n0x0194   \"L'unit specificata  di tipo sconosciuto.\"\n0x0199   \"Impossibile trasferire i file di sistema.\"\n0x019a   \"Disco formattabile con una capacit di %s. Continuare la formattazione con questa capacit?\"\n0x019b   \"Impossibile formattare il disco.\n\nAssicurarsi che il disco sia nell'unit e non sia protetto, danneggiato o di una densit errata.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00fe   \"Nome &directory:\"\n0x00ff   \"\\StringFileInfo\\041004E4\\\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01f4   \"Commenti\"\n0x01f5   \"Nome societ\"\n0x01f6   \"Descrizione del file\"\n0x01f7   \"Nome interno\"\n0x01f8   \"Marchio legale\"\n0x01f9   \"Nome originale del file\"\n0x01fa   \"Descrizione privata di compilazione\"\n0x01fb   \"Nome prodotto\"\n0x01fc   \"Versione prodotto\"\n0x01fd   \"Descrizione speciale di compilazione\"\n0x01fe   \"Lingua\"\n0x01ff   \"Lingue\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0222   \"Nessun file trovato.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0255   \"Impossibile trovare il computer specificato.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0263   \"Impossibile trovare la directory condivisa.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0274   \"Troppi reindirizzamenti di rete.\"\n0x0276   \"Password non valida.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x02b0   \"L'unit di rete non  disponibile.\"\n0x02b1   \"Errore durante la lettura dall'unit %c:.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0f90   \"Comandi per la gestione dei file.\"\n0x0f91   \"Comandi per la gestione dei dischi.\"\n0x0f92   \"Comandi per la gestione della finestra della struttura.\"\n0x0f93   \"Comandi per determinare il tipo di visualizzazione.\"\n0x0f94   \"Comandi per impostare le opzioni.\"\n0x0f9a   \"Comandi per la gestione delle finestre.\"\n0x0f9b   \"Comandi per ottenere la Guida di File Manager.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1005   \"Apre l'elemento selezionato.\"\n0x1006   \"Stampa un documento.\"\n0x1007   \"Associa un file ad un'applicazione.\"\n0x1008   \"Cerca file e directory.\"\n0x1009   \"Esegue o apre un'applicazione o un documento.\"\n0x100a   \"Sposta l'elemento selezionato.\"\n0x100b   \"Copia file e directory.\"\n0x100c   \"Elimina file e directory.\"\n0x100d   \"Rinomina un file o una directory.\"\n0x100e   \"Imposta gli attributi del file e visualizza le propriet.\"\n0x100f   \"Crea una directory.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1013   \"Esce da File Manager.\"\n0x1014   \"Seleziona file e directory.\"\n0x1015   \"Ripristina file precedentemente eliminati.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1069   \"Copia il contenuto di un disco floppy.\"\n0x106a   \"Assegna o modifica l'etichetta di volume del disco.\"\n0x106b   \"Formatta un disco floppy.\"\n0x106c   \"Copia i file di MS-DOS su un disco floppy.\"\n0x106d   \"Connette un'unit di rete.\"\n0x106e   \"Disconnette un'unit di rete.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x109b   \"Seleziona un'altra unit.\"\n0x109c   \"Connessioni in rete...\"\n0x109d   \"Visualizza directory condivise...\"\n0x109e   \"Condivide una directory.\"\n0x109f   \"Termina la condivisione di una directory.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10cd   \"Visualizza un'altro livello di una directory.\"\n0x10ce   \"Visualizza tutti i sottolivelli di una directory.\"\n0x10cf   \"Visualizza tutti i sottolivelli di tutte le directory.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10d0   \"Comprime tutte le sottodirectory di una directory selezionata.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1195   \"Controlla i messaggi di conferma.\"\n0x1197   \"Visualizza o nasconde la barra di stato.\"\n0x1198   \"Riduce File Manager ad icona all'avvio.\"\n0x1199   \"Evidenzia le directory che hanno sottodirectory.\"\n0x119b   \"Visualizza o nasconde la barra delle unit.\"\n0x119c   \"Visualizza o nasconde la barra degli strumenti.\"\n0x119d   \"Apre nuova finestra dopo la connessione.\"\n0x119e   \"Cambia il tipo di carattere in File Manager.\"\n0x119f   \"Salva le impostazioni uscendo da File Manager.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1131   \"Visualizza solo i nomi dei file.\"\n0x1132   \"Visualizza tutti i dettagli sul file.\"\n0x1133   \"Visualizza dettagli parziali del file.\"\n0x1134   \"Ordina i file per nome.\"\n0x1135   \"Ordina i file per tipo.\"\n0x1136   \"Ordina i file per dimensione.\"\n0x1137   \"Ordina i file per data.\"\n0x1139   \"Visualizza i file del tipo specificato.\"\n0x113b   \"Visualizza la struttura della directory.\"\n0x113c   \"Visualizza il contenuto della directory corrente.\"\n0x113d   \"Visualizza la struttura ed il contenuto della directory corrente.\"\n0x113e   \"Divide la finestra della directory o sposta la barra di divisione.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x11a0   \"Personalizza la barra degli strumenti.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13f0   \"Aggiorna il contenuto di una finestra.\"\n0x13f1   \"Dispone le icone.\"\n0x13f2   \"Apre una nuova finestra.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13ed   \"Dispone le finestre.\"\n0x13ee   \"Dispone le finestre.\"\n0x13ef   \"Dispone le finestre.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1451   \"Visualizza il sommario della Guida di File Manager.\"\n0x1452   \"Visualizza le informazioni sull'uso della Guida.\"\n0x1453   \"Visualizza le informazioni su File Manager.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0fbe   \"Cerca un argomento nella Guida di File Manager.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0320   \"Co&nnetti unit di rete...\"\n0x0321   \"&Disconnetti unit di rete...\"\n0x0322   \"&Connessioni in rete...\"\n0x0323   \"C&ondividi con nome...\"\n0x0324   \"&Interrompi condivisione...\"\n0x0325   \"&Visualizza directory condivise...\"\n0x0326   \"&Undelete...\"\n0x0327   \"&Apri una nuova finestra alla connessione\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.Japanese.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"̧(\u001eF\u001f)\"\n    BEGIN\n    MENUITEM    \"J(\u001eO\u001f)\tEnter\", 0X0065\n    MENUITEM    \"ړ(\u001eM\u001f)...\tF7\", 0X006A\n    MENUITEM    \"Rs[(\u001eC\u001f)...\tF8\", 0X006B\n    MENUITEM    \"폜(\u001eD\u001f)...\tDel\", 0X006C\n    MENUITEM    \"O̕ύX(\u001eN\u001f)...\", 0X006D\n    MENUITEM    \"̕ύX(\u001eT\u001f)...\tAlt+Enter\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Ow肵Ďs(\u001eR\u001f)...\", 0X0069\n    MENUITEM    \"(\u001eP\u001f)...\", 0X0066\n    MENUITEM    \"AvP[VƂ̊֘At(\u001eA\u001f)...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"fBNg̍쐬(\u001eE\u001f)...\", 0X006F\n    MENUITEM    \"(\u001eH\u001f)...\", 0X0068\n    MENUITEM    \"I(\u001eS\u001f)...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"t@C }l[W̏I(\u001eX\u001f)\", 0X0073\n    END\n    POPUP   \"ި(\u001eD\u001f)\"\n    BEGIN\n    MENUITEM    \"tbs[ fBXÑRs[(\u001eC\u001f)...\", 0X00C9\n    MENUITEM    \"{[ x̕ύX(\u001eL\u001f)...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"tbs[ fBXÑtH[}bg(\u001eF\u001f)...\", 0X00CB\n    MENUITEM    \"VXe fBXN̍쐬(\u001eM\u001f)...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"hCȗI(\u001eS\u001f)...\", 0X00FB\n    END\n    POPUP   \"ިڸ(\u001eT\u001f)\"\n    BEGIN\n    MENUITEM    \"1\\(\u001eX\u001f)\t+\", 0X012D\n    MENUITEM    \"ׂ̉ĕ\\(\u001eB\u001f)\t*\", 0X012E\n    MENUITEM    \"ׂĕ\\(\u001eA\u001f)\tCtrl+*\", 0X012F\n    MENUITEM    \"̉\\Ȃ(\u001eC\u001f)\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Tu fBNg̗L\\(\u001eI\u001f)\", 0X01F9\n    END\n    POPUP   \"\\(\u001eV\u001f)\"\n    BEGIN\n    MENUITEM    \"fBNgƃt@Cꗗ(\u001eR\u001f)\", 0X019D\n    MENUITEM    \"fBNĝ(\u001eE\u001f)\", 0X019B\n    MENUITEM    \"t@Cꗗ̂(\u001eO\u001f)\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"E̕ύX(\u001eL\u001f)\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Ô(\u001eN\u001f)\", 0X0191\n    MENUITEM    \"ׂĂ̏(\u001eA\u001f)\", 0X0192\n    MENUITEM    \"\\̐ݒ(\u001eP\u001f)...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"O(\u001eS\u001f)\", 0X0194\n    MENUITEM    \"gq(\u001eB\u001f)\", 0X0195\n    MENUITEM    \"TCY(\u001eZ\u001f)\", 0X0196\n    MENUITEM    \"t(\u001eD\u001f)\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"t@C̎ނ̎w(\u001eT\u001f)...\", 0X0199\n    END\n    POPUP   \"߼(\u001eO\u001f)\"\n    BEGIN\n    MENUITEM    \"mFbZ[W̗L(\u001eC\u001f)...\", 0X01F5\n    MENUITEM    \"tHg̎w(\u001eF\u001f)...\", 0X01FE\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Xe[^X o[̕\\(\u001eS\u001f)\", 0X01F7\n    MENUITEM    \"gpɃACR(\u001eM\u001f)\", 0X01F8\n    MENUITEM    \"ȈԂۑ(\u001eE\u001f)\", 0X01FF\n    END\n    POPUP   \"޳(\u001eW\u001f)\"\n    BEGIN\n    MENUITEM    \"VEBhEJ(\u001eN\u001f)\", 0X03ED\n    MENUITEM    \"d˂ĕ\\(\u001eC\u001f)\tShift+F5\", 0X03E9\n    MENUITEM    \"ׂĕ\\(\u001eT\u001f)\tShift+F4\", 0X03EA\n    MENUITEM    \"ACR̐(\u001eA\u001f)\", 0X03EC\n    MENUITEM    \"ŐṼt@CɍXV(\u001eR\u001f)\tF5\", 0X03EB\n    END\n    POPUP   \"(\u001eH\u001f)\"\n    BEGIN\n    MENUITEM    \"ڎ(\u001eC\u001f)\", 0X044D\n    MENUITEM    \"L[[hŌ(\u001eS\u001f)...\", 0X001E\n    MENUITEM    \"wv̎g(\u001eH\u001f)\", 0X044E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"o[W(\u001eA\u001f)...\", 0X044F\n    END\nEND\n\n\n145 DIALOG 0x80c8, 12, 12, 291, 153\nCAPTION \"tHg̎w\"\nSTYLE 0x0080\n    CONTROL 0x82, \"tHg(\u001eF\u001f):\", 1088, 0x0000, 6, 3, 57, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 13, 94, 54\n    CONTROL 0x82, \"X^C(\u001eY\u001f):\", 1089, 0x0000, 106, 3, 83, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 13, 76, 54\n    CONTROL 0x82, \"TCY(\u001eS\u001f):\", 1090, 0x0000, 192, 3, 42, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 194, 13, 32, 54\n    CONTROL 0x80, \"\", 1072, 0x0007, 6, 72, 84, 61\n    CONTROL 0x80, \"(\u001eK\u001f)Stri&keout\", 1040, 0x0003, 10, 82, 49, 10\n    CONTROL 0x80, \"(\u001eU\u001f)\", 1041, 0x0003, 10, 94, 65, 10\n    CONTROL 0x80, \"ŕ\\(\u001eL\u001f)\", 1042, 0x0003, 10, 82, 70, 10\n    CONTROL 0x82, \"F(\u001eC\u001f):\", 1091, 0x0000, 10, 106, 30, 9\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 116, 75, 50\n    CONTROL 0x80, \"OK\", 1, 0x0001, 242, 7, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 242, 24, 44, 14\n    CONTROL 0x80, \"Kp(\u001eA\u001f)\", 1026, 0x0000, 242, 40, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 1038, 0x0000, 242, 57, 44, 14\n    CONTROL 0x80, \"Tv\", 1073, 0x0007, 98, 72, 160, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 124, 160, 20\n    CONTROL 0x82, \"AaBbYyZz\", 1092, 0x0081, 104, 81, 149, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 203, 86\nCAPTION \"hCȗI\"\nSTYLE 0x0080\n    CONTROL 0x82, \"hCu(\u001eD\u001f):\", 245, 0x000c, 5, 5, 58, 10\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"OK\", 1, 0x0001, 155, 6, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 155, 23, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 155, 44, 44, 14\nEND\n\n10 DIALOG 0x80c8, 15, 12, 210, 63\nCAPTION \"t@Cw肵Ďs\"\nSTYLE 0x0080\n    CONTROL 0x82, \"\", 101, 0x008b, 3, 6, 158, 10\n    CONTROL 0x82, \"R}h C(\u001eC\u001f):\", 100, 0x000c, 3, 18, 115, 8\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 140, 12\n    CONTROL 0x80, \"ACȐԂŎs(\u001eM\u001f)\", 214, 0x0003, 3, 45, 110, 11\n    CONTROL 0x80, \"OK\", 1, 0x0001, 162, 6, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 162, 23, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 162, 43, 44, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 165, 68\nCAPTION \"t@C̑I\"\nSTYLE 0x0080\n    CONTROL 0x82, \"It@C(\u001eF\u001f):\", -1, 0x000c, 7, 7, 78, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 91, 6, 60, 12\n    CONTROL 0x80, \"I(\u001eS\u001f)\", 1, 0x0001, 18, 29, 50, 14\n    CONTROL 0x80, \"(\u001eD\u001f)\", 6, 0x0000, 83, 29, 50, 14\n    CONTROL 0x80, \"I\", 2, 0x0000, 18, 48, 50, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 83, 48, 50, 14\nEND\n\n39 DIALOG 0x80c8, 10, 20, 265, 95\nCAPTION \"t@C̏㏑mF\"\nSTYLE 0x0080\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 213, 10\n    CONTROL 0x82, \"̃t@C:\", 100, 0x000c, 25, 15, 53, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 89, 15, 171, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 89, 25, 171, 10\n    CONTROL 0x82, \"Vt@C:\", 100, 0x000c, 25, 34, 62, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 89, 34, 171, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 89, 44, 171, 10\n    CONTROL 0x80, \"͂(\u001eY\u001f)\", 6, 0x0001, 12, 75, 44, 14\n    CONTROL 0x80, \"ׂĂ㏑(\u001eA\u001f)\", 107, 0x0000, 67, 75, 76, 14\n    CONTROL 0x80, \"(\u001eN\u001f)\", 7, 0x0000, 154, 75, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 209, 75, 44, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"t@C̍폜mF\"\nSTYLE 0x0080\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 210, 10\n    CONTROL 0x82, \"폜t@C:\", 100, 0x000c, 25, 14, 69, 8\n    CONTROL 0x82, \"\", 102, 0x008c, 27, 25, 210, 8\n    CONTROL 0x80, \"͂(\u001eY\u001f)\", 6, 0x0001, 11, 40, 44, 14\n    CONTROL 0x80, \"ׂĂ폜(\u001eA\u001f)\", 107, 0x0000, 64, 40, 63, 14\n    CONTROL 0x80, \"(\u001eN\u001f)\", 7, 0x0000, 136, 40, 45, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 190, 40, 44, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"fBNg̍폜mF\"\nSTYLE 0x0080\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"폜fBNg:\", 100, 0x000c, 25, 18, 85, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 112, 18, 133, 10\n    CONTROL 0x80, \"͂(\u001eY\u001f)\", 6, 0x0001, 11, 40, 44, 14\n    CONTROL 0x80, \"ׂĂ폜(\u001eA\u001f)\", 107, 0x0000, 65, 40, 61, 14\n    CONTROL 0x80, \"(\u001eN\u001f)\", 7, 0x0000, 136, 40, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 190, 40, 44, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"t@C̈ړmF\"\nSTYLE 0x0080\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"ړt@C:\", 100, 0x000c, 25, 18, 69, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 96, 18, 144, 10\n    CONTROL 0x80, \"͂(\u001eY\u001f)\", 6, 0x0001, 12, 40, 44, 14\n    CONTROL 0x80, \"ׂĂړ(\u001eA\u001f)\", 107, 0x0000, 64, 40, 62, 14\n    CONTROL 0x80, \"(\u001eN\u001f)\", 7, 0x0000, 134, 40, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 189, 40, 44, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"t@C̕ύXmF\"\nSTYLE 0x0080\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"OύXt@C:\", 100, 0x000c, 25, 13, 93, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 120, 13, 120, 10\n    CONTROL 0x80, \"͂(\u001eY\u001f)\", 6, 0x0001, 12, 40, 44, 14\n    CONTROL 0x80, \"ׂĂύX(\u001eA\u001f)\", 107, 0x0000, 64, 40, 62, 14\n    CONTROL 0x80, \"(\u001eN\u001f)\", 7, 0x0000, 135, 40, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 189, 40, 44, 14\nEND\n\n11 DIALOG 0x80c8, 20, 20, 244, 63\nCAPTION \"\"\nSTYLE 0x0080\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 193, 10\n    CONTROL 0x82, \"t@C(\u001eP\u001f):\", 100, 0x000c, 3, 20, 150, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 3, 30, 151, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 45, 190, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 197, 23, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 197, 43, 44, 14\nEND\n\n13 DIALOG 0x80c8, 20, 20, 230, 82\nCAPTION \"t@Č\"\nSTYLE 0x0080\n    CONTROL 0x82, \"t@C(\u001eS\u001f):\", 100, 0x000c, 5, 6, 150, 8\n    CONTROL 0x81, \"\", 201, 0x0480, 7, 17, 160, 12\n    CONTROL 0x82, \"fBNg(\u001eF\u001f):\", 100, 0x000c, 5, 35, 94, 9\n    CONTROL 0x81, \"\", 101, 0x0480, 7, 45, 160, 12\n    CONTROL 0x80, \"Tu fBNg܂Ō(\u001eE\u001f)\", 232, 0x0003, 5, 64, 160, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 180, 6, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 180, 24, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 180, 43, 44, 14\nEND\n\n14 DIALOG 0x80c8, 37, 59, 215, 110\nCAPTION \"t@C/fBNg̈ړ\"\nSTYLE 0x0080\n    CONTROL 0x82, \"݂ިڸ؂ NłB\", 101, 0x008b, 3, 6, 182, 9\n    CONTROL 0x82, \"ړ(\u001eT\u001f):\", 2001, 0x000c, 3, 34, 62, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 75, 32, 132, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 65, 33, 10, 10\n    CONTROL 0x80, \"pbP[WɂăNbv{[hփRs[(\u001eC\u001f)\", 256, 0x0004, 4, 49, 205, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 20, 74, 175, 9\n    CONTROL 0x82, \"\", 201, 0x008b, 20, 64, 175, 9\n    CONTROL 0x80, \"OK\", 1, 0x0001, 24, 90, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 85, 90, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 145, 90, 44, 14\n    CONTROL 0x82, \"ړ(\u001eF\u001f):\", 2002, 0x000c, 3, 19, 66, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 75, 18, 132, 12\nEND\n\n15 DIALOG 0x80c8, 20, 20, 249, 78\nCAPTION \"t@C/fBNg̍폜\"\nSTYLE 0x0080\n    CONTROL 0x82, \"݂ިڸ؂ CłB\", 101, 0x008c, 3, 5, 193, 10\n    CONTROL 0x82, \"폜t@C/fBNg(\u001eL\u001f):\", 100, 0x000c, 20, 21, 135, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 20, 31, 160, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 20, 50, 160, 9\n    CONTROL 0x82, \"\", 201, 0x008b, 40, 60, 160, 9\n    CONTROL 0x80, \"OK\", 1, 0x0001, 200, 6, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 200, 23, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 200, 43, 44, 14\nEND\n\n38 DIALOG 0x80c8, 20, 20, 265, 65\nCAPTION \"t@C/fBNg̑̕ύX\"\nSTYLE 0x0080\n    CONTROL 0x82, \"%d ̃t@CIASt@Ce %s oCg\", 100, 0x000c, 1, 4, 212, 9\n    CONTROL 0x80, \"\", -1, 0x0007, 1, 18, 188, 42\n    CONTROL 0x80, \"݋֎~(\u001eR\u001f)\", 215, 0x0003, 10, 29, 75, 12\n    CONTROL 0x80, \"Bt@C(\u001eI\u001f)\", 216, 0x0003, 105, 29, 75, 12\n    CONTROL 0x80, \"obNAbvΏ(\u001eA\u001f)\", 217, 0x0003, 10, 41, 85, 12\n    CONTROL 0x80, \"VXe(\u001eS\u001f)\", 218, 0x0003, 105, 41, 66, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 216, 6, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 216, 23, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 216, 43, 44, 14\nEND\n\n16 DIALOG 0x80c8, 33, 44, 231, 100\nCAPTION \"%s ̑̕ύX\"\nSTYLE 0x0080\n    CONTROL 0x80, \"OK\", 1, 0x0001, 181, 6, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 181, 23, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 181, 43, 44, 14\n    CONTROL 0x82, \"̧ٖ(\u001eF\u001f):\", 100, 0x000c, 5, 5, 52, 8\n    CONTROL 0x81, \"\", 201, 0x0880, 61, 4, 112, 10\n    CONTROL 0x82, \"̧ :\", 100, 0x000c, 5, 16, 52, 9\n    CONTROL 0x82, \"\", 203, 0x000c, 61, 16, 112, 10\n    CONTROL 0x82, \"ۑ:\", 100, 0x000c, 5, 27, 53, 9\n    CONTROL 0x82, \"\", 204, 0x000c, 61, 27, 112, 10\n    CONTROL 0x82, \"ިڸ(\u001eP\u001f):\", 100, 0x000c, 5, 38, 58, 9\n    CONTROL 0x81, \"\", 101, 0x0880, 61, 38, 112, 10\n    CONTROL 0x80, \"\", 100, 0x0007, 4, 52, 172, 42\n    CONTROL 0x80, \"݋֎~(\u001eR\u001f)\", 215, 0x0003, 9, 64, 70, 12\n    CONTROL 0x80, \"Bt@C(\u001eI\u001f)\", 216, 0x0003, 101, 65, 71, 12\n    CONTROL 0x80, \"obNAbvΏ(\u001eA\u001f)\", 217, 0x0003, 9, 76, 87, 12\n    CONTROL 0x80, \"VXe(\u001eS\u001f)\", 218, 0x0003, 101, 76, 70, 12\nEND\n\n17 DIALOG 0x80c8, 20, 20, 210, 63\nCAPTION \"fBNg̍쐬\"\nSTYLE 0x0080\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 160, 10\n    CONTROL 0x82, \"ިڸؖ(\u001eN\u001f):\", 100, 0x000c, 3, 23, 54, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 60, 21, 80, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 46, 150, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 162, 6, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 162, 23, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 162, 43, 44, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 221, 58\nCAPTION \"VXe fBXN̍쐬\"\nSTYLE 0x0080\n    CONTROL 0x82, \"Rs[̃hCu(\u001eC\u001f):\", -1, 0x000c, 5, 9, 90, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 101, 8, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 171, 6, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 171, 23, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 171, 40, 44, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 160, 64\nCAPTION \"tbs[ fBXÑRs[\"\nSTYLE 0x0080\n    CONTROL 0x82, \"߰ײ(\u001eS\u001f):\", -1, 0x000c, 5, 8, 87, 10\n    CONTROL 0x85, \"\", 245, 0x0003, 95, 6, 40, 37\n    CONTROL 0x82, \"߰ײ(\u001eD\u001f):\", 206, 0x000c, 5, 22, 85, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 95, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 12, 44, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 61, 44, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 110, 44, 44, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 175, 58\nCAPTION \"tbs[ fBXÑRs[\"\nSTYLE 0x0082\n    CONTROL 0x82, \"hCu A:\", 222, 0x0001, 0, 5, 175, 10\n    CONTROL 0x82, \"̃fBXNRs[Ă܂...\", 100, 0x0001, 0, 15, 175, 10\n    CONTROL 0x82, \"Rs[̃tbs[ fBXNǂݏo...\", 243, 0x0001, 0, 26, 175, 10\n    CONTROL 0x80, \"ݾ\", 2, 0x0001, 65, 40, 44, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 165, 63\nCAPTION \"{[ x̕ύX\"\nSTYLE 0x0080\n    CONTROL 0x82, \"V{[ x(\u001eL\u001f):\", 100, 0x000c, 5, 15, 107, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 100, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 115, 6, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 115, 23, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 115, 43, 44, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 213, 96\nCAPTION \"tbs[ fBXÑtH[}bg\"\nSTYLE 0x0080\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 165, 23, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 165, 43, 44, 14\n    CONTROL 0x82, \"hCu(\u001eD\u001f):\", -1, 0x000c, 10, 7, 60, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 80, 5, 65, 40\n    CONTROL 0x82, \"e(\u001eC\u001f):\", 100, 0x000c, 10, 20, 60, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 80, 20, 65, 40\n    CONTROL 0x80, \"IvV\", 102, 0x0007, 5, 39, 155, 53\n    CONTROL 0x82, \"{[ x(\u001eL\u001f):\", -1, 0x000c, 9, 51, 80, 10\n    CONTROL 0x81, \"\", 201, 0x0000, 93, 49, 63, 12\n    CONTROL 0x80, \"VXe fBXNɂ(\u001eM\u001f)\", 242, 0x0003, 10, 63, 141, 12\n    CONTROL 0x80, \"NCbN tH[}bg(\u001eQ\u001f)\", 244, 0x0003, 10, 76, 130, 12\nEND\n\n26 DIALOG 0x90c8, 30, 30, 195, 50\nCAPTION \"tbs[ fBXÑtH[}bg\"\nSTYLE 0x0080\n    CONTROL 0x82, \"݃tbs[ fBXNtH[}bg\", 100, 0x0001, 10, 5, 168, 10\n    CONTROL 0x82, \"hCȕ...\", 243, 0x0001, 10, 17, 168, 10\n    CONTROL 0x80, \"ݾ\", 2, 0x0001, 75, 31, 44, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 200, 51\nCAPTION \"VXe fBXN̍쐬\"\nSTYLE 0x0080\n    CONTROL 0x82, \"݃VXe t@CRs[Ă܂...\", 100, 0x0001, 0, 6, 200, 8\n    CONTROL 0x82, \"~Ƃ́A[ݾ] {^ĂB\", 100, 0x0001, 0, 16, 200, 8\n    CONTROL 0x80, \"ݾ\", 2, 0x0001, 74, 31, 44, 14\nEND\n\n28 DIALOG 0x80c8, 12, 19, 267, 135\nCAPTION \"lbg[N̐ڑ\"\nSTYLE 0x0080\n    CONTROL 0x80, \"Vڑ\", -1, 0x0007, 5, 3, 180, 55\n    CONTROL 0x82, \"pX(\u001eN\u001f):\", -1, 0x0000, 10, 16, 57, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 70, 14, 100, 12\n    CONTROL 0x82, \"hCu(\u001eR\u001f):\", -1, 0x0000, 10, 29, 57, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 70, 27, 40, 100\n    CONTROL 0x82, \"pX[h(\u001eW\u001f):\", -1, 0x0000, 10, 44, 57, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 70, 42, 100, 12\n    CONTROL 0x82, \"Jg hCu̐ڑ(\u001eV\u001f):\", -1, 0x0000, 5, 62, 108, 9\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 180, 60\n    CONTROL 0x80, \"I(\u001eL\u001f)\", 2, 0x0001, 195, 6, 65, 14\n    CONTROL 0x80, \"ڑ(\u001eC\u001f)\", 1, 0x0000, 195, 23, 65, 14\n    CONTROL 0x80, \"ȑO̐ڑ(\u001eP\u001f)...\", 226, 0x0000, 195, 40, 65, 14\n    CONTROL 0x80, \"Q(\u001eB\u001f)...\", 227, 0x0000, 195, 57, 65, 14\n    CONTROL 0x80, \"ڑ(\u001eD\u001f)\", 255, 0x0000, 195, 74, 65, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 195, 91, 65, 14\nEND\n\n29 DIALOG 0x80c8, 30, 30, 231, 98\nCAPTION \"ȑÕlbg[Nڑ\"\nSTYLE 0x0080\n    CONTROL 0x82, \"pX(\u001eP\u001f):\", 100, 0x000c, 3, 3, 69, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 3, 15, 172, 80\n    CONTROL 0x80, \"I(\u001eS\u001f)\", 1, 0x0001, 181, 6, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 181, 24, 44, 14\n    CONTROL 0x80, \"폜(\u001eD\u001f)\", 219, 0x0000, 181, 41, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 181, 58, 44, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 170, 65\nCAPTION \"\\̐ݒ\"\nSTYLE 0x0080\n    CONTROL 0x80, \"\\̎w\", 100, 0x0007, 4, 4, 111, 55\n    CONTROL 0x80, \"t@C TCY(\u001eS\u001f)\", 203, 0x0003, 11, 15, 100, 9\n    CONTROL 0x80, \"ۑ(\u001eM\u001f)\", 204, 0x0003, 11, 25, 100, 9\n    CONTROL 0x80, \"ۑ(\u001eT\u001f)\", 205, 0x0003, 11, 35, 100, 9\n    CONTROL 0x80, \"t@C̑(\u001eF\u001f)\", 206, 0x0003, 11, 45, 100, 9\n    CONTROL 0x80, \"OK\", 1, 0x0001, 120, 6, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 120, 23, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 120, 43, 44, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 167, 102\nCAPTION \"\\t@C̎ނ̎w\"\nSTYLE 0x0080\n    CONTROL 0x82, \"t@C(\u001eN\u001f):\", 100, 0x000c, 5, 7, 66, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 75, 5, 65, 12\n    CONTROL 0x80, \"t@C̎\", 100, 0x0007, 5, 20, 105, 62\n    CONTROL 0x80, \"fBNg(\u001eD\u001f)\", 101, 0x0003, 10, 31, 92, 12\n    CONTROL 0x80, \"vO(\u001eP\u001f)\", 210, 0x0003, 10, 43, 93, 12\n    CONTROL 0x80, \"֘Aţ(\u001eM\u001f)\", 211, 0x0003, 10, 55, 97, 12\n    CONTROL 0x80, \"LȊO̧(\u001eO\u001f)\", 212, 0x0003, 10, 68, 92, 12\n    CONTROL 0x80, \"B̧/ ̧ق\\(\u001eS\u001f)\", 250, 0x0003, 5, 86, 152, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 118, 24, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 118, 44, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 118, 64, 44, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 215, 80\nCAPTION \"mFbZ[W̗Lݒ\"\nSTYLE 0x0080\n    CONTROL 0x80, \"mF鑀\", 100, 0x0007, 6, 3, 151, 73\n    CONTROL 0x80, \"t@C̍폜(\u001eD\u001f)\", 219, 0x0003, 10, 14, 143, 10\n    CONTROL 0x80, \"fBNg̍폜(\u001eI\u001f)\", 220, 0x0003, 10, 27, 143, 10\n    CONTROL 0x80, \"t@C̏㏑(\u001eR\u001f)\", 221, 0x0003, 10, 39, 143, 9\n    CONTROL 0x80, \"}EX̑(\u001eM\u001f)\", 249, 0x0003, 10, 51, 143, 10\n    CONTROL 0x80, \"ۯ߰ ި̫ϯĂƺ߰(\u001eK\u001f)\", 251, 0x0003, 10, 63, 143, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 165, 23, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 165, 40, 44, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 250, 55\nCAPTION \"ړ...\"\nSTYLE 0x0080\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 37, 165, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 5, 10, 192, 10\n    CONTROL 0x82, \"ړ:\", 108, 0x008b, 5, 24, 33, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 5, 24, 192, 10\n    CONTROL 0x80, \"ݾ\", 2, 0x0001, 200, 34, 40, 14\nEND\n\n36 DIALOG 0x80c8, 20, 20, 124, 58\nCAPTION \"\"\nSTYLE 0x0080\n    CONTROL 0x82, \"t@C̈...\", -1, 0x0001, 0, 6, 124, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 0, 20, 124, 12\n    CONTROL 0x80, \"ݾ\", 2, 0x0001, 44, 40, 38, 14\nEND\n\n12 DIALOG 0x80c8, 31, 38, 220, 91\nCAPTION \"֘AtAvP[V̐ݒ\"\nSTYLE 0x0080\n    CONTROL 0x82, \"gq(\u001eF\u001f):\", 99, 0x000c, 5, 8, 80, 10\n    CONTROL 0x81, \"\", 112, 0x0400, 88, 6, 35, 12\n    CONTROL 0x82, \"sع ۸(\u001eA\u001f):\", 99, 0x000c, 5, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 5, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 11, 44, 146, 40\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 50, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 165, 23, 50, 14\n    CONTROL 0x80, \"Q(\u001eB\u001f)...\", 232, 0x0000, 165, 43, 50, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 165, 60, 50, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 255, 75\nCAPTION \"t@C̑I\"\nSTYLE 0x0080\n    CONTROL 0x82, \"̃pX́AMS-DOS̃t@Cɂł܂BVO͂ĂB\", 99, 0x0000, 10, 4, 188, 24\n    CONTROL 0x82, \"VO(\u001eN\u001f):\", 99, 0x0002, 3, 56, 57, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 68, 55, 130, 12\n    CONTROL 0x82, \"̃pX:\", 99, 0x0002, 3, 28, 77, 11\n    CONTROL 0x81, \"\", 102, 0x0880, 85, 28, 110, 10\n    CONTROL 0x82, \"]fBNg:\", 99, 0x0002, 3, 42, 77, 11\n    CONTROL 0x81, \"\", 101, 0x0880, 85, 41, 110, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 205, 6, 44, 14\n    CONTROL 0x80, \"ݾ\", 2, 0x0000, 205, 23, 44, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 205, 40, 44, 14\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"Windows̏I\"\n0x0029   \"WindowsI܂B\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"tbs[ fBXÑRs[\"\n0x0033   \"]̃tbs[ fBXN}ĂB\"\n0x0034   \"]̃tbs[ fBXN}ĂB\"\n0x0035   \"]Ɠ]̃tbs[ fBXN}ĂB\"\n0x0036   \"ړĨfBXNtH[}bgł...\"\n0x0037   \"fBXN Rs[̃G[\"\n0x0038   \"fBXNRs[ł܂B\"\n0x003a   \"]Ɠ]̃fBXNɌ݊܂B\"\n0x003c   \"%d%% \"\n0x003d   \"[g fBNg쐬Ă܂...\"\n0x003e   \"VXe t@CRs[Ă܂...\"\n0x003f   \"fBXN tH[}bg̃G[\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"fBXNeʕŝ߈ł܂B\n\nsvȃt@C폜ċ󂫃fBXNeʂ𑝂₵ĂA蒼ĂB\"\n0x00c1   \"ŝ߈ł܂B\n\nWindowsAvP[VIĂA蒼ĂB\"\n0x00c2   \"ɃG[܂B\n\nv^̐ݒƐڑsĂmFĂB\"\n0x00c3   \"SȃfBNgƃt@C̈ꗗ\\ł܂B\"\n0x00c5   \"]̃hCu͂ςłB\n\nɂ͐Vtbs[ fBXN}ĂB\"\n0x00c6   \" ̧فAB̧فA܂͏݋֎~̧قłB\"\n0x00c7   \"NCbN tH[}bg͂ł܂B\n\nʏ̃tH[}bgs܂?\"\n0x00c8   \"́AWindows܂MS-DOSAvP[Vł͂܂B\"\n0x00c9   \"̃AvP[VɂMicrosoft Windows̐Vo[WKvłB\"\n0x00ca   \"̃AvP[VɂMicrosoft WindowsKvłB\"\n0x00cb   \"AvP[VɃR}h𑗂ĂƂɃG[܂B\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"tbs[ fBXNtH[}bgł܂B\"\n0x0042   \"tH[}bg\"\n0x0043   \"%ld oCg SfBXNe\n%ld oCg 󂫃fBXNe\n\nʂ̃fBXNtH[}bg܂?\"\n0x0046   \"VXe fBXN̍쐬\"\n0x0047   \"hCu %c: ̃fBXNɃVXe t@CRs[Ă낵ł?\"\n0x0048   \"VXe fBXN G[\"\n0x0049   \"MS-DOSX^[gAbv hCuɃVXe t@CȂAgpł܂B\"\n0x004a   \"MS-DOSX^[gAbv hCuɂ̓VXe t@CRs[ł܂B\"\n0x004b   \"fBXNɃVXe t@Cǉł܂B\n\ntH[}bgς݂̃tbs[ fBXNAhCuɃZbgĂ邩mFĂB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"lbg[N G[\"\n0x0053   \"̃hCuɂWindows̃VXe t@CȂ̂ŁAڑł܂B\"\n0x005b   \"̕ύX͂ł܂B\n\nfBXN݋֎~łȂmFĂB\"\n0x005c   \"fBNg͍쐬ł܂B\n\nfBXN݋֎~łȂmFĂB\"\n0x005d   \"fBXNɃ{[ xt܂B\n\nfBXN݋֎~łȂAlbg[N hCułȂAxmFĂB\n{[ xɎ͎̕g܂B\n[space] * ? / \\ | . , ; : + = [ ] ( ) & ^ < > \" \"\n0x005f   \"Yt@C܂B\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"ِ̧ %d  (%s ޲)\"\n0x00b5   \"fBNg̓ǂݎ: %d \"\n0x00b6   \"%c: 󂫗e %sKBASިe %sKB\"\n0x00b7   \"%d ̃t@C܂B\"\n0x00b9   \"Iꂽt@C\"\n0x00ba   \"lbg[N hCuؒfł܂B\n\ñhCũt@C܂JĂ܂B\"\n0x00bb   \"%d ̧ (%s ޲)I\"\n0x00bc   \"hCu %c ̏łĂ܂B\n\ntbs[ fBXN}Ă蒼ĂB\"\n0x00bd   \"hCu %c ̃tbs[ fBXN̓tH[}bgĂȂÃhCuł͔FłȂ`łB\n\ntH[}bg܂?\"\n0x00bf   \"t@C܂Bw肵pXуt@CmFĂB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"̃fBNg͂łɑ݂܂B\"\n0x0061   \"̃hCu̓e͕ύXĂ܂B\n[] EBhEXV܂?\"\n0x0065   \"hCu %c:%c\"\n0x006e   \"AvP[VsG[\"\n0x006f   \"\\ʃG[: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"tH[}bgƃtbs[ fBXN Sf[^NA܂BhCu %c: ̃fBXNtH[}bg܂?\"\n0x00d3   \"tbs[ fBXÑtH[}bgmF\"\n0x00d4   \"̑sƓ]̑Sf[^NA܂B𑱂܂?\"\n0x00d5   \"tbs[ fBXÑRs[mF\"\n0x00d6   \"I(\u001eC\u001f)\"\n0x00d7   \"(\u001eU\u001f)...\"\n0x00d8   \"lbg[N̐ڑ(\u001eN\u001f)...\"\n0x00d9   \"lbg[N̐ڑ(\u001eN\u001f)...\"\n0x00da   \"fBNg %s ݂͑܂B\n\ñfBNg쐬܂?\"\n0x00db   \"۸ ̧#*.exe;*.pif;*.com;*.bat#ׂĂ̧ (*.*)#*.*#\"\n0x00dc   \"vO t@C̎Q\"\n0x00dd   \"s\"\n0x00de   \"t@C̈G[\"\n0x00df   \"wv\\ł܂B\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"ŝ߂̃AvP[Vsł܂BWindowsAvP[VIĂA蒼ĂB\"\n0x0071   \"t@C(܂͕Kvȃt@C)܂B\n\npXуt@CƁAKvȃCumFĂB\"\n0x0072   \"w肳ꂽpX܂B\"\n0x0073   \"gp̃t@C܂B\n\nWindowsAvP[VI邩ACONFIG.SYSFILES̒l𑝂₵ĂA蒼ĂB\"\n0x0074   \"w肳ꂽt@CɊ֘AtꂽAvP[V͂܂B\n\n[t@C] j[ [AvP[VƂ̊֘At] R}hgĐݒ肵ĂB\"\n0x0075   \"̃AvP[V́AxɕNł܂B\"\n0x0076   \"t@CJȂA܂͈ł܂B\n\ñt@C쐬AvP[Vɐ؂ւđ삵ĂB\"\n0x0078   \"}EX̑̊mF\"\n0x0079   \"Iꂽt@C %s ɃRs[Ă낵ł?\"\n0x007a   \"Iꂽt@C %s ɈړĂ낵ł?\"\n0x007b   \"%s t@CA%s vOJ܂B낵ł?\"\n0x007c   \"t@C }l[W\"\n0x007e   \"t@C }l[W\"\n0x007f   \": \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"gq %s ̃t@C̓vOȂ̂ŁAق̃AvP[V֘At邱Ƃ͂ł܂B\"\n0x00e1   \"%s ̓vOł͂Ȃ̂ŁAgqŊ֘At邱Ƃ͂ł܂B\"\n0x00e2   \"()\"\n0x00e3   \"t@C܂B\"\n0x00e4   \"̃t@C͈ł܂B\n\nt@C1IĂ蒼ĂB\"\n0x00e5   \"Kvȃt@CkĂ܂B\n\nMS-DOSEXPANDR}hgWindows̃ZbgAbv fBXNt@CRs[ĂB\"\n0x00e6   \"NɕKvȃCu t@CĂ܂B̃AvP[VZbgAbvĂB\"\n0x00e7   \"̃t@C͂ق̃AvP[VgĂ܂B\"\n0x00e8   \"t@C }l[WfBNg \"%s\" ɃANZXłȂƂ܂B\n\n܂?\"\n0x00e9   \"fBNg̍쐬\"\n0x00ea   \"%ld oCg\"\n0x00eb   \"%s oCg\"\n0x00ec   \"̃t@C܂̓fBNg̓Nbv{[hɃRs[ł܂B\n\n1̃t@Cw肵Ă蒼ĂB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"t@C܂B\"\n0x0085   \"t@C }l[W - s\"\n0x0086   \"ׂẴfBNg͓ǂ߂܂Bꕔ\\܂B\"\n0x008c   \"݂̃fBNǵA %słB\"\n0x008d   \"t@C/fBNg̃Rs[\"\n0x008f   \"t@C/fBNg̖O̕ύX\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"tbs[ fBXÑtH[}bg\"\n0x0092   \"hCuIĂB\"\n0x0094   \"lbg[N̐ؒf(\u001eD\u001f)...\"\n0x0096   \"쐬:\"\n0x0097   \"폜Ă܂...\"\n0x0098   \"Rs[Ă܂...\"\n0x0099   \"OύXĂ܂...\"\n0x009a   \"ړĂ܂...\"\n0x009b   \"폜Ă܂...\"\n0x009c   \" %s ...\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x07d0   \"Rs[(\u001eF\u001f):\"\n0x07d1   \"Rs[(\u001eT\u001f):\"\n0x07d2   \"̖O(\u001eF\u001f):\"\n0x07d3   \"VO(\u001eT\u001f):\"\n0x07d4   \"Rs[:\"\n0x07d5   \"̃tHggpƊ̕\\\nłȂȂ܂B\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"hCu %c ݂͑܂B\"\n0x00a9   \"Rs[...\"\n0x00aa   \"폜:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"JĂ܂...\"\n0x01a5   \"Ă܂...\"\n0x01a6   \"JĂfBNg EBhE܂B\n\nĂA蒼ĂB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00fa   \"hCu %c ̏łĂ܂B\n\nRpNg fBXN}Ă蒼ĂB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"t@Cړ̃G[\"\n0x03ea   \"t@C Rs[̃G[\"\n0x03eb   \"t@C폜̃G[\"\n0x03ec   \"t@CύX̃G[\"\n0x03ed   \"hCuĨG[\"\n0x03ee   \"fBNg̓ǂݍ݃G[\"\n0x03ef   \"{[ x쐬̃G[\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"%s ͈ړł܂B%s\"\n0x03f4   \"%s ̓Rs[ł܂B%s\"\n0x03f5   \"%s ͍폜ł܂B%s\"\n0x03f6   \"%s ͖OύXł܂B%s\"\n0x03fd   \"fBNg %s ͍쐬ł܂B%s\"\n0x03fe   \"fBNg %s ͍폜ł܂B%s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"%s ͍쐬܂͏㏑ł܂B%s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"DOSt@NV܂B\"\n0x0412   \"t@C܂B\n\nw肵pXуt@CmFĂB\"\n0x0413   \"pX܂B\n\nw肵pXmFĂB\"\n0x0414   \"gp̃t@C܂BWindowaAvP[VIĂB\"\n0x0415   \"ANZX͋ۂ܂B\n\n݋֎~łȂAfBNgɃt@CcĂȂmFĂB\"\n0x0416   \"t@C nh܂B\"\n0x0418   \"܂B\n\nWindowsAvP[VIĂA蒼ĂB\"\n0x041c   \"t@Cւ̃ANZX܂B\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"݂̃fBNg폜ł܂(G[)B\"\n0x0421   \"foCX܂B\"\n0x0422   \"fBNgłB\"\n0x0423   \"fBXN݋֎~łB\n\ñfBXN̏݋֎~邩Aʂ̃fBXNgāA蒼ĂB\"\n0x042d   \"݂s܂Bݐ̃t@C܂̓fBXNĂ\\܂B\"\n0x042f   \"[hɎs܂Bǂݏõt@C܂̓fBXNĂ\\܂B\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"삪܂B\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"lbg[Nւ̃ANZX͋ۂ܂B̑słp[~bV邩mFĂB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"LᔽłBقŎgĂ\\܂B\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"fBXNeʂ܂B\n\nsvȃt@C폜ċ󂫃fBXNeʂ𑝂₵ĂA蒼ĂB\"\n0x0481   \"]Ɠ]悪łB\"\n0x0482   \"OύXɂ́A1̃t@Cw肵ĂBl̖Õt@CύXɂ́AChJ[h(Ƃ *.TXT)gĂB\"\n0x0483   \"قȂfBNg܂̓fBXN̖Oɂ͕ύXł܂B\"\n0x0484   \"[g fBNgł(G[)B\"\n0x0486   \"]̃fBNg͓]̃Tu fBNgłB\"\n0x0487   \"̃t@CWindowsgĂ܂B\"\n0x0488   \"ANZX͋ۂ܂B]̃t@C͎gĂ\\܂B\"\n0x0489   \"pX܂B\"\n0x048a   \"1̃t@C܂̓fBNgw肵ĂBt@C̃O[vw肵Ƃ́AChJ[h(Ƃ *.TXT)gĂB\"\n0x048b   \"w肳ꂽt@C͂łɑ݂܂Bʂ̖Ow肵Ă蒼ĂB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012c   \"1.2 MB\"\n0x012d   \"1.44 MB\"\n0x012f   \"360 KB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0131   \"720 KB\"\n0x0133   \"2.88 MB\"\n0x0134   \"hCu̗e\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"słB\"\n0x0192   \"MS-DOS̃X^[gAbv hCu̓tH[}bgł܂B\"\n0x0193   \"MS-DOS̃X^[gAbv hCuɕsȃZN^ TCY܂B\"\n0x0194   \"̃hCu͎g܂B\"\n0x0199   \"VXe t@C̓]Ɏs܂B\"\n0x019a   \"̃fBXN %s ̗eʂł̓tH[}bgł܂B̗eʂł̃tH[}bg𑱂܂?\"\n0x019b   \"ۯ߰ ި̫ϯĂł܂B\n\nۯ߰ ިײނɑ}Ă邩A݋֎~łȂAĂȂAި̎ނԈĂȂmFĂB\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.Korean.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"(\u001eF\u001f)\"\n    BEGIN\n    MENUITEM    \"(\u001eO\u001f)\tEnter\", 0X0065\n    MENUITEM    \"̵(\u001eM\u001f)...\tF7\", 0X006A\n    MENUITEM    \"(\u001eC\u001f)...\tF8\", 0X006B\n    MENUITEM    \"(\u001eD\u001f)...\tDel\", 0X006C\n    MENUITEM    \"̸(\u001eN\u001f)...\", 0X006D\n    MENUITEM    \"(\u001eT\u001f)...\tAlt+Enter\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"(\u001eR\u001f)...\", 0X0069\n    MENUITEM    \"μ(\u001eP\u001f)...\", 0X0066\n    MENUITEM    \"α׷ (\u001eA\u001f)...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"丮 ۼ(\u001eE\u001f)...\", 0X006F\n    MENUITEM    \"˻(\u001eH\u001f)...\", 0X0068\n    MENUITEM    \" (\u001eS\u001f)...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"(\u001eX\u001f)\", 0X0073\n    END\n    POPUP   \"ũ(\u001eD\u001f)\"\n    BEGIN\n    MENUITEM    \"ũ (\u001eC\u001f)...\", 0X00C9\n    MENUITEM    \"ũ ̸(\u001eL\u001f)...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"ũ (\u001eF\u001f)...\", 0X00CB\n    MENUITEM    \"ý ũ ۼ(\u001eM\u001f)...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"̺ (\u001eS\u001f)...\", 0X00FB\n    END\n    POPUP   \"丮(\u001eT\u001f)\"\n    BEGIN\n    MENUITEM    \"  Ȯ(\u001eX\u001f)\t+\", 0X012D\n    MENUITEM    \"Ȯ(\u001eB\u001f)\t*\", 0X012E\n    MENUITEM    \"ü Ȯ(\u001eA\u001f)\tCtrl+*\", 0X012F\n    MENUITEM    \"(\u001eC\u001f)\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Ȯ尡 ǥ(\u001eI\u001f)\", 0X01F9\n    END\n    POPUP   \"ǥ(\u001eV\u001f)\"\n    BEGIN\n    MENUITEM    \"丮(\u001eR\u001f)\", 0X019D\n    MENUITEM    \"丮(\u001eE\u001f)\", 0X019B\n    MENUITEM    \"丮(\u001eO\u001f)\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"(\u001eL\u001f)\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"(\u001eN\u001f)\", 0X0191\n    MENUITEM    \"ڼ(\u001eA\u001f)\", 0X0192\n    MENUITEM    \"Ϻθ ڼ(\u001eP\u001f)...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"̸(\u001eS\u001f)\", 0X0194\n    MENUITEM    \"(\u001eB\u001f)\", 0X0195\n    MENUITEM    \"ũ(\u001eZ\u001f)\", 0X0196\n    MENUITEM    \"¥(\u001eD\u001f)\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \" (\u001eT\u001f)...\", 0X0199\n    END\n    POPUP   \"ɼ(\u001eO\u001f)\"\n    BEGIN\n    MENUITEM    \"Ȯ(\u001eC\u001f)...\", 0X01F5\n    MENUITEM    \"۲(\u001eF\u001f)...\", 0X01FE\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"ǥ(\u001eS\u001f)\", 0X01F7\n    MENUITEM    \"ܵ(\u001eM\u001f)\", 0X01F8\n    MENUITEM    \"  (\u001eE\u001f)\", 0X01FF\n    END\n    POPUP   \"â(\u001eW\u001f)\"\n    BEGIN\n    MENUITEM    \"â(\u001eN\u001f)\", 0X03ED\n    MENUITEM    \"ܽ 迭(\u001eC\u001f)\tShift+F5\", 0X03E9\n    MENUITEM    \"ٵǽ 迭(\u001eT\u001f)\tShift+F4\", 0X03EA\n    MENUITEM    \" (\u001eA\u001f)\", 0X03EC\n    MENUITEM    \"ֽǥ(\u001eR\u001f)\tF5\", 0X03EB\n    END\n    POPUP   \"(\u001eH\u001f)\"\n    BEGIN\n    MENUITEM    \"(\u001eC\u001f)\", 0X044D\n    MENUITEM    \"ã(\u001eS\u001f)...\", 0X001E\n    MENUITEM    \" (\u001eH\u001f)\", 0X044E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"ϰ (\u001eA\u001f)...\", 0X044F\n    END\nEND\n\n\n145 DIALOG 0x80c8, 13, 54, 270, 144\nCAPTION \"۲\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"۲(\u001eF\u001f):\", 1088, 0x0000, 6, 3, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 13, 94, 54\n    CONTROL 0x82, \"۲ (\u001eY\u001f):\", 1089, 0x0000, 108, 3, 72, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 13, 64, 54\n    CONTROL 0x82, \"ũ(\u001eS\u001f):\", 1090, 0x0000, 179, 3, 30, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 179, 13, 32, 54\n    CONTROL 0x80, \"ȿ\", 1072, 0x0007, 6, 72, 84, 61\n    CONTROL 0x80, \"Ҽ(\u001eK\u001f)\", 1040, 0x0003, 10, 82, 49, 10\n    CONTROL 0x80, \"(\u001eU\u001f)\", 1041, 0x0003, 10, 94, 51, 10\n    CONTROL 0x80, \"ҹ(\u001eL\u001f)\", 1042, 0x0003, 10, 82, 49, 10\n    CONTROL 0x82, \"ȭ(\u001eC\u001f):\", 1091, 0x0000, 10, 106, 50, 9\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 116, 75, 50\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 218, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 218, 23, 45, 14\n    CONTROL 0x80, \"(\u001eA\u001f)\", 1026, 0x0000, 218, 40, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 1038, 0x0000, 218, 57, 45, 14\n    CONTROL 0x80, \"\", 1073, 0x0007, 98, 72, 165, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 124, 160, 20\n    CONTROL 0x82, \"AaBbYyZz\", 1092, 0x0081, 104, 81, 149, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 207, 86\nCAPTION \"̺ \"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"̺(\u001eD\u001f):\", 245, 0x000c, 5, 5, 50, 10\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 155, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 155, 23, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 155, 40, 45, 14\nEND\n\n10 DIALOG 0x80c8, 15, 12, 215, 62\nCAPTION \"\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 3, 6, 162, 10\n    CONTROL 0x82, \"θ(\u001eC\u001f):\", 100, 0x000c, 3, 19, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 30, 137, 12\n    CONTROL 0x80, \"ȭ(\u001eM\u001f)\", 214, 0x0003, 3, 45, 71, 12\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 165, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 165, 23, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 165, 44, 45, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 131, 77\nCAPTION \" \"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"(\u001eF\u001f):\", -1, 0x000c, 5, 16, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 29, 60, 12\n    CONTROL 0x80, \"(\u001eS\u001f)\", 1, 0x0001, 70, 6, 55, 14\n    CONTROL 0x80, \"(\u001eD\u001f)\", 6, 0x0000, 70, 23, 55, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 70, 40, 55, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 70, 57, 55, 14\nEND\n\n39 DIALOG 0x80c8, 10, 20, 245, 95\nCAPTION \" ٲٱ Ȯ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 82, 22, 160, 12\n    CONTROL 0x82, \"ٲٱ  :\", 100, 0x000c, 25, 12, 56, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 82, 12, 160, 12\n    CONTROL 0x82, \"\", 105, 0x000c, 82, 22, 160, 12\n    CONTROL 0x82, \"ٲ  :\", 100, 0x000c, 32, 34, 48, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 82, 34, 160, 12\n    CONTROL 0x82, \"\", 106, 0x000c, 82, 44, 160, 10\n    CONTROL 0x80, \"(\u001eY\u001f)\", 6, 0x0001, 13, 73, 50, 14\n    CONTROL 0x80, \"(\u001eA\u001f)\", 107, 0x0000, 70, 73, 50, 14\n    CONTROL 0x80, \"ƴϿ(\u001eN\u001f)\", 7, 0x0000, 127, 73, 50, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 184, 73, 50, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 245, 75\nCAPTION \"  Ȯ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 203, 10\n    CONTROL 0x82, \"  Ͻðڽϱ?\", 100, 0x000c, 30, 17, 150, 10\n    CONTROL 0x82, \":\", 100, 0x000c, 35, 30, 25, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 65, 30, 100, 10\n    CONTROL 0x80, \"(\u001eY\u001f)\", 6, 0x0001, 13, 52, 50, 14\n    CONTROL 0x80, \"(\u001eA\u001f)\", 107, 0x0000, 70, 52, 50, 14\n    CONTROL 0x80, \"ƴϿ(\u001eN\u001f)\", 7, 0x0000, 127, 52, 50, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 184, 52, 50, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 245, 75\nCAPTION \"丮  Ȯ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, 60371, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \" 丮 Ͻðڽϱ?\", 100, 0x000c, 30, 17, 150, 10\n    CONTROL 0x82, \"丮:\", 100, 0x000c, 35, 30, 45, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 30, 100, 10\n    CONTROL 0x80, \"(\u001eY\u001f)\", 6, 0x0001, 13, 52, 50, 14\n    CONTROL 0x80, \"(\u001eA\u001f)\", 107, 0x0000, 70, 52, 50, 14\n    CONTROL 0x80, \"ƴϿ(\u001eN\u001f)\", 7, 0x0000, 127, 52, 50, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 184, 52, 50, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \" ̵ Ȯ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"̵ :\", 100, 0x000c, 25, 18, 44, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 18, 170, 10\n    CONTROL 0x80, \"(\u001eY\u001f)\", 6, 0x0001, 13, 42, 50, 14\n    CONTROL 0x80, \"(\u001eA\u001f)\", 107, 0x0000, 70, 42, 50, 14\n    CONTROL 0x80, \"ƴϿ(\u001eN\u001f)\", 7, 0x0000, 127, 42, 50, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 184, 42, 50, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"̸  Ȯ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"̸ :\", 100, 0x000c, 25, 13, 62, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 88, 13, 152, 12\n    CONTROL 0x80, \"(\u001eY\u001f)\", 6, 0x0001, 13, 42, 50, 14\n    CONTROL 0x80, \"(\u001eA\u001f)\", 107, 0x0000, 70, 42, 50, 14\n    CONTROL 0x80, \"ƴϿ(\u001eN\u001f)\", 7, 0x0000, 127, 42, 50, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 184, 42, 50, 14\nEND\n\n11 DIALOG 0x80c8, 20, 20, 252, 60\nCAPTION \"μ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 193, 10\n    CONTROL 0x82, \"μ(\u001eP\u001f):\", 100, 0x000c, 4, 19, 34, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 36, 18, 160, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 36, 190, 10\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 201, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 201, 23, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 201, 40, 45, 14\nEND\n\n13 DIALOG 0x80c8, -35, 21, 270, 63\nCAPTION \"˻\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"˻(\u001eS\u001f):\", 100, 0x000c, 20, 8, 49, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 68, 7, 147, 12\n    CONTROL 0x82, \"丮 ˻(\u001eF\u001f):\", 100, 0x000c, 2, 27, 67, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 68, 26, 147, 12\n    CONTROL 0x80, \"丮 ˻(\u001eE\u001f)\", 232, 0x0003, 68, 43, 100, 12\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 220, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 220, 23, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 220, 40, 45, 14\nEND\n\n14 DIALOG 0x80c8, 47, 59, 235, 64\nCAPTION \"̵\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \" 丮 : N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"(\u001eT\u001f):\", 100, 0x000c, 3, 33, 31, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 42, 32, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 34, 33, 7, 10\n    CONTROL 0x80, \"Ŭ (\u001eC\u001f)\", 256, 0x0004, 34, 48, 138, 10\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 49, 40, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 45, 49, 138, 10\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 185, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 185, 23, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 185, 40, 45, 14\n    CONTROL 0x82, \"(\u001eF\u001f):\", 100, 0x000c, 3, 19, 31, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 42, 18, 138, 12\nEND\n\n15 DIALOG 0x80c8, 20, 20, 249, 64\nCAPTION \"\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \" 丮: C\", 101, 0x008c, 6, 5, 188, 10\n    CONTROL 0x82, \"(\u001eL\u001f):\", 100, 0x000c, 6, 20, 35, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 38, 19, 155, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 35, 35, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 40, 35, 155, 10\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 197, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 197, 23, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 197, 40, 45, 14\nEND\n\n38 DIALOG 0x80c8, 20, 20, 231, 65\nCAPTION \"\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"õ ϼ %d, ü  ũ: %s Ʈ\", 100, 0x000c, 5, 4, 230, 10\n    CONTROL 0x80, \"Ӽ\", -1, 0x0007, 5, 18, 165, 42\n    CONTROL 0x80, \"б(\u001eR\u001f)\", 215, 0x0003, 20, 29, 56, 12\n    CONTROL 0x80, \"(\u001eI\u001f)\", 216, 0x0003, 92, 29, 52, 12\n    CONTROL 0x80, \"(\u001eA\u001f)\", 217, 0x0003, 20, 41, 52, 12\n    CONTROL 0x80, \"ý (\u001eS\u001f)\", 218, 0x0003, 92, 41, 65, 12\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 180, 14, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 180, 31, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 180, 48, 45, 14\nEND\n\n16 DIALOG 0x80c8, 33, 44, 227, 100\nCAPTION \"%s \"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 175, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 175, 23, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 175, 40, 45, 14\n    CONTROL 0x82, \"̸(\u001eF\u001f):\", 100, 0x000c, 5, 5, 50, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 68, 5, 105, 12\n    CONTROL 0x82, \"ũ:\", 100, 0x000c, 5, 16, 40, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 68, 16, 105, 12\n    CONTROL 0x82, \" :\", 100, 0x000c, 5, 27, 61, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 68, 27, 105, 12\n    CONTROL 0x82, \"(\u001eP\u001f):\", 100, 0x000c, 5, 38, 46, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 68, 38, 105, 12\n    CONTROL 0x80, \"Ӽ\", 100, 0x0007, 3, 52, 136, 42\n    CONTROL 0x80, \"б(\u001eR\u001f)\", 215, 0x0003, 9, 64, 56, 12\n    CONTROL 0x80, \"(\u001eI\u001f)\", 216, 0x0003, 71, 64, 49, 12\n    CONTROL 0x80, \"(\u001eA\u001f)\", 217, 0x0003, 9, 76, 52, 12\n    CONTROL 0x80, \"ý (\u001eS\u001f)\", 218, 0x0003, 71, 76, 63, 12\nEND\n\n17 DIALOG 0x80c8, 20, 20, 213, 63\nCAPTION \"丮 ۼ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"丮 ̸(\u001eN\u001f):\", 100, 0x000c, 3, 26, 65, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 69, 25, 90, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 46, 150, 10\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 163, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 163, 23, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 163, 40, 45, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 172, 64\nCAPTION \"ý ũ ۼ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ý   ũ(\u001eC\u001f):\", -1, 0x000c, 2, 8, 117, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 30, 20, 40, 37\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 121, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 121, 23, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 121, 40, 45, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 161, 64\nCAPTION \"ũ \"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"(\u001eS\u001f):\", -1, 0x000c, 5, 8, 50, 10\n    CONTROL 0x85, \"\", 245, 0x0003, 55, 6, 40, 37\n    CONTROL 0x82, \"(\u001eD\u001f):\", 206, 0x000c, 5, 22, 50, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 20, 40, 37\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 110, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 110, 23, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 110, 40, 45, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 55\nCAPTION \"ũ \"\nFONT 12, \"System\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"A ̺\", 222, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \"ũ \", 100, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \" ũ б\", 243, 0x0001, 0, 26, 130, 10\n    CONTROL 0x80, \"\", 2, 0x0001, 44, 39, 44, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 167, 63\nCAPTION \"ũ ̸\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"̸(\u001eL\u001f):\", 100, 0x000c, 5, 15, 30, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 100, 12\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 115, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 115, 23, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 115, 40, 45, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 187, 96\nCAPTION \"ũ \"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 135, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 135, 23, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 135, 40, 45, 14\n    CONTROL 0x82, \"ũ(\u001eD\u001f):\", -1, 0x000c, 5, 7, 49, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 4, 65, 40\n    CONTROL 0x82, \"뷮(\u001eC\u001f):\", 100, 0x000c, 12, 20, 33, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 55, 19, 65, 40\n    CONTROL 0x80, \"ɼ\", 102, 0x0007, 5, 39, 115, 53\n    CONTROL 0x82, \"̸ǥ(\u001eL\u001f):\", -1, 0x000c, 11, 50, 42, 10\n    CONTROL 0x81, \"\", 201, 0x0000, 51, 49, 63, 12\n    CONTROL 0x80, \"ý ũ ۼ(\u001eM\u001f)\", 242, 0x0003, 11, 62, 90, 12\n    CONTROL 0x80, \" (\u001eQ\u001f)\", 244, 0x0003, 11, 76, 90, 12\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 50\nCAPTION \"ũ \"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ũ \", 100, 0x0001, 0, 5, 150, 10\n    CONTROL 0x82, \"̺ ʱȭ...\", 243, 0x0001, 0, 17, 150, 10\n    CONTROL 0x80, \"\", 2, 0x0001, 54, 30, 44, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 174, 57\nCAPTION \"ý ũ ۼ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ý  \", 100, 0x0001, 0, 6, 174, 8\n    CONTROL 0x82, \"Ϸ Ҹ ʽÿ.\", 100, 0x0001, 0, 20, 174, 8\n    CONTROL 0x80, \"\", 2, 0x0001, 71, 39, 35, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 256, 135\nCAPTION \"Ʈũ \"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x80, \" \", -1, 0x0007, 5, 2, 177, 55\n    CONTROL 0x82, \"Ʈũ (\u001eN\u001f):\", -1, 0x0000, 9, 14, 65, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 75, 13, 100, 12\n    CONTROL 0x82, \"̺(\u001eR\u001f):\", -1, 0x0000, 27, 28, 47, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 75, 27, 40, 100\n    CONTROL 0x82, \"ȣ(\u001eW\u001f):\", -1, 0x0000, 43, 42, 31, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 75, 41, 100, 12\n    CONTROL 0x82, \"  ̺(\u001eV\u001f):\", -1, 0x0000, 5, 62, 120, 10\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 177, 60\n    CONTROL 0x80, \"ݱ(\u001eL\u001f)\", 2, 0x0001, 190, 6, 60, 14\n    CONTROL 0x80, \"(\u001eC\u001f)\", 1, 0x0000, 190, 23, 60, 14\n    CONTROL 0x80, \"(\u001eP\u001f)...\", 226, 0x0000, 190, 40, 60, 14\n    CONTROL 0x80, \"ãƺ(\u001eB\u001f)...\", 227, 0x0000, 190, 57, 60, 14\n    CONTROL 0x80, \"(\u001eD\u001f)\", 255, 0x0000, 190, 74, 60, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 190, 91, 60, 14\nEND\n\n29 DIALOG 0x80c8, 30, 30, 233, 98\nCAPTION \" Ʈũ \"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Ʈũ (\u001eP\u001f):\", 100, 0x000e, 3, 3, 69, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 3, 15, 172, 80\n    CONTROL 0x80, \"(\u001eS\u001f)\", 1, 0x0001, 181, 6, 45, 14\n    CONTROL 0x80, \"ݱ\", 2, 0x0000, 181, 23, 45, 14\n    CONTROL 0x80, \"(\u001eD\u001f)\", 219, 0x0000, 181, 40, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 181, 57, 45, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 170, 65\nCAPTION \"Ϻθ ڼ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"ڼ\", 100, 0x0007, 4, 4, 111, 55\n    CONTROL 0x80, \"ũ(\u001eS\u001f)\", 203, 0x0003, 11, 15, 100, 9\n    CONTROL 0x80, \" (\u001eM\u001f)\", 204, 0x0003, 11, 25, 100, 9\n    CONTROL 0x80, \" ð(\u001eT\u001f)\", 205, 0x0003, 11, 35, 100, 9\n    CONTROL 0x80, \"Ӽ(\u001eF\u001f)\", 206, 0x0003, 11, 45, 100, 9\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 120, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 120, 23, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 120, 40, 45, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 175, 102\nCAPTION \" \"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"̸(\u001eN\u001f):\", 100, 0x000c, 5, 7, 47, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 53, 6, 65, 12\n    CONTROL 0x80, \"\", 100, 0x0007, 5, 20, 113, 62\n    CONTROL 0x80, \"丮(\u001eD\u001f)\", 101, 0x0003, 10, 31, 60, 12\n    CONTROL 0x80, \"α׷(\u001eP\u001f)\", 210, 0x0003, 10, 43, 60, 12\n    CONTROL 0x80, \"(\u001eM\u001f)\", 211, 0x0003, 10, 55, 60, 12\n    CONTROL 0x80, \"ٸ (\u001eO\u001f)\", 212, 0x0003, 10, 67, 60, 12\n    CONTROL 0x80, \" /ý (\u001eS\u001f)\", 250, 0x0003, 5, 85, 100, 12\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 124, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 124, 23, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 124, 40, 45, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 168, 80\nCAPTION \"Ȯ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Ȯ\", 100, 0x0007, 5, 3, 108, 73\n    CONTROL 0x80, \"  Ȯ(\u001eD\u001f)\", 219, 0x0003, 10, 15, 80, 12\n    CONTROL 0x80, \"丮  Ȯ(\u001eI\u001f)\", 220, 0x0003, 10, 27, 93, 12\n    CONTROL 0x80, \" ٲٱ Ȯ(\u001eR\u001f)\", 221, 0x0003, 10, 39, 87, 12\n    CONTROL 0x80, \"콺  Ȯ(\u001eM\u001f)\", 249, 0x0003, 10, 51, 88, 12\n    CONTROL 0x80, \"ũ (\u001eK\u001f)\", 251, 0x0003, 10, 63, 80, 12\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 118, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 118, 23, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 118, 40, 45, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 250, 46\nCAPTION \"̵\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 5, 49, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 55, 5, 192, 10\n    CONTROL 0x82, \":\", 108, 0x008b, 5, 15, 25, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 55, 15, 192, 10\n    CONTROL 0x80, \"\", 2, 0x0001, 205, 28, 35, 14\nEND\n\n36 DIALOG 0x80c8, 20, 20, 120, 58\nCAPTION \"\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \" μ...\", -1, 0x0001, 4, 6, 120, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 4, 20, 120, 12\n    CONTROL 0x80, \"\", 2, 0x0001, 44, 40, 35, 14\nEND\n\n12 DIALOG 0x80c8, 31, 39, 231, 95\nCAPTION \"α׷ \"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \" Ȯ(\u001eF\u001f):\", 99, 0x000c, 5, 8, 65, 10\n    CONTROL 0x81, \"\", 112, 0x0400, 71, 7, 35, 12\n    CONTROL 0x82, \"(\u001eA\u001f):\", 99, 0x000c, 5, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 6, 32, 146, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 7, 44, 146, 40\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 165, 11, 60, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 165, 28, 60, 14\n    CONTROL 0x80, \"ãƺ(\u001eB\u001f)...\", 232, 0x0000, 165, 45, 60, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 165, 62, 60, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 250, 78\nCAPTION \" ̸ \"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \" δ DOS  ̸  ʽϴ.   ̸ ԷϽʽÿ.\", 99, 0x0000, 4, 4, 190, 24\n    CONTROL 0x82, \"̸(\u001eN\u001f):\", 99, 0x0000, 29, 55, 39, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 69, 55, 122, 12\n    CONTROL 0x82, \" :\", 99, 0x0000, 31, 28, 38, 11\n    CONTROL 0x81, \"\", 102, 0x0880, 70, 26, 121, 12\n    CONTROL 0x82, \"ٲ  丮:\", 99, 0x0000, 5, 42, 63, 11\n    CONTROL 0x81, \"\", 101, 0x0880, 69, 40, 122, 12\n    CONTROL 0x80, \"Ȯ\", 1, 0x0001, 200, 4, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 200, 21, 45, 14\n    CONTROL 0x80, \"(\u001eH\u001f)\", 254, 0x0000, 200, 38, 45, 14\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \" \"\n0x0029   \"  ˴ϴ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"ũ \"\n0x0033   \" ũ Ͻʽÿ.\"\n0x0034   \" ũ Ͻʽÿ.\"\n0x0035   \" ũ  ũ Ͻʽÿ.\"\n0x0036   \" ũ .\"\n0x0037   \"ũ  \"\n0x0038   \"ũ   ϴ.\"\n0x003a   \" ̺  ̺갡 ȣȯ ƴմϴ.\"\n0x003c   \"%d%% Ϸ\"\n0x003d   \"Ʈ 丮 ۼ...\"\n0x003e   \"ý  ...\"\n0x003f   \"ũ  \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"μϱ⿡ ũ  մϴ. \n\n Ѱ ̻  Ͽ   ũ  ø  ٽ Ͻʿ.\"\n0x00c1   \"μϱ⿡ ޸𸮰 մϴ. \n\nѰ ̻  α׷ ϰ ٽ Ͻʽÿ.\"\n0x00c2   \"μ⵵  ߻߽ϴ. \n\nͰ  ǰ õǾ ȮϽʽÿ.\"\n0x00c3   \"ǥõ 丮 ҿմϴ.\"\n0x00c5   \" ̺갡  áϴ. \n\nϷ  ũ Ͻʽÿ.\"\n0x00c6   \"̰ ý, , Ǵ б Դϴ.\"\n0x00c7   \"    ϴ.\n\nϹ  Ͻðڽϱ?\"\n0x00c8   \" α׷  α׷̳ MS-DOS α׷ ƴմϴ.\"\n0x00c9   \" α׷  ֽ ũμƮ   ؾ մϴ.\"\n0x00ca   \"  α׷ Դϴ.\"\n0x00cb   \" α׷  ϴ   ߻߽ϴ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"ũ  Ұմϴ.\"\n0x0042   \" Ϸ\"\n0x0043   \" ũ 뷮 %ldԴϴ.\n ٸ ũ Ͻðڽϱ?\"\n0x0046   \"ý ũ ۼ\"\n0x0047   \"%c ̺꿡 ִ ũ ý  Ͻðڽϱ?\"\n0x0048   \"ý ũ \"\n0x0049   \"ý õ ̺긦   ų, ý    ʽϴ.\"\n0x004a   \"ý õ ̺꿡 ý    ϴ.\"\n0x004b   \" ũ ý  ߰  ϴ. \n\n ̺ ȿ ˵ ũ ִ, ̺   ִ ȮϽʽÿ\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"Ʈũ \"\n0x0053   \" ̺꿡  ý   Ƿ   ϴ..\"\n0x005b   \"Ӽ   ϴ. \n\nũ Ǿ ִ ȮϽʽÿ.\"\n0x005c   \"丮 ۼ  ϴ.\n\n ũ Ǿ ִ  ȮϽʽÿ.\"\n0x005d   \"ũ ̸ ۼ  ϴ.\n\nũ Ǿ ִ Ʈũ ̺갡 ƴ, ׸ ̸ Ȯ ȮϽʽÿ.\n̸  ڵ   ϴ:\n[̽] * ? / \\ | . , ; : + = [ ] ( ) & ^ < > \" \"\n0x005f   \"ġǴ  ã  ϴ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"ü  :%d (%s Ʈ)\"\n0x00b5   \" 丮: %d \"\n0x00b6   \"%c: %sKB  (%sKB)\"\n0x00b7   \"%d  ãҽϴ\"\n0x00b9   \"õ \"\n0x00ba   \"Ʈũ ̺긦   ϴ. \n\n ̺   ֽϴ.\"\n0x00bb   \"õ  :%d (%s Ʈ)\"\n0x00bc   \"%c ̺꿡 ũ ϴ. \n\nũ   ٽ Ͻʽÿ.\"\n0x00bd   \"%c ̺꿡 ִ ũ ˵Ǿ  ʽϴ. \n\n Ͻðڽϱ?\"\n0x00bf   \"μ  ã  ϴ. θ ̸ ùٷ Ǿ ȮϽʽÿ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"丮 ̹ մϴ.\"\n0x0061   \" ̺  Ǿϴ. [˻] â Ͻðڽϱ?\"\n0x0065   \"%c%c̺\"\n0x006e   \"α׷  \"\n0x006f   \"ġ  : %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"ϸ ũ  Ͱ ϴ. %c ̺꿡 ִ ũ Ͻðڽϱ?\"\n0x00d3   \"ũ  Ȯ\"\n0x00d4   \"  ϸ  ũ ִ  Ͱ ϴ. Ͻðڽϱ?\"\n0x00d5   \"ũ Ȯ\"\n0x00d6   \"ݱ(\u001eC\u001f)\"\n0x00d7   \" (\u001eU\u001f)\"\n0x00d8   \"Ʈũ ̺ (\u001eN\u001f)...\"\n0x00d9   \"Ʈũ (\u001eN\u001f)...\"\n0x00da   \"丮 %s  ʽϴ. \n\n̰ ۼϽðڽϱ?\"\n0x00db   \"α׷#*.exe;*.pif;*.com;*.bat#ü (*.*)#*.*#\"\n0x00dc   \"ãƺ\"\n0x00dd   \"\"\n0x00de   \" μ \"\n0x00df   \"  ǥ  ϴ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"޸𸮰 Ͽ  α׷   ϴ.\n\n  ٸ α׷   ٽ Ͻʽÿ.\"\n0x0071   \" (Ǵ    ϳ) ã  ϴ. \n\nθ ̸ ´, ʿ  ̺귯   ȮϽʽÿ.\"\n0x0072   \" ΰ ȿ ʽϴ.\"\n0x0073   \"   ʹ ϴ. \n\nѰ ̻  α׷ ϰų CONFIG.SYS FILES  ø  ٽ Ͻʽÿ.\"\n0x0074   \" ϰ   α׷ ϴ. \n\n   α׷ Ϸ  ޴ [α׷ ]  Ͻʽÿ.\"\n0x0075   \" α׷ ѹ ̻   ϴ.\"\n0x0076   \" ų μ  ϴ.\n\n  ۼϴµ  α׷ Ͽ ű⿡   ų μϽʽÿ.\"\n0x0078   \"콺  Ȯ\"\n0x0079   \" ̳ 丮 %s Ͻðڽϱ?\"\n0x007a   \" ̳ 丮 %s ̵Ͻðڽϱ?\"\n0x007b   \"ʱϷ %s() Ͽ %s() Ͻðڽϱ?\"\n0x007c   \"ϰ\"\n0x007e   \"丮\"\n0x007f   \"˻: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"Ȯ %s  α׷̹Ƿ ٸ  α׷   ϴ.\"\n0x00e1   \"%s α׷ ƴϹǷ  Ȯ α׷  ϴ.\"\n0x00e2   \"()\"\n0x00e3   \" .\"\n0x00e4   \"   μ  ϴ. \n\nϳ ϸ   ٽ Ͻʽÿ.\"\n0x00e5   \" α׷ Ǵ   ϳ Ǿϴ. \n\n ũ  Ϸ MS-DOS Ȯ ƿƼ Ͻʽÿ. \"\n0x00e6   \"  α׷ ϴµ ʿ ̺귯  ϳ ջǾϴ.   α׷ ٽ ġϽʽÿ.\"\n0x00e7   \"  ٸ  α׷ ϰ ֽϴ.\"\n0x00e8   \"ϰڴ  丮 ۼ    ϴ. \"%s\".\n\nϽðڽϱ?\"\n0x00e9   \"丮 ۼ\"\n0x00ea   \"%ld Ʈ\"\n0x00eb   \"%s Ʈ\"\n0x00ec   \"Ŭ忡  ̳ 丮   ϴ. \n\nϳ    ٽ Ͻʽÿ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \" ʹ ϴ.\"\n0x0085   \"ϰ - ޸ \"\n0x0086   \"ü 丮   ϴ. Ϻ ϸ ǥõ˴ϴ.\"\n0x008c   \" 丮: %s\"\n0x008d   \"\"\n0x008f   \"̸\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"ũ \"\n0x0092   \" ũ .\"\n0x0094   \"Ʈũ ̺  (\u001eD\u001f)...\"\n0x0096   \"ۼ:\"\n0x0097   \"...\"\n0x0098   \":\"\n0x0099   \"̸...\"\n0x009a   \"̵...\"\n0x009b   \"...\"\n0x009c   \"μ: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"%c ̺갡 ϴ.\"\n0x00a9   \"\"\n0x00aa   \":\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"...\"\n0x01a5   \"ݱ...\"\n0x01a6   \"丮 â ʹ   ֽϴ. \n\nϳ ̻ â   ٽ Ͻʽÿ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \" ̵ \"\n0x03ea   \"  \"\n0x03eb   \"  \"\n0x03ec   \" ̸ \"\n0x03ed   \"̺  \"\n0x03ee   \"丮 б \"\n0x03ef   \"ũ ̸ۼ \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"%s ̵ Ҵ: %s\"\n0x03f4   \"%s  Ҵ: %s\"\n0x03f5   \"%s  Ҵ: %s\"\n0x03f6   \"%s ̸ Ҵ: %s\"\n0x03fd   \"%s 丮 ۼ Ҵ: %s\"\n0x03fe   \"%s 丮  Ҵ: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \" ҰϿ %s() ų ٲ  ϴ. %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"ȿ  dos \"\n0x0412   \" ã  ϴ. \n\nθ ̸ ùٷ Ǿ ȮϽʽÿ.\"\n0x0413   \"θ ã  ϴ. \n\nθ ùٸ Ǿ ȮϽʽÿ.\"\n0x0414   \"   ʹ ϴ. ϳ ̻  α׷ Ͻʽÿ.\"\n0x0415   \"\n\nũ  áų Ǿ ȮϽʽÿ.\"\n0x0416   \"ȿ   \"\n0x0418   \"޸𸮰 մϴ. \n\nѰ ̻  α׷ ϰ ٽ Ͻʽÿ.\"\n0x041c   \"ȿ   \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \" 丮   ϴ. ( ).\"\n0x0421   \"ȿ  ġ\"\n0x0422   \"丮  ֽϴ.\"\n0x0423   \"ũ Ǿ ֽϴ. \n\n ũ  ϰų ٸ ũ Ͽ ٽ Ͻʽÿ.\"\n0x042d   \" .  ̳ ũ ջǾ Դϴ.\"\n0x042f   \"б .  ̳ ũ ջǾ Դϴ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"ȿ  ۵\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"Ʈũ  źεǾϴ.   ϱ  ùٸ Ʈũ 㰡 ޾Ҵ ȮϽʽÿ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"  ̳  Դϴ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"ũ  մϴ. \nѰ ̻  Ͽ ũ  ø  ٽ Ͻʽÿ.\"\n0x0481   \"  ϴ.\"\n0x0482   \"̸   ϳ ϰų, ̸   ׷ ̸ Ϸ MS-DOS ǥ( , *.TXT) Ͻʽÿ .\"\n0x0483   \"ٸ 丮 ũ ̸  ϴ.\"\n0x0484   \"Ʈ 丮 ( ).\"\n0x0486   \" 丮  丮Դϴ.\"\n0x0487   \" 찡 Դϴ.\"\n0x0488   \" źεǾϴ.  ٸ Դϴ.\"\n0x0489   \"ΰ ʹ ϴ.\"\n0x048a   \"[] ڿ  Ǵ 丮 ϳ Ͻʽÿ. Ǵ  ׷ Ϸ MS-DOS ǥ (  *.TXT) Ͻʽÿ.\"\n0x048b   \" ̸ ̹ մϴ. [] ڿ ٸ ̸ Ͻʽÿ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1.2 MB\"\n0x0131   \"720 KB\"\n0x0132   \"1.44 MB\"\n0x0133   \"2.88 MB\"\n0x0134   \"̺ 뷮\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360 KB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"޸𸮰 մϴ.\"\n0x0192   \"ý õ ̺긦   ϴ.\"\n0x0193   \"ý õ ̺  ũⰡ ȿ ʽϴ.\"\n0x0194   \"̺  Ȯմϴ.\"\n0x0199   \"ý  ۿ Ͽϴ.\"\n0x019a   \" ũ %s 뷮    ֽϴ.  뷮   Ͻðڽϱ?\"\n0x019b   \"ũ   ϴ. \n\nũ ̺꿡 ִ, ǰų, ջ ʾҴ, Ǵ ũ е Ʋȴ ȮϽʽÿ.\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.Norway.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"&Fil\"\n    BEGIN\n    MENUITEM    \"&pne\tEnter\", 0X0065\n    MENUITEM    \"&Flytt..\tF7\", 0X006A\n    MENUITEM    \"&Kopier...\tF8\", 0X006B\n    MENUITEM    \"Sl&ett...\tDel\", 0X006C\n    MENUITEM    \"&Gi nytt navn...\", 0X006D\n    MENUITEM    \"&Informasjon...\tAlt+Enter\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"K&jr...\", 0X0069\n    MENUITEM    \"Skriv &ut...\", 0X0066\n    MENUITEM    \"&Tilknytt...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Lag katalog...\", 0X006F\n    MENUITEM    \"&Sk...\", 0X0068\n    MENUITEM    \"&Merk filer...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Avslutt\", 0X0073\n    END\n    POPUP   \"&Disk\"\n    BEGIN\n    MENUITEM    \"&Kopier diskett...\", 0X00C9\n    MENUITEM    \"&Sett etikett p disk(ett)...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"F&ormater diskett...\", 0X00CB\n    MENUITEM    \"&Lag systemdiskett...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Velg stasjon...\", 0X00FB\n    END\n    POPUP   \"&Tre\"\n    BEGIN\n    MENUITEM    \"Utvid &ett niv\t+\", 0X012D\n    MENUITEM    \"&Utvid gren\t*\", 0X012E\n    MENUITEM    \"Utvid &alt\tCtrl+*\", 0X012F\n    MENUITEM    \"&Skjul gren\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Vis utvidbare grener\", 0X01F9\n    END\n    POPUP   \"&Vis\"\n    BEGIN\n    MENUITEM    \"&Tre og katalog\", 0X019D\n    MENUITEM    \"&Bare tre\", 0X019B\n    MENUITEM    \"Bare &katalog\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Del\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Navn\", 0X0191\n    MENUITEM    \"&All filinformasjon\", 0X0192\n    MENUITEM    \"De&lvis filinformasjon...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Sorter etter navn\", 0X0194\n    MENUITEM    \"Sort&er etter type\", 0X0195\n    MENUITEM    \"So&rter etter strrelse\", 0X0196\n    MENUITEM    \"S&orter etter dato\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Filtype...\", 0X0199\n    END\n    POPUP   \"&Alternativer\"\n    BEGIN\n    MENUITEM    \"&Bekreftelse...\", 0X01F5\n    MENUITEM    \"&Skrift...\", 0X01FE\n    MENUITEM    \"&Tilpass verktylinjen ...\", 0X0200\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Verktylinje\", 0X01FC\n    MENUITEM    \"Stasj&onslinje\", 0X01FB\n    MENUITEM    \"St&atuslinje\", 0X01F7\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Minimer ved bruk\", 0X01F8\n    MENUITEM    \"&Lagre endringer ved avslutning\", 0X01FF\n    END\n    POPUP   \"Vi&ndu\"\n    BEGIN\n    MENUITEM    \"&Nytt vindu\", 0X0452\n    MENUITEM    \"Over&lappet\tSkift+F5\", 0X044D\n    MENUITEM    \"&Side ved side vannrett\", 0X044F\n    MENUITEM    \"Side &ved side loddrett\tSkift+F4\", 0X044E\n    MENUITEM    \"Ordne &ikoner\", 0X0451\n    MENUITEM    \"&Forny\tF5\", 0X0450\n    END\n    POPUP   \"&Hjelp\"\n    BEGIN\n    MENUITEM    \"&Innhold\", 0X04B1\n    MENUITEM    \"&Sk etter hjelp om...\", 0X001E\n    MENUITEM    \"&Hvordan bruke Hjelp\", 0X04B2\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Om Filbehandling...\", 0X04B3\n    END\nEND\n\n\n145 DIALOG 0x80c8, 13, 54, 265, 135\nCAPTION \"Skrift\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Skrift:\", 1088, 0x0000, 6, 3, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 13, 94, 54\n    CONTROL 0x82, \"S&kriftstil:\", 1089, 0x0000, 108, 3, 44, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 13, 64, 54\n    CONTROL 0x82, \"S&trrelse:\", 1090, 0x0000, 179, 3, 30, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 179, 13, 32, 54\n    CONTROL 0x80, \"Effekter\", 1072, 0x0007, 6, 72, 84, 61\n    CONTROL 0x80, \"&Overstreking\", 1040, 0x0003, 10, 82, 63, 10\n    CONTROL 0x80, \"&Understreking\", 1041, 0x0003, 10, 94, 64, 10\n    CONTROL 0x80, \"S&m bokstaver\", 1042, 0x0003, 10, 82, 76, 10\n    CONTROL 0x82, \"&Farge:\", 1091, 0x0000, 10, 106, 30, 9\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 116, 75, 50\n    CONTROL 0x80, \"OK\", 1, 0x0001, 218, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 218, 23, 40, 14\n    CONTROL 0x80, \"&Bruk\", 1026, 0x0000, 218, 40, 40, 14\n    CONTROL 0x80, \"&Hjelp\", 1038, 0x0000, 218, 57, 40, 14\n    CONTROL 0x80, \"Eksempel\", 1073, 0x0007, 98, 72, 160, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 124, 160, 20\n    CONTROL 0x82, \"AaBb\", 1092, 0x0081, 104, 81, 149, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 201, 86\nCAPTION \"Velg stasjon\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Stasjoner:\", 245, 0x000c, 5, 5, 41, 10\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"OK\", 1, 0x0001, 155, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 155, 23, 40, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 155, 44, 40, 14\nEND\n\n10 DIALOG 0x80c8, 15, 12, 210, 63\nCAPTION \"Kjr\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 3, 6, 162, 10\n    CONTROL 0x82, \"K&ommandolinje:\", 100, 0x000c, 3, 18, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 134, 12\n    CONTROL 0x80, \"&Kjr minimert\", 214, 0x0003, 3, 45, 66, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 165, 23, 40, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 165, 43, 40, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 125, 83\nCAPTION \"Merk filer\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Fil(er):\", -1, 0x000c, 5, 16, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 29, 60, 12\n    CONTROL 0x80, \"&Merk\", 1, 0x0001, 70, 6, 50, 14\n    CONTROL 0x80, \"Fj&ern merking\", 6, 0x0000, 70, 23, 50, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 70, 40, 50, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 70, 63, 50, 14\nEND\n\n39 DIALOG 0x80c8, 10, 20, 245, 95\nCAPTION \"Bekreft Erstatt fil\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Erstatt filen:\", 100, 0x000c, 25, 12, 49, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 75, 12, 165, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 75, 22, 170, 10\n    CONTROL 0x82, \"Med filen:\", 100, 0x000c, 25, 34, 49, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 75, 34, 165, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 75, 44, 170, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 33, 73, 40, 14\n    CONTROL 0x80, \"Ja &til alt\", 107, 0x0000, 79, 73, 40, 14\n    CONTROL 0x80, \"&Nei\", 7, 0x0000, 125, 73, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 171, 73, 40, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"Bekreft Slett fil\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 203, 10\n    CONTROL 0x82, \"Slett filen:\", 100, 0x000c, 25, 18, 44, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 18, 170, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"Ja &til alt\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Nei\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"Bekreft Slett katalog\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Slett katalog:\", 100, 0x000c, 25, 18, 55, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 18, 160, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"Ja &til alt\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Nei\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"Bekreft Flytt fil\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Flytt fil:\", 100, 0x000c, 25, 18, 44, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 18, 170, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"Ja &til alt\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Nei\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"Bekreft Gi nytt navn til fil\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Gi nytt navn til fil:\", 100, 0x000c, 25, 13, 59, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 84, 13, 156, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"Ja &til alt\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&Nei\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n11 DIALOG 0x80c8, 20, 20, 243, 63\nCAPTION \"Skriv ut\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 193, 10\n    CONTROL 0x82, \"&Skriv ut:\", 100, 0x000c, 3, 20, 28, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 34, 18, 160, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 36, 190, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 201, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 201, 23, 40, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 201, 43, 40, 14\nEND\n\n13 DIALOG 0x80c8, 20, 20, 263, 63\nCAPTION \"Sk\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Sk etter:\", 100, 0x000c, 5, 6, 45, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 52, 5, 160, 12\n    CONTROL 0x82, \"Start &ved:\", 100, 0x000c, 5, 22, 45, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 52, 20, 160, 12\n    CONTROL 0x80, \"Sk gjennom &alle underkataloger\", 232, 0x0003, 52, 34, 122, 12\n    CONTROL 0x82, \"\", 104, 0x000c, 5, 50, 200, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 217, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 217, 23, 40, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 217, 43, 40, 14\nEND\n\n14 DIALOG 0x80c8, 47, 59, 241, 80\nCAPTION \"Flytt\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Gjeldende katalog: N\", 101, 0x008b, 3, 6, 186, 10\n    CONTROL 0x82, \"&Til:\", 100, 0x000c, 3, 33, 20, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 37, 32, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 26, 33, 10, 10\n    CONTROL 0x80, \"&Kopier til Utklippstavle\", 256, 0x0004, 26, 47, 86, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 49, 87, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 37, 63, 152, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 195, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 195, 23, 40, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 195, 44, 40, 14\n    CONTROL 0x82, \"&Fra:\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n10014 DIALOG 0x80c8, 47, 59, 237, 98\nCAPTION \"Flytt\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Gjeldende katalog: N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"&Til:\", 100, 0x000c, 3, 38, 20, 10\n    CONTROL 0x62, \"edit\", 103, 0x0004, 37, 38, 138, 42\n    CONTROL 0x50, \"\", 256, 0x0401, 6656, 9728, 2560, 2560\n    CONTROL 0x80, \"&Kopier til Utklippstavle\", 256, 0x0004, 26, 84, 86, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 84, 55, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 61, 84, 138, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 46, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 185, 23, 46, 14\n    CONTROL 0x80, \"&Bla gjennom\", 600, 0x0000, 185, 40, 46, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 185, 61, 46, 14\n    CONTROL 0x82, \"&Fra:\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n200 DIALOG 0x00c8, 36, 24, 164, 134\nCAPTION \"Velg katalog\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x81, \"\", 1152, 0x0490, 6, 16, 90, 12\n    CONTROL 0x83, \"\", 1120, 0x0053, 12, 28, 84, 68\n    CONTROL 0x82, \"&Kataloger:\", -1, 0x0000, 10, 6, 92, 9\n    CONTROL 0x82, \"\", 1088, 0x0000, 10, 16, 92, 9\n    CONTROL 0x83, \"\", 1121, 0x0053, 10, 28, 92, 68\n    CONTROL 0x82, \"&Stasjoner:\", 1091, 0x0000, 10, 102, 92, 9\n    CONTROL 0x85, \"\", 1137, 0x0353, 10, 112, 92, 68\n    CONTROL 0x80, \"OK\", 1, 0x0001, 108, 6, 50, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 108, 24, 50, 14\n    CONTROL 0x82, \"&Filnavn:\", 1090, 0x0000, 6, 6, 76, 9\n    CONTROL 0x82, \"Fi&ltype:\", 1089, 0x0000, 6, 104, 90, 9\n    CONTROL 0x85, \"\", 1136, 0x0043, 6, 114, 90, 36\n    CONTROL 0x80, \"&Hjelp\", 1038, 0x0000, 208, 46, 50, 14\n    CONTROL 0x80, \"Skri&vebeskyttet\", 1040, 0x0003, 208, 68, 50, 12\nEND\n\n15 DIALOG 0x80c8, 20, 20, 246, 64\nCAPTION \"Slett\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Gjeldende katalog: C\", 101, 0x008c, 3, 5, 193, 10\n    CONTROL 0x82, \"&Slett:\", 100, 0x000c, 3, 20, 35, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 40, 19, 155, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 35, 35, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 40, 35, 155, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 200, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 200, 23, 40, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 200, 43, 40, 14\nEND\n\n38 DIALOG 0x80c8, 20, 20, 206, 65\nCAPTION \"Informasjon\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"%d filer merket, totalt %s byte\", 100, 0x000c, 5, 5, 144, 10\n    CONTROL 0x80, \"Attributter\", -1, 0x0007, 5, 18, 120, 42\n    CONTROL 0x80, \"Skri&vebeskyttet\", 215, 0x0003, 10, 29, 63, 12\n    CONTROL 0x80, \"Skj&ult\", 216, 0x0003, 78, 29, 44, 12\n    CONTROL 0x80, \"&Arkiv\", 217, 0x0003, 10, 41, 52, 12\n    CONTROL 0x80, \"&System\", 218, 0x0003, 78, 41, 44, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 150, 6, 50, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 150, 23, 50, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 150, 43, 50, 14\nEND\n\n16 DIALOG 0x80c8, 23, 13, 250, 195\nCAPTION \"Informasjon om %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 194, 6, 50, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 194, 23, 50, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 194, 40, 50, 14\n    CONTROL 0x82, \"&Filnavn:\", 261, 0x000c, 5, 5, 55, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 60, 5, 134, 10\n    CONTROL 0x82, \"&Bane:\", 100, 0x000c, 5, 16, 51, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 60, 16, 134, 10\n    CONTROL 0x82, \"Siste endring:\", 100, 0x000c, 5, 27, 62, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 60, 27, 97, 10\n    CONTROL 0x82, \"Versjon:\", 258, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"Ikke merket\", 259, 0x008c, 60, 38, 90, 10\n    CONTROL 0x82, \"&Opphavsrett:\", -1, 0x0000, 5, 49, 45, 10\n    CONTROL 0x81, \"Ikke merket\", 265, 0x0880, 60, 49, 134, 10\n    CONTROL 0x82, \"Strrelse:\", 260, 0x000c, 5, 60, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 60, 60, 90, 10\n    CONTROL 0x80, \"Attributter\", 100, 0x0007, 4, 74, 120, 42\n    CONTROL 0x80, \"Skri&vebeskyttet\", 215, 0x0003, 9, 86, 61, 12\n    CONTROL 0x80, \"Skj&ult\", 216, 0x0003, 74, 86, 45, 12\n    CONTROL 0x80, \"&Arkiv\", 217, 0x0003, 9, 98, 52, 12\n    CONTROL 0x80, \"&System\", 218, 0x0003, 74, 98, 45, 12\n    CONTROL 0x80, \"V&ersjonsinformasjon\", 262, 0x0007, 4, 121, 242, 72\n    CONTROL 0x83, \"\", 263, 0x1003, 9, 132, 91, 58\n    CONTROL 0x81, \"\", 264, 0x0804, 103, 132, 138, 58\nEND\n\n17 DIALOG 0x80c8, 20, 20, 200, 63\nCAPTION \"Lag katalog\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Navn:\", 100, 0x000c, 3, 23, 20, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 30, 22, 90, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 46, 150, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 157, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 157, 23, 40, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 157, 43, 40, 14\nEND\n\n10017 DIALOG 0x80c8, 20, 20, 240, 74\nCAPTION \"Lag katalog\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Navn:\", 100, 0x000c, 3, 28, 20, 10\n    CONTROL 0x62, \"edit\", 201, 0x0000, 3, 40, 170, 18\n    CONTROL 0x50, \"\", 26624, 0x8c00, 768, 15360, -27136, 2560\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 165, 64\nCAPTION \"Lag systemdiskett\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Kopier systemfilene til disketten i:\", -1, 0x000c, 5, 8, 110, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 30, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 119, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 119, 23, 40, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 119, 43, 40, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 157, 64\nCAPTION \"Kopier diskett\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Kildediskett i:\", -1, 0x000c, 5, 8, 50, 10\n    CONTROL 0x85, \"\", 245, 0x0003, 55, 6, 40, 37\n    CONTROL 0x82, \"&Mldiskett i:\", 206, 0x000c, 5, 22, 50, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 55\nCAPTION \"Kopierer diskett\"\nFONT 8, \"Helv\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"Kopierer diskett i \", 100, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \"Stasjon A:\", 222, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \"Leser kildediskett\", 243, 0x0001, 0, 26, 130, 10\n    CONTROL 0x80, \"Avbryt\", 2, 0x0001, 44, 39, 44, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 161, 63\nCAPTION \"Sett etikett p disk(ett)\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Etikett:\", 100, 0x000c, 5, 15, 30, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 100, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 115, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 115, 23, 40, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 115, 43, 40, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 183, 96\nCAPTION \"Formater diskett\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 140, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 140, 23, 40, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 140, 43, 40, 14\n    CONTROL 0x82, \"&Diskett i:\", -1, 0x000c, 5, 7, 49, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 4, 65, 40\n    CONTROL 0x82, \"&Kapasitet:\", 100, 0x000c, 5, 21, 49, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 55, 19, 65, 40\n    CONTROL 0x80, \"Alternativer\", 102, 0x0007, 5, 39, 115, 53\n    CONTROL 0x82, \"&Etikett:\", -1, 0x000c, 11, 51, 26, 10\n    CONTROL 0x81, \"\", 201, 0x0000, 40, 49, 63, 12\n    CONTROL 0x80, \"&Lag systemdiskett\", 242, 0x0003, 11, 62, 90, 12\n    CONTROL 0x80, \"H&urtigformatering\", 244, 0x0003, 11, 76, 90, 12\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 50\nCAPTION \"Formaterer diskett\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Formaterer diskett\", 100, 0x0001, 0, 5, 150, 10\n    CONTROL 0x82, \"Initierer stasjon...\", 243, 0x0001, 0, 17, 150, 10\n    CONTROL 0x80, \"Avbryt\", 2, 0x0001, 54, 30, 44, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 174, 57\nCAPTION \"Lag systemdiskett\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Kopierer systemfilene\", 100, 0x0001, 0, 6, 174, 8\n    CONTROL 0x82, \"Velg Avbryt hvis du vil avbryte.\", 100, 0x0001, 0, 14, 174, 8\n    CONTROL 0x80, \"Avbryt\", 2, 0x0001, 66, 39, 44, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 247, 135\nCAPTION \"Nettverkstilkoblinger\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Ny tilkobling\", -1, 0x0007, 5, 3, 170, 55\n    CONTROL 0x82, \"&Nettverksbane:\", -1, 0x0000, 10, 16, 55, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 65, 14, 100, 12\n    CONTROL 0x82, \"&Stasjon:\", -1, 0x0000, 10, 30, 29, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 65, 28, 40, 100\n    CONTROL 0x82, \"&Passord:\", -1, 0x0000, 10, 44, 36, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 65, 42, 100, 12\n    CONTROL 0x82, \"&Gjeldende stasjonstilkoblinger:\", -1, 0x0000, 5, 62, 120, 10\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 160, 60\n    CONTROL 0x80, \"&Lukk\", 2, 0x0001, 190, 6, 53, 14\n    CONTROL 0x80, \"&Tilkoble\", 1, 0x0000, 190, 27, 53, 14\n    CONTROL 0x80, \"F&orrige...\", 226, 0x0000, 190, 44, 53, 14\n    CONTROL 0x80, \"&Bla gjennom...\", 227, 0x0000, 190, 61, 53, 14\n    CONTROL 0x80, \"&Frakoble\", 255, 0x0000, 190, 78, 53, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 190, 95, 53, 14\nEND\n\n29 DIALOG 0x80c8, 30, 30, 231, 98\nCAPTION \"Tidligere nettverkstilkoblinger\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Nettverksbaner:\", 100, 0x000c, 3, 3, 69, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 3, 15, 172, 80\n    CONTROL 0x80, \"&Merk\", 1, 0x0001, 181, 6, 44, 14\n    CONTROL 0x80, \"Lukk\", 2, 0x0000, 181, 24, 44, 14\n    CONTROL 0x80, \"Sl&ett\", 219, 0x0000, 181, 41, 44, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 181, 58, 44, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 163, 65\nCAPTION \"Delvis filinformasjon\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Detaljer\", 100, 0x0007, 4, 4, 111, 55\n    CONTROL 0x80, \"St&rrelse\", 203, 0x0003, 11, 15, 100, 9\n    CONTROL 0x80, \"&Siste endringsdato\", 204, 0x0003, 11, 25, 100, 9\n    CONTROL 0x80, \"Sist&e endringstidspunkt\", 205, 0x0003, 11, 35, 100, 9\n    CONTROL 0x80, \"&Filattributter\", 206, 0x0003, 11, 45, 100, 9\n    CONTROL 0x80, \"OK\", 1, 0x0001, 120, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 120, 23, 40, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 120, 43, 40, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 157, 102\nCAPTION \"Filtype\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Navn:\", 100, 0x000c, 5, 8, 23, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"Filtype\", 100, 0x0007, 5, 20, 94, 62\n    CONTROL 0x80, \"&Kataloger\", 101, 0x0003, 10, 31, 60, 12\n    CONTROL 0x80, \"&Programmer\", 210, 0x0003, 10, 43, 60, 12\n    CONTROL 0x80, \"&Dokumenter\", 211, 0x0003, 10, 55, 60, 12\n    CONTROL 0x80, \"&Andre filer\", 212, 0x0003, 10, 67, 60, 12\n    CONTROL 0x80, \"&Vis systemfiler og skjulte filer\", 250, 0x0003, 5, 85, 146, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 164, 80\nCAPTION \"Bekreftelse\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Bekreftelse ved\", 100, 0x0007, 5, 3, 108, 73\n    CONTROL 0x80, \"&Sletting av fil\", 219, 0x0003, 10, 15, 80, 12\n    CONTROL 0x80, \"Sletting &av katalog\", 220, 0x0003, 10, 27, 80, 12\n    CONTROL 0x80, \"&Erstatting av fil\", 221, 0x0003, 10, 39, 80, 12\n    CONTROL 0x80, \"&Bruk av mus\", 249, 0x0003, 10, 51, 80, 12\n    CONTROL 0x80, \"&Diskkommandoer\", 251, 0x0003, 10, 63, 80, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 118, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 118, 23, 40, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 118, 44, 40, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 250, 46\nCAPTION \"Flytter...\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 5, 49, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 55, 5, 192, 10\n    CONTROL 0x82, \"Til:\", 108, 0x008b, 5, 15, 25, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 55, 15, 192, 10\n    CONTROL 0x80, \"Avbryt\", 2, 0x0001, 200, 28, 40, 14\nEND\n\n36 DIALOG 0x80c8, 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Skriver ut filen...\", -1, 0x0001, 4, 6, 120, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 4, 20, 120, 12\n    CONTROL 0x80, \"Avbryt\", 2, 0x0001, 44, 40, 32, 14\nEND\n\n12 DIALOG 0x80c8, 31, 39, 221, 96\nCAPTION \"Tilknytt\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Fi&ltype:\", 99, 0x000c, 5, 8, 31, 10\n    CONTROL 0x81, \"\", 112, 0x0400, 38, 6, 35, 12\n    CONTROL 0x82, \"&Tilknytt:\", 99, 0x000c, 5, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 5, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 5, 44, 148, 40\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 53, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 165, 23, 53, 14\n    CONTROL 0x80, \"&Bla gjennom...\", 232, 0x0000, 165, 43, 53, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 165, 60, 53, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 253, 78\nCAPTION \"Merk filnavn\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Denne banen har ikke gyldig DOS-format for filnavn. Angi et nytt navn.\", 99, 0x0000, 4, 4, 172, 24\n    CONTROL 0x82, \"&Nytt navn:\", 99, 0x0002, 11, 56, 50, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 63, 55, 137, 12\n    CONTROL 0x82, \"Opprinnelig bane:\", 99, 0x0002, 3, 28, 58, 11\n    CONTROL 0x81, \"\", 102, 0x0880, 63, 28, 137, 12\n    CONTROL 0x82, \"Til katalog:\", 99, 0x0002, 11, 42, 50, 11\n    CONTROL 0x81, \"\", 101, 0x0880, 63, 42, 137, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 208, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 208, 23, 40, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 208, 40, 40, 14\nEND\n\n48 DIALOG 0x80c8, 23, 13, 250, 107\nCAPTION \"Informasjon om %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 194, 6, 50, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 194, 23, 50, 14\n    CONTROL 0x80, \"&Hjelp\", 254, 0x0000, 194, 43, 50, 14\n    CONTROL 0x82, \"&Filnavn:\", 261, 0x000c, 5, 5, 55, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 60, 5, 134, 10\n    CONTROL 0x82, \"&Bane:\", 100, 0x000c, 5, 16, 51, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 60, 16, 134, 10\n    CONTROL 0x82, \"Siste endring:\", 100, 0x000c, 5, 27, 62, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 60, 27, 97, 10\n    CONTROL 0x82, \"Strrelse:\", 260, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 60, 38, 90, 10\n    CONTROL 0x80, \"Attributter\", 100, 0x0007, 4, 52, 120, 42\n    CONTROL 0x80, \"Skri&vebeskyttet\", 215, 0x0003, 9, 64, 63, 12\n    CONTROL 0x80, \"Skj&ult\", 216, 0x0003, 81, 64, 40, 12\n    CONTROL 0x80, \"&Arkiv\", 217, 0x0003, 9, 76, 52, 12\n    CONTROL 0x80, \"&System\", 218, 0x0003, 81, 76, 40, 12\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0101   \"(Rotkatalog)\"\n0x0102   \"(Ikke lesbar)\"\n0x0103   \"Delt som %s\"\n0x0104   \"Ikke delt\"\n0x0107   \"Kopierer filer til %s\"\n0x0108   \"Flytter filer til %s\"\n0x0109   \"Kjrer filer med %s\"\n0x010a   \"%s byte\"\n0x010b   \"%s kB\"\n0x010c   \"%s MB\"\n0x010d   \"%s GB\"\n0x010e   \"%s TB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"Avslutt Windows\"\n0x0029   \"Dette avslutter Windows-sesjonen.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"Kopier diskett\"\n0x0033   \"Sett inn mldiskett.\"\n0x0034   \"Sett inn kildediskett.\"\n0x0035   \"Sett inn kilde- og mldiskett.\"\n0x0036   \"Formaterer mldiskett.\"\n0x0037   \"Feil ved kopiering av diskett\"\n0x0038   \"Kan ikke kopiere diskett.\"\n0x003a   \"Kilde- og mldisketten er inkompatible.\"\n0x003c   \"%d%% ferdig\"\n0x003d   \"Lager rotkatalog...\"\n0x003e   \"Kopierer systemfiler...\"\n0x003f   \"Feil ved formatering av diskett\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"Ikke nok diskplass til utskrift.\n\nSlett en eller flere filer for  frigi mer diskplass, og prv igjen.\"\n0x00c1   \"Ikke nok minne til utskrift.\n\nAvslutt ett eller flere program og prv igjen.\"\n0x00c2   \"En feil oppstod under utskrift.\n\nKontroller at skriveren er konfigurert og tilkoblet.\"\n0x00c3   \"Hele katalogtreet vises ikke\"\n0x00c5   \"Mldisketten er full.\n\nSett inn en ny diskett for  fortsette.\"\n0x00c6   \"Dette er en system-, skjult eller skrivebeskyttet fil.\"\n0x00c7   \"Filbehandling kan ikke utfre hurtigformatering.\n\nFortsett med vanlig format?\"\n0x00c8   \"Angitt program er ikke et Windows- eller MS-DOS-basert program.\"\n0x00c9   \"Dette programmet krever en nyere versjon av Microsoft Windows.\"\n0x00ca   \"Dette programmet krever Windows.\"\n0x00cb   \"Det oppstod en feil da kommandoen ble sendt til programmet.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"Kan ikke formatere diskett.\"\n0x0042   \"Formatering ferdig\"\n0x0043   \"%ld byte total diskplass.\n%ld byte tilgjengelig p disken.\n\nVil du formatere flere disketter?\"\n0x0046   \"Lag systemdiskett\"\n0x0047   \"Er du sikker p at du vil kopiere systemfilene til disketten i stasjon %c?\"\n0x0048   \"Systemdiskettfeil\"\n0x0049   \"Oppstartsstasjonen til MS-DOS inneholder ikke systemfilene eller er utilgjengelig.\"\n0x004a   \"Du kan ikke kopiere systemfilene til oppstartsstasjonen til MS-DOS.\"\n0x004b   \"Du kan ikke legge til systemfiler p denne disketten.\n\nKontroller at en formatert diskett er i stasjonen og at dren er lukket.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"Filbehandling kan ikke opprette eller fjerne %s: %s\"\n0x0408   \"Filbehandling kan ikke lage en MS-DOS-systemdiskett fordi Windows NT multioppstart er installert p systemet. For  lage en systemdiskett kan du bruke SYS-kommandoen i MS-DOS-ledetekst.\"\n0x0409   \"Vil du formatere diskett n uten  overfre systemet?\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"Nettverksfeil\"\n0x0053   \"Denne stasjonen inneholder Windows-systemfiler og kan ikke frakobles.\"\n0x005b   \"Filbehandling kan ikke endre attributtene.\n\nKontroller at disken ikke er skrivebeskyttet.\"\n0x005c   \"Filbehandling kan ikke opprette en katalog.\n\nKontroller at disken ikke er skrivebeskyttet.\"\n0x005d   \"Filbehandling kan ikke sette etikett p disken.\n\nKontroller at disken ikke er skrivebeskyttet eller er en nettverksstasjon, og at etiketten er gyldig.\nEtiketter kan ikke inneholde flgende tegn:\n[mellomrom] * ? / \\ | . , ; : + = [ ] ( )  & ^ < > \" \"\n0x005f   \"Ingen like filer ble funnet.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"Totalt %d fil(er) (%s)\"\n0x00b5   \"Leste kataloger: %d \"\n0x00b6   \"%c: %s ledig,  %s totalt\"\n0x00b7   \"%d fil(er) funnet\"\n0x00b9   \"valgte filer\"\n0x00ba   \"Filbehandling kan ikke frakoble denne nettverksstasjonen fordi det finnes pne filer.\"\n0x00bb   \"Merket %d fil(er) (%s)\"\n0x00bc   \"Ingen diskett i stasjon %c.\n\nSett inn en diskett og prv igjen.\"\n0x00bd   \"Disketten i stasjon %c er ikke formatert.\n\nVil du formatere den n?\"\n0x00bf   \"Kan ikke finne filen du forsker  skrive ut. Kontroller at riktig bane og filnavn er angitt.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"Den angitte katalogen finnes fra fr.\"\n0x0061   \"Innholdet p denne stasjonen er endret. Vil du oppdatere Resultat av sk-vinduet?\"\n0x0065   \"Stasjon %c:%c\"\n0x006e   \"Kan ikke kjre programmet\"\n0x006f   \"Uventet feil: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"Formateringen vil slette ALLE data p disketten. Er du sikker p at du vil formatere disketten i stasjon %c?\"\n0x00d3   \"Bekreft Formater diskett\"\n0x00d4   \"Denne operasjonen vil slette ALLE data p mldisketten. Er du sikker p at du vil fortsette?\"\n0x00d5   \"Bekreft Kopier diskett\"\n0x00d6   \"&Lukk\"\n0x00da   \"%s-katalogen finnes ikke.\n\nVil du opprette den?\"\n0x00db   \"Programmer#*.exe;*.pif;*.com;*.bat#Alle filer (*.*)#*.*#\"\n0x00dc   \"Bla gjennom\"\n0x00dd   \"Kjr\"\n0x00de   \"Kan ikke skrive ut filen\"\n0x00df   \"Kan ikke vise Hjelp-informasjon.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"Det er ikke nok minne til  starte det angitte programmet.\n\nAvslutt ett eller flere program og prv igjen.\"\n0x0071   \"Filbehandling kan ikke finne den angitte filen (eller en av dens komponenter).\n\nKontroller at riktig bane og filnavn er angitt, og at alle ndvendige bibliotek er tilgjengelig.\"\n0x0072   \"Ugyldig bane.\"\n0x0073   \"Det er for mange filer i bruk.\n\nAvslutt ett eller flere program eller k FILES-verdien i CONFIG.SYS-filen, og prv igjen.\"\n0x0074   \"Ingen program er tilknyttet denne filen.\n\nVelg Tilknytt fra Fil-menyen for  tilknytte filen.\"\n0x0075   \"Du kan ikke starte mer enn en kopi av det angitte programmet.\"\n0x0076   \"Filbehandling kan ikke pne eller skrive ut den angitte filen.\n\nStart programmet der filen ble opprettet, og pne eller skriv den ut derfra.\"\n0x0078   \"Bekreft Bruk av mus\"\n0x0079   \"Er du sikker p at du vil kopiere de merkede filene til %s?\"\n0x007a   \"Er du sikker p at du vil flytte de merkede filene eller katalogene til %s?\"\n0x007b   \"Er du sikker p at du vil starte %s og bruke %s som oppstartsfil?\"\n0x007c   \"Filbehandling\"\n0x007e   \"Katalogtre\"\n0x007f   \"Resultat av sk: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"Filer av typen %s, er programmer og kan ikke tilknyttes andre programmer.\"\n0x00e1   \"%s er ikke et program og kan ikke tilknyttes en filtype.\"\n0x00e2   \"(Ingen)\"\n0x00e4   \"Filbehandling kan ikke skrive ut flere filer samtidig.\n\nMerk bare en fil og prv igjen.\"\n0x00e5   \"Dette programmet eller en av dets komponenter er komprimert.\n\nBruk MS-DOS-programmet EXPAND til  kopiere filen fra installasjonsdiskettene.\"\n0x00e6   \"En av bibliotekfilene som trengs for  kjre dette programmet, er skadet. Installer programmet p nytt.\"\n0x00e7   \"Denne filen er i bruk av et annet program.\"\n0x00e8   \"Filbehandling har kanskje ikke tilgang til filene i katalogen \"%s\".\n\nVil du fortsette?\"\n0x00e9   \"Lag katalog\"\n0x00ea   \"%ld byte\"\n0x00eb   \"%s byte\"\n0x00ec   \"Du kan ikke samtidig kopiere flere filer eller kataloger til Utklippstavle.\n\nMerk en enkelt fil og prv igjen.\"\n0x00ed   \"%s - %s\"\n0x00ee   \"Stasjon:\"\n0x00ef   \"%s, \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"For mange filer\"\n0x0085   \"Filbehandling - Ikke nok minne\"\n0x0086   \"Kan ikke lese hele katalogen. Bare en delvis listing vil bli vist.\"\n0x008c   \"Gjeldende katalog: %s\"\n0x008d   \"Kopier\"\n0x008f   \"Gi nytt navn\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"Formater diskett\"\n0x0092   \"Velg disketten som skal formateres.\"\n0x0096   \"Lager:\"\n0x0097   \"Fjerner...\"\n0x0098   \"Kopierer:\"\n0x0099   \"Gir nytt navn...\"\n0x009a   \"Flytter...\"\n0x009b   \"Sletter...\"\n0x009c   \"Skriver ut: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"Stasjon %c finnes ikke.\"\n0x00a9   \"Kopierer...\"\n0x00aa   \"Fjerner:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"pner...\"\n0x01a5   \"Lukker...\"\n0x01a6   \"For mange katalogvinduer pne.\n\nLukk ett eller flere vinduer og prv igjen.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"Feil ved flytting av fil\"\n0x03ea   \"Feil ved kopiering av fil\"\n0x03eb   \"Feil ved sletting av fil\"\n0x03ec   \"Feil ved angivelse av nytt navn p fil\"\n0x03ed   \"Feil ved valg av stasjon\"\n0x03ee   \"Feil ved lesing av katalog\"\n0x03ef   \"Feil ved angivelse av etikett p disk\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"Filbehandling kan ikke flytte %s: %s\"\n0x03f4   \"Filbehandling kan ikke kopiere %s: %s\"\n0x03f5   \"Filbehandling kan ikke slette %s: %s\"\n0x03f6   \"Filbehandling kan ikke gi nytt navn til %s: %s\"\n0x03fd   \"Filbehandling kan ikke lage katalogen %s: %s\"\n0x03fe   \"Filbehandling kan ikke fjerne katalogen %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Ikke gyldig MS-DOS-funksjon.\"\n0x0412   \"Filbehandling finner ikke den angitte filen.\n\nKontroller at riktig bane og filnavn er angitt.\"\n0x0413   \"Filbehandling finner ikke den angitte banen.\n\nKontroller at riktig bane er angitt.\"\n0x0414   \"Det er for mange andre filer i bruk. Avslutt ett eller flere program og prv igjen.\"\n0x0415   \"Tilgang nektes.\n\nKontroller at disken ikke er full eller skrivebeskyttet.\"\n0x0416   \"Ikke gyldig fil.\"\n0x0418   \"Ikke nok minne.\n\nAvslutt ett eller flere program og prv igjen.\"\n0x041c   \"Ikke gyldig filtilgang.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"Filbehandling kan ikke slette denne katalogen (intern feil).\"\n0x0421   \"Ikke gyldig enhet.\"\n0x0422   \"Katalogen er tom.\"\n0x0423   \"Disketten er skrivebeskyttet.\n\nFjern skrivebeskyttelsen eller bruk en annen diskett, og prv igjen.\"\n0x042d   \"Filbehandling kan ikke skrive til mlfilen eller -disketten.\"\n0x042f   \"Filbehandling kan ikke lese fra kildefilen eller -disketten.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"Ikke gyldig operasjon.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"Nettverkstilgang nektes. Kontroller at du har rettigheter til  utfre denne operasjonen.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"Det har oppsttt konflikt om en delt ressurs. Kilde- eller mlfilen(e) kan vre i bruk.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"Ikke nok diskplass.\n\nSlett en eller flere filer for  frigi mer diskplass, og prv igjen.\"\n0x0481   \"Navnet p kilde- og mlfilen er det samme.\"\n0x0482   \"Merk bare en fil for navnendring, eller bruk MS-DOS-jokertegn (for eksempel, *.TXT) for  gi nye navn til en gruppe av filer med lignende navn.\"\n0x0483   \"Du kan ikke bytte navn til en annen katalog eller disk.\"\n0x0484   \"Rotkatalog (intern feil).\"\n0x0486   \"Mlkatalogen er en underkatalog til kildekatalogen.\"\n0x0487   \"Den angitte filen er i bruk av Windows.\"\n0x0488   \"Tilgang nektes. Kildefilen kan vre i bruk.\"\n0x0489   \"Banen er for lang.\"\n0x048a   \"Angi kun n fil eller katalog i Til-boksen, eller bruk MS-DOS-jokertegn (for eksempel, *.TXT) for  gi nye navn til en gruppe av filer med lignende navn.\"\n0x048b   \"Den angitte filen finnes allerede. Angi et annet navn i Til-boksen og prv igjen.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1,2 MB\"\n0x0131   \"720 kB\"\n0x0132   \"1,44 MB\"\n0x0133   \"2,88 MB\"\n0x0134   \"Stasjonskapasitet\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360 kB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"Ikke nok minne.\"\n0x0192   \"Du kan ikke formatere oppstartsstasjonen til MS-DOS.\"\n0x0193   \"Oppstartsstasjonen til MS-DOS har en ugyldig sektorstrrelse.\"\n0x0194   \"Den angitte stasjonen er en ukjent type.\"\n0x0199   \"Filbehandling kunne ikke overfre systemfilene.\"\n0x019a   \"Denne disketten kan formateres p format opp til %s. Vil du fortsette  formatere med denne kapasiteten?\"\n0x019b   \"Filbehandling kan ikke formatere denne disketten.\n\nKontroller at disketten er i stasjonen og ikke er skrivebeskyttet, skadet eller feil format.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00fe   \"&Katalognavn:\"\n0x00ff   \"\\StringFileInfo\\040904E4\\\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01f4   \"Kommentarer\"\n0x01f5   \"Firmanavn\"\n0x01f6   \"Filbeskrivelse\"\n0x01f7   \"Internt navn\"\n0x01f8   \"Lovlige varemerker\"\n0x01f9   \"Opprinnelig filnavn\"\n0x01fa   \"Beskrivelse av egen versjon\"\n0x01fb   \"Produktnavn\"\n0x01fc   \"Produktversjon\"\n0x01fd   \"Beskrivelse av spesialversjon\"\n0x01fe   \"Sprk\"\n0x01ff   \"Sprk\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0222   \"Finner ingen filer.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0255   \"Finner ikke den angitte datamaskinen.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0263   \"Finner ikke den delte katalogen.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0274   \"Det er for mange nettverksomadresseringer.\"\n0x0276   \"Ugyldig passord.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x02b0   \"Nettverksstasjonen er ikke tilgjengelig.\"\n0x02b1   \"En feil oppstod under lesing av stasjon %c:.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0f90   \"Kommandoer for  arbeide med filer\"\n0x0f91   \"Kommandoer for  arbeide med disker\"\n0x0f92   \"Kommandoer for  arbeide i katalogtre\"\n0x0f93   \"Kommandoer for  bestemme hvordan informasjon skal vises\"\n0x0f94   \"Kommandoer for  angi alternativer\"\n0x0f9a   \"Kommandoer for  ordne vinduer\"\n0x0f9b   \"Kommandoer for  vise Hjelp til Filbehandling\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1005   \"pner merket objekt\"\n0x1006   \"Skriver ut et dokument\"\n0x1007   \"Knytter en fil til et program\"\n0x1008   \"Sker etter filer og kataloger\"\n0x1009   \"Starter eller pner et program eller dokument\"\n0x100a   \"Flytter merkede objekter\"\n0x100b   \"Kopierer filer og kataloger\"\n0x100c   \"Sletter filer og kataloger\"\n0x100d   \"Gir nytt navn til en fil eller katalog\"\n0x100e   \"Setter filattributter og viser filinformasjon\"\n0x100f   \"Lager en katalog\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1013   \"Avslutter Filbehandling\"\n0x1014   \"Merker filer og kataloger\"\n0x1015   \"Henter frem igjen filer som er slettet\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1069   \"Kopierer en diskett\"\n0x106a   \"Tilordner eller endrer etiketten til en disk\"\n0x106b   \"Formaterer en diskett\"\n0x106c   \"Kopierer MS-DOS-filer til en diskett\"\n0x106d   \"Tilkobler en nettverksstasjon\"\n0x106e   \"Frakobler en nettverksstasjon\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x109b   \"Velger en annen stasjon\"\n0x109c   \"Nettverkstilkoblinger...\"\n0x109d   \"Vis delte kataloger...\"\n0x109e   \"Deler en katalog\"\n0x109f   \"Avslutter deling av en katalog\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10cd   \"Viser enda et niv i katalogen\"\n0x10ce   \"Viser alle niver i en katalog\"\n0x10cf   \"Viser alle niver i alle kataloger\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10d0   \"Skjuler alle kataloger i merket katalog\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1195   \"Kontrollerer bekreftelsesmeldinger\"\n0x1197   \"Viser eller skjuler statuslinjen\"\n0x1198   \"Reduserer Filbehandling til et ikon ved oppstart\"\n0x1199   \"Viser hvilke kataloger som har underkataloger\"\n0x119b   \"Viser eller skjuler stasjonslinjen\"\n0x119c   \"Viser eller skjuler verktylinjen\"\n0x119d   \"pner et nytt vindu nr du kobler deg til\"\n0x119e   \"Endrer skriften i Filbehandling\"\n0x119f   \"Lagrer innstillingene nr du avslutter Filbehandling\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1131   \"Viser bare filnavn\"\n0x1132   \"Viser all filinformasjon\"\n0x1133   \"Viser delvis filinformasjon\"\n0x1134   \"Sorterer filer etter navn\"\n0x1135   \"Sorterer filer etter type\"\n0x1136   \"Sorterer filer etter strrelse\"\n0x1137   \"Sorterer filer etter dato\"\n0x1139   \"Viser filer av angitt type\"\n0x113b   \"Viser katalogtreet\"\n0x113c   \"Viser innholdet i gjeldende katalog\"\n0x113d   \"Viser treet og innholdet i gjeldende katalog\"\n0x113e   \"Deler et katalogvindu, eller flytter delelinjen\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x11a0   \"Tilpasser verktylinjen\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13f0   \"Oppdaterer innholdet i et vindu\"\n0x13f1   \"Ordner ikoner\"\n0x13f2   \"pner et nytt vindu\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13ed   \"Ordner vinduer\"\n0x13ee   \"Ordner vinduer\"\n0x13ef   \"Ordner vinduer\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1451   \"Viser innholdet i Hjelp til Filbehandling\"\n0x1452   \"Viser informasjon om hvordan du bruker Hjelp\"\n0x1453   \"Viser informasjon om Filbehandling\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0fbe   \"Sker etter et emne i Hjelp til Filbehandling\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0320   \"&Tilkoble nettverksstasjon...\"\n0x0321   \"&Frakoble nettverksstasjon...\"\n0x0322   \"&Nettverkstilkoblinger...\"\n0x0323   \"&Del som...\"\n0x0324   \"&Avslutt deling...\"\n0x0325   \"&Vis delte kataloger...\"\n0x0326   \"U&ndelete...\"\n0x0327   \"pn&e nytt vindu ved tilkobling\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.Polish.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"&Plik\"\n    BEGIN\n    MENUITEM    \"&Otwrz\tEnter\", 0X0065\n    MENUITEM    \"Pr&zesu...\tF7\", 0X006A\n    MENUITEM    \"&Kopiuj...\tF8\", 0X006B\n    MENUITEM    \"&Usu...\tDel\", 0X006C\n    MENUITEM    \"Zmie &nazw...\", 0X006D\n    MENUITEM    \"&Waciwoci...\tAlt+Enter\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Urucho&m...\", 0X0069\n    MENUITEM    \"&Drukuj...\", 0X0066\n    MENUITEM    \"&Skojarz...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"U&twrz katalog...\", 0X006F\n    MENUITEM    \"Szuk&aj...\", 0X0068\n    MENUITEM    \"Wy&bierz pliki...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Konie&c\", 0X0073\n    END\n    POPUP   \"&Dysk\"\n    BEGIN\n    MENUITEM    \"Kopiuj &dyskietk...\", 0X00C9\n    MENUITEM    \"&Nadaj etykiet...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Formatuj dyskietk...\", 0X00CB\n    MENUITEM    \"Dyskietka syste&mowa...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Wybierz stacj dyskw...\", 0X00FB\n    END\n    POPUP   \"D&rzewo\"\n    BEGIN\n    MENUITEM    \"&Rozwi jeden poziom\t+\", 0X012D\n    MENUITEM    \"Roz&wi ga\t*\", 0X012E\n    MENUITEM    \"R&ozwi wszystkie\tCtrl+*\", 0X012F\n    MENUITEM    \"&Zwi ga\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Z&aznacz rozwijalne gazie\", 0X01F9\n    END\n    POPUP   \"&Widok\"\n    BEGIN\n    MENUITEM    \"Drze&wo i katalog\", 0X019D\n    MENUITEM    \"&Tylko drzewo\", 0X019B\n    MENUITEM    \"Tyl&ko katalog\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Podziel okno\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Nazwa\", 0X0191\n    MENUITEM    \"Cak&owita informacja o pliku\", 0X0192\n    MENUITEM    \"&Czciowa informacja o pliku...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Sortuj wg n&azwy\", 0X0194\n    MENUITEM    \"Sort&uj wg typu\", 0X0195\n    MENUITEM    \"So&rtuj wg rozmiaru\", 0X0196\n    MENUITEM    \"Sortuj wg &daty\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Wywi&etl pliki typu...\", 0X0199\n    END\n    POPUP   \"&Opcje\"\n    BEGIN\n    MENUITEM    \"&Potwierdzenie...\", 0X01F5\n    MENUITEM    \"&Czcionka...\", 0X01FE\n    MENUITEM    \"Pr&zystosowanie paska narzdzi...\", 0X0200\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Pasek &narzdzi\", 0X01FC\n    MENUITEM    \"Pasek stacji &dyskw\", 0X01FB\n    MENUITEM    \"Pa&sek stanu\", 0X01F7\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Z&minimalizuj po uruchomieniu aplikacji\", 0X01F8\n    MENUITEM    \"Z&achowaj kocowe ustawienia\", 0X01FF\n    END\n    POPUP   \"O&kno\"\n    BEGIN\n    MENUITEM    \"&Nowe okno\", 0X0452\n    MENUITEM    \"&Kaskada\tShift+F5\", 0X044D\n    MENUITEM    \"Ssiadujc&o w poziomie\", 0X044F\n    MENUITEM    \"Ss&iadujco w pionie \tShift+F4\", 0X044E\n    MENUITEM    \"&Uporzdkuj ikony\", 0X0451\n    MENUITEM    \"Ak&tualizuj\tF5\", 0X0450\n    END\n    POPUP   \"Pomo&c\"\n    BEGIN\n    MENUITEM    \"&Spis treci\", 0X04B1\n    MENUITEM    \"&Pomoc na temat...\", 0X001E\n    MENUITEM    \"&Korzystanie z Pomocy\", 0X04B2\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Inf&ormacje o Menederze plikw...\", 0X04B3\n    END\nEND\n\n\n145 DIALOG 0x80c8, 13, 54, 264, 127\nCAPTION \"Czcionka\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"C&zcionka:\", 1088, 0x0000, 6, 3, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 13, 94, 54\n    CONTROL 0x82, \"&Styl:\", 1089, 0x0000, 108, 3, 44, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 13, 64, 54\n    CONTROL 0x82, \"&Rozmiar:\", 1090, 0x0000, 179, 3, 30, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 179, 13, 32, 54\n    CONTROL 0x80, \"Efekty specjalne\", 1072, 0x0007, 6, 72, 84, 61\n    CONTROL 0x80, \"Prze&krelenie\", 1040, 0x0003, 10, 82, 59, 10\n    CONTROL 0x80, \"Po&dkrelenie\", 1041, 0x0003, 10, 94, 59, 10\n    CONTROL 0x80, \"&Mae litery\", 1042, 0x0003, 10, 82, 54, 10\n    CONTROL 0x82, \"K&olor:\", 1091, 0x0000, 10, 106, 30, 9\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 116, 75, 50\n    CONTROL 0x80, \"OK\", 1, 0x0001, 218, 6, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 218, 23, 40, 14\n    CONTROL 0x80, \"&Wybierz\", 1026, 0x0000, 218, 40, 40, 14\n    CONTROL 0x80, \"Pomo&c\", 1038, 0x0000, 218, 57, 40, 14\n    CONTROL 0x80, \"Przykad\", 1073, 0x0007, 98, 72, 160, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 124, 160, 20\n    CONTROL 0x82, \"AaBbYyZz\", 1092, 0x0081, 104, 81, 149, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 201, 86\nCAPTION \"Wybierz stacj dyskw\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Stacje dyskw:\", 245, 0x000c, 5, 5, 51, 10\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"OK\", 1, 0x0001, 155, 6, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 155, 23, 40, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 155, 44, 40, 14\nEND\n\n10 DIALOG 0x80c8, 15, 12, 210, 63\nCAPTION \"Uruchom\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 3, 6, 162, 10\n    CONTROL 0x82, \"&Polecenie:\", 100, 0x000c, 3, 18, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 134, 12\n    CONTROL 0x80, \"&Do ikony podczas pracy\", 214, 0x0003, 3, 45, 136, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 165, 23, 40, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 165, 43, 40, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 127, 83\nCAPTION \"Wybierz pliki\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Plik(i):\", -1, 0x000c, 5, 16, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 29, 60, 12\n    CONTROL 0x80, \"&Wybierz\", 1, 0x0001, 70, 6, 51, 14\n    CONTROL 0x80, \"&Anuluj wybr\", 6, 0x0000, 70, 23, 51, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 70, 40, 51, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 70, 63, 51, 14\nEND\n\n39 DIALOG 0x80c8, 10, 20, 245, 95\nCAPTION \"Potwierd zastpienie pliku\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Zamie plik:\", 100, 0x000c, 25, 12, 49, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 75, 12, 165, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 75, 22, 170, 10\n    CONTROL 0x82, \"Na plik:\", 100, 0x000c, 25, 34, 49, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 75, 34, 165, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 75, 44, 170, 10\n    CONTROL 0x80, \"&Tak\", 6, 0x0001, 23, 74, 40, 14\n    CONTROL 0x80, \"Tak na &wszystkie\", 107, 0x0000, 68, 74, 64, 14\n    CONTROL 0x80, \"&Nie\", 7, 0x0000, 137, 74, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 182, 74, 40, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"Potwierd usunicie pliku\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 203, 10\n    CONTROL 0x82, \"Usun plik:\", 100, 0x000c, 25, 18, 44, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 18, 170, 10\n    CONTROL 0x80, \"&Tak\", 6, 0x0001, 22, 42, 40, 14\n    CONTROL 0x80, \"Tak na &wszystkie\", 107, 0x0000, 67, 42, 64, 14\n    CONTROL 0x80, \"&Nie\", 7, 0x0000, 136, 42, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 181, 42, 40, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"Potwierd usunicie katalogu\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Usun katalog:\", 100, 0x000c, 25, 18, 55, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 18, 160, 10\n    CONTROL 0x80, \"&Tak\", 6, 0x0001, 22, 42, 40, 14\n    CONTROL 0x80, \"Tak na &wszystkie\", 107, 0x0000, 67, 42, 64, 14\n    CONTROL 0x80, \"&Nie\", 7, 0x0000, 136, 42, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 181, 42, 40, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 253, 60\nCAPTION \"Potwierd przesunicie pliku\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Przesun plik:\", 100, 0x000c, 25, 18, 51, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 79, 18, 170, 10\n    CONTROL 0x80, \"&Tak\", 6, 0x0001, 27, 42, 40, 14\n    CONTROL 0x80, \"Tak na &wszystkie\", 107, 0x0000, 72, 42, 64, 14\n    CONTROL 0x80, \"&Nie\", 7, 0x0000, 141, 42, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 186, 42, 40, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 258, 60\nCAPTION \"Potwierd zmian nazwy pliku\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Zmieni nazw pliku:\", 100, 0x000c, 25, 13, 70, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 97, 13, 160, 10\n    CONTROL 0x80, \"&Tak\", 6, 0x0001, 33, 41, 40, 14\n    CONTROL 0x80, \"Tak na &wszystkie\", 107, 0x0000, 78, 41, 64, 14\n    CONTROL 0x80, \"&Nie\", 7, 0x0000, 147, 41, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 192, 41, 40, 14\nEND\n\n11 DIALOG 0x80c8, 20, 20, 240, 63\nCAPTION \"Drukuj\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 193, 10\n    CONTROL 0x82, \"&Drukuj:\", 100, 0x000c, 3, 20, 23, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 29, 18, 160, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 36, 190, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n13 DIALOG 0x80c8, 20, 20, 263, 63\nCAPTION \"Szukaj\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Szukaj:\", 100, 0x000c, 5, 6, 45, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 52, 5, 160, 12\n    CONTROL 0x82, \"&Zacznij od:\", 100, 0x000c, 5, 21, 45, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 52, 20, 160, 12\n    CONTROL 0x80, \"Szukaj w&e wszystkich podkatalogach\", 232, 0x0003, 52, 34, 134, 12\n    CONTROL 0x82, \"\", 104, 0x000c, 5, 50, 200, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 217, 6, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 217, 23, 40, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 217, 43, 40, 14\nEND\n\n14 DIALOG 0x80c8, 47, 59, 244, 64\nCAPTION \"Przesu\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Aktualny katalog: N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"&Do/Na:\", 100, 0x000c, 3, 33, 25, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 40, 32, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 29, 33, 10, 10\n    CONTROL 0x80, \"&Kopiuj do Schowka\", 256, 0x0004, 29, 47, 75, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 49, 54, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 59, 49, 138, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 201, 6, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 201, 23, 40, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 201, 44, 40, 14\n    CONTROL 0x82, \"&Z:\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 40, 18, 138, 12\nEND\n\n10014 DIALOG 0x80c8, 47, 59, 231, 98\nCAPTION \"Przesu\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Aktualny katalog: N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"&Do/Na:\", 100, 0x000c, 3, 38, 24, 10\n    CONTROL 0x62, \"edit\", 103, 0x0004, 41, 38, 138, 42\n    CONTROL 0x50, \"\", 256, 0x0401, 7680, 9728, 2560, 2560\n    CONTROL 0x80, \"&Kopiuj do Schowka\", 256, 0x0004, 31, 84, 75, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 84, 40, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 45, 84, 138, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 185, 23, 40, 14\n    CONTROL 0x80, \"&Przegldaj\", 600, 0x0000, 185, 40, 40, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 185, 61, 40, 14\n    CONTROL 0x82, \"&Z:\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 41, 18, 138, 12\nEND\n\n200 DIALOG 0x00c8, 36, 24, 164, 134\nCAPTION \"Wybierz katalog\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x81, \"\", 1152, 0x0490, 6, 16, 90, 12\n    CONTROL 0x83, \"\", 1120, 0x0053, 12, 28, 84, 68\n    CONTROL 0x82, \"&Katalogi:\", -1, 0x0000, 10, 6, 92, 9\n    CONTROL 0x82, \"\", 1088, 0x0000, 10, 16, 92, 9\n    CONTROL 0x83, \"\", 1121, 0x0053, 10, 28, 92, 68\n    CONTROL 0x82, \"&Stacje dyskw:\", 1091, 0x0000, 10, 102, 92, 9\n    CONTROL 0x85, \"\", 1137, 0x0353, 10, 112, 92, 68\n    CONTROL 0x80, \"OK\", 1, 0x0001, 108, 6, 50, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 108, 24, 50, 14\n    CONTROL 0x82, \"&Nazwa pliku:\", 1090, 0x0000, 6, 6, 76, 9\n    CONTROL 0x82, \"&Wywietl pliki typu:\", 1089, 0x0000, 6, 104, 90, 9\n    CONTROL 0x85, \"\", 1136, 0x0043, 6, 114, 90, 36\n    CONTROL 0x80, \"Pomo&c\", 1038, 0x0000, 208, 46, 50, 14\n    CONTROL 0x80, \"&Tylko-do-odczytu\", 1040, 0x0003, 208, 68, 50, 12\nEND\n\n15 DIALOG 0x80c8, 20, 20, 254, 64\nCAPTION \"Usu\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Aktualny katalog: C\", 101, 0x008c, 3, 5, 193, 10\n    CONTROL 0x82, \"&Usu:\", 100, 0x000c, 3, 20, 35, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 40, 19, 155, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 35, 43, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 48, 35, 155, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 208, 6, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 208, 23, 40, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 208, 43, 40, 14\nEND\n\n38 DIALOG 0x80c8, 20, 20, 249, 65\nCAPTION \"Waciwoci\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Liczba wybranych plikw: %d, razem bajtw: %s\", 100, 0x000c, 5, 5, 187, 10\n    CONTROL 0x80, \"Atrybuty\", -1, 0x0007, 5, 19, 132, 41\n    CONTROL 0x80, \"&Tylko-do-odczytu\", 215, 0x0003, 10, 32, 67, 12\n    CONTROL 0x80, \"&Ukryty\", 216, 0x0003, 83, 32, 49, 12\n    CONTROL 0x80, \"&Archiwizowany\", 217, 0x0003, 10, 44, 65, 12\n    CONTROL 0x80, \"&Systemowy\", 218, 0x0003, 83, 44, 49, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 194, 6, 50, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 194, 23, 50, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 194, 43, 50, 14\nEND\n\n16 DIALOG 0x80c8, 23, 13, 266, 195\nCAPTION \"Waciwoci %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 204, 6, 57, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 204, 23, 57, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 204, 40, 57, 14\n    CONTROL 0x82, \"&Nazwa pliku:\", 261, 0x000c, 5, 5, 55, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 69, 5, 134, 10\n    CONTROL 0x82, \"ci&eka:\", 100, 0x000c, 5, 16, 51, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 69, 16, 134, 10\n    CONTROL 0x82, \"Ostatnia zmiana:\", 100, 0x000c, 5, 27, 62, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 69, 27, 97, 10\n    CONTROL 0x82, \"Wersja:\", 258, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"Nie zaznaczona\", 259, 0x008c, 69, 38, 90, 10\n    CONTROL 0x82, \"&Prawa autorskie:\", -1, 0x0000, 5, 49, 58, 10\n    CONTROL 0x81, \"Nie zaznaczone\", 265, 0x0880, 69, 49, 134, 10\n    CONTROL 0x82, \"Rozmiar:\", 260, 0x000c, 5, 60, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 69, 60, 90, 10\n    CONTROL 0x80, \"Atrybuty\", 100, 0x0007, 4, 74, 132, 42\n    CONTROL 0x80, \"&Tylko-do-odczytu\", 215, 0x0003, 9, 86, 67, 12\n    CONTROL 0x80, \"&Ukryty\", 216, 0x0003, 82, 86, 49, 12\n    CONTROL 0x80, \"&Archiwizowany\", 217, 0x0003, 9, 98, 65, 12\n    CONTROL 0x80, \"&Systemowy\", 218, 0x0003, 82, 98, 49, 12\n    CONTROL 0x80, \"Inf&ormacje o wersji\", 262, 0x0007, 4, 121, 252, 72\n    CONTROL 0x83, \"\", 263, 0x1003, 9, 132, 91, 58\n    CONTROL 0x81, \"\", 264, 0x0804, 103, 132, 147, 58\nEND\n\n17 DIALOG 0x80c8, 20, 20, 203, 63\nCAPTION \"Utwrz katalog\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Nazwa:\", 100, 0x000c, 3, 23, 26, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 35, 22, 90, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 46, 150, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 157, 6, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 157, 23, 40, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 157, 43, 40, 14\nEND\n\n10017 DIALOG 0x80c8, 20, 20, 240, 74\nCAPTION \"Utwrz katalog\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Nazwa:\", 100, 0x000c, 3, 28, 28, 10\n    CONTROL 0x62, \"edit\", 201, 0x0000, 3, 40, 170, 18\n    CONTROL 0x50, \"\", 26624, 0x8c00, 768, 15360, -27136, 2560\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 188, 64\nCAPTION \"Dyskietka systemowa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Kopiuj pliki systemowe na dyskietk w:\", -1, 0x000c, 5, 8, 130, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 30, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 139, 6, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 139, 23, 40, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 139, 43, 40, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 134, 64\nCAPTION \"Kopiuj dyskietk\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Z:\", -1, 0x000c, 5, 8, 26, 10\n    CONTROL 0x85, \"\", 245, 0x0003, 33, 6, 40, 37\n    CONTROL 0x82, \"&Do/Na:\", 206, 0x000c, 5, 22, 26, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 33, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 86, 6, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 86, 23, 40, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 86, 43, 40, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 55\nCAPTION \"Kopiuje dyskietk\"\nFONT 8, \"Helv\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"Kopiowanie dyskietki w \", 100, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \"stacji dyskw A:\", 222, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \"Odczyt dyskietki rdowej\", 243, 0x0001, 0, 26, 130, 10\n    CONTROL 0x80, \"Anuluj\", 2, 0x0001, 44, 39, 44, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 161, 63\nCAPTION \"Nadaj etykiet\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Etykieta dysku:\", 100, 0x000c, 5, 15, 56, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 100, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 115, 6, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 115, 23, 40, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 115, 43, 40, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 190, 96\nCAPTION \"Formatuj dyskietk\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 148, 6, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 148, 23, 40, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 148, 43, 40, 14\n    CONTROL 0x82, \"&Dyskietka w:\", -1, 0x000c, 5, 7, 49, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 4, 84, 40\n    CONTROL 0x82, \"&Pojemno:\", 100, 0x000c, 5, 20, 49, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 55, 19, 84, 40\n    CONTROL 0x80, \"Opcje\", 102, 0x0007, 5, 39, 135, 53\n    CONTROL 0x82, \"&Etykieta dysku:\", -1, 0x000c, 11, 51, 51, 10\n    CONTROL 0x81, \"\", 201, 0x0000, 63, 49, 72, 12\n    CONTROL 0x80, \"Dyskietka syste&mowa\", 242, 0x0003, 11, 62, 90, 12\n    CONTROL 0x80, \"&Szybkie formatowanie\", 244, 0x0003, 11, 76, 90, 12\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 50\nCAPTION \"Formatowanie dyskietki\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Formatowanie dyskietki\", 100, 0x0001, 0, 5, 150, 10\n    CONTROL 0x82, \"Inicjalizacja stacji dyskw...\", 243, 0x0001, 0, 17, 150, 10\n    CONTROL 0x80, \"Anuluj\", 2, 0x0001, 54, 30, 44, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 174, 57\nCAPTION \"Dyskietka systemowa\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Kopiowanie plikw systemowych\", 100, 0x0001, 0, 6, 174, 8\n    CONTROL 0x82, \"Nacinij Anuluj, aby przerwa kopiowanie.\", 100, 0x0001, 0, 16, 174, 8\n    CONTROL 0x80, \"Anuluj\", 2, 0x0001, 66, 39, 44, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 246, 135\nCAPTION \"Poczenia sieciowe\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Nowe poczenie\", -1, 0x0007, 5, 3, 182, 55\n    CONTROL 0x82, \"cie&ka sieciowa:\", -1, 0x0000, 10, 16, 69, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 80, 14, 100, 12\n    CONTROL 0x82, \"&Stacja dyskw:\", -1, 0x0000, 10, 30, 56, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 80, 28, 40, 100\n    CONTROL 0x82, \"&Haso:\", -1, 0x0000, 10, 44, 36, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 80, 42, 100, 12\n    CONTROL 0x82, \"&Aktualne stacje dyskw:\", -1, 0x0000, 5, 62, 120, 10\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 160, 60\n    CONTROL 0x80, \"&Zamknij\", 2, 0x0001, 193, 6, 50, 14\n    CONTROL 0x80, \"&Podcz\", 1, 0x0000, 193, 27, 50, 14\n    CONTROL 0x80, \"Poprze&dnie...\", 226, 0x0000, 193, 44, 50, 14\n    CONTROL 0x80, \"Prz&egldaj...\", 227, 0x0000, 193, 61, 50, 14\n    CONTROL 0x80, \"&Odcz\", 255, 0x0000, 193, 78, 50, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 193, 95, 50, 14\nEND\n\n29 DIALOG 0x80c8, 30, 30, 231, 98\nCAPTION \"Poprzednie poczenia sieciowe\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"cie&ki sieciowe:\", 100, 0x000c, 3, 3, 106, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 3, 15, 172, 80\n    CONTROL 0x80, \"&Wybierz\", 1, 0x0001, 181, 6, 44, 14\n    CONTROL 0x80, \"Zamknij\", 2, 0x0000, 181, 24, 44, 14\n    CONTROL 0x80, \"&Usu\", 219, 0x0000, 181, 41, 44, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 181, 58, 44, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 169, 65\nCAPTION \"Czciowa informacja o pliku\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Informacja\", 100, 0x0007, 4, 4, 117, 55\n    CONTROL 0x80, \"&Rozmiar\", 203, 0x0003, 11, 15, 100, 9\n    CONTROL 0x80, \"&Data ostatniej zmiany pliku\", 204, 0x0003, 11, 25, 100, 9\n    CONTROL 0x80, \"Czas &ostatniej zmiany pliku\", 205, 0x0003, 11, 35, 100, 9\n    CONTROL 0x80, \"&Atrybuty pliku\", 206, 0x0003, 11, 45, 100, 9\n    CONTROL 0x80, \"OK\", 1, 0x0001, 126, 7, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 126, 24, 40, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 126, 44, 40, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 157, 102\nCAPTION \"Wywietl pliki typu\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Nazwa:\", 100, 0x000c, 5, 8, 23, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"Pliki typu\", 100, 0x0007, 5, 20, 94, 62\n    CONTROL 0x80, \"&Katalogi\", 101, 0x0003, 10, 31, 60, 12\n    CONTROL 0x80, \"&Programy\", 210, 0x0003, 10, 43, 60, 12\n    CONTROL 0x80, \"Doku&menty\", 211, 0x0003, 10, 55, 60, 12\n    CONTROL 0x80, \"&Inne pliki\", 212, 0x0003, 10, 67, 60, 12\n    CONTROL 0x80, \"Wywietl pliki ukryte/&systemowe\", 250, 0x0003, 5, 85, 118, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 169, 80\nCAPTION \"Potwierdzenie\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Potwierd\", 100, 0x0007, 5, 3, 113, 73\n    CONTROL 0x80, \"Usunicie &plikw\", 219, 0x0003, 10, 15, 80, 12\n    CONTROL 0x80, \"Usunicie &katalogw\", 220, 0x0003, 10, 27, 80, 12\n    CONTROL 0x80, \"&Zastpienie plikw\", 221, 0x0003, 10, 39, 80, 12\n    CONTROL 0x80, \"Dziaania z uycie&m myszy\", 249, 0x0003, 10, 51, 98, 12\n    CONTROL 0x80, \"Polecenia &dotyczce dysku\", 251, 0x0003, 10, 63, 101, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 125, 6, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 125, 23, 40, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 125, 44, 40, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 263, 46\nCAPTION \"Przesuwa...\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 5, 49, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 55, 5, 204, 10\n    CONTROL 0x82, \"Do/Na:\", 108, 0x008b, 5, 15, 25, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 55, 15, 192, 10\n    CONTROL 0x80, \"Anuluj\", 2, 0x0001, 207, 28, 40, 14\nEND\n\n36 DIALOG 0x80c8, 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Plik w druku...\", -1, 0x0001, 4, 6, 120, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 4, 20, 120, 12\n    CONTROL 0x80, \"Anuluj\", 2, 0x0001, 44, 40, 32, 14\nEND\n\n12 DIALOG 0x80c8, 31, 39, 217, 96\nCAPTION \"Skojarz\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Pli&ki z rozszerzeniem:\", 99, 0x000c, 5, 8, 74, 10\n    CONTROL 0x81, \"\", 112, 0x0400, 80, 6, 35, 12\n    CONTROL 0x82, \"&Skojarz z:\", 99, 0x000c, 5, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 5, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 11, 44, 146, 40\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 48, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 165, 23, 48, 14\n    CONTROL 0x80, \"&Przegldaj...\", 232, 0x0000, 165, 43, 48, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 165, 60, 48, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 257, 78\nCAPTION \"Wybierz nazw pliku\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Podana cieka nie odpowiada formatowi MS-DOS dla nazw plikw. Podaj now nazw.\", 99, 0x0000, 4, 4, 190, 24\n    CONTROL 0x82, \"&Nowa nazwa:\", 99, 0x0002, 19, 56, 50, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 71, 55, 130, 12\n    CONTROL 0x82, \"Oryginalna cieka:\", 99, 0x0002, 5, 28, 64, 11\n    CONTROL 0x81, \"\", 102, 0x0880, 71, 28, 130, 12\n    CONTROL 0x82, \"Do katalogu:\", 99, 0x0002, 19, 42, 50, 11\n    CONTROL 0x81, \"\", 101, 0x0880, 71, 42, 130, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 213, 4, 40, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 213, 20, 40, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 213, 36, 40, 14\nEND\n\n48 DIALOG 0x80c8, 23, 13, 265, 107\nCAPTION \"Waciwoci %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 206, 6, 57, 14\n    CONTROL 0x80, \"Anuluj\", 2, 0x0000, 206, 23, 57, 14\n    CONTROL 0x80, \"Pomo&c\", 254, 0x0000, 206, 43, 57, 14\n    CONTROL 0x82, \"&Nazwa pliku:\", 261, 0x000c, 5, 5, 55, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 72, 5, 134, 10\n    CONTROL 0x82, \"ci&eka:\", 100, 0x000c, 5, 16, 51, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 72, 16, 134, 10\n    CONTROL 0x82, \"Ostatnia zmiana:\", 100, 0x000c, 5, 27, 62, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 72, 27, 134, 10\n    CONTROL 0x82, \"Rozmiar:\", 260, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 72, 38, 134, 10\n    CONTROL 0x80, \"Atrybuty\", 100, 0x0007, 4, 54, 136, 40\n    CONTROL 0x80, \"&Tylko-do-odczytu\", 215, 0x0003, 10, 67, 67, 12\n    CONTROL 0x80, \"&Ukryty\", 216, 0x0003, 83, 67, 49, 12\n    CONTROL 0x80, \"&Archiwizowany\", 217, 0x0003, 10, 79, 65, 12\n    CONTROL 0x80, \"&Systemowy\", 218, 0x0003, 83, 79, 49, 12\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0101   \"(katalog gwny)\"\n0x0102   \"(nie dotyczy)\"\n0x0103   \"Udostpnione jako %s\"\n0x0104   \"Nie udostpnione\"\n0x0107   \"Kopiowanie plikw do %s\"\n0x0108   \"Przesuwanie plikw do %s\"\n0x0109   \"Uruchamianie plikw z %s\"\n0x010a   \"bajtw: %s\"\n0x010b   \"%sKB\"\n0x010c   \"%sMB\"\n0x010d   \"%sGB\"\n0x010e   \"%sTB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"Koniec Windows\"\n0x0029   \"Nacinicie OK zakoczy sesj Windows.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"Kopiuj dyskietk\"\n0x0033   \"W dyskietk, na ktr chcesz kopiowa.\"\n0x0034   \"W dyskietk, z ktrej chcesz kopiowa.\"\n0x0035   \"W dyskietk rdow i docelow.\"\n0x0036   \"Formatuje dyskietk docelow.\"\n0x0037   \"Bd przy kopiowaniu\"\n0x0038   \"Skopiowanie dyskietki nie jest moliwe.\"\n0x003a   \"Stacje dyskw, rdowa i docelowa, nie s zgodne.\"\n0x003c   \"wykonane %d%%\"\n0x003d   \"Tworzenie katalogu gwnego...\"\n0x003e   \"Kopiuje pliki systemowe...\"\n0x003f   \"Bd przy formatowaniu\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"Brak miejsca na dysku dla wykonania wydruku.\n\nUsu jeden lub kilka plikw w celu zwikszenia wolnego obszaru dysku i ponw prb.\"\n0x00c1   \"Brak miejsca w pamici dla wykonania wydruku.\n\nZakocz jedn lub kilka aplikacji i ponw prb.\"\n0x00c2   \"Bd przy wydruku.\n\nSprawd czy drukarka jest prawidowo skonfigurowana i wybrana.\"\n0x00c3   \"Obraz drzewa jest niekompletny\"\n0x00c5   \"Dyskietka docelowa jest zapeniona.\n\nW now dyskietk i kontynuuj.\"\n0x00c6   \"To jest plik systemowy, ukryty lub tylko-do-odczytu.\"\n0x00c7   \"Szybkie formatowanie nie jest moliwe.\n\nKontynuowa standardowe formatowanie?\"\n0x00c8   \"Podana aplikacja nie jest aplikacj dla rodowiska Windows ani dla MS-DOS.\"\n0x00c9   \"Ta aplikacja wymaga nowszej wersji Microsoft Windows.\"\n0x00ca   \"Ta aplikacja wymaga Windows.\"\n0x00cb   \"Bd przy wysyaniu polecenia do aplikacji.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"Sformatowanie dyskietki nie jest moliwe.\"\n0x0042   \"Formatowanie gotowe\"\n0x0043   \"%ld bajtw cakowitego obszaru dyskietki\n%ld bajtw wolnych na dyskietce\n\nSformatowa nastpn dyskietk?\"\n0x0046   \"Dyskietka systemowa\"\n0x0047   \"Skopiowa pliki systemowe na dyskietk w stacji dyskw %c:?\"\n0x0048   \"Bd dyskietki systemowej\"\n0x0049   \"Uruchomieniowa stacja dyskw systemu MS-DOS nie zawiera plikw systemowych lub nie jest dostpna.\"\n0x004a   \"Skopiowanie plikw systemowych do uruchomieniowej stacji dyskw systemu MS-DOS nie jest moliwe.\"\n0x004b   \"Umieszczenie plikw systemowych na tej dyskietce nie jest moliwe.\n\nSprawd czy dyskietka w stacji dyskw jest sformatowana i czy stacja dyskw jest zamknita.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"Utworzenie lub zastpienie %s nie jest moliwe: %s\"\n0x0408   \"Utworzenie dyskietki systemowej MS-DOS nie jest moliwe, poniewa jest zainstalowany system multiboot Windows NT. Dyskietk systemow mona utworzy za pomoc polecenia SYS wydanego w wierszu polece MS-DOS.\"\n0x0409   \"Sformatowa dyskietk bez przenoszenia systemu?\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"Bd sieci\"\n0x0053   \"Ta stacja dyskw zawiera pliki systemowe Windows i dlatego nie moe by odczona.\"\n0x005b   \"Zmiana atrybutw nie jest moliwa.\n\nSprawd czy dyskietka nie posiada blokady zapisu.\"\n0x005c   \"Utworzenie katalogu nie jest moliwe.\n\nSprawd czy dyskietka nie posiada blokady zapisu.\"\n0x005d   \"Nadanie etykiety dysku jest niemoliwe.\n\nSprawd czy dysk nie posiada blokady zapisu lub czy nie jest stacj sieciow oraz czy etykieta jest poprawnie podana.\nNie moe ona zawiera nastpujcych znakw:\n[spacja] * ? /  | . , ; : + = [ ] ( )  ^ < > \" \"\n0x005f   \"Nie odnaleziono odpowiadajcych plikw.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"Plikw: %d (%s)\"\n0x00b5   \"Przeszukane katalogi: %d \"\n0x00b6   \"%c: wolne %s, razem %s\"\n0x00b7   \"Liczba znalezionych plikw: %d\"\n0x00b9   \"zaznaczone pliki\"\n0x00ba   \"Odczenie sieciowej stacji dyskw nie jest moliwe\n\nponiewa pliki w tej stacji s otwarte.\"\n0x00bb   \"Wybranych plikw: %d (%s)\"\n0x00bc   \"Nie ma dyskietki w stacji dyskw %c.\n\nW dyskietk i ponw prb.\"\n0x00bd   \"Dyskietka w stacji dyskw %c nie jest sformatowana.\n\nSformatowa j?\"\n0x00bf   \"Odnalezienie pliku do wydruku nie byo moliwe. Sprawd czy cieka jest prawidowo podana.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"Ten katalog ju istnieje.\"\n0x0061   \"Zawarto tej stacji dyskw zostaa zmieniona. Aktualizowa okno \"Rezultat szukania\"?\"\n0x0065   \"Stacja dyskw %c:%c\"\n0x006e   \"Uruchomienie programu nie jest moliwe\"\n0x006f   \"Nieoczekiwany bd: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"Formatowanie skasuje WSZYSTKIE dane na Twojej dyskietce. Sformatowa dyskietk w stacji dyskw %c?\"\n0x00d3   \"Potwierd \"Formatowanie dyskietki\"\"\n0x00d4   \"Ta operacja skasuje WSZYSTKIE dane na docelowej dyskietce. Kontynuowa?\"\n0x00d5   \"Potwierd \"Kopiowanie dyskietki\"\"\n0x00d6   \"&Zamknij\"\n0x00da   \"Katalog %s nie istnieje.\n\nUtworzy katalog o tej nazwie?\"\n0x00db   \"Programy#*.exe;*.pif;*.com;*.bat#Wszystkie pliki (*.*)#*.*#\"\n0x00dc   \"Przegldaj\"\n0x00dd   \"Uruchom\"\n0x00de   \"Wydrukowanie pliku nie jest moliwe\"\n0x00df   \"Wywietlenie informacji Pomocy nie jest moliwe.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"Brak miejsca w pamici do uruchomienia podanej aplikacji.\n\nZakocz jedn lub kilka aplikacji i ponw prb.\"\n0x0071   \"Odnalezienie pliku (lub jednego z jego elementw) nie jest moliwe.\n\nSprawd czy cieka i nazwa pliku s prawidowo podane oraz czy wymagane biblioteki s dostpne.\"\n0x0072   \"Niewaciwa cieka.\"\n0x0073   \"Za duo plikw jest obecnie w uyciu.\n\nZakocz jedn lub kilka aplikacji lub zwiksz polecenie FILES w pliku CONFIG.SYS i ponw prb.\"\n0x0074   \"adna aplikacja nie jest skojarzona z podanym plikiem.\n\nUtwrz skojarzenie wybierajc polecenie Skojarz z menu Plik.\"\n0x0075   \"Uruchomienie drugiej kopii wybranego programu nie jest moliwe.\"\n0x0076   \"Otwarcie lub wydruk pliku nie jest moliwy.\n\nUruchom aplikacj, w ktrej plik by utworzony i otwrz lub wydrukuj plik z tej aplikacji.\"\n0x0078   \"Potwierd \"Dziaania z uyciem myszy\"\"\n0x0079   \"Skopiowa wybrane pliki lub katalogi do %s?\"\n0x007a   \"Przesun wybrane pliki lub katalogi do %s?\"\n0x007b   \"Uruchomi %s uywajc %s jako pliku pocztkowego?\"\n0x007c   \"Meneder plikw\"\n0x007e   \"Drzewo katalogu\"\n0x007f   \"Rezultat szukania: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"Pliki z rozszerzeniem nazwy %s s programami i dlatego nie mog by skojarzone z inn aplikacj.\"\n0x00e1   \"%s nie jest programem i dlatego nie moe by skojarzony z rozszerzeniem pliku.\"\n0x00e2   \"(Brak)\"\n0x00e4   \"Wydruk kilku plikw jednoczenie nie jest moliwy.\n\nWybierz tylko jeden i ponw prb.\"\n0x00e5   \"Ten program lub jeden z jego elementw jest spakowany.\n\nUyj polecenia \"expand\" w MS-DOS, aby skopiowa plik z dyskietek instalacyjnych Windows.\"\n0x00e6   \"Jeden z plikw bibiliotek potrzebnych do uruchomienia tej aplikacji jest uszkodzony. Zainstaluj ponownie t aplikacj.\"\n0x00e7   \"Ten plik jest uywany przez inn aplikacj.\"\n0x00e8   \"Meneder plikw moe nie mie dostpu do plikw utworzonych w katalogu \"%s\".\n\nKontynuowa?\"\n0x00e9   \"Utwrz katalog\"\n0x00ea   \"%ld B\"\n0x00eb   \"%s bajtw\"\n0x00ec   \"Skopiowanie kilku plikw lub katalogw do Schowka nie jest moliwe.\n\nWybierz jeden plik i ponw prb.\"\n0x00ed   \"%s - %s\"\n0x00ee   \"Stacja dyskw:\"\n0x00ef   \"%s, \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"Za duo plikw\"\n0x0085   \"Meneder plikw - brak wolnej pamici\"\n0x0086   \"Odczyt podanego katalogu nie jest moliwy. Zostanie wywietlona tylko cz plikw.\"\n0x008c   \"Aktualny katalog: %s\"\n0x008d   \"Kopiuj\"\n0x008f   \"Zmie nazw\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"Formatuj dyskietk\"\n0x0092   \"Wybierz dyskietk, ktra bdzie formatowana.\"\n0x0096   \"Tworzy:\"\n0x0097   \"Usuwa...\"\n0x0098   \"Kopiuje:\"\n0x0099   \"Zmienia nazw...\"\n0x009a   \"Przesuwa...\"\n0x009b   \"Usuwa...\"\n0x009c   \"Drukuje: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"Stacja dyskw %c nie istnieje.\"\n0x00a9   \"Kopiuje...\"\n0x00aa   \"Usuwa:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"Otwiera...\"\n0x01a5   \"Zamyka...\"\n0x01a6   \"Za duo otwartych okien katalogu.\n\nZamknij jedno lub kilka okien i ponw prb.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"Bd przy przesuwaniu pliku\"\n0x03ea   \"Bd przy kopiowaniu pliku\"\n0x03eb   \"Bd przy usuwaniu pliku\"\n0x03ec   \"Bd przy zmianie nazwy pliku\"\n0x03ed   \"Bd przy wyborze stacji dyskw\"\n0x03ee   \"Bd przy odczycie katalogu\"\n0x03ef   \"Bd przy nadawaniu etykiety dysku\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"Nie mona przesun %s: %s\"\n0x03f4   \"Nie mona skopiowa %s: %s\"\n0x03f5   \"Nie mona usun %s: %s\"\n0x03f6   \"Nie mona zmieni nazwy %s: %s\"\n0x03fd   \"Nie mona utworzy katalogu %s: %s\"\n0x03fe   \"Nie mona usun katalogu %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Niewaciwa funkcja systemu MS-DOS.\"\n0x0412   \"Odnalezienie pliku nie jest moliwe.\n\nSprawd czy cieka i nazwa pliku s prawidowo podane.\"\n0x0413   \"Odnalezienie cieki nie jest moliwe.\n\nSprawd czy cieka jest prawidowo podana.\"\n0x0414   \"Za duo innych plikw jest obecnie w uyciu. Zakocz jedn lub kilka aplikacji.\"\n0x0415   \"Brak dostpu.\n\nSprawd czy dysk nie jest zapeniony lub czy nie posiada zabezpieczenia przed zapisem.\"\n0x0416   \"Niewaciwy numer identyfikacyjny pliku.\"\n0x0418   \"Brak miejsca w pamici.\n\nZakocz jedn lub kilka aplikacji i ponw prb.\"\n0x041c   \"Niewaciwy dostp do pliku.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"Usunicie aktualnego katalogu nie jest moliwe (bd wewntrzny).\"\n0x0421   \"Niewaciwe urzdzenie.\"\n0x0422   \"Katalog jest pusty.\"\n0x0423   \"Dysk jest zabezpieczony przed zapisem.\n\nUsu zabezpieczenie tego dysku lub uyj innego dysku i ponw prb.\"\n0x042d   \"Bd przy zapisie. Plik lub dysk docelowy moe by uszkodzony.\"\n0x042f   \"Bd przy odczycie. Plik lub dysk rdowy moe by uszkodzony.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"Niewaciwe polecenie.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"Brak dostpu do sieci. Sprawd czy masz zezwolenie na wykonanie tego polecenia.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"Konflikt wsplnego dostpu. Stacja rdowa i docelowa mog by w uyciu.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"Brak miejsca na dysku.\n\nUsu jeden lub kilka plikw w celu zwikszenia wolnego obszaru dysku i ponw prb.\"\n0x0481   \"Nazwy pliku rdowego i docelowego s te same.\"\n0x0482   \"Wybierz tylko jeden plik do zmiany nazwy lub zmie nazw grupy plikw o podobnych nazwach uywajc wieloznacznikw systemu MS-DOS (np. *.TXT).\"\n0x0483   \"Zmiana nazwy do innego katalogu lub dysku nie jest moliwa.\"\n0x0484   \"Katalog gwny (bd wewntrzny).\"\n0x0486   \"Katalog docelowy jest podkatalogiem rda.\"\n0x0487   \"Plik jest wykorzystywany w Windows.\"\n0x0488   \"Brak dostpu. Plik rdowy moe by w uyciu.\"\n0x0489   \"cieka jest za duga.\"\n0x048a   \"Podaj tylko jeden plik lub katalog w polu \"Do/Na:\" Jeeli chcesz poda grup plikw uyj wieloznacznikw systemu MS-DOS (np. *.TXT).\"\n0x048b   \"Podana nazwa pliku ju istnieje. Podaj now nazw w polu \"Do/Na:\".\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1,2 MB\"\n0x0131   \"720 KB\"\n0x0132   \"1,44 MB\"\n0x0133   \"2,88 MB\"\n0x0134   \"Pojemno stacji dyskw\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360 KB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"Brak miejsca w pamici.\"\n0x0192   \"Sformatowanie uruchomieniowej stacji dyskw systemu MS-DOS nie jest moliwe.\"\n0x0193   \"Uruchomieniowa stacja dyskw systemu MS-DOS wykazuje nieprawidowy rozmiar sektora.\"\n0x0194   \"Nieznany typ stacji dyskw.\"\n0x0199   \"Bd przy przesyaniu plikw systemowych.\"\n0x019a   \"T dyskietk mona sformatowa do pojemnoci %s. Kontynuowa formatowanie do takiej pojemnoci?\"\n0x019b   \"Sformatowanie dyskietki nie jest moliwe.\n\nSprawd czy dyskietka nie posiada zabezpieczenia przed zapisem lub czy nie jest uszkodzona albo czy nie jest o niewaciwej pojemnoci.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00fe   \"&Nazwa katalogu:\"\n0x00ff   \"\\StringFileInfo\\040904E4\\\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01f4   \"Komentarze\"\n0x01f5   \"Nazwa firmy\"\n0x01f6   \"Opis pliku\"\n0x01f7   \"Nazwa wewntrzna\"\n0x01f8   \"Znaki firmowe\"\n0x01f9   \"Oryginalna nazwa pliku\"\n0x01fa   \"Opis\"\n0x01fb   \"Nazwa produktu\"\n0x01fc   \"Wersja produktu\"\n0x01fd   \"Opis\"\n0x01fe   \"Jzyk\"\n0x01ff   \"Jzyki\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0222   \"Brak plikw.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0255   \"Nie znaleziono wskazanego komputera.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0263   \"Nie znaleziono udostpnionego katalogu.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0274   \"Jest zbyt wiele przeadresowa sieci.\"\n0x0276   \"Niewaciwe haso.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x02b0   \"Stacja dyskw sieci nie jest dostpna.\"\n0x02b1   \"Bd odczytu stacji dyskw %c:.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0f90   \"Polecenia do pracy z plikami\"\n0x0f91   \"Polecenia do pracy z dyskami\"\n0x0f92   \"Polecenia do pracy w oknie drzewa\"\n0x0f93   \"Polecenia okrelajce sposb wywietlania informacji\"\n0x0f94   \"Polecenia ustawiania opcji\"\n0x0f9a   \"Polecenia rozmieszczania okien\"\n0x0f9b   \"Polecenia wywietlania Pomocy dla Menedera plikw\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1005   \"Otwiera wskazany element\"\n0x1006   \"Drukuje dokument\"\n0x1007   \"Kojarzy plik z aplikacj\"\n0x1008   \"Wyszukuje pliki i katalogi\"\n0x1009   \"Rozpoczyna lub otwiera aplikacj lub dokument\"\n0x100a   \"Przesuwa wskazany element\"\n0x100b   \"Kopiuje pliki i katalogi\"\n0x100c   \"Usuwa pliki i katalogi\"\n0x100d   \"Zmienia nazw pliku lub katalogu\"\n0x100e   \"Ustawia atrybuty pliku i wywietla jego waciwoci\"\n0x100f   \"Tworzy katalog\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1013   \"Koczy prac z Menederem plikw\"\n0x1014   \"Zaznacza pliki i katalogi\"\n0x1015   \"Odtwarza wczeniej usunite pliki\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1069   \"Kopiuje zawarto dyskietki\"\n0x106a   \"Przypisuje lub zmienia etykiet dysku\"\n0x106b   \"Formatuje dyskietk\"\n0x106c   \"Kopiuje pliki MS-DOS na dyskietk\"\n0x106d   \"Podcza sieciow stacj dyskw\"\n0x106e   \"Odcza dysk sieciowy\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x109b   \"Wybiera inn stacj dyskw\"\n0x109c   \"Poczenia sieciowe...\"\n0x109d   \"Wywietl udostpnione katalogi...\"\n0x109e   \"Udostpnia katalog\"\n0x109f   \"Koczy udostpnianie katalogu\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10cd   \"Wywietla inny poziom katalogu\"\n0x10ce   \"Wywietla wszystkie poziomy katalogu\"\n0x10cf   \"Wywietla wszystkie poziomy wszystkich katalogw\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10d0   \"Zwija wszystkie katalogi wskazanego katalogu\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1195   \"Steruje komunikatami potwierdzenia\"\n0x1197   \"Wywietla lub ukrywa pasek stanu\"\n0x1198   \"Redukuje Menedera plikw do ikony po uruchomieniu\"\n0x1199   \"Wskazuje katalogi, ktre maj podkatalogi\"\n0x119b   \"Wywietla lub ukrywa pasek stacji dyskw\"\n0x119c   \"Wywietla lub ukrywa pasek narzdzi\"\n0x119d   \"Otwiera nowe okno po podczeniu\"\n0x119e   \"Zmienia czcionk Menedera plikw\"\n0x119f   \"Zachowuje ustawienia po zakoczeniu pracy z Menederem plikw\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1131   \"Pokazuje tylko nazwy plikw\"\n0x1132   \"Pokazuje wszystkie informacje o plikach\"\n0x1133   \"Pokazuje czciowe informacje o plikach\"\n0x1134   \"Sortuje pliki wedug nazwy\"\n0x1135   \"Sortuje pliki wedug typu\"\n0x1136   \"Sortuje pliki wedug rozmiaru\"\n0x1137   \"Sortuje pliki wedug daty\"\n0x1139   \"Pokazuje pliki okrelonego typu\"\n0x113b   \"Wywietla drzewo katalogw\"\n0x113c   \"Wywietla zawarto biecego katalogu\"\n0x113d   \"Wywietla drzewo katalogw i zawarto katalogu biecego\"\n0x113e   \"Dzieli okno katalogu lub przesuwa lini podziau\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x11a0   \"Pozwala zmienia pasek narzdzi\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13f0   \"Uaktualnia zawarto okna\"\n0x13f1   \"Porzdkuje ikony\"\n0x13f2   \"Otwiera nowe okno\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13ed   \"Rozmieszcza okna\"\n0x13ee   \"Rozmieszcza okna\"\n0x13ef   \"Rozmieszcza okna\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1451   \"Wywietla spis treci Pomocy Menedera plikw\"\n0x1452   \"Wywietla informacje o korzystaniu z Pomocy\"\n0x1453   \"Wywietla informacje o Menederze plikw\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0fbe   \"Szuka tematu w Pomocy Menedera plikw\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0320   \"&Podcz dysk sieciowy...\"\n0x0321   \"&Odcz dysk sieciowy...\"\n0x0322   \"Poczenia &sieciowe...\"\n0x0323   \"&Udostpnij jako...\"\n0x0324   \"Za&kocz udostpnianie...\"\n0x0325   \"&Wywietl udostpnione katalogi...\"\n0x0326   \"Co&fnij usunicie...\"\n0x0327   \"&Otwrz nowe okno po podczeniu\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.Portuguese.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"&Arquivo\"\n    BEGIN\n    MENUITEM    \"&Abrir\tEnter\", 0X0065\n    MENUITEM    \"&Mover... \tF7\", 0X006A\n    MENUITEM    \"&Copiar... \tF8\", 0X006B\n    MENUITEM    \"&Excluir... \tDel\", 0X006C\n    MENUITEM    \"Re&nomear...\", 0X006D\n    MENUITEM    \"&Propriedades...  \tAlt+Enter\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"E&xecutar...\", 0X0069\n    MENUITEM    \"&Imprimir...\", 0X0066\n    MENUITEM    \"A&ssociar...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Criar &Diretrio...\", 0X006F\n    MENUITEM    \"&Localizar...\", 0X0068\n    MENUITEM    \"Selecionar Arqui&vos...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Sai&r\", 0X0073\n    END\n    POPUP   \"&Disco\"\n    BEGIN\n    MENUITEM    \"&Copiar Disco...\", 0X00C9\n    MENUITEM    \"&Nomear Disco...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Formatar Disco...\", 0X00CB\n    MENUITEM    \"Gerar &Sistema no Disco...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Selecionar &Unidade...\", 0X00FB\n    END\n    POPUP   \"&rvore\"\n    BEGIN\n    MENUITEM    \"Expa&ndir um Nvel\t+\", 0X012D\n    MENUITEM    \"Expandi&r Ramificao\t*\", 0X012E\n    MENUITEM    \"Expandir &Tudo\tCtrl + *\", 0X012F\n    MENUITEM    \"Redu&zir Ramificao\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Indicar Ramificaes Expansveis\", 0X01F9\n    END\n    POPUP   \"&Visualizar\"\n    BEGIN\n    MENUITEM    \"rvor&e e Diretrio\", 0X019D\n    MENUITEM    \"Somente &rvore\", 0X019B\n    MENUITEM    \"Somente &Diretrio\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Di&viso\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Nome\", 0X0191\n    MENUITEM    \"Todo&s os Detalhes do Arquivo\", 0X0192\n    MENUITEM    \"Deta&lhes Parciais...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Classificar p&or Nome\", 0X0194\n    MENUITEM    \"Class&ificar por Tipo\", 0X0195\n    MENUITEM    \"Classificar por Ta&manho\", 0X0196\n    MENUITEM    \"Cl&assificar por Data\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Tipo de Arquivo...\", 0X0199\n    END\n    POPUP   \"&Opes\"\n    BEGIN\n    MENUITEM    \"&Confirmao...\", 0X01F5\n    MENUITEM    \"&Fonte...\", 0X01FE\n    MENUITEM    \"&Personalizar Barra de Ferramentas...\", 0X0200\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Barra d&e Ferramentas\", 0X01FC\n    MENUITEM    \"Barra de &Unidades\", 0X01FB\n    MENUITEM    \"&Barra de Status\", 0X01F7\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Mi&nimizar no Uso\", 0X01F8\n    MENUITEM    \"&Salvar Configuraes ao Sair\", 0X01FF\n    END\n    POPUP   \"&Janela\"\n    BEGIN\n    MENUITEM    \"&Nova Janela\", 0X03EE\n    MENUITEM    \"Em &Cascata\tShift+F5\", 0X03E9\n    MENUITEM    \"Lado a Lado &Horizontalmente\", 0X03EB\n    MENUITEM    \"Lado a Lado &Verticalmente\tShift+F4\", 0X03EA\n    MENUITEM    \"&Organizar cones\", 0X03ED\n    MENUITEM    \"&Atualizar\tF5\", 0X03EC\n    END\n    POPUP   \"&?\"\n    BEGIN\n    MENUITEM    \"&Contedo\", 0X044D\n    MENUITEM    \"&Procurar Ajuda Sobre...\", 0X001E\n    MENUITEM    \"Co&mo Usar a Ajuda\", 0X044E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"So&bre o Gerenciador de Arquivos...\", 0X044F\n    END\nEND\n\n\n145 DIALOG 0x80c8, 13, 54, 264, 155\nCAPTION \"Fonte\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Fonte:\", 1088, 0x0000, 6, 3, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 13, 94, 61\n    CONTROL 0x82, \"&Estilo da fonte:\", 1089, 0x0000, 108, 3, 62, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 13, 64, 61\n    CONTROL 0x82, \"&Tamanho:\", 1090, 0x0000, 179, 3, 33, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 179, 13, 32, 61\n    CONTROL 0x80, \"Efeitos\", 1072, 0x0007, 6, 80, 84, 61\n    CONTROL 0x80, \"&Riscado\", 1040, 0x0003, 10, 90, 49, 10\n    CONTROL 0x80, \"&Sublinhado\", 1041, 0x0003, 10, 102, 51, 10\n    CONTROL 0x80, \"&Minscula\", 1042, 0x0003, 10, 90, 49, 10\n    CONTROL 0x82, \"&Cor\", 1091, 0x0000, 10, 114, 30, 9\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 124, 75, 50\n    CONTROL 0x80, \"OK\", 1, 0x0001, 218, 8, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 218, 25, 40, 14\n    CONTROL 0x80, \"Ap&licar\", 1026, 0x0000, 218, 42, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 1038, 0x0000, 218, 59, 40, 14\n    CONTROL 0x80, \"Exemplo\", 1073, 0x0007, 98, 80, 160, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 134, 160, 18\n    CONTROL 0x82, \"AaBbYyZz\", 1092, 0x0081, 105, 89, 149, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 201, 86\nCAPTION \"Selecionar Unidade\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Un&idades:\", 245, 0x000c, 5, 5, 41, 10\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"OK\", 1, 0x0001, 155, 16, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 155, 33, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 155, 59, 40, 14\nEND\n\n10 DIALOG 0x80c8, 15, 12, 226, 63\nCAPTION \"Executar\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 3, 6, 172, 10\n    CONTROL 0x82, \"&Linha de comando:\", 100, 0x000c, 3, 18, 64, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 172, 12\n    CONTROL 0x80, \"Executar mi&nimizado\", 214, 0x0003, 3, 45, 85, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 180, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 180, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 180, 43, 40, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 136, 83\nCAPTION \"Selecionar Arquivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Arquivo(s):\", -1, 0x000c, 5, 16, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 29, 60, 12\n    CONTROL 0x80, \"&Selecionar\", 1, 0x0001, 73, 6, 58, 14\n    CONTROL 0x80, \"A&nular seleo\", 6, 0x0000, 73, 24, 58, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 73, 42, 58, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 73, 63, 58, 14\nEND\n\n39 DIALOG 0x80c8, 8, 20, 253, 92\nCAPTION \"Confirmao de Substituio de Arquivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 5, 14, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 27, 3, 203, 10\n    CONTROL 0x82, \"Substituir arquivo:\", 100, 0x000c, 27, 15, 61, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 89, 15, 153, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 89, 26, 158, 10\n    CONTROL 0x82, \"Pelo arquivo:\", 100, 0x000c, 27, 37, 61, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 96, 37, 146, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 89, 37, 158, 10\n    CONTROL 0x80, \"&Sim\", 6, 0x0001, 4, 73, 58, 14\n    CONTROL 0x80, \"Sim para &todos\", 107, 0x0000, 66, 73, 58, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 128, 73, 58, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 190, 73, 58, 14\nEND\n\n40 DIALOG 0x80c8, 8, 20, 253, 60\nCAPTION \"Confirmao de Excluso de Arquivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 203, 10\n    CONTROL 0x82, \"Excluir arquivo:\", 100, 0x000c, 25, 18, 53, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 79, 18, 161, 10\n    CONTROL 0x80, \"&Sim\", 6, 0x0001, 4, 42, 58, 14\n    CONTROL 0x80, \"Sim para &todos\", 107, 0x0000, 66, 42, 58, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 128, 42, 58, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 190, 42, 58, 14\nEND\n\n41 DIALOG 0x80c8, 8, 20, 253, 60\nCAPTION \"Confirmao de Excluso de Diretrio\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 5, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 27, 3, 203, 10\n    CONTROL 0x82, \"Excluir diretrio:\", 100, 0x000c, 27, 18, 55, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 82, 18, 160, 10\n    CONTROL 0x80, \"&Sim\", 6, 0x0001, 4, 42, 58, 14\n    CONTROL 0x80, \"Sim para &todos\", 107, 0x0000, 66, 42, 58, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 128, 42, 58, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 190, 42, 58, 14\nEND\n\n42 DIALOG 0x80c8, 8, 22, 253, 60\nCAPTION \"Confirmao de Movimentao de Arquivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 5, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 27, 3, 203, 10\n    CONTROL 0x82, \"Mover arquivo:\", 100, 0x000c, 27, 18, 52, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 81, 18, 161, 10\n    CONTROL 0x80, \"&Sim\", 6, 0x0001, 4, 42, 58, 14\n    CONTROL 0x80, \"Sim para &todos\", 107, 0x0000, 66, 42, 58, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 128, 42, 58, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 190, 42, 58, 14\nEND\n\n43 DIALOG 0x80c8, 8, 22, 253, 60\nCAPTION \"Confirmao de Renomeao de Arquivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 5, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 27, 3, 203, 10\n    CONTROL 0x82, \"Renomear arquivo:\", 100, 0x000c, 27, 15, 64, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 93, 15, 149, 10\n    CONTROL 0x80, \"&Sim\", 6, 0x0001, 4, 42, 58, 14\n    CONTROL 0x80, \"Sim para &todos\", 107, 0x0000, 66, 42, 58, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 128, 42, 58, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 190, 42, 58, 14\nEND\n\n11 DIALOG 0x80c8, 20, 20, 240, 63\nCAPTION \"Imprimir\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 4, 6, 189, 10\n    CONTROL 0x82, \"&Imprimir:\", 100, 0x000c, 4, 22, 28, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 20, 152, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 36, 190, 22\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n13 DIALOG 0x80c8, 20, 20, 255, 78\nCAPTION \"Localizar\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Localizar:\", 100, 0x000c, 5, 8, 37, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 44, 7, 160, 12\n    CONTROL 0x82, \"&Iniciar em:\", 100, 0x000c, 5, 24, 37, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 44, 23, 160, 12\n    CONTROL 0x80, \"&Pesquisar em todos os subdiretrios\", 232, 0x0003, 44, 39, 160, 12\n    CONTROL 0x82, \"\", 104, 0x000c, 5, 56, 200, 16\n    CONTROL 0x80, \"OK\", 1, 0x0001, 209, 5, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 209, 22, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 209, 42, 40, 14\nEND\n\n14 DIALOG 0x80c8, 47, 59, 231, 73\nCAPTION \"Mover\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Diretrio atual: N\", 101, 0x008b, 2, 7, 182, 10\n    CONTROL 0x82, \"&Para:\", 100, 0x000c, 3, 40, 20, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 37, 39, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 26, 40, 10, 10\n    CONTROL 0x80, \"&Copiar para a rea de Transferncia\", 256, 0x0004, 26, 56, 149, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 58, 86, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 84, 58, 91, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 185, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 185, 44, 40, 14\n    CONTROL 0x82, \"&De:\", 100, 0x000c, 3, 23, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 22, 138, 12\nEND\n\n10014 DIALOG 0x80c8, 47, 59, 231, 101\nCAPTION \"Mover\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Diretrio atual: N\", 101, 0x008b, 3, 7, 182, 10\n    CONTROL 0x82, \"&Para:\", 100, 0x000c, 3, 40, 20, 10\n    CONTROL 0x62, \"edit\", 103, 0x0004, 38, 40, 138, 42\n    CONTROL 0x50, \"\", 256, 0x0401, 6656, 10240, 2560, 2560\n    CONTROL 0x80, \"&Copiar para a rea de Transferncia\", 256, 0x0004, 26, 85, 150, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 183, 86, 40, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 174, 86, 57, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 185, 23, 40, 14\n    CONTROL 0x80, \"&Procurar\", 600, 0x0000, 185, 40, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 185, 57, 40, 14\n    CONTROL 0x82, \"&De:\", 100, 0x000c, 3, 24, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 39, 23, 138, 12\nEND\n\n200 DIALOG 0x00c8, 31, 24, 301, 134\nCAPTION \"Selecionar Diretrio\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x81, \"\", 1152, 0x0490, 6, 16, 110, 12\n    CONTROL 0x83, \"\", 1120, 0x0053, 121, 32, 92, 68\n    CONTROL 0x82, \"&Diretrios:\", -1, 0x0000, 121, 6, 92, 9\n    CONTROL 0x82, \"\", 1088, 0x0000, 121, 16, 92, 9\n    CONTROL 0x83, \"\", 1121, 0x0053, 6, 32, 110, 68\n    CONTROL 0x82, \"Un&idades:\", 1091, 0x0000, 121, 106, 92, 9\n    CONTROL 0x85, \"\", 1137, 0x0353, 121, 116, 92, 68\n    CONTROL 0x80, \"OK\", 1, 0x0001, 256, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 256, 24, 40, 14\n    CONTROL 0x82, \"&Nome do arquivo:\", 1090, 0x0000, 6, 6, 76, 9\n    CONTROL 0x82, \"Lis&tar arquivos do tipo:\", 1089, 0x0000, 6, 106, 90, 9\n    CONTROL 0x85, \"\", 1136, 0x0043, 6, 116, 110, 36\n    CONTROL 0x80, \"Aj&uda\", 1038, 0x0000, 256, 44, 40, 14\n    CONTROL 0x80, \"&Somente para leitura\", 1040, 0x0003, 218, 68, 79, 12\nEND\n\n15 DIALOG 0x80c8, 21, 20, 261, 64\nCAPTION \"Excluir\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Diretrio atual: C\", 101, 0x008c, 3, 6, 193, 10\n    CONTROL 0x82, \"&Excluir:\", 100, 0x000c, 3, 23, 26, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 40, 22, 167, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 36, 44, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 52, 41, 155, 17\n    CONTROL 0x80, \"OK\", 1, 0x0001, 213, 7, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 213, 24, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 213, 44, 40, 14\nEND\n\n38 DIALOG 0x80c8, 20, 20, 235, 63\nCAPTION \"Propriedades\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"%d arquivo(s). Total: %s bytes\", 100, 0x000c, 5, 5, 180, 10\n    CONTROL 0x80, \"Atributos\", -1, 0x0007, 5, 20, 180, 39\n    CONTROL 0x80, \"&Somente para leitura\", 215, 0x0003, 10, 29, 79, 12\n    CONTROL 0x80, \"&Oculto\", 216, 0x0003, 115, 29, 52, 12\n    CONTROL 0x80, \"&Arquivo\", 217, 0x0003, 10, 41, 52, 12\n    CONTROL 0x80, \"Sis&tema\", 218, 0x0003, 115, 41, 52, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 189, 7, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 189, 24, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 189, 44, 40, 14\nEND\n\n16 DIALOG 0x80c8, 21, 13, 267, 204\nCAPTION \"Propriedades de %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 212, 6, 50, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 212, 23, 50, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 212, 43, 50, 14\n    CONTROL 0x82, \"&Nome do arquivo:\", 261, 0x000c, 7, 5, 65, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 78, 5, 132, 10\n    CONTROL 0x82, \"&Caminho:\", 100, 0x000c, 7, 16, 65, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 78, 16, 132, 10\n    CONTROL 0x82, \"ltima modificao:\", 100, 0x000c, 7, 27, 65, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 78, 27, 132, 10\n    CONTROL 0x82, \"Verso:\", 258, 0x000c, 7, 38, 65, 10\n    CONTROL 0x82, \"No disponvel\", 259, 0x008c, 78, 38, 132, 10\n    CONTROL 0x82, \"Copy&right:\", -1, 0x0000, 7, 49, 65, 10\n    CONTROL 0x81, \"No disponvel\", 265, 0x0880, 78, 49, 132, 10\n    CONTROL 0x82, \"Tamanho:\", 260, 0x000c, 7, 60, 65, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 78, 60, 132, 10\n    CONTROL 0x80, \"Atributos\", 100, 0x0007, 6, 74, 132, 42\n    CONTROL 0x80, \"&Somente para leitura\", 215, 0x0003, 11, 86, 82, 12\n    CONTROL 0x80, \"&Oculto\", 216, 0x0003, 94, 86, 40, 12\n    CONTROL 0x80, \"&Arquivo\", 217, 0x0003, 11, 98, 80, 12\n    CONTROL 0x80, \"Sis&tema\", 218, 0x0003, 94, 98, 40, 12\n    CONTROL 0x80, \"&Informao sobre a verso\", 262, 0x0007, 6, 121, 255, 77\n    CONTROL 0x83, \"\", 263, 0x1003, 11, 135, 102, 58\n    CONTROL 0x81, \"\", 264, 0x0804, 118, 135, 138, 56\nEND\n\n17 DIALOG 0x80c8, 20, 20, 181, 63\nCAPTION \"Criar Diretrio\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 118, 10\n    CONTROL 0x82, \"&Nome:\", 100, 0x000c, 3, 23, 20, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 22, 90, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 40, 150, 18\n    CONTROL 0x80, \"OK\", 1, 0x0001, 136, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 136, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 136, 43, 40, 14\nEND\n\n10017 DIALOG 0x80c8, 20, 20, 240, 70\nCAPTION \"Criar Diretrio\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 2, 5, 154, 10\n    CONTROL 0x82, \"&Nome:\", 100, 0x000c, 3, 28, 20, 10\n    CONTROL 0x62, \"edit\", 201, 0x0000, 29, 25, 143, 15\n    CONTROL 0x50, \"\", 26624, 0x8c00, 768, 14080, -27136, 2560\n    CONTROL 0x80, \"OK\", 1, 0x0001, 194, 6, 42, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 194, 23, 42, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 194, 40, 42, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 234, 64\nCAPTION \"Gerar Sistema no Disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Copiar os arquivos do sistema para o disco na unidade:\", -1, 0x000c, 5, 6, 184, 13\n    CONTROL 0x85, \"\", 222, 0x0003, 79, 22, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 188, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 188, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 188, 43, 40, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 145, 64\nCAPTION \"Cpia de Disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Origem:\", -1, 0x000c, 5, 8, 31, 10\n    CONTROL 0x85, \"\", 245, 0x0003, 45, 6, 40, 37\n    CONTROL 0x82, \"&Destino:\", 206, 0x000c, 5, 22, 31, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 45, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 100, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 100, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 100, 43, 40, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 55\nCAPTION \"Copiando Disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"Copiando disco na \", 100, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \"unidade A:\", 222, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \"Lendo o disco origem\", 243, 0x0001, 0, 26, 130, 10\n    CONTROL 0x80, \"Cancelar\", 2, 0x0001, 44, 39, 40, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 161, 63\nCAPTION \"Nomear Disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Nome:\", 100, 0x000c, 5, 15, 30, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 100, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 115, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 115, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 115, 43, 40, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 181, 102\nCAPTION \"Formatar Disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 136, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 136, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 136, 41, 40, 14\n    CONTROL 0x82, \"&Disco na:\", -1, 0x000c, 5, 6, 45, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 6, 72, 40\n    CONTROL 0x82, \"&Capacidade:\", 100, 0x000c, 5, 23, 49, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 55, 23, 72, 40\n    CONTROL 0x80, \"Opes\", 102, 0x0007, 5, 39, 122, 59\n    CONTROL 0x82, \"&Nome:\", -1, 0x000c, 11, 53, 23, 10\n    CONTROL 0x81, \"\", 201, 0x0000, 40, 51, 82, 12\n    CONTROL 0x80, \"Gerar &sistema no disco\", 242, 0x0003, 11, 66, 90, 12\n    CONTROL 0x80, \"&Formatao rpida\", 244, 0x0003, 11, 81, 90, 12\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 50\nCAPTION \"Formatando Disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Formatando disco\", 100, 0x0001, 0, 5, 150, 10\n    CONTROL 0x82, \"Inicializando unidade...\", 243, 0x0001, 0, 17, 150, 10\n    CONTROL 0x80, \"Cancelar\", 2, 0x0001, 54, 30, 40, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 174, 57\nCAPTION \"Gerar Sistema no Disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Copiando arquivos do sistema\", 100, 0x0001, 3, 9, 165, 9\n    CONTROL 0x82, \"Pressione 'Cancelar' caso queira desistir.\", 100, 0x0001, 22, 23, 135, 10\n    CONTROL 0x80, \"Cancelar\", 2, 0x0001, 66, 39, 40, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 243, 149\nCAPTION \"Conexes da Rede\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Nova Conexo\", -1, 0x0007, 5, 3, 173, 68\n    CONTROL 0x82, \"Caminho da &rede:\", -1, 0x0000, 10, 19, 62, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 70, 17, 100, 12\n    CONTROL 0x82, \"Un&idade:\", -1, 0x0000, 10, 36, 49, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 70, 34, 40, 100\n    CONTROL 0x82, \"&Senha:\", -1, 0x0000, 10, 53, 36, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 70, 52, 100, 12\n    CONTROL 0x82, \"C&onexes atuais:\", -1, 0x0000, 5, 75, 120, 10\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 86, 173, 60\n    CONTROL 0x80, \"&Fechar\", 2, 0x0001, 187, 6, 51, 14\n    CONTROL 0x80, \"&Conectar\", 1, 0x0000, 187, 27, 51, 14\n    CONTROL 0x80, \"&Anterior...\", 226, 0x0000, 187, 44, 51, 14\n    CONTROL 0x80, \"&Procurar...\", 227, 0x0000, 187, 61, 51, 14\n    CONTROL 0x80, \"&Desconectar\", 255, 0x0000, 187, 78, 51, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 187, 95, 51, 14\nEND\n\n29 DIALOG 0x80c8, 29, 30, 231, 101\nCAPTION \"Conexes Anteriores da Rede\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Caminhos da &rede:\", 100, 0x000c, 4, 3, 69, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 4, 15, 172, 80\n    CONTROL 0x80, \"&Selecionar\", 1, 0x0001, 182, 15, 44, 14\n    CONTROL 0x80, \"Fechar\", 2, 0x0000, 182, 32, 44, 14\n    CONTROL 0x80, \"&Excluir\", 219, 0x0000, 182, 49, 44, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 182, 69, 44, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 163, 70\nCAPTION \"Detalhes Parciais\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Detalhes\", 100, 0x0007, 4, 4, 111, 61\n    CONTROL 0x80, \"&Tamanho\", 203, 0x0003, 11, 16, 100, 9\n    CONTROL 0x80, \"&Data da ltima modificao\", 204, 0x0003, 11, 28, 100, 9\n    CONTROL 0x80, \"&Hora da ltima modificao\", 205, 0x0003, 11, 40, 100, 9\n    CONTROL 0x80, \"&Atributos de arquivo\", 206, 0x0003, 11, 52, 100, 9\n    CONTROL 0x80, \"OK\", 1, 0x0001, 120, 10, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 120, 27, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 120, 47, 40, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 157, 102\nCAPTION \"Tipo de Arquivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Nome:\", 100, 0x000c, 5, 8, 23, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"Tipo de arquivo\", 100, 0x0007, 5, 20, 94, 62\n    CONTROL 0x80, \"&Diretrios\", 101, 0x0003, 10, 31, 60, 12\n    CONTROL 0x80, \"&Programas\", 210, 0x0003, 10, 43, 60, 12\n    CONTROL 0x80, \"D&ocumentos\", 211, 0x0003, 10, 55, 60, 12\n    CONTROL 0x80, \"Outros &arquivos\", 212, 0x0003, 10, 67, 64, 12\n    CONTROL 0x80, \"&Exibir arquivos ocultos/de sistema\", 250, 0x0003, 5, 85, 148, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 164, 82\nCAPTION \"Confirmao\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Confirmar em\", 100, 0x0007, 5, 3, 108, 73\n    CONTROL 0x80, \"Excluso de &arquivo\", 219, 0x0003, 10, 15, 80, 12\n    CONTROL 0x80, \"Excluso de &diretrio\", 220, 0x0003, 10, 27, 80, 12\n    CONTROL 0x80, \"&Substituio de arquivo\", 221, 0x0003, 10, 39, 90, 12\n    CONTROL 0x80, \"Ao do &Mouse\", 249, 0x0003, 10, 51, 80, 12\n    CONTROL 0x80, \"&Comandos para disco\", 251, 0x0003, 10, 63, 80, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 118, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 118, 23, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 118, 44, 40, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 250, 46\nCAPTION \"Movendo...\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 5, 49, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 55, 5, 192, 10\n    CONTROL 0x82, \"Para:\", 108, 0x008b, 5, 16, 25, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 55, 16, 192, 10\n    CONTROL 0x80, \"Cancelar\", 2, 0x0001, 200, 28, 40, 14\nEND\n\n36 DIALOG 0x80c8, 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Imprimindo arquivo...\", -1, 0x0001, 4, 8, 113, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 4, 22, 113, 12\n    CONTROL 0x80, \"Cancelar\", 2, 0x0001, 44, 40, 40, 14\nEND\n\n12 DIALOG 0x80c8, 31, 39, 214, 96\nCAPTION \"Associar\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"A&rquivos com extenso:\", 99, 0x000c, 5, 8, 79, 10\n    CONTROL 0x81, \"\", 112, 0x0400, 85, 6, 35, 12\n    CONTROL 0x82, \"&Associar a:\", 99, 0x000c, 5, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 5, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 11, 44, 146, 40\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 44, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 165, 23, 44, 14\n    CONTROL 0x80, \"&Procurar...\", 232, 0x0000, 165, 43, 44, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 165, 60, 44, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 250, 78\nCAPTION \"Selecionar Nome de Arquivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Este caminho no  compatvel com o formato do DOS para nomes de arquivo.  Entre com um novo nome.\", 99, 0x0000, 4, 4, 190, 19\n    CONTROL 0x82, \"&Novo nome:\", 99, 0x0002, 4, 57, 40, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 65, 56, 130, 12\n    CONTROL 0x82, \"Caminho original:\", 99, 0x0002, 4, 27, 57, 11\n    CONTROL 0x81, \"\", 102, 0x0880, 65, 28, 122, 12\n    CONTROL 0x82, \"Para diretrio:\", 99, 0x0002, 4, 42, 47, 11\n    CONTROL 0x81, \"\", 101, 0x0880, 65, 42, 122, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 205, 4, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 205, 20, 40, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 205, 38, 40, 14\nEND\n\n48 DIALOG 0x80c8, 23, 13, 229, 101\nCAPTION \"Propriedades de %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 175, 6, 50, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 175, 23, 50, 14\n    CONTROL 0x80, \"Aj&uda\", 254, 0x0000, 175, 43, 50, 14\n    CONTROL 0x82, \"&Nome do arquivo:\", 261, 0x000c, 5, 5, 71, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 75, 5, 98, 10\n    CONTROL 0x82, \"&Caminho:\", 100, 0x000c, 5, 16, 69, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 75, 16, 98, 10\n    CONTROL 0x82, \"ltima modificao:\", 100, 0x000c, 5, 27, 68, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 75, 27, 90, 10\n    CONTROL 0x82, \"Tamanho:\", 260, 0x000c, 5, 38, 67, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 75, 38, 98, 10\n    CONTROL 0x80, \"Atributos\", 100, 0x0007, 4, 52, 140, 42\n    CONTROL 0x80, \"&Somente para leitura\", 215, 0x0003, 9, 63, 82, 12\n    CONTROL 0x80, \"&Oculto\", 216, 0x0003, 95, 63, 39, 12\n    CONTROL 0x80, \"&Arquivo\", 217, 0x0003, 9, 75, 52, 12\n    CONTROL 0x80, \"Sis&tema\", 218, 0x0003, 95, 75, 40, 12\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0101   \"(Diretrio principal)\"\n0x0102   \"(No aplicvel)\"\n0x0103   \"%s (compartilhado)\"\n0x0104   \"No compartilhado\"\n0x0107   \"Copiando arquivos para %s\"\n0x0108   \"Movendo arquivos para %s\"\n0x0109   \"Executando arquivos com %s\"\n0x010a   \"%s bytes\"\n0x010b   \"%sKB\"\n0x010c   \"%sMB\"\n0x010d   \"%sGB\"\n0x010e   \"%sTB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"Sair do Windows\"\n0x0029   \"Esta sesso do Windows ser finalizada.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"Cpia de Disco\"\n0x0033   \"Insira o disco de destino.\"\n0x0034   \"Insira disco de origem.\"\n0x0035   \"Insira os discos de origem e de destino.\"\n0x0036   \"Formatando disco de destino.\"\n0x0037   \"Erro na Cpia de Disco\"\n0x0038   \"No foi possvel copiar o disco.\"\n0x003a   \"A origem e o destino so incompatveis.\"\n0x003c   \"%d%% completado\"\n0x003d   \"Criando diretrio principal...\"\n0x003e   \"Copiando arquivos do sistema...\"\n0x003f   \"Erro na Formatao do Disco\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"Espao em disco insuficiente para impresso.\n\nExclua um ou mais arquivos e tente novamente. \"\n0x00c1   \"Memria insuficiente para impresso.\n\nFeche um ou mais aplicativos e tente novamente.\"\n0x00c2   \"Um erro ocorreu durante a impresso.\n\nVerifique se a impressora foi selecionada e se est configurada apropriadamente.\"\n0x00c3   \"rvore de diretrio incompleta exibida\"\n0x00c5   \"A unidade de destino est cheia.\n\nInsira um novo disco para continuar.\"\n0x00c6   \"Este  um arquivo de sistema, oculto ou somente para leitura.\"\n0x00c7   \"No foi possvel executar formatao rpida.\n\nContinuar com formatao normal?\"\n0x00c8   \"O aplicativo especificado no  um aplicativo Windows ou no-Windows.\"\n0x00c9   \"Este aplicativo requer uma verso mais atual do Microsoft Windows.\"\n0x00ca   \"Este aplicativo requer Windows.\"\n0x00cb   \"Houve um erro no envio do comando para o aplicativo.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"No foi possvel formatar disco\"\n0x0042   \"Formatao completa\"\n0x0043   \"Espao total no disco: %ld bytes\nEspao disponvel: %ld bytes\n\nVoc deseja formatar outro disco?\"\n0x0046   \"Gerar Sistema no Disco\"\n0x0047   \"Voc tem certeza que deseja copiar os arquivos do sistema para o disco na unidade %c?\"\n0x0048   \"Erro no Disco de Sistema\"\n0x0049   \"A unidade de inicializao do MS-DOS no contm arquivos de sistema ou no est disponvel.\"\n0x004a   \"No  possvel copiar os arquivos do sistema para a unidade de inicializao do MS-DOS.\"\n0x004b   \"No foi possvel incluir arquivos de sistema neste disco.\n\nVerifique se o disco nesta unidade est formatado e se a porta da unidade est fechada.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"Erro na rede\"\n0x0053   \"Esta unidade contm os arquivos do sistema do Windows e no pode ser desconectada.\"\n0x005b   \"No foi possvel alterar os atributos.\n\nVerifique se o disco  protegido contra gravao.\"\n0x005c   \"No foi possvel criar um diretrio.\n\nVerifique se o disco  protegido contra gravao.\"\n0x005d   \"No foi possvel nomear este disco.\n\nVerifique se o disco  protegido contra gravao, se  uma unidade de rede e se o nome  vlido.\nNomes no podem possuir os seguintes caracteres:\n[espao] * ? / \\ | . , ; : + = [ ] ( ) & ^ < > \" \"\n0x005f   \"No foi encontrado nenhum arquivo correspondente.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"%d arquivo(s) (%s)\"\n0x00b5   \"Diretrios lidos: %d \"\n0x00b6   \"%c: %s livres; %s total \"\n0x00b7   \"%d arquivos(s) encontrado(s)\"\n0x00b9   \"os arquivos selecionados\"\n0x00ba   \"No foi possvel desconectar-se da unidade de rede.\n\nExistem arquivos abertos nesta unidade.\"\n0x00bb   \"%d arquivo(s) selecionado(s) (%s)\"\n0x00bc   \"No h disco na unidade %c.\n\nInsira um disco e tente novamente.\"\n0x00bd   \"O disco na unidade %c no est formatado.\n\nVoc deseja format-lo agora?\"\n0x00bf   \"O arquivo a ser impresso no foi encontrado. Verifique se o caminho e o nome de arquivo foram especificados corretamente.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"O diretrio j existe.\"\n0x0061   \"O contedo desta unidade foi alterado. Voc deseja atualizar a janela Resultados da pesquisa?\"\n0x0065   \"Unidade %c:%c\"\n0x006e   \"No foi possvel executar o programa\"\n0x006f   \"Erro inesperado: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"A formatao apagar TODOS os dados do disco. Voc tem certeza que deseja formatar o disco na unidade %c?\"\n0x00d3   \"Confirmao de Formatao de Disco\"\n0x00d4   \"Esta operao apagar TODOS os dados do disco de destino. Voc tem certeza que deseja continuar?\"\n0x00d5   \"Confirmao de Cpia de Disco\"\n0x00d6   \"&Fechar\"\n0x00da   \"O diretrio %s no existe.\n\nVoc deseja cri-lo?\"\n0x00db   \"Programas#*.exe;*.pif;*.com;*.bat#Todos os arquivos (*.*)#*.*#\"\n0x00dc   \"Procurar\"\n0x00dd   \"Executar\"\n0x00de   \"No foi possvel imprimir o arquivo\"\n0x00df   \"No foi possvel exibir Ajuda.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"Memria insuficiente para iniciar o aplicativo especificado.\n\nFeche um ou mais aplicativos e tente novamente.\"\n0x0071   \"No foi possvel encontrar o arquivo especificado ou um dos seus componentes.\n\nVerifique se o caminho e o nome do arquivo esto corretos, e se todas as bibliotecas solicitadas esto disponveis.\"\n0x0072   \"O caminho especificado no  vlido.\"\n0x0073   \"Muitos arquivos esto atualmente em uso.\n\nFeche um ou mais aplicativos ou aumente o valor do comando FILES no CONFIG.SYS, e ento tente novamente.\"\n0x0074   \"Nenhum aplicativo est associado a este arquivo.\n\nEscolha Associar do menu Arquivo para criar uma associao.\"\n0x0075   \"No foi possvel iniciar mais de uma cpia do programa especificado.\"\n0x0076   \"No foi possvel abrir ou imprimir o arquivo especificado.\n\nInicie o aplicativo utilizado para criar este arquivo, e ento abra e imprima o arquivo a partir dele.\"\n0x0078   \"Confirmao de operao do mouse\"\n0x0079   \"Voc tem certeza que deseja copiar o(s) arquivo(s) ou diretrio(s) selecionado(s) para %s?\"\n0x007a   \"Voc tem certeza que deseja mover o(s) arquivo(s) ou diretrio(s) selecionado(s) para %s?\"\n0x007b   \"Voc tem certeza que deseja iniciar %s utilizando %s como arquivo inicial?\"\n0x007c   \"Gerenciador de Arquivos\"\n0x007e   \"rvore do Diretrio\"\n0x007f   \"Resultados da pesquisa: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"Arquivos com a extenso %s so programas e no podem ser associados a outro aplicativo.\"\n0x00e1   \"%s no  um programa e no pode ser associado com uma extenso de arquivo.\"\n0x00e2   \"(Nenhum)\"\n0x00e4   \"No  possvel imprimir mltiplos arquivos.\n\nSelecione somente um arquivo e tente novamente.\"\n0x00e5   \"Este programa ou um dos seus componentes est compactado.\n\nUtilize o utilitrio Expand do MS-DOS para copiar o arquivo dos discos de instalao.\"\n0x00e6   \"Um dos arquivos da biblioteca necessrio para executar este aplicativo est danificado. Instale novamente este aplicativo.\"\n0x00e7   \"Este arquivo est sendo utilizado por outro aplicativo.\"\n0x00e8   \"Poder no ser possvel acessar arquivos criados no diretrio \"%s\".\n\nVoc deseja continuar?\"\n0x00e9   \"Criar Diretrio\"\n0x00ea   \"%ld bytes\"\n0x00eb   \"%s bytes\"\n0x00ec   \"No  possvel copiar mltiplos arquivos ou diretrios para a rea de Transferncia.\n\nSelecione somente um arquivo e tente novamente.\"\n0x00ed   \"%s - %s\"\n0x00ee   \"Unidade:\"\n0x00ef   \"%s, \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"Muitos Arquivos\"\n0x0085   \"Gerenciador de Arquivos sem memria\"\n0x0086   \"No foi possvel ler todo o diretrio. Somente uma lista parcial ser exibida.\"\n0x008c   \"Diretrio atual: %s\"\n0x008d   \"Copiar\"\n0x008f   \"Renomear\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"Formatar Disco\"\n0x0092   \"Selecione o disco a ser formatado.\"\n0x0096   \"Criando:\"\n0x0097   \"Removendo...\"\n0x0098   \"Copiando:\"\n0x0099   \"Renomeando...\"\n0x009a   \"Movendo...\"\n0x009b   \"Excluindo:\"\n0x009c   \"Imprimindo: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"A unidade %c no existe.\"\n0x00a9   \"Copiando...\"\n0x00aa   \"Removendo:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"Abrindo...\"\n0x01a5   \"Fechando...\"\n0x01a6   \"Muitas janelas de diretrio esto abertas.\n\nFeche uma ou mais janelas e tente novamente.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"Erro na movimentao do arquivo\"\n0x03ea   \"Erro na cpia do arquivo\"\n0x03eb   \"Erro na excluso do arquivo\"\n0x03ec   \"Erro na renomeao do arquivo\"\n0x03ed   \"Erro na seleo da unidade\"\n0x03ee   \"Erro na leitura do diretrio\"\n0x03ef   \"Erro na nomeao do disco\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"No foi possvel mover %s: %s\"\n0x03f4   \"No foi possvel copiar %s: %s\"\n0x03f5   \"No foi possvel excluir %s: %s\"\n0x03f6   \"No foi possvel renomear %s: %s\"\n0x03fd   \"No foi possvel criar diretrio %s: %s\"\n0x03fe   \"No foi possvel remover diretrio %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"No foi possvel criar ou substituir %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Funo invlida do MS-DOS.\"\n0x0412   \"No foi possvel encontrar o arquivo especificado.\n\nVerifique se o caminho e o nome do arquivo foram especificados corretamente.\"\n0x0413   \"No foi possvel encontrar o caminho especificado.\n\nVerifique se o caminho correto foi especificado.\"\n0x0414   \"Existem muitos outros arquivos atualmente em uso. Feche um ou mais aplicativos e tente novamente.\"\n0x0415   \"Acesso negado.\n\nVerifique se o disco no est cheio ou se  protegido contra gravao.\"\n0x0416   \"Gerenciador de arquivo invlido.\"\n0x0418   \"Memria insuficiente.\n\nFeche um ou mais aplicativos e tente novamente.\"\n0x041c   \"Acesso a arquivo invlido.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"No foi possvel remover o diretrio atual (erro interno).\"\n0x0421   \"Dispositivo invlido.\"\n0x0422   \"O diretrio est vazio.\"\n0x0423   \"O disco  protegido contra gravao.\n\nRemova a proteo contra gravao deste disco e tente novamente.\"\n0x042d   \"No foi possvel gravar o arquivo ou disco destino.\"\n0x042f   \"No foi possvel ler o arquivo ou disco origem.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"Operao invlida.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"Acesso a rede negado. Verifique se possui permisso para executar esta operao.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"Houve violao do compartilhamento. Os arquivos de origem e destino podem estar sendo utilizados.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"Espao em disco insuficiente.\n\nExclua um ou mais arquivos e tente novamente.\"\n0x0481   \"Os arquivos de origem e destino so os mesmos.\"\n0x0482   \"Selecione somente um arquivo para ser renomeado, ou utilize os caracteres curinga do MS-DOS (por exemplo, *.TXT) para renomear um grupo de arquivos com nomes similares.\"\n0x0483   \"No  possvel renomear um arquivo para um outro diretrio ou disco.\"\n0x0484   \"Diretrio atual (erro interno).\"\n0x0486   \"O diretrio destino  um subdiretrio do diretrio origem.\"\n0x0487   \"O arquivo especificado est sendo utilizado pelo Windows.\"\n0x0488   \"Acesso negado. O arquivo origem pode estar sendo utilizado.\"\n0x0489   \"O caminho  muito comprido.\"\n0x048a   \"Especifique somente um arquivo ou diretrio na caixa Para, ou se voc desejar especificar um grupo de arquivos, utilize os caracteres curinga do MS-DOS (por examplo, *.TXT).\"\n0x048b   \"O nome de arquivo especificado j existe. Especifique um outro nome na caixa Para e tente novamente.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1,2MB\"\n0x0131   \"720K\"\n0x0132   \"1,44MB\"\n0x0133   \"2,88MB\"\n0x0134   \"Capacidade de unidade\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360K\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"Memria insuficiente.\"\n0x0192   \"No  possvel formatar a unidade de inicializao do MS-DOS.\"\n0x0193   \"A unidade de inicializao do MS-DOS possui um tamanho de setor invlido.\"\n0x0194   \"A unidade especificada  um tipo desconhecido.\"\n0x0199   \"Houve falha na transferncia dos arquivos do sistema.\"\n0x019a   \"Este disco pode ser formatado com a capacidade de %s. Continua sendo formatado com esta capacidade?\"\n0x019b   \"No foi possvel formatar este disco.\n\nVerifique se o disco est na unidade, se no  protegido contra gravao, se no est danificado ou se a densidade est errada.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00fe   \"&Diretrio:\"\n0x00ff   \"\\StringFileInfo\\040904E4\\\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01f4   \"Comentrios\"\n0x01f5   \"Nome da empresa\"\n0x01f6   \"Descrio do arquivo\"\n0x01f7   \"Nome interno\"\n0x01f8   \"Marcas registradas\"\n0x01f9   \"Nome original do arquivo\"\n0x01fa   \"Descrio particular\"\n0x01fb   \"Nome do produto\"\n0x01fc   \"Verso do produto\"\n0x01fd   \"Descrio especial\"\n0x01fe   \"Idioma\"\n0x01ff   \"Idiomas\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0222   \"Nenhum arquivo foi encontrado.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0255   \"O computador especificado no foi selecionado.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0263   \"O diretrio compartilhado no foi encontrado.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0274   \"Existem muitas redirees para a rede.\"\n0x0276   \"Senha invlida.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x02b0   \"A unidade da rede no est disponvel.\"\n0x02b1   \"Um erro ocorreu durante a leitura da unidade %c.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0f90   \"Comandos para trabalhar com arquivos\"\n0x0f91   \"Comandos para trabalhar com discos\"\n0x0f92   \"Comandos para trabalhar com a janela de diretrio\"\n0x0f93   \"Comandos para definir como a informao ser apresentada\"\n0x0f94   \"Comandos para personalizar o Gerenciador de Arquivos\"\n0x0f9a   \"Comandos para organizao de janelas\"\n0x0f9b   \"Comandos para exibir a Ajuda do Gerenciador de Arquivos\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1005   \"Abre o item selecionado \"\n0x1006   \"Imprime um documento\"\n0x1007   \"Associa um arquivo a um aplicativo\"\n0x1008   \"Localiza arquivos e diretrios\"\n0x1009   \"Inicia ou abre um aplicativo ou documento\"\n0x100a   \"Move o item selecionado\"\n0x100b   \"Copia arquivos e diretrios\"\n0x100c   \"Exclui arquivos e diretrios\"\n0x100d   \"Renomeia um arquivo ou diretrio\"\n0x100e   \"Define os atributos do arquivo e exibe as suas propriedades\"\n0x100f   \"Cria um diretrio\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1013   \"Sai do Gerenciador de Arquivos\"\n0x1014   \"Seleciona arquivos e diretrios\"\n0x1015   \"Recupera arquivos anteriormente excludos\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1069   \"Copia o contedo de um disco flexvel\"\n0x106a   \"Atribui ou altera o nome do volume de um disco\"\n0x106b   \"Formata um disco flexvel\"\n0x106c   \"Copia os arquivos do MS-DOS para um disco flexvel\"\n0x106d   \"Conecta-se a uma unidade de rede\"\n0x106e   \"Desconecta-se de uma unidade de rede\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x109b   \"Seleciona uma unidade diferente\"\n0x109c   \"Conexes da Rede...\"\n0x109d   \"Visualizar Diretrios Compartilhados...\"\n0x109e   \"Compartilha um diretrio\"\n0x109f   \"Finaliza o compartilhamento de um diretrio\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10cd   \"Exibe um outro nvel de um diretrio\"\n0x10ce   \"Exibe todos os nveis de um diretrio\"\n0x10cf   \"Exibe todos os nveis de todos os diretrios\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10d0   \"Reduz todos os diretrios de um diretrio selecionado\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1195   \"Controla a confirmao de mensagens\"\n0x1197   \"Exibe ou oculta a Barra de Status\"\n0x1198   \"Reduz o Gerenciador de Arquivos a um cone ao iniciar\"\n0x1199   \"Indica diretrios que possuem subdiretrios\"\n0x119b   \"Exibe ou oculta a Barra de Unidades\"\n0x119c   \"Exibe ou oculta a Barra de Ferramentas\"\n0x119d   \"Abre nova janela ao conectar-se\"\n0x119e   \"Altera a fonte a ser usada no Gerenciador de Arquivos \"\n0x119f   \"As definies so salvas ao sair do Gerenciador de Arquivos\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1131   \"Exibe somente os nomes dos arquivos\"\n0x1132   \"Exibe todos os detalhes dos arquivos\"\n0x1133   \"Exibe detalhes parciais dos arquivos\"\n0x1134   \"Classifica os arquivos por nome\"\n0x1135   \"Classifica os arquivos por tipo\"\n0x1136   \"Classifica os arquivos por tamanho\"\n0x1137   \"Classifica os arquivos por data\"\n0x1139   \"Exibe os arquivos de um tipo especfico\"\n0x113b   \"Exibe a rvore de diretrio\"\n0x113c   \"Exibe o contedo do diretrio atual\"\n0x113d   \"Exibe a rvore de diretrio e o contedo do diretrio atual\"\n0x113e   \"Divide uma janela de diretrio ou move a barra de diviso\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x11a0   \"Personaliza a Barra de Ferramentas\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1389   \"Organiza as janelas uma aps a outra, permitindo a visualizao das barras de ttulo\"\n0x138a   \"Organiza as janelas lado a lado verticalmente\"\n0x138b   \"Organiza as janelas lado a lado horizontalmente\"\n0x138c   \"Atualiza o contedo de uma janela ativa\"\n0x138d   \"Organiza os cones em fila na parte inferior da janela\"\n0x138e   \"Abre uma nova janela\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13ed   \"Exibe o contedo da Ajuda do Gerenciador de Arquivos\"\n0x13ee   \"Exibe informaes sobre o uso da Ajuda\"\n0x13ef   \"Exibe informaes sobre o Gerenciador de Arquivos\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0fbe   \"Procura por um tpico na Ajuda do Gerenciador de Arquivos\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0320   \"Con&ectar Unidade da Rede...\"\n0x0321   \"&Desconectar Unidade da Rede...\"\n0x0322   \"Conexes da &Rede...\"\n0x0323   \"C&ompartilhar Como...\"\n0x0324   \"F&inalizar Compartilhamento...\"\n0x0325   \"&Visualizar Diretrios Compartilhados...\"\n0x0326   \"Recuperar Arquivos &Excludos...\"\n0x0327   \"Abrir Nova &Janela ao Conectar\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.SimChin.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"ļ(&F)\"\n    BEGIN\n    MENUITEM    \"(&O)\tEnter\", 0X0065\n    MENUITEM    \"ƶ(&M)...\tF7\", 0X006A\n    MENUITEM    \"(&C)...\tF8\", 0X006B\n    MENUITEM    \"ɾ(&D)...\tDel\", 0X006C\n    MENUITEM    \"(&N)...\", 0X006D\n    MENUITEM    \"(&T)...\tAlt+Enter\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"(&R)...\", 0X0069\n    MENUITEM    \"ӡ(&P)...\", 0X0066\n    MENUITEM    \"(&A)...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Ŀ¼(&E)...\", 0X006F\n    MENUITEM    \"(&H)...\", 0X0068\n    MENUITEM    \"ѡļ(&S)...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"˳(&X)\", 0X0073\n    END\n    POPUP   \"(&D)\"\n    BEGIN\n    MENUITEM    \"ƴ(&C)...\", 0X00C9\n    MENUITEM    \"ʶ(&L)...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"ʽ(&F)...\", 0X00CB\n    MENUITEM    \"ϵͳ(&M)...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"ѡ(&S)...\", 0X00FB\n    END\n    POPUP   \"(&T)\"\n    BEGIN\n    MENUITEM    \"չһ(&X)\t+\", 0X012D\n    MENUITEM    \"չ֧(&B)\t*\", 0X012E\n    MENUITEM    \"չȫ(&A)\tCtrl+*\", 0X012F\n    MENUITEM    \"۵֧(&C)\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"עչķ֧(&I)\", 0X01F9\n    END\n    POPUP   \"鿴(&V)\"\n    BEGIN\n    MENUITEM    \"Ŀ¼(&R)\", 0X019D\n    MENUITEM    \"(&E)\", 0X019B\n    MENUITEM    \"Ŀ¼(&O)\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"ָ(&L)\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"(&N)\", 0X0191\n    MENUITEM    \"ļȫϸ(&A)\", 0X0192\n    MENUITEM    \"ϸ(&P)...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"(&S)\", 0X0194\n    MENUITEM    \"(&B)\", 0X0195\n    MENUITEM    \"С(&Z)\", 0X0196\n    MENUITEM    \"(&D)\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"ļ(&T)...\", 0X0199\n    END\n    POPUP   \"ѡ(&O)\"\n    BEGIN\n    MENUITEM    \"ȷ(&C)...\", 0X01F5\n    MENUITEM    \"(&F)...\", 0X01FE\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"״̬(&S)\", 0X01F7\n    MENUITEM    \"Զͼ(&M)\", 0X01F8\n    MENUITEM    \"˳ʱ趨ֵ(&E)\", 0X01FF\n    END\n    POPUP   \"(&W)\"\n    BEGIN\n    MENUITEM    \"½(&N)\", 0X03ED\n    MENUITEM    \"(&C)\tShift+F5\", 0X03E9\n    MENUITEM    \"ƽ(&T)\tShift+F4\", 0X03EA\n    MENUITEM    \"ͼ(&A)\", 0X03EC\n    MENUITEM    \"ˢ(&R)\tF5\", 0X03EB\n    END\n    POPUP   \"(&H)\"\n    BEGIN\n    MENUITEM    \"Ŀ¼(&C)\", 0X044D\n    MENUITEM    \"...İ(&S)\", 0X001E\n    MENUITEM    \"ʹ÷(&H)\", 0X044E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"ļ(&A)...\", 0X044F\n    END\nEND\n\n\n145 DIALOG 0x80c8, 13, 54, 269, 142\nCAPTION \"\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"(&F):\", 1088, 0x0000, 6, 3, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 13, 94, 54\n    CONTROL 0x82, \"(&Y):\", 1089, 0x0000, 108, 3, 44, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 13, 64, 54\n    CONTROL 0x82, \"С(&S):\", 1090, 0x0000, 179, 3, 30, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 179, 13, 32, 54\n    CONTROL 0x80, \"Ч\", 1072, 0x0007, 6, 72, 84, 68\n    CONTROL 0x80, \"ɾ(&K)\", 1040, 0x0003, 10, 82, 49, 10\n    CONTROL 0x80, \"»(&U)\", 1041, 0x0003, 10, 94, 51, 10\n    CONTROL 0x80, \"Сд(&L)\", 1042, 0x0003, 10, 82, 49, 10\n    CONTROL 0x82, \"ɫ(&C):\", 1091, 0x0000, 10, 106, 30, 9\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 116, 75, 50\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 218, 6, 45, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 218, 23, 45, 14\n    CONTROL 0x80, \"Ӧ(&A)...\", 1026, 0x0000, 218, 40, 45, 14\n    CONTROL 0x80, \"(&H)\", 1038, 0x0000, 218, 57, 45, 14\n    CONTROL 0x80, \"\", 1073, 0x0007, 98, 72, 165, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 124, 160, 20\n    CONTROL 0x82, \"AaBbYyZz\", 1092, 0x0081, 104, 81, 149, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 201, 86\nCAPTION \"ѡ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"(&D):\", 245, 0x000c, 5, 5, 41, 10\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 150, 6, 45, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 150, 23, 45, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 150, 44, 45, 14\nEND\n\n10 DIALOG 0x80c8, 15, 12, 210, 63\nCAPTION \"\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 3, 6, 157, 10\n    CONTROL 0x82, \"(&C):\", 100, 0x000c, 3, 18, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 134, 12\n    CONTROL 0x80, \"ʱС(&M)\", 214, 0x0003, 3, 45, 71, 12\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 160, 6, 45, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 160, 23, 45, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 160, 43, 45, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 121, 83\nCAPTION \"ѡļ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ļ(&F):\", -1, 0x000c, 5, 16, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 29, 60, 12\n    CONTROL 0x80, \"ѡ(&S)\", 1, 0x0001, 70, 6, 45, 14\n    CONTROL 0x80, \"ѡ(&D)\", 6, 0x0000, 70, 23, 45, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 70, 40, 45, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 70, 63, 45, 14\nEND\n\n39 DIALOG 0x80c8, 10, 20, 245, 95\nCAPTION \"ȷļ滻\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"滻ļ:\", 100, 0x000c, 25, 12, 49, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 75, 12, 165, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 75, 22, 170, 10\n    CONTROL 0x82, \"滻Ϊ\", 100, 0x000c, 25, 34, 49, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 75, 34, 165, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 75, 44, 170, 10\n    CONTROL 0x80, \"Ҫ(&Y)\", 6, 0x0001, 33, 73, 40, 14\n    CONTROL 0x80, \"ȫ(&A)\", 107, 0x0000, 77, 73, 44, 14\n    CONTROL 0x80, \"Ҫ(&N)\", 7, 0x0000, 125, 73, 40, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 171, 73, 40, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"ȷļɾ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 203, 10\n    CONTROL 0x82, \"ļɾ\", 100, 0x000c, 25, 18, 44, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 18, 170, 10\n    CONTROL 0x80, \"ɾ(&Y)\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"ȫɾ(&A)\", 107, 0x0000, 77, 42, 44, 14\n    CONTROL 0x80, \"ɾ(&N)\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"ȷĿ¼ɾ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Ŀ¼ɾ:\", 100, 0x000c, 25, 18, 55, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 18, 160, 10\n    CONTROL 0x80, \"ɾ(&Y)\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"ȫɾ(&A)\", 107, 0x0000, 77, 42, 44, 14\n    CONTROL 0x80, \"ɾ(&N)\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"ȷļƶ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"ƶļ:\", 100, 0x000c, 25, 18, 44, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 18, 170, 10\n    CONTROL 0x80, \"ɾ(&Y)\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"ȫɾ(&A)\", 107, 0x0000, 77, 42, 44, 14\n    CONTROL 0x80, \"ɾ(&N)\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"ȷļ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"ļ:\", 100, 0x000c, 25, 13, 54, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 13, 160, 10\n    CONTROL 0x80, \"Ҫ(&Y)\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"ȫҪ(&A)\", 107, 0x0000, 77, 42, 44, 14\n    CONTROL 0x80, \"Ҫ(&N)\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n11 DIALOG 0x80c8, 20, 20, 240, 63\nCAPTION \"ӡ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 193, 10\n    CONTROL 0x82, \"ӡ(&P):\", 100, 0x000c, 3, 20, 30, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 34, 18, 155, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 36, 190, 10\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 192, 6, 45, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 192, 23, 45, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 192, 43, 45, 14\nEND\n\n13 DIALOG 0x80c8, 20, 20, 263, 63\nCAPTION \"\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Ŀ(&S):\", 100, 0x000c, 5, 6, 45, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 52, 5, 155, 12\n    CONTROL 0x82, \"...ʼ(&F):\", 100, 0x000c, 5, 21, 45, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 52, 20, 155, 12\n    CONTROL 0x80, \"ȫĿ¼(&E)\", 232, 0x0003, 52, 34, 100, 12\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 212, 6, 45, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 212, 23, 45, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 212, 43, 45, 14\nEND\n\n14 DIALOG 0x80c8, 47, 59, 231, 64\nCAPTION \"ƶ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ǰĿ¼: N\", 101, 0x008b, 3, 6, 172, 10\n    CONTROL 0x82, \"(&T):\", 100, 0x000c, 3, 33, 20, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 37, 32, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 26, 33, 10, 10\n    CONTROL 0x80, \"Ƶ(&C)\", 256, 0x0004, 26, 47, 72, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 49, 40, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 45, 49, 130, 10\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 180, 6, 45, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 180, 23, 45, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 180, 44, 45, 14\n    CONTROL 0x82, \"...(&F):\", 100, 0x000c, 3, 19, 30, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n15 DIALOG 0x80c8, 20, 20, 246, 64\nCAPTION \"ɾ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ǰĿ¼: C\", 101, 0x008c, 3, 5, 193, 10\n    CONTROL 0x82, \"ɾ(&L):\", 100, 0x000c, 3, 20, 35, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 40, 19, 150, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 35, 35, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 40, 35, 150, 10\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 195, 6, 45, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 195, 23, 45, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 195, 43, 45, 14\nEND\n\n38 DIALOG 0x80c8, 20, 20, 206, 65\nCAPTION \"\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"%d ļѡ, ܹ %s ֽ\", 100, 0x000c, 5, 5, 144, 10\n    CONTROL 0x80, \"\", -1, 0x0007, 5, 18, 120, 42\n    CONTROL 0x80, \"ֻ(&R)\", 215, 0x0003, 10, 29, 52, 12\n    CONTROL 0x80, \"ʽ(&I)\", 216, 0x0003, 72, 29, 52, 12\n    CONTROL 0x80, \"ļ(&A)\", 217, 0x0003, 10, 41, 52, 12\n    CONTROL 0x80, \"ϵͳ(&S)\", 218, 0x0003, 72, 41, 52, 12\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 150, 6, 50, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 150, 23, 50, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 150, 43, 50, 14\nEND\n\n16 DIALOG 0x80c8, 33, 44, 231, 100\nCAPTION \"%s \"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 175, 6, 50, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 175, 23, 50, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 175, 43, 50, 14\n    CONTROL 0x82, \"ļ(&F):\", 100, 0x000c, 5, 5, 50, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 55, 4, 118, 10\n    CONTROL 0x82, \"С \", 100, 0x000c, 5, 16, 40, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 55, 16, 90, 10\n    CONTROL 0x82, \"ϴ޸ \", 100, 0x000c, 5, 27, 57, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 55, 27, 97, 10\n    CONTROL 0x82, \"·:\", 100, 0x000c, 5, 38, 46, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 55, 38, 118, 10\n    CONTROL 0x80, \"\", 100, 0x0007, 4, 52, 120, 42\n    CONTROL 0x80, \"ֻ(&R)\", 215, 0x0003, 9, 64, 52, 12\n    CONTROL 0x80, \"ʽ(&I)\", 216, 0x0003, 71, 64, 49, 12\n    CONTROL 0x80, \"ļ(&A)\", 217, 0x0003, 9, 76, 52, 12\n    CONTROL 0x80, \"ϵͳ(&S)\", 218, 0x0003, 71, 76, 49, 12\nEND\n\n17 DIALOG 0x80c8, 20, 20, 200, 63\nCAPTION \"Ŀ¼\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"(&N):\", 100, 0x000c, 3, 23, 30, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 40, 22, 100, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 46, 150, 10\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 152, 6, 45, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 152, 23, 45, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 152, 43, 45, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 157, 64\nCAPTION \"ϵͳ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ϵͳļ(&C):\", -1, 0x000c, 5, 8, 100, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 30, 20, 40, 37\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 105, 6, 45, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 105, 23, 45, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 105, 43, 45, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 157, 64\nCAPTION \"ƴ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Դ(&S):\", -1, 0x000c, 5, 8, 50, 10\n    CONTROL 0x85, \"\", 245, 0x0003, 57, 6, 40, 37\n    CONTROL 0x82, \"Ŀ(&D):\", 206, 0x000c, 5, 22, 50, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 57, 20, 40, 37\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 109, 6, 45, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 109, 23, 45, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 109, 43, 45, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 55\nCAPTION \"ƴ\"\nFONT 12, \"System\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"ڸλ\", 100, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \" A \", 222, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \"Դ\", 243, 0x0001, 0, 26, 130, 10\n    CONTROL 0x80, \"ȡ\", 2, 0x0001, 44, 39, 44, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 161, 63\nCAPTION \"ʶ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ʶ(&L):\", 100, 0x000c, 5, 15, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 100, 12\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 112, 6, 45, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 112, 23, 45, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 112, 43, 45, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 183, 96\nCAPTION \"ʽ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 135, 6, 45, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 135, 23, 45, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 135, 43, 45, 14\n    CONTROL 0x82, \"...(&D):\", -1, 0x000c, 5, 7, 49, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 4, 65, 40\n    CONTROL 0x82, \"(&C):\", 100, 0x000c, 5, 20, 49, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 55, 19, 65, 40\n    CONTROL 0x80, \"ѡ\", 102, 0x0007, 5, 39, 115, 53\n    CONTROL 0x82, \"ʶ(&L):\", -1, 0x000c, 11, 51, 39, 10\n    CONTROL 0x81, \"\", 201, 0x0000, 50, 49, 63, 12\n    CONTROL 0x80, \"ϵͳ(&M)\", 242, 0x0003, 11, 62, 90, 12\n    CONTROL 0x80, \"ٸʽ(&Q)\", 244, 0x0003, 11, 76, 90, 12\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 50\nCAPTION \"ʽ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ڸʽ\", 100, 0x0001, 0, 5, 150, 10\n    CONTROL 0x82, \"ʼ...\", 243, 0x0001, 0, 17, 150, 10\n    CONTROL 0x80, \"ȡ\", 2, 0x0001, 54, 30, 44, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 174, 57\nCAPTION \"ϵͳ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ڸϵͳļ\", 100, 0x0001, 0, 6, 174, 8\n    CONTROL 0x82, \"Ҫ, 밴ȡ.\", 100, 0x0001, 0, 14, 174, 8\n    CONTROL 0x80, \"ȡ\", 2, 0x0001, 66, 39, 44, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 241, 135\nCAPTION \"\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"\", -1, 0x0007, 5, 3, 170, 55\n    CONTROL 0x82, \"·(&N):\", -1, 0x0000, 10, 16, 55, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 65, 14, 100, 12\n    CONTROL 0x82, \"(&R):\", -1, 0x0000, 10, 30, 55, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 65, 28, 40, 100\n    CONTROL 0x82, \"(&W):\", -1, 0x0000, 10, 44, 36, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 65, 42, 100, 12\n    CONTROL 0x82, \"Ŀǰ(&V)\", -1, 0x0000, 5, 62, 120, 10\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 160, 60\n    CONTROL 0x80, \"ر(&L)\", 2, 0x0001, 190, 6, 45, 14\n    CONTROL 0x80, \"(&C)\", 1, 0x0000, 190, 27, 45, 14\n    CONTROL 0x80, \"ǰ(&P)...\", 226, 0x0000, 190, 44, 45, 14\n    CONTROL 0x80, \"(&B)...\", 227, 0x0000, 190, 61, 45, 14\n    CONTROL 0x80, \"ж(&D)\", 255, 0x0000, 190, 78, 45, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 190, 95, 45, 14\nEND\n\n29 DIALOG 0x80c8, 30, 30, 231, 98\nCAPTION \"ǰ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"·(&P):\", 100, 0x000c, 3, 3, 69, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 3, 15, 172, 80\n    CONTROL 0x80, \"ѡ(&S)\", 1, 0x0001, 181, 6, 44, 14\n    CONTROL 0x80, \"ر\", 2, 0x0000, 181, 24, 44, 14\n    CONTROL 0x80, \"ɾ(&D)\", 219, 0x0000, 181, 41, 44, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 181, 58, 44, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 168, 65\nCAPTION \"ϸ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"ϸ\", 100, 0x0007, 4, 4, 111, 55\n    CONTROL 0x80, \"С(&S)\", 203, 0x0003, 11, 15, 100, 9\n    CONTROL 0x80, \"ϴ޸(&M)\", 204, 0x0003, 11, 25, 100, 9\n    CONTROL 0x80, \"ϴ޸ʱ(&T)\", 205, 0x0003, 11, 35, 100, 9\n    CONTROL 0x80, \"ļ(&F)\", 206, 0x0003, 11, 45, 100, 9\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 120, 6, 45, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 120, 23, 45, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 120, 43, 45, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 157, 102\nCAPTION \"ļ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"(&N):\", 100, 0x000c, 5, 8, 29, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"ļ\", 100, 0x0007, 5, 20, 94, 62\n    CONTROL 0x80, \"Ŀ¼(&D)\", 101, 0x0003, 10, 31, 60, 12\n    CONTROL 0x80, \"(&P)\", 210, 0x0003, 10, 43, 60, 12\n    CONTROL 0x80, \"ĵ(&M)\", 211, 0x0003, 10, 55, 60, 12\n    CONTROL 0x80, \"ļ(&O)\", 212, 0x0003, 10, 67, 60, 12\n    CONTROL 0x80, \"ʾʽ/ϵͳļ(&S)\", 250, 0x0003, 5, 85, 100, 12\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 107, 6, 45, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 107, 23, 45, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 107, 43, 45, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 164, 80\nCAPTION \"ȷ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"ȷ\", 100, 0x0007, 5, 3, 108, 73\n    CONTROL 0x80, \"ļɾ(&D)\", 219, 0x0003, 10, 15, 80, 12\n    CONTROL 0x80, \"Ŀ¼ɾ(&I)\", 220, 0x0003, 10, 27, 80, 12\n    CONTROL 0x80, \"ļ滻(&R)\", 221, 0x0003, 10, 39, 80, 12\n    CONTROL 0x80, \"궯(&M)\", 249, 0x0003, 10, 51, 80, 12\n    CONTROL 0x80, \"̲(&K)\", 251, 0x0003, 10, 63, 80, 12\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 115, 6, 45, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 115, 23, 45, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 115, 44, 45, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 250, 46\nCAPTION \"ƶ...\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 5, 49, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 55, 5, 192, 10\n    CONTROL 0x82, \":\", 108, 0x008b, 5, 15, 25, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 55, 15, 192, 10\n    CONTROL 0x80, \"ȡ\", 2, 0x0001, 200, 28, 40, 14\nEND\n\n36 DIALOG 0x80c8, 20, 20, 120, 58\nCAPTION \"\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ӡļ...\", -1, 0x0001, 4, 6, 120, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 4, 20, 120, 12\n    CONTROL 0x80, \"ȡ\", 2, 0x0001, 44, 40, 32, 14\nEND\n\n12 DIALOG 0x80c8, 31, 39, 211, 96\nCAPTION \"\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ļչ(&F):\", 99, 0x000c, 5, 8, 60, 10\n    CONTROL 0x81, \"\", 112, 0x0400, 65, 6, 50, 12\n    CONTROL 0x82, \"ļ(&A):\", 99, 0x000c, 5, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 5, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 11, 44, 146, 40\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 162, 6, 45, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 162, 23, 45, 14\n    CONTROL 0x80, \"(&B)...\", 232, 0x0000, 162, 43, 45, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 162, 60, 45, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 250, 78\nCAPTION \"ѡļ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"· DOS ļʽ. .\", 99, 0x0000, 4, 9, 196, 11\n    CONTROL 0x82, \"(&N):\", 99, 0x0002, 5, 56, 50, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 57, 55, 130, 12\n    CONTROL 0x82, \"ԭʼ·:\", 99, 0x0002, 5, 28, 50, 11\n    CONTROL 0x81, \"\", 102, 0x0880, 57, 28, 130, 12\n    CONTROL 0x82, \"Ŀ¼:\", 99, 0x0002, 5, 42, 50, 11\n    CONTROL 0x81, \"\", 101, 0x0880, 57, 42, 130, 12\n    CONTROL 0x80, \"ȷ\", 1, 0x0001, 205, 4, 44, 14\n    CONTROL 0x80, \"ȡ\", 2, 0x0000, 205, 20, 44, 14\n    CONTROL 0x80, \"(&H)\", 254, 0x0000, 205, 36, 44, 14\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"˳ Windows\"\n0x0029   \" Windows .\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"ƴ\"\n0x0033   \"Ŀ.\"\n0x0034   \"Դ.\"\n0x0035   \"Դ̺ĿĴ.\"\n0x0036   \"ʽĿĴ.\"\n0x0037   \"ƴ̴\"\n0x0038   \"ܸƴ.\"\n0x003a   \"Դ̺Ŀ̵.\"\n0x003c   \" %d%% \"\n0x003d   \"Ŀ¼...\"\n0x003e   \"ϵͳļ...\"\n0x003f   \"ʽ̴\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"û㹻Ĵ̿ռӡ.\n\nɾһļӴ̿ռ, Ȼһ.\"\n0x00c1   \"û㹻ڴӡ.\n\n˳һӦó, Ȼһ.\"\n0x00c2   \"ӡʱ.\n\nȷӡȷ,ѡ.\"\n0x00c3   \"ʾĿ¼\"\n0x00c5   \"ĿĴ.\n\nһ̺.\"\n0x00c6   \"һϵͳļʽļֻļ.\"\n0x00c7   \"ܿٸʽ.\n\nǷĸʽ ?\"\n0x00c8   \"ָӦó Windows  MS-DOS .\"\n0x00c9   \"ӦóҪ°汾 Microsoft Windows.\"\n0x00ca   \"ӦóҪ Windows .\"\n0x00cb   \"Ӧóʱ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"ܸʽ.\"\n0x0042   \"ɸʽ\"\n0x0043   \"ȫ̿ռ乲 %ld ֽ\nô̿ռΪ %ld ֽ\n\nǷҪʽһ ?\"\n0x0046   \"ϵͳ\"\n0x0047   \"ǷȷҪϵͳļƵ %C Ĵ ?\"\n0x0048   \"ϵͳ̴\"\n0x0049   \"MS-DOS ûϵͳļϵͳļʹ.\"\n0x004a   \"޷ϵͳļ MS-DOS .\"\n0x004b   \"޷ϵͳļ뵽˴.\n\nȷеĴѸʽ, ѹر.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"\"\n0x0053   \" Windows ϵͳļ, ܶϿ.\"\n0x005b   \"޷ı.\n\nȷ˴ûд.\"\n0x005c   \"޷Ŀ¼.\n\nȷ˴ûд.\"\n0x005d   \"޷.\n\n˴Ƿд, ǷΪ, ԼʶǷϷ.ʶвַܺ:\n[space] * ? / \\ | . , ; : + = [ ] ( ) & ^ < > \" \"\n0x005f   \"Ҳƥļ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \" %d ļ (%s ֽ)\"\n0x00b5   \"ѶȡĿ¼: %d \"\n0x00b6   \"%c: %s KB ,  %s KB \"\n0x00b7   \"ҵ %d ļ\"\n0x00b9   \"ѡļ\"\n0x00ba   \"޷Ͽ.\n\nеļѴ.\"\n0x00bb   \"ѡ %d ļ (%s ֽ)\"\n0x00bc   \" %c ûд.\n\n,һ.\"\n0x00bd   \" %c еĴûиʽ.\n\nǷڸʽ?\"\n0x00bf   \"ҲҪӡļ. ȷָ·ļǷȷ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"Ŀ¼Ѵ.\"\n0x0061   \"Ѿ޸. ǷҪ ?\"\n0x0065   \" %c:%c\"\n0x006e   \"޷г\"\n0x006f   \": %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"ʽϵ. ǷȷҪʽ %c еĴ ?\"\n0x00d3   \"ȷϸʽ\"\n0x00d4   \"˲ɾĿĴϵ. Ƿ ?\"\n0x00d5   \"ȷϸƴ\"\n0x00d6   \"ر(&C)\"\n0x00d7   \"ɾ(&U)...\"\n0x00d8   \"(&N)...\"\n0x00d9   \"(&N)...\"\n0x00da   \"Ŀ¼ %s .\n\nǷҪ ?\"\n0x00db   \"Programs#*.exe;*.pif;*.com;*.bat#All Files (*.*)#*.*#\"\n0x00dc   \"\"\n0x00dd   \"\"\n0x00de   \"޷ӡļ\"\n0x00df   \"ʾϢ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"û㹻ڴָӦó.\n\n˳һӦó,һ.\"\n0x0071   \"ҵļ (һ).\n\nȷ·ļȷ, Ҫĳⶼǿõ.\"\n0x0072   \"ָ·Ƿ.\"\n0x0073   \"ǰʹõļ̫.\n\n˳һӦó CONFIG.SYS е FILES ֵ, Ȼһ.\"\n0x0074   \"ûӦóļ.\n\nļ˵ѡ''.\"\n0x0075   \"ָĶ.\"\n0x0076   \"ܴ򿪻ӡļ.\n\nļӦó, Ӧóд򿪻ӡļ.\"\n0x0078   \"ȷ\"\n0x0079   \"ȷǷҪѡļĿ¼Ƶ %s ?\"\n0x007a   \"ȷǷҪѡļĿ¼ƶ %s ?\"\n0x007b   \"ȷǷҪ%s, ҽ %s Ϊʼļ ?\"\n0x007c   \"ļ\"\n0x007e   \"Ŀ¼\"\n0x007f   \": \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"չ %s ļǳ, һӦó.\"\n0x00e1   \"%s ǳ, չ.\"\n0x00e2   \"()\"\n0x00e3   \"Ҳļ.\"\n0x00e4   \"޷ӡļ.\n\nֻѡһļ, Ȼһ.\"\n0x00e5   \"һѹ.\n\n MS-DOS չóưװеļ.\"\n0x00e6   \"дӦóҪһļѱƻ. °װӦó.\"\n0x00e7   \"ļӦóʹ.\"\n0x00e8   \"ļ޷ȡĿ¼ \"%s\"Ѵļ.\n\nǷ ?\"\n0x00e9   \"Ŀ¼\"\n0x00ea   \"%ld ֽ\"\n0x00eb   \"%s ֽ\"\n0x00ec   \"޷ƶļĿ¼.\n\nѡļ, һ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"ļ̫\"\n0x0085   \"ļ - ڴ治\"\n0x0086   \"ܶĿ¼. ֻʾб.\"\n0x008c   \"ǰĿ¼: %s\"\n0x008d   \"\"\n0x008f   \"\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"ʽ\"\n0x0092   \"ѡҪʽĴ.\"\n0x0094   \"Ͽ(&D)...\"\n0x0096   \":\"\n0x0097   \"ɾ...\"\n0x0098   \":\"\n0x0099   \"..\"\n0x009a   \"ƶ...\"\n0x009b   \"ɾ...\"\n0x009c   \"ӡ: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \" %c .\"\n0x00a9   \"...\"\n0x00aa   \"ɾ:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"...\"\n0x01a5   \"ر...\"\n0x01a6   \"򿪵Ŀ¼̫, رһ, Ȼһ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"ƶļʱ\"\n0x03ea   \"ļʱ\"\n0x03eb   \"ɾļʱ\"\n0x03ec   \"ļʱ\"\n0x03ed   \"ѡʱ\"\n0x03ee   \"ȡĿ¼ʱ\"\n0x03ef   \"ʱ\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"ƶ %s: %s\"\n0x03f4   \"ܸ %s: %s\"\n0x03f5   \"ɾ %s: %s\"\n0x03f6   \"ܸ %s: %s\"\n0x03fd   \"ܴĿ¼ %s: %s\"\n0x03fe   \"ƶĿ¼ %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"ܴ滻 %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Ƿ DOS \"\n0x0412   \"޷ҵļ.\n\nȷָ·ļǷȷ.\"\n0x0413   \"޷ҵ·.\n\nȷָ·Ƿȷ.\"\n0x0414   \"ʹõļ̫. ˳һӦó.\"\n0x0415   \"ֹȡ.\n\nȷǷôδûд.\"\n0x0416   \"Ƿļ\"\n0x0418   \"û㹻ڴ.\n\n˳һӦó, һ.\"\n0x041c   \"Ƿļȡ\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"޷ɾǰĿ¼ (ڲ).\"\n0x0421   \"Ƿ豸\"\n0x0422   \"Ŀ¼ǿյ.\"\n0x0423   \"д.\n\nȥϵдʹһŴ, һ.\"\n0x042d   \"дʧ. Ŀļ̿.\"\n0x042f   \"ȡʧ. Դļ̿.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"ǷĲ\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"ֹȡ. ȷǷִд˲Ȩ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \". ԴĿʹ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"û㹻Ĵ̿ռ.\n\nɾһļӴ̿ռ, һ.\"\n0x0481   \"ԴĿͬ.\"\n0x0482   \"ֻѡһļ,  MS-DOS ͨ (, *.TXT) һֵļ.\"\n0x0483   \"޷һͬĿ¼.\"\n0x0484   \"Ŀ¼ (ڲ).\"\n0x0486   \"ĿĿ¼ԴĿ¼µĿ¼.\"\n0x0487   \"ļ Windows ʹ.\"\n0x0488   \"ֹȡ. Դļʹ.\"\n0x0489   \"·̫.\"\n0x048a   \" '...' , ָֻһļĿ¼. ,Ҫָһļ,  MS-DOS ͨ (, *.TXT).\"\n0x048b   \"ָļѴ. һ,  '...' ָһͬ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1.2 MB\"\n0x0131   \"720K\"\n0x0132   \"1.44 MB\"\n0x0133   \"2.88 MB\"\n0x0134   \"\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360K\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"û㹻ڴ.\"\n0x0192   \"޷ʽ MS-DOS .\"\n0x0193   \"MS-DOS С.\"\n0x0194   \"δ֪Ĵ.\"\n0x0199   \"ϵͳļʧ.\"\n0x019a   \"˴ܸʽΪ %s . Ƿ񰴴ʽ ?\"\n0x019b   \"޷ʽ.\n\nȷ˴Ƿڴ,ûдûҲǴܶȲ.\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.Spanish.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"&Archivo\"\n    BEGIN\n    MENUITEM    \"&Abrir\tEntrar\", 0X0065\n    MENUITEM    \"&Mover...\tF7\", 0X006A\n    MENUITEM    \"&Copiar...\tF8\", 0X006B\n    MENUITEM    \"&Eliminar...\tSupr\", 0X006C\n    MENUITEM    \"Cambiar &nombre...\", 0X006D\n    MENUITEM    \"&Propiedades...\tAlt+Entrar\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Ejec&utar...\", 0X0069\n    MENUITEM    \"&Imprimir...\", 0X0066\n    MENUITEM    \"As&ociar...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Crear &directorio...\", 0X006F\n    MENUITEM    \"&Buscar...\", 0X0068\n    MENUITEM    \"Se&leccionar archivos...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Salir\", 0X0073\n    END\n    POPUP   \"&Disco\"\n    BEGIN\n    MENUITEM    \"&Copiar disquete...\", 0X00C9\n    MENUITEM    \"&Asignar nombre al disco...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Dar formato al disquete...\", 0X00CB\n    MENUITEM    \"&Hacer disquete de sistema...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Seleccionar unidad...\", 0X00FB\n    END\n    POPUP   \"A&rbol\"\n    BEGIN\n    MENUITEM    \"Expandir un &nivel\t+\", 0X012D\n    MENUITEM    \"Expandir &rama\t*\", 0X012E\n    MENUITEM    \"Expandir &todo\tCtrl+*\", 0X012F\n    MENUITEM    \"&Contraer rama\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Indicar ramas expansibles\", 0X01F9\n    END\n    POPUP   \"&Ver\"\n    BEGIN\n    MENUITEM    \"Arbol y &directorio\", 0X019D\n    MENUITEM    \"S&lo rbol\", 0X019B\n    MENUITEM    \"Slo d&irectorio\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Separar\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Nombre\", 0X0191\n    MENUITEM    \"&Todos los detalles de los archivos\", 0X0192\n    MENUITEM    \"D&etalles parciales...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Ordenar por nombre\", 0X0194\n    MENUITEM    \"O&rdenar por tipo\", 0X0195\n    MENUITEM    \"Orden&ar por tamao\", 0X0196\n    MENUITEM    \"Ordenar por &fecha\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Por tipo de archivo...\", 0X0199\n    END\n    POPUP   \"&Opciones\"\n    BEGIN\n    MENUITEM    \"&Confirmacin...\", 0X01F5\n    MENUITEM    \"&Fuente...\", 0X01FE\n    MENUITEM    \"&Personalizar barra de herramientas...\", 0X0200\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Barra de &herramientas\", 0X01FC\n    MENUITEM    \"Barra de &unidades\", 0X01FB\n    MENUITEM    \"&Barra de estado\", 0X01F7\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Minimizar Administrador de archivos\", 0X01F8\n    MENUITEM    \"&Guardar configuracin al salir\", 0X01FF\n    END\n    POPUP   \"V&entana\"\n    BEGIN\n    MENUITEM    \"&Nueva ventana\", 0X0452\n    MENUITEM    \"&Cascada\tShift+F5\", 0X044D\n    MENUITEM    \"Mosaico &horizontal\", 0X044F\n    MENUITEM    \"&Mosaico vertical\tShift+F4\", 0X044E\n    MENUITEM    \"&Organizar iconos\", 0X0451\n    MENUITEM    \"&Actualizar\tF5\", 0X0450\n    END\n    POPUP   \"Ay&uda\"\n    BEGIN\n    MENUITEM    \"&Indice\", 0X04B1\n    MENUITEM    \"&Buscar ayuda sobre...\", 0X001E\n    MENUITEM    \"&Uso de la Ayuda\", 0X04B2\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Acerca del Administrador de archivos...\", 0X04B3\n    END\nEND\n\n\n145 DIALOG 0x80c8, 27, 16, 263, 173\nCAPTION \"Fuente\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Fuente:\", 1088, 0x0000, 5, 2, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 12, 94, 54\n    CONTROL 0x82, \"&Estilo de fuente:\", 1089, 0x0000, 102, 2, 58, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 12, 64, 54\n    CONTROL 0x82, \"&Tamao:\", 1090, 0x0000, 174, 2, 30, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 179, 12, 32, 54\n    CONTROL 0x80, \"Efectos\", 1072, 0x0007, 7, 70, 84, 62\n    CONTROL 0x80, \"Tacha&do\", 1040, 0x0003, 10, 82, 49, 10\n    CONTROL 0x80, \"&Subrayado\", 1041, 0x0003, 10, 94, 51, 10\n    CONTROL 0x80, \"&Minscula\", 1042, 0x0003, 10, 82, 49, 10\n    CONTROL 0x82, \"&Color:\", 1091, 0x0000, 9, 106, 30, 9\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 116, 75, 54\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 220, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 220, 23, 40, 14\n    CONTROL 0x80, \"Ap&licar\", 1026, 0x0000, 220, 40, 40, 14\n    CONTROL 0x80, \"Ay&uda\", 1038, 0x0000, 220, 57, 40, 14\n    CONTROL 0x80, \"Muestra\", 1073, 0x0007, 97, 72, 160, 60\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 135, 160, 36\n    CONTROL 0x82, \"AaBbYyZz\", 1092, 0x0081, 103, 81, 149, 47\nEND\n\n45 DIALOG 0x80c8, 36, 28, 201, 86\nCAPTION \"Seleccionar unidad\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"U&nidades:\", 245, 0x000c, 5, 3, 41, 10\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 155, 18, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 155, 35, 40, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 155, 52, 40, 14\nEND\n\n10 DIALOG 0x80c8, 36, 28, 210, 63\nCAPTION \"Ejecutar\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 3, 6, 162, 10\n    CONTROL 0x82, \"&Lnea de comandos:\", 100, 0x000c, 3, 18, 66, 9\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 134, 12\n    CONTROL 0x80, \"Ejecutar &minimizado\", 214, 0x0003, 3, 45, 77, 12\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 165, 9, 42, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 165, 26, 42, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 165, 43, 42, 14\nEND\n\n44 DIALOG 0x80c8, 36, 28, 173, 84\nCAPTION \"Seleccionar archivos\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"A&rchivo(s):\", -1, 0x000c, 5, 10, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 23, 81, 12\n    CONTROL 0x80, \"&Seleccionar\", 1, 0x0001, 96, 6, 71, 14\n    CONTROL 0x80, \"Ca&ncelar seleccin\", 6, 0x0000, 96, 25, 71, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 96, 44, 71, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 96, 63, 71, 14\nEND\n\n39 DIALOG 0x80c8, 36, 28, 259, 95\nCAPTION \"Confirmar Reemplazar archivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 4, 16, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 26, 2, 203, 10\n    CONTROL 0x82, \"Reemplazar archivo:\", 100, 0x000c, 33, 16, 69, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 109, 16, 145, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 75, 26, 179, 10\n    CONTROL 0x82, \"Con archivo:\", 100, 0x000c, 33, 40, 45, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 90, 40, 164, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 75, 53, 179, 10\n    CONTROL 0x80, \"&S\", 6, 0x0001, 39, 75, 40, 14\n    CONTROL 0x80, \"S a &todo\", 107, 0x0000, 85, 75, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 131, 75, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 177, 75, 40, 14\nEND\n\n40 DIALOG 0x80c8, 36, 28, 261, 60\nCAPTION \"Confirmar Eliminar archivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 2, 19, 18, 20\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 203, 10\n    CONTROL 0x82, \"Eliminar archivo:\", 100, 0x000c, 29, 23, 56, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 87, 22, 170, 10\n    CONTROL 0x80, \"&S\", 6, 0x0001, 42, 42, 40, 14\n    CONTROL 0x80, \"S a &todo\", 107, 0x0000, 88, 42, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 134, 42, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 180, 42, 40, 14\nEND\n\n41 DIALOG 0x80c8, 36, 28, 272, 60\nCAPTION \"Confirmar Eliminar directorio\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 22, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Eliminar directorio:\", 100, 0x000c, 29, 23, 62, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 101, 23, 154, 10\n    CONTROL 0x80, \"&S\", 6, 0x0001, 49, 44, 40, 14\n    CONTROL 0x80, \"S a &todo\", 107, 0x0000, 96, 44, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 143, 44, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 190, 44, 40, 14\nEND\n\n42 DIALOG 0x80c8, 37, 28, 265, 60\nCAPTION \"Confirmar Mover archivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 19, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Mover archivo:\", 100, 0x000c, 31, 20, 51, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 88, 20, 166, 10\n    CONTROL 0x80, \"&S\", 6, 0x0001, 43, 41, 40, 14\n    CONTROL 0x80, \"S a &todo\", 107, 0x0000, 89, 41, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 135, 41, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 181, 41, 40, 14\nEND\n\n43 DIALOG 0x80c8, 36, 28, 270, 60\nCAPTION \"Confirmar Cambiar nombre del archivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 5, 21, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 4, 203, 10\n    CONTROL 0x82, \"Cambiar el nombre del archivo:\", 100, 0x000c, 31, 21, 101, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 137, 20, 126, 10\n    CONTROL 0x80, \"&S\", 6, 0x0001, 47, 41, 40, 14\n    CONTROL 0x80, \"S a &todo\", 107, 0x0000, 93, 41, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 139, 41, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 185, 41, 40, 14\nEND\n\n11 DIALOG 0x80c8, 36, 28, 240, 63\nCAPTION \"Imprimir\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 189, 10\n    CONTROL 0x82, \"&Imprimir:\", 100, 0x000c, 3, 20, 27, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 33, 18, 160, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 36, 189, 10\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 196, 8, 42, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 196, 27, 42, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 196, 46, 42, 14\nEND\n\n13 DIALOG 0x80c8, 20, 27, 270, 66\nCAPTION \"Buscar\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Buscar:\", 100, 0x000c, 2, 6, 30, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 60, 5, 160, 12\n    CONTROL 0x82, \"&Comenzar desde:\", 100, 0x000c, 2, 21, 57, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 60, 20, 160, 12\n    CONTROL 0x80, \"Buscar en &todos los subdirectorios\", 232, 0x0003, 60, 36, 130, 12\n    CONTROL 0x82, \"\", 104, 0x000c, 5, 50, 200, 12\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 225, 7, 42, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 225, 24, 42, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 225, 42, 42, 13\nEND\n\n14 DIALOG 0x80c8, 47, 59, 231, 78\nCAPTION \"Mover\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Directorio actual: N\", 101, 0x008b, 3, 6, 171, 10\n    CONTROL 0x82, \"&A:\", 100, 0x000c, 3, 33, 20, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 37, 32, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 26, 33, 10, 10\n    CONTROL 0x80, \"&Copiar en el Portapapeles\", 256, 0x0004, 26, 47, 102, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 63, 85, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 92, 63, 132, 10\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 185, 24, 40, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 185, 42, 40, 14\n    CONTROL 0x82, \"&De:\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n10014 DIALOG 0x80c8, 47, 59, 261, 98\nCAPTION \"Mover\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Directorio actual: N\", 101, 0x008b, 3, 6, 212, 10\n    CONTROL 0x82, \"&A:\", 100, 0x000c, 17, 38, 20, 10\n    CONTROL 0x62, \"edit\", 103, 0x0004, 67, 38, 142, 42\n    CONTROL 0x50, \"\", 256, 0x0401, 14848, 9984, 2304, 2560\n    CONTROL 0x80, \"&Copiar en el Portapapeles\", 256, 0x0004, 58, 83, 96, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 4, 84, 51, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 34, 84, 99, 10\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 218, 14, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 218, 32, 40, 14\n    CONTROL 0x80, \"E&xaminar\", 600, 0x0000, 218, 50, 40, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 218, 68, 40, 14\n    CONTROL 0x82, \"&De:\", 100, 0x000c, 17, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 67, 18, 142, 12\nEND\n\n200 DIALOG 0x00c8, 36, 24, 164, 134\nCAPTION \"Seleccionar directorio\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x81, \"\", 1152, 0x0490, 10, 15, 90, 11\n    CONTROL 0x83, \"\", 1120, 0x0053, 9, 28, 93, 69\n    CONTROL 0x82, \"&Directorios:\", -1, 0x0000, 7, 6, 92, 9\n    CONTROL 0x82, \"\", 1088, 0x0000, 10, 15, 90, 11\n    CONTROL 0x83, \"\", 1121, 0x0053, 9, 28, 93, 69\n    CONTROL 0x82, \"U&nidades:\", 1091, 0x0000, 11, 100, 92, 9\n    CONTROL 0x85, \"\", 1137, 0x0353, 10, 112, 92, 68\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 108, 6, 50, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 108, 24, 50, 14\n    CONTROL 0x82, \"Nom&bre del archivo:\", 1090, 0x0000, 6, 6, 76, 9\n    CONTROL 0x82, \"&Mostrar archivos de tipo:\", 1089, 0x0000, 6, 104, 90, 9\n    CONTROL 0x85, \"\", 1136, 0x0043, 6, 114, 90, 36\n    CONTROL 0x80, \"Ay&uda\", 1038, 0x0000, 208, 46, 50, 14\n    CONTROL 0x80, \"&Slo lectura\", 1040, 0x0003, 208, 68, 50, 12\nEND\n\n15 DIALOG 0x80c8, 36, 28, 244, 64\nCAPTION \"Eliminar\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Directorio actual: C\", 101, 0x008c, 2, 5, 193, 10\n    CONTROL 0x82, \"&Eliminar:\", 100, 0x000c, 16, 20, 35, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 63, 19, 132, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 39, 57, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 63, 39, 132, 10\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 201, 9, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 201, 26, 40, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 201, 43, 40, 14\nEND\n\n38 DIALOG 0x80c8, 36, 28, 206, 71\nCAPTION \"Propiedades\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"%d archivos seleccionados. Total: %s bytes\", 100, 0x000c, 5, 6, 168, 10\n    CONTROL 0x80, \"Atributos\", -1, 0x0007, 5, 18, 120, 42\n    CONTROL 0x80, \"&Slo lectura\", 215, 0x0003, 10, 29, 52, 12\n    CONTROL 0x80, \"&Oculto\", 216, 0x0003, 73, 29, 49, 12\n    CONTROL 0x80, \"&Modificado\", 217, 0x0003, 10, 41, 52, 12\n    CONTROL 0x80, \"&De sistema\", 218, 0x0003, 73, 41, 49, 12\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 162, 16, 42, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 162, 33, 42, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 162, 50, 42, 14\nEND\n\n16 DIALOG 0x80c8, 8, -19, 265, 196\nCAPTION \"Propiedades de %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 208, 3, 53, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 208, 19, 53, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 208, 35, 53, 14\n    CONTROL 0x82, \"&Nombre del archivo:\", 261, 0x000c, 5, 5, 67, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 75, 5, 129, 10\n    CONTROL 0x82, \"&Ruta de acceso:\", 100, 0x000c, 5, 16, 68, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 75, 16, 129, 10\n    CONTROL 0x82, \"Ultimo cambio:\", 100, 0x000c, 5, 27, 49, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 75, 27, 129, 10\n    CONTROL 0x82, \"Versin:\", 258, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"No existe\", 259, 0x008c, 75, 38, 90, 10\n    CONTROL 0x82, \"&Copyright:\", -1, 0x0000, 5, 49, 45, 9\n    CONTROL 0x81, \"No existe\", 265, 0x0880, 75, 49, 131, 11\n    CONTROL 0x82, \"Tamao:\", 260, 0x000c, 5, 60, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 75, 60, 128, 10\n    CONTROL 0x80, \"Atributos\", 100, 0x0007, 5, 75, 119, 39\n    CONTROL 0x80, \"&Slo lectura\", 215, 0x0003, 9, 86, 52, 12\n    CONTROL 0x80, \"&Oculto\", 216, 0x0003, 71, 86, 49, 12\n    CONTROL 0x80, \"&Modificado\", 217, 0x0003, 9, 98, 52, 12\n    CONTROL 0x80, \"&De sistema\", 218, 0x0003, 71, 98, 49, 12\n    CONTROL 0x80, \"Informacin de la &versin\", 262, 0x0007, 4, 121, 258, 72\n    CONTROL 0x83, \"\", 263, 0x1003, 9, 132, 119, 58\n    CONTROL 0x81, \"\", 264, 0x0804, 130, 132, 129, 58\nEND\n\n17 DIALOG 0x80c8, 36, 28, 200, 63\nCAPTION \"Crear directorio\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Nombre:\", 100, 0x000c, 2, 23, 31, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 38, 22, 90, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 46, 150, 10\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 157, 7, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 157, 24, 40, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 157, 41, 40, 14\nEND\n\n10017 DIALOG 0x80c8, 20, 20, 240, 74\nCAPTION \"Crear directorio\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Nombre:\", 100, 0x000c, 3, 28, 28, 10\n    CONTROL 0x62, \"edit\", 201, 0x0000, 3, 40, 170, 18\n    CONTROL 0x50, \"\", 26624, 0x8c00, 768, 15360, -27136, 2560\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 197, 24, 40, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 197, 42, 40, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 157, 64\nCAPTION \"Hacer disquete de sistema\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Copiar archivos de sistema al disquete en:\", -1, 0x000c, 5, 8, 144, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 53, 20, 52, 44\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 9, 44, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 58, 44, 40, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 107, 44, 40, 14\nEND\n\n19 DIALOG 0x80c8, 36, 28, 147, 64\nCAPTION \"Copiar disquete\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Origen de entrada:\", -1, 0x000c, 7, 9, 62, 11\n    CONTROL 0x85, \"\", 245, 0x0003, 78, 7, 44, 37\n    CONTROL 0x82, \"&Destino:\", 206, 0x000c, 7, 25, 50, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 78, 25, 44, 37\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 7, 44, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 56, 44, 40, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 104, 44, 40, 14\nEND\n\n22 DIALOG 0x90c8, 36, 28, 130, 55\nCAPTION \"Copiando el disquete\"\nFONT 8, \"Helv\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"Copiando ahora el disquete en\", 100, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \"Unidad A:\", 222, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \"Leyendo el disquete de origen\", 243, 0x0001, 0, 26, 130, 10\n    CONTROL 0x80, \"Cancelar\", 2, 0x0001, 44, 39, 40, 14\nEND\n\n23 DIALOG 0x80c8, 36, 28, 161, 63\nCAPTION \"Asignar nombre al disco\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Nombre:\", 100, 0x000c, 5, 15, 41, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 100, 12\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 117, 8, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 117, 25, 40, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 117, 42, 40, 14\nEND\n\n24 DIALOG 0x90c8, 36, 28, 198, 96\nCAPTION \"Dar formato al disquete\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 154, 4, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 154, 21, 40, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 154, 38, 40, 14\n    CONTROL 0x82, \"&Disquete insertado en:\", -1, 0x000c, 5, 7, 75, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 83, 4, 65, 40\n    CONTROL 0x82, \"&Capacidad:\", 100, 0x000c, 5, 20, 44, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 83, 19, 65, 40\n    CONTROL 0x80, \"Opciones\", 102, 0x0007, 5, 39, 120, 53\n    CONTROL 0x82, \"&Nombre:\", -1, 0x000c, 11, 51, 28, 10\n    CONTROL 0x81, \"\", 201, 0x0000, 40, 49, 63, 12\n    CONTROL 0x80, \"&Hacer un disquete de sistema\", 242, 0x0003, 11, 62, 109, 12\n    CONTROL 0x80, \"&Formato rpido\", 244, 0x0003, 11, 76, 90, 12\nEND\n\n26 DIALOG 0x90c8, 36, 28, 150, 50\nCAPTION \"Dando formato al disquete\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Dando ahora formato al disquete\", 100, 0x0001, 0, 5, 150, 10\n    CONTROL 0x82, \"Inicializando la unidad...\", 243, 0x0001, 0, 17, 150, 10\n    CONTROL 0x80, \"Cancelar\", 2, 0x0001, 54, 30, 40, 14\nEND\n\n27 DIALOG 0x90c8, 36, 28, 174, 57\nCAPTION \"Hacer un disquete de sistema\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Copiando ahora los archivos de sistema\", 100, 0x0001, 0, 6, 171, 11\n    CONTROL 0x82, \"Presione Cancelar si desea anular.\", 100, 0x0001, 0, 18, 174, 12\n    CONTROL 0x80, \"Cancelar\", 2, 0x0001, 66, 39, 40, 14\nEND\n\n28 DIALOG 0x80c8, 36, 29, 268, 153\nCAPTION \"Conexiones de red\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Nueva conexin\", -1, 0x0007, 4, 8, 203, 59\n    CONTROL 0x82, \"&Ruta de acceso de la red:\", -1, 0x0000, 10, 22, 86, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 98, 20, 100, 12\n    CONTROL 0x82, \"U&nidad:\", -1, 0x0000, 10, 37, 24, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 98, 34, 40, 100\n    CONTROL 0x82, \"Contr&asea:\", -1, 0x0000, 10, 50, 46, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 98, 48, 100, 12\n    CONTROL 0x82, \"Con&exiones de la unidad actual:\", -1, 0x0000, 4, 78, 124, 9\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 90, 160, 60\n    CONTROL 0x80, \"&Cerrar\", 2, 0x0001, 213, 16, 51, 14\n    CONTROL 0x80, \"C&onectar\", 1, 0x0000, 213, 33, 51, 14\n    CONTROL 0x80, \"&Previas...\", 226, 0x0000, 213, 50, 51, 14\n    CONTROL 0x80, \"E&xaminar...\", 227, 0x0000, 213, 67, 51, 14\n    CONTROL 0x80, \"&Desconectar\", 255, 0x0000, 213, 84, 51, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 213, 101, 51, 14\nEND\n\n29 DIALOG 0x80c8, 36, 28, 231, 98\nCAPTION \"Conexiones previas de la red\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Rutas de acceso de la red:\", 100, 0x000c, 3, 2, 93, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 3, 15, 172, 80\n    CONTROL 0x80, \"&Seleccionar\", 1, 0x0001, 180, 14, 48, 14\n    CONTROL 0x80, \"Cerrar\", 2, 0x0000, 180, 31, 48, 14\n    CONTROL 0x80, \"&Eliminar\", 219, 0x0000, 180, 48, 48, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 180, 65, 48, 14\nEND\n\n30 DIALOG 0x80c8, 36, 28, 181, 65\nCAPTION \"Detalles parciales\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Detalles\", 100, 0x0007, 4, 4, 127, 55\n    CONTROL 0x80, \"&Tamao\", 203, 0x0003, 11, 15, 100, 9\n    CONTROL 0x80, \"&Fecha de la ltima modificacin\", 204, 0x0003, 11, 25, 118, 9\n    CONTROL 0x80, \"&Hora de la ltima modificacin\", 205, 0x0003, 11, 35, 116, 9\n    CONTROL 0x80, \"Atri&butos de los archivos\", 206, 0x0003, 11, 45, 100, 9\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 137, 8, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 137, 25, 40, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 137, 42, 40, 14\nEND\n\n32 DIALOG 0x80c8, 36, 28, 157, 102\nCAPTION \"Por tipo de archivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Nombre:\", 100, 0x000c, 5, 8, 28, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"Tipo de archivo\", 100, 0x0007, 5, 20, 94, 62\n    CONTROL 0x80, \"&Directorios\", 101, 0x0003, 10, 31, 60, 12\n    CONTROL 0x80, \"&Programas\", 210, 0x0003, 10, 43, 60, 12\n    CONTROL 0x80, \"Do&cumentos\", 211, 0x0003, 10, 55, 60, 12\n    CONTROL 0x80, \"&Otros archivos\", 212, 0x0003, 10, 67, 60, 12\n    CONTROL 0x80, \"&Mostrar archivos ocultos/sistema\", 250, 0x0003, 5, 84, 128, 12\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 110, 13, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 110, 30, 40, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 110, 47, 40, 14\nEND\n\n33 DIALOG 0x80c8, 36, 28, 164, 80\nCAPTION \"Confirmacin\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Confirmar: \", 100, 0x0007, 5, 3, 108, 73\n    CONTROL 0x80, \"Eliminar &archivo\", 219, 0x0003, 10, 15, 80, 12\n    CONTROL 0x80, \"Eliminar &directorio\", 220, 0x0003, 10, 27, 80, 12\n    CONTROL 0x80, \"&Reemplazar archivo\", 221, 0x0003, 10, 39, 80, 12\n    CONTROL 0x80, \"Accin del &Mouse\", 249, 0x0003, 10, 51, 80, 12\n    CONTROL 0x80, \"&Comandos de disco\", 251, 0x0003, 10, 63, 80, 12\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 119, 14, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 119, 34, 40, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 119, 54, 40, 14\nEND\n\n35 DIALOG 0x80c8, 36, 28, 247, 51\nCAPTION \"Moviendo...\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 5, 43, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 52, 4, 195, 10\n    CONTROL 0x82, \"A:\", 108, 0x008b, 20, 17, 18, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 38, 17, 195, 10\n    CONTROL 0x80, \"Cancelar\", 2, 0x0001, 198, 30, 40, 14\nEND\n\n36 DIALOG 0x80c8, 36, 28, 120, 58\nCAPTION \"\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Imprimiendo archivo...\", -1, 0x0001, 0, 6, 120, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 0, 20, 120, 12\n    CONTROL 0x80, \"Cancelar\", 2, 0x0001, 39, 40, 40, 14\nEND\n\n12 DIALOG 0x80c8, 36, 28, 234, 96\nCAPTION \"Asociar\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"A&rchivos con extensin:\", 99, 0x000c, 5, 8, 79, 10\n    CONTROL 0x81, \"\", 112, 0x0400, 86, 6, 35, 12\n    CONTROL 0x82, \"A&sociar con:\", 99, 0x000c, 5, 21, 53, 9\n    CONTROL 0x81, \"\", 113, 0x0080, 4, 32, 171, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 4, 44, 172, 40\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 184, 15, 46, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 184, 34, 46, 14\n    CONTROL 0x80, \"E&xaminar...\", 232, 0x0000, 184, 53, 46, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 184, 72, 46, 14\nEND\n\n46 DIALOG 0x80c8, 36, 28, 270, 78\nCAPTION \"Seleccionar un nombre de archivo\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"La ruta de acceso no cumple con el formato de DOS para nombres de archivo. Seleccione un nuevo nombre.\", 99, 0x0000, 4, 2, 208, 24\n    CONTROL 0x82, \"&Nuevo nombre:\", 99, 0x0002, 36, 56, 50, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 90, 55, 128, 12\n    CONTROL 0x82, \"Ruta de acceso original:\", 99, 0x0002, 4, 30, 82, 11\n    CONTROL 0x81, \"\", 102, 0x0880, 90, 28, 126, 12\n    CONTROL 0x82, \"Directorio:\", 99, 0x0002, 44, 41, 42, 11\n    CONTROL 0x81, \"\", 101, 0x0880, 90, 41, 126, 12\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 228, 13, 40, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 228, 29, 40, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 228, 45, 40, 14\nEND\n\n48 DIALOG 0x80c8, 23, 13, 250, 107\nCAPTION \"Propiedades de %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Aceptar\", 1, 0x0001, 193, 28, 55, 14\n    CONTROL 0x80, \"Cancelar\", 2, 0x0000, 193, 46, 55, 14\n    CONTROL 0x80, \"Ay&uda\", 254, 0x0000, 193, 64, 55, 14\n    CONTROL 0x82, \"&Nombre del archivo:\", 261, 0x000c, 5, 5, 73, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 82, 5, 97, 10\n    CONTROL 0x82, \"&Ruta de acceso:\", 100, 0x000c, 5, 16, 55, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 81, 16, 97, 10\n    CONTROL 0x82, \"Ultimo cambio:\", 100, 0x000c, 5, 27, 62, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 82, 27, 97, 10\n    CONTROL 0x82, \"Tamao:\", 260, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 82, 37, 90, 10\n    CONTROL 0x80, \"Atributos\", 100, 0x0007, 4, 52, 120, 42\n    CONTROL 0x80, \"&Slo lectura\", 215, 0x0003, 9, 64, 52, 12\n    CONTROL 0x80, \"&Oculto\", 216, 0x0003, 71, 64, 49, 12\n    CONTROL 0x80, \"&Modificado\", 217, 0x0003, 9, 76, 52, 12\n    CONTROL 0x80, \"&De sistema\", 218, 0x0003, 71, 76, 49, 12\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0101   \"(Directorio raz)\"\n0x0102   \"(no corresponde)\"\n0x0103   \"Compartido como %s\"\n0x0104   \"No compartido\"\n0x0107   \"Copiando archivos a %s\"\n0x0108   \"Moviendo archivos a %s\"\n0x0109   \"Ejecutando archivos con %s\"\n0x010a   \"%s bytes\"\n0x010b   \"%sKB\"\n0x010c   \"%sMB\"\n0x010d   \"%sGB\"\n0x010e   \"%sTB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"Salir de Windows\"\n0x0029   \"Esto finalizar su sesin de Windows.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"Copiar disquete\"\n0x0033   \"Inserte el disquete de destino.\"\n0x0034   \"Inserte el disquete de origen.\"\n0x0035   \"Inserte los disquetes de origen y de destino.\"\n0x0036   \"Dando formato al disquete de destino.\"\n0x0037   \"Error al copiar el disquete\"\n0x0038   \"No se puede copiar el disquete.\"\n0x003a   \"Las unidades de origen y de destino son incompatibles.\"\n0x003c   \"%d%% terminado\"\n0x003d   \"Creando el directorio raz....\"\n0x003e   \"Copiando los archivos de sistema...\"\n0x003f   \"Error de formato de disquete\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"No hay espacio suficiente en el disquete para imprimir.\n\nElimine los archivos innecesarios para incrementar el espacio en el disquete y vuelva a intentar la operacin.\"\n0x00c1   \"No hay memoria suficiente para imprimir.\n\nCierre una o ms aplicaciones y vuelva a intentar la operacin.\"\n0x00c2   \"Ha ocurrido un error durante la impresin.\n\nAsegrese de que la impresora est configurada y seleccionada adecuadamente.\"\n0x00c3   \"Se ha presentado un rbol de directorio incompleto\"\n0x00c5   \"La unidad de destino est llena.\n\nInserte un disquete nuevo para continuar.\"\n0x00c6   \"Esto es un archivo de sistema, oculto o de slo lectura.\"\n0x00c7   \"El Administrador de archivos no puede realizar un formato rpido.\n\nDesea continuar con el formato normal?\"\n0x00c8   \"La aplicacin especificada no es un aplicacin para MS-DOS o Windows.\"\n0x00c9   \"Esta aplicacin requiere una versin actualizada de Microsoft Windows.\"\n0x00ca   \"Esta aplicacin requiere Windows.\"\n0x00cb   \"Ha ocurrido un error al enviar el comando a la aplicacin.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"No se puede dar formato al disquete.\"\n0x0042   \"Se termin de dar formato\"\n0x0043   \"Espacio total en el disquete %ld bytes\n%ld bytes disponibles en el disquete.\n\nDesea dar formato a otro disquete?\"\n0x0046   \"Hacer disquete de sistema\"\n0x0047   \"Est seguro de que desea copiar los archivos de sistema en el disquete en la unidad %c?\"\n0x0048   \"Error de disquete de sistema\"\n0x0049   \"La unidad de inicio de MS-DOS no contiene los archivos de sistema o no est disponible.\"\n0x004a   \"No se pueden copiar los archivos de sistema en la unidad de inicio de MS-DOS.\"\n0x004b   \"No se pueden agregar los archivos de sistema a este disquete.\n\nAsegrese de que la unidad tiene un disquete con formato y de que la puerta de la unidad est cerrada.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"El Administrador de archivos no puede crear o reemplazar %s: %s\"\n0x0408   \"El administrador de archivos no puede crear un disquete de sistema MS-DOS porque Windows NT multi-inicializable no est instalado en su computadora.  Para hacer un disquete de sistema, use la utilidad SYS desde la lnea de comandos MS-DOS.\"\n0x0409   \"Desea formatear ahora el disquete sin transferir el sistema?\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"Error de la red\"\n0x0053   \"Esta unidad contiene los archivos de sistema de Windows y no se puede desconectar.\"\n0x005b   \"El Administrador de archivos no puede cambiar los atributos.\n\nAsegrese de que el disquete no est protegido contra escritura.\"\n0x005c   \"El Administrador de archivos no puede crear el directorio.\n\nAsegrese de que el disquete no est protegido contra escritura.\"\n0x005d   \"El Administrador de archivos no puede poner un nombre al disquete.\n\nAsegrese de que el disquete no est protegido contra escritura y de que el rtulo es vlido.\nLos rtulos no pueden contener:\n[espacio]  * ? / \\ | . , ; : + = [ ] ( ) & ^ < > \" \"\n0x005f   \"No se han encontrado archivos coincidentes.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"Total %d archivo(s) (%s)\"\n0x00b5   \"Directorios ledos: %d \"\n0x00b6   \"%c: %s libres,  %s en total\"\n0x00b7   \"%d archivo(s) encontrados\"\n0x00b9   \"los archivos seleccionados\"\n0x00ba   \"El Administrador de archivos no puede desconectar la unidad de red porque hay archivos abiertos.\"\n0x00bb   \"%d Archivo(s) elegido(s) (%s) \"\n0x00bc   \"No hay disquete en la unidad %c.\n\nInserte un disquete y vuelva a intentar la operacin.\"\n0x00bd   \"El disquete en la unidad %c no tiene formato.\n\nDesea darle formato ahora?\"\n0x00bf   \"No se ha encontrado el archivo a imprimir. Asegrese de que la ruta de acceso y el nombre del archivo sean correctos.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"El directorio especificado ya existe.\"\n0x0061   \"El contenido de esta unidad ha cambiado. Desea actualizar la ventana 'Resultado de la bsqueda'?\"\n0x0065   \"Unidad %c:%c\"\n0x006e   \"No se puede ejecutar el programa\"\n0x006f   \"Error inesperado: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"Al dar formato se borrar TODA la informacin de su disquete. Est seguro de que desea dar formato al disquete en la unidad %c?\"\n0x00d3   \"Confirmar Dar formato al disco\"\n0x00d4   \"Esta operacin borrar TODOS los datos del disquete de destino. Est seguro que desea continuar?\"\n0x00d5   \"Confirmar Copiar disco\"\n0x00d6   \"&Cerrar\"\n0x00da   \"No existe el directorio %s.\n\nDesea crearlo?\"\n0x00db   \"Programas#*.exe;*.pif;*.com;*.bat#Todos los archivos (*.*)#*.*#\"\n0x00dc   \"Examinar\"\n0x00dd   \"Ejecutar\"\n0x00de   \"No se puede imprimir el archivo\"\n0x00df   \"No se puede mostrar la informacin de Ayuda.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"No hay memoria suficiente para iniciar la aplicacin especificada.\n\nCierre una o ms aplicaciones y vuelva a intentar la operacin.\"\n0x0071   \"El Administrador de archivos no ha encontrado el archivo especificado (o alguno de sus componentes).\n\nAsegrese de que la ruta de acceso y el nombre de archivo sean correctos y de que todas las bibliotecas requeridas estn disponibles.\"\n0x0072   \"La ruta especificada no es vlida.\"\n0x0073   \"Hay demasiados archivos en uso.\n\nCierre una o ms aplicaciones o incremente el valor de FILES en CONFIG.SYS y vuelva a intentar la operacin.\"\n0x0074   \"No hay ninguna aplicacin asociada con este archivo.\n\nElija Asociar en el men Archivo para crear una asociacin.\"\n0x0075   \"No se puede iniciar ms de una copia del programa especificado.\"\n0x0076   \"El Administrador de archivos no puede abrir o imprimir el archivo.\n\nInicie la aplicacin con la cual se cre el archivo y bralo o imprmalo desde esa aplicacin.\"\n0x0078   \"Confirmar operacin del Mouse\"\n0x0079   \"Est seguro de que desea copiar los archivos o directorios seleccionados a %s?\"\n0x007a   \"Est seguro de que desea mover los archivos o directorios seleccionados a %s?\"\n0x007b   \"Est seguro de que desea iniciar %s usando %s como archivo inicial?\"\n0x007c   \"Administrador de archivos\"\n0x007e   \"Arbol de directorios\"\n0x007f   \"Resultado de la bsqueda: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"Los archivos con la extensin %s son programas y no pueden ser asociados con otra aplicacin.\"\n0x00e1   \"%s no es un programa y no puede ser asociado con una extensin de archivo.\"\n0x00e2   \"(Ninguno)\"\n0x00e4   \"El Administrador de archivos no puede imprimir mltiples archivos.\n\nSeleccione slo uno y vuelva a intentar la operacin.\"\n0x00e5   \"Este programa o alguno de sus componentes est comprimido.\n\nUtilice la utilidad de expansin de MS-DOS para copiar el archivo de los disquetes de instalacin.\"\n0x00e6   \"Uno de los archivos de la biblioteca necesarios para ejecutar esta aplicacin est daado. Vuelva a instalar la aplicacin.\"\n0x00e7   \"Este archivo est siendo utilizado por otra aplicacin.\"\n0x00e8   \"El Administrador de archivos puede que no tenga acceso a los archivos creados en el directorio \"%s\".\n\nDesea continuar?\"\n0x00e9   \"Crear directorio\"\n0x00ea   \"%ld bytes\"\n0x00eb   \"%s bytes\"\n0x00ec   \"No puede copiar mltiples archivos o directorios al Portapapeles.\n\nSeleccione slo uno y vuelva a intentar la operacin.\"\n0x00ed   \"%s - %s\"\n0x00ee   \"Unidad:\"\n0x00ef   \"%s, \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"Demasiados archivos\"\n0x0085   \"Administrador de archivos - Falto de memoria\"\n0x0086   \"No se puede leer todo el directorio. Slo se mostrar una lista parcial.\"\n0x008c   \"Directorio actual: %s\"\n0x008d   \"Copiar\"\n0x008f   \"Cambiar nombre\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"Dar formato al disquete\"\n0x0092   \"Seleccione el disquete al que se dar formato.\"\n0x0096   \"Creando:\"\n0x0097   \"Eliminando...\"\n0x0098   \"Copiando:\"\n0x0099   \"Cambiando el nombre...\"\n0x009a   \"Moviendo...\"\n0x009b   \"Eliminando...\"\n0x009c   \"Imprimiendo: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"No existe la unidad %c.\"\n0x00a9   \"Copiando...\"\n0x00aa   \"Quitando:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"Abriendo...\"\n0x01a5   \"Cerrando...\"\n0x01a6   \"Hay demasiadas ventanas de directorios abiertas.\n\nCierre una o ms ventanas y vuelva a intentar la operacin.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"Error al mover el archivo\"\n0x03ea   \"Error al copiar el archivo\"\n0x03eb   \"Error al eliminar el archivo\"\n0x03ec   \"Error al cambiar el nombre del archivo\"\n0x03ed   \"Error al seleccionar la unidad\"\n0x03ee   \"Error al leer el directorio\"\n0x03ef   \"Error al asignar un nombre al disco\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"El Administrador de archivos no puede mover %s: %s\"\n0x03f4   \"El Administrador de archivos no puede copiar %s: %s\"\n0x03f5   \"El Administrador de archivos no puede eliminar %s: %s\"\n0x03f6   \"El Administrador de archivos no puede cambiar el nombre de %s: %s\"\n0x03fd   \"El Administrador de archivos no puede crear el directorio %s: %s\"\n0x03fe   \"El Administrador de archivos no puede eliminar el directorio %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Funcin de MS-DOS no vlida.\"\n0x0412   \"El Administrador de archivos no ha encontrado el archivo especificado.\n\nVerifique que la ruta de acceso y el nombre del archivo sean correctos.\"\n0x0413   \"El Administrador de archivos no ha encontrado la ruta de acceso.\n\nVerifique que sea correcta.\"\n0x0414   \"Hay demasiados archivos en uso. Cierre una o ms aplicaciones y vuelva a intentar la operacin.\"\n0x0415   \"Acceso denegado.\n\nVerifique que el disco no est lleno o protegido contra escritura.\"\n0x0416   \"Identificador de archivo no vlido.\"\n0x0418   \"Memoria insuficiente.\n\nCierre una o ms aplicaciones y vuelva a intentar la operacin.\"\n0x041c   \"Acceso de archivo no vlido.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"El Administrador de archivos no puede eliminar el directorio actual (error interno).\"\n0x0421   \"Dispositivo no vlido.\"\n0x0422   \"El directorio est vaco.\"\n0x0423   \"El disquete est protegido contra escritura.\n\nQuite la proteccin o utilice otro disquete y vuelva a intentar la operacin.\"\n0x042d   \"El Administrador de archivos no puede escribir en el archivo o disquete de destino. \"\n0x042f   \"El Administrador de archivos no puede leer el archivo o disquete de origen.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"Operacin no vlida.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"Denegado el acceso a la red. Asegrese de que tenga la autorizacin correcta de red para realizar esta operacin.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"Violacin de compartir. Los archivos de origen o de destino pueden estar en uso.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"Espacio insuficiente en el disco.\n\nElimine uno o ms archivos para crear ms espacio y vuelva a intentar la operacin.\"\n0x0481   \"Los nombres de los archivos de origen y de destino son iguales.\"\n0x0482   \"Seleccione solamente un archivo para cambiar el nombre, o utilice comodines de MS-DOS (por ejemplo *.TXT) para cambiar el nombre a un grupo de archivos con nombres similares.\"\n0x0483   \"No se puede cambiar el nombre a un directorio o disco diferente.\"\n0x0484   \"Directorio raz (error interno).\"\n0x0486   \"El directorio de destino es un subdirectorio del directorio origen.\"\n0x0487   \"El archivo especificado est siendo utilizado por Windows.\"\n0x0488   \"Acceso denegado. Puede que el archivo de origen est en uso.\"\n0x0489   \"Ruta demasiada larga.\"\n0x048a   \"Especifique solamente un archivo o directorio en el cuadro A. O bien, si desea especificar un grupo de archivos, utilice los comodines de MS-DOS (por ejemplo *.TXT).\"\n0x048b   \"El nombre especificado ya existe. Vuelva a intentar la operacin y especifique un nombre diferente en el cuadro A.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1,2 MB\"\n0x0131   \"720K\"\n0x0132   \"1,44 MB\"\n0x0133   \"2,88 MB\"\n0x0134   \"Capacidad de la unidad\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360K\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"Memoria insuficiente.\"\n0x0192   \"No se puede dar formato a la unidad de inicio de MS-DOS.\"\n0x0193   \"La unidad de inicio de MS-DOS no tiene un tamao de sector vlido.\"\n0x0194   \"Tipo de unidad desconocido.\"\n0x0199   \"El Administrador de archivos no pudo transferir los archivos de sistema.\"\n0x019a   \"Se puede dar formato con una capacidad de %s a este disquete. Desea continuar dando formato con esta capacidad?\"\n0x019b   \"El Administrador de archivos no puede dar formato al disquete.\n\nAsegrese de que el disquete est en la unidad y no est protegido contra escritura, daado o tenga densidad incorrecta.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00fe   \"&Nombre del directorio:\"\n0x00ff   \"\\StringFileInfo\\040A04E4\\\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01f4   \"Comentarios\"\n0x01f5   \"Nombre de la empresa\"\n0x01f6   \"Descripcin del archivo\"\n0x01f7   \"Nombre interno\"\n0x01f8   \"Marcas registradas\"\n0x01f9   \"Nombre original del archivo\"\n0x01fa   \"Descripcin\"\n0x01fb   \"Nombre del producto\"\n0x01fc   \"Versin del producto\"\n0x01fd   \"Descripcin especial\"\n0x01fe   \"Idioma\"\n0x01ff   \"Idiomas\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0222   \"No se ha encontrado ningn archivo.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0255   \"No se ha encontrado la computadora especificada.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0263   \"No se puede encontrar el directorio compartido.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0274   \"Hay demasiadas redirecciones de red.\"\n0x0276   \"Contrasea no vlida.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x02b0   \"La unidad de red no est disponible.\"\n0x02b1   \"Ha ocurrido un error al leer la unidad %c:.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0f90   \"Comandos para trabajar con archivos\"\n0x0f91   \"Comandos para trabajar con disquetes\"\n0x0f92   \"Comandos para trabajar en la ventana de directorio\"\n0x0f93   \"Comandos para presentar informacin\"\n0x0f94   \"Comandos para configurar opciones\"\n0x0f9a   \"Comandos para organizar ventanas\"\n0x0f9b   \"Comandos para mostrar la Ayuda del Administrador de archivos\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1005   \"Abrir un elemento seleccionado\"\n0x1006   \"Imprimir un documento\"\n0x1007   \"Asociar un archivo con una aplicacin\"\n0x1008   \"Buscar archivos y directorios\"\n0x1009   \"Iniciar o abrir una aplicacin o documento\"\n0x100a   \"Mover el elemento seleccionado\"\n0x100b   \"Copiar archivos y directorios\"\n0x100c   \"Eliminar archivos y directorios\"\n0x100d   \"Cambiar el nombre de un archivo o directorio\"\n0x100e   \"Establecer los atributos de archivos y mostrar las propiedades\"\n0x100f   \"Crear un directorio\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1013   \"Salir del Administrador de archivos\"\n0x1014   \"Seleccionar archivos y directorios\"\n0x1015   \"Recuperar archivos eliminados anteriormente\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1069   \"Copiar el contenido a un disquete\"\n0x106a   \"Asignar o cambiar la etiqueta del volumen de disco\"\n0x106b   \"Dar formato a un disquete\"\n0x106c   \"Copiar archivos de MS-DOS a un disquete\"\n0x106d   \"Conectar a una unidad de red\"\n0x106e   \"Desconectar una unidad de red\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x109b   \"Seleccionar una unidad diferente\"\n0x109c   \"Conexiones de red...\"\n0x109d   \"Ver directorios compartidos...\"\n0x109e   \"Compartir un directorio\"\n0x109f   \"Dejar de compartir un directorio\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10cd   \"Mostrar otro nivel de un directorio\"\n0x10ce   \"Mostrar todos los niveles de un directorio\"\n0x10cf   \"Mostrar todos los niveles de todos los directorios\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10d0   \"Contraer todos los directorios de un directorio seleccionado\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1195   \"Controlar la confirmacin de mensajes\"\n0x1197   \"Mostrar u ocultar la barra de estado\"\n0x1198   \"Reducir el Administrador de archivos a un icono al inicio\"\n0x1199   \"Indicar directorios que contienen subdirectorios\"\n0x119b   \"Mostrar u ocultar la barra de unidades\"\n0x119c   \"Mostrar u ocultar la barra de herramientas\"\n0x119d   \"Abrir una ventana nueva al conectarse a la red\"\n0x119e   \"Cambiar la fuente del Administrador de archivos\"\n0x119f   \"Guardar configuraciones al salir del Administrador de archivos\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1131   \"Mostrar slo los nombres de archivos\"\n0x1132   \"Mostrar todos los detalles de los archivos\"\n0x1133   \"Mostrar detalles parciales de los archivos\"\n0x1134   \"Ordenar archivos por nombre\"\n0x1135   \"Ordenar archivos por tipo\"\n0x1136   \"Ordenar archivos por tamao\"\n0x1137   \"Ordenar archivos por fecha\"\n0x1139   \"Mostrar archivos del tipo especificado\"\n0x113b   \"Mostrar el rbol de directorios\"\n0x113c   \"Mostrar el contenido del directorio actual\"\n0x113d   \"Mostrar el rbol de directorios y el contenido del directorio actual\"\n0x113e   \"Separar la ventana de directorios o mover la barra de separacin\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x11a0   \"Personalizar la barra de herramientas\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13f0   \"Actualizar el contenido de una ventana\"\n0x13f1   \"Organizar los iconos\"\n0x13f2   \"Abrir una nueva ventana\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13ed   \"Mostrar el contenido de la Ayuda del Administrador de archivos\"\n0x13ee   \"Mostrar informacin sobre el uso de la Ayuda\"\n0x13ef   \"Mostrar informacin acerca del Administrador de archivos\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1451   \"Mostrar el ndice de la Ayuda del Administrador de archivos\"\n0x1452   \"Mostrar informacin acerca del uso de la Ayuda\"\n0x1453   \"Mostrar informacin acerca del Administrador de archivos\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0fbe   \"Buscar un tema en la Ayuda del Administrador de archivos\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0320   \"Co&nectar a unidad de red...\"\n0x0321   \"Desconectar &unidad de red...\"\n0x0322   \"Conexiones de &red...\"\n0x0323   \"Compartir di&rectorio...\"\n0x0324   \"Dejar de c&ompartir...\"\n0x0325   \"&Mostrar directorios compartidos...\"\n0x0326   \"&Recuperar...\"\n0x0327   \"&Abrir nueva ventana al conectar\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.Swedish.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"&Arkiv\"\n    BEGIN\n    MENUITEM    \"&ppna\tRetur\", 0X0065\n    MENUITEM    \"&Flytta...\tF7\", 0X006A\n    MENUITEM    \"Ko&piera...\tF8\", 0X006B\n    MENUITEM    \"&Ta bort...\tDel\", 0X006C\n    MENUITEM    \"Byt &namn...\", 0X006D\n    MENUITEM    \"&Information...\tAlt+Retur\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Kr...\", 0X0069\n    MENUITEM    \"Skriv &ut...\", 0X0066\n    MENUITEM    \"Asso&ciera...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Skapa kata&log...\", 0X006F\n    MENUITEM    \"&Sk...\", 0X0068\n    MENUITEM    \"&Markera filer...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Avsluta\", 0X0073\n    END\n    POPUP   \"&Disk\"\n    BEGIN\n    MENUITEM    \"Ko&piera diskett...\", 0X00C9\n    MENUITEM    \"&Namnge diskett...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Formatera diskett...\", 0X00CB\n    MENUITEM    \"&Gr en systemdiskett...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Vlj &enhet...\", 0X00FB\n    END\n    POPUP   \"&Trd\"\n    BEGIN\n    MENUITEM    \"Utka e&n niv\t+\", 0X012D\n    MENUITEM    \"Visa &underkataloger\t*\", 0X012E\n    MENUITEM    \"Utk&a alla\tCtrl+*\", 0X012F\n    MENUITEM    \"Dlj underkatal&oger\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Indikera underkatalog\", 0X01F9\n    END\n    POPUP   \"Vi&sa\"\n    BEGIN\n    MENUITEM    \"T&rd och kataloger\", 0X019D\n    MENUITEM    \"&Endast trd\", 0X019B\n    MENUITEM    \"Endast &katalog\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Delning&slist\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Namn\", 0X0191\n    MENUITEM    \"&All filinformation\", 0X0192\n    MENUITEM    \"&Vlj filinformation\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Sortera efter na&mn\", 0X0194\n    MENUITEM    \"Sor&tera efter typ\", 0X0195\n    MENUITEM    \"Sortera efter stor&lek\", 0X0196\n    MENUITEM    \"Sortera efter &datum\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Visa &filtyp...\", 0X0199\n    END\n    POPUP   \"Alternati&v\"\n    BEGIN\n    MENUITEM    \"&Bekrftelse...\", 0X01F5\n    MENUITEM    \"&Teckensnitt...\", 0X01FE\n    MENUITEM    \"&Anpassa verktygsflt...\", 0X0200\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Verktygsflt\", 0X01FC\n    MENUITEM    \"&Enhetsflt\", 0X01FB\n    MENUITEM    \"Status&flt\", 0X01F7\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Minimera vid anvndning\", 0X01F8\n    MENUITEM    \"&Spara instllningar vid avslutning\", 0X01FF\n    END\n    POPUP   \"F&nster\"\n    BEGIN\n    MENUITEM    \"&Nytt fnster\", 0X0452\n    MENUITEM    \"&verlappande\tSkift+F5\", 0X044D\n    MENUITEM    \"ver och &under\", 0X044F\n    MENUITEM    \"&Sida vid sida\tSkift+F4\", 0X044E\n    MENUITEM    \"&Ordna ikoner\", 0X0451\n    MENUITEM    \"U&ppdatera\tF5\", 0X0450\n    END\n    POPUP   \"&?\"\n    BEGIN\n    MENUITEM    \"&Innehll\", 0X04B1\n    MENUITEM    \"&Sk hjlp om...\", 0X001E\n    MENUITEM    \"Anvnda &Hjlp\", 0X04B2\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Om Filhanteraren...\", 0X04B3\n    END\nEND\n\n\n145 DIALOG 0x80c8, 13, 54, 267, 151\nCAPTION \"Teckensnitt\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Teckensnitt:\", 1088, 0x0000, 6, 3, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 13, 94, 54\n    CONTROL 0x82, \"St&il:\", 1089, 0x0000, 108, 3, 44, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 13, 64, 54\n    CONTROL 0x82, \"&Storlek:\", 1090, 0x0000, 179, 3, 30, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 179, 13, 32, 54\n    CONTROL 0x80, \"Effekter\", 1072, 0x0007, 6, 72, 84, 61\n    CONTROL 0x80, \"Ge&nomstruken\", 1040, 0x0003, 10, 82, 58, 10\n    CONTROL 0x80, \"&Understruken\", 1041, 0x0003, 10, 94, 55, 10\n    CONTROL 0x80, \"&Gemener\", 1042, 0x0003, 10, 82, 60, 10\n    CONTROL 0x82, \"&Frg:\", 1091, 0x0000, 10, 106, 30, 9\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 116, 75, 50\n    CONTROL 0x80, \"OK\", 1, 0x0001, 218, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 218, 23, 40, 14\n    CONTROL 0x80, \"&Anvnd\", 1026, 0x0000, 218, 40, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 1038, 0x0000, 218, 57, 40, 14\n    CONTROL 0x80, \"Exempel\", 1073, 0x0007, 98, 72, 160, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 124, 160, 20\n    CONTROL 0x82, \"AaBbYyZz\", 1092, 0x0081, 104, 85, 149, 33\nEND\n\n45 DIALOG 0x80c8, 11, 31, 201, 86\nCAPTION \"Vlj enhet\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Enheter:\", 245, 0x000c, 5, 5, 41, 10\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"OK\", 1, 0x0001, 155, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 155, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 155, 44, 40, 14\nEND\n\n10 DIALOG 0x80c8, 15, 12, 210, 63\nCAPTION \"Kr\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 3, 6, 162, 10\n    CONTROL 0x82, \"&Kommandorad:\", 100, 0x000c, 3, 18, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 134, 12\n    CONTROL 0x80, \"Kr &minimerad\", 214, 0x0003, 3, 45, 71, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 165, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 165, 43, 40, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 116, 83\nCAPTION \"Markera filer\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Fil(er):\", -1, 0x000c, 5, 16, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 29, 60, 12\n    CONTROL 0x80, \"&Markera\", 1, 0x0001, 70, 6, 40, 14\n    CONTROL 0x80, \" &Avmarkera\", 6, 0x0000, 70, 23, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 70, 40, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 70, 63, 40, 14\nEND\n\n39 DIALOG 0x80c8, 10, 20, 245, 95\nCAPTION \"Bekrfta ersttning av fil\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Erstt fil:\", 100, 0x000c, 25, 12, 49, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 75, 12, 165, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 75, 22, 170, 10\n    CONTROL 0x82, \"med fil:\", 100, 0x000c, 25, 34, 49, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 75, 34, 165, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 75, 44, 170, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 33, 73, 40, 14\n    CONTROL 0x80, \"Erstt &alla\", 107, 0x0000, 79, 73, 43, 14\n    CONTROL 0x80, \"&Nej\", 7, 0x0000, 125, 73, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 171, 73, 40, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"Bekrfta borttagning av fil\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 203, 10\n    CONTROL 0x82, \"Ta bort fil:\", 100, 0x000c, 25, 18, 44, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 18, 170, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 30, 42, 40, 14\n    CONTROL 0x80, \"Ta bort &alla\", 107, 0x0000, 76, 42, 43, 14\n    CONTROL 0x80, \"&Nej\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"Bekrfta borttagning av katalog\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Ta bort katalog:\", 100, 0x000c, 25, 18, 55, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 18, 160, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 30, 42, 40, 14\n    CONTROL 0x80, \"Ta bort &alla\", 107, 0x0000, 76, 42, 43, 14\n    CONTROL 0x80, \"&Nej\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"Bekrfta flyttning\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Flytta fil:\", 100, 0x000c, 25, 18, 44, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 18, 170, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 30, 42, 40, 14\n    CONTROL 0x80, \"Flytta &alla\", 107, 0x0000, 76, 42, 43, 14\n    CONTROL 0x80, \"&Nej\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 272, 60\nCAPTION \"Bekrfta namnbyte\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 18, 20\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Byt namn:\", 100, 0x000c, 25, 13, 54, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 13, 160, 10\n    CONTROL 0x80, \"&Ja\", 6, 0x0001, 1, 41, 63, 14\n    CONTROL 0x80, \"Byt namn p &alla\", 107, 0x0000, 70, 41, 63, 14\n    CONTROL 0x80, \"&Nej\", 7, 0x0000, 139, 41, 63, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 208, 41, 63, 14\nEND\n\n11 DIALOG 0x80c8, 20, 20, 240, 63\nCAPTION \"Skriv ut\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 193, 10\n    CONTROL 0x82, \"Skriv &ut:\", 100, 0x000c, 3, 20, 29, 8\n    CONTROL 0x81, \"\", 102, 0x0480, 34, 18, 160, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 36, 190, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n13 DIALOG 0x80c8, 20, 20, 263, 63\nCAPTION \"Sk\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Sk efter:\", 100, 0x000c, 5, 6, 45, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 52, 5, 160, 12\n    CONTROL 0x82, \"Starta &med:\", 100, 0x000c, 5, 21, 45, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 52, 20, 160, 12\n    CONTROL 0x80, \"Sk i alla &underkataloger\", 232, 0x0003, 52, 34, 100, 12\n    CONTROL 0x82, \"\", 104, 0x000c, 5, 50, 200, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 217, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 217, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 217, 43, 40, 14\nEND\n\n14 DIALOG 0x80c8, 38, 59, 240, 64\nCAPTION \"Flytta\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Aktuell katalog: N\", 101, 0x008b, 5, 6, 182, 10\n    CONTROL 0x82, \"&Till:\", 100, 0x000c, 5, 33, 20, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 46, 32, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 35, 33, 10, 10\n    CONTROL 0x80, \"&Kopiera till Urklipp\", 256, 0x0004, 35, 47, 78, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 1, 49, 47, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 66, 49, 122, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 194, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 194, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 194, 44, 40, 14\n    CONTROL 0x82, \"&Frn:\", 100, 0x000c, 5, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 46, 18, 138, 12\nEND\n\n10014 DIALOG 0x80c8, 47, 59, 231, 98\nCAPTION \"Flytta\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Aktuell katalog: N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"&Till:\", 100, 0x000c, 3, 38, 20, 10\n    CONTROL 0x62, \"edit\", 103, 0x0004, 37, 38, 138, 42\n    CONTROL 0x50, \"\", 256, 0x0401, 6656, 9728, 2560, 2560\n    CONTROL 0x80, \"&Kopiera till Urklipp\", 256, 0x0004, 26, 84, 80, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 84, 41, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 47, 84, 150, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 185, 23, 40, 14\n    CONTROL 0x80, \"&Blddra\", 600, 0x0000, 185, 40, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 185, 61, 40, 14\n    CONTROL 0x82, \"&Frn:\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n200 DIALOG 0x00c8, 36, 24, 164, 134\nCAPTION \"Vlj katalog\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x81, \"\", 1152, 0x0490, 6, 16, 90, 12\n    CONTROL 0x83, \"\", 1120, 0x0053, 12, 28, 84, 68\n    CONTROL 0x82, \"&Kataloger:\", -1, 0x0000, 8, 4, 92, 9\n    CONTROL 0x82, \"\", 1088, 0x0000, 10, 41, 92, 10\n    CONTROL 0x83, \"\", 1121, 0x0053, 10, 28, 92, 68\n    CONTROL 0x82, \"&Enheter:\", 1091, 0x0000, 10, 102, 92, 9\n    CONTROL 0x85, \"\", 1137, 0x0353, 6, 113, 92, 68\n    CONTROL 0x80, \"OK\", 1, 0x0001, 108, 6, 50, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 108, 24, 50, 14\n    CONTROL 0x82, \"Fil&namn:\", 1090, 0x0000, 6, 4, 76, 9\n    CONTROL 0x82, \"&Filformat\", 1089, 0x0000, 6, 103, 90, 9\n    CONTROL 0x85, \"\", 1136, 0x0043, 7, 114, 90, 36\n    CONTROL 0x80, \"&Hjlp\", 1038, 0x0000, 208, 46, 50, 14\n    CONTROL 0x80, \"&Skrivskydd\", 1040, 0x0003, 208, 68, 50, 12\nEND\n\n15 DIALOG 0x80c8, 20, 20, 246, 64\nCAPTION \"Ta bort\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Aktuell katalog: C\", 101, 0x008c, 3, 5, 193, 10\n    CONTROL 0x82, \"Ta &bort:\", 100, 0x000c, 3, 20, 35, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 40, 19, 155, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 35, 35, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 40, 35, 155, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 200, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 200, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 200, 43, 40, 14\nEND\n\n38 DIALOG 0x80c8, 20, 20, 206, 65\nCAPTION \"Information\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"%d filer valda, totalt %s byte\", 100, 0x000c, 5, 5, 144, 10\n    CONTROL 0x80, \"Attribut\", -1, 0x0007, 5, 18, 120, 42\n    CONTROL 0x80, \"&Skrivskydd\", 215, 0x0003, 10, 29, 52, 12\n    CONTROL 0x80, \"&Dold\", 216, 0x0003, 72, 29, 52, 12\n    CONTROL 0x80, \"&Arkiv\", 217, 0x0003, 10, 41, 52, 12\n    CONTROL 0x80, \"Sys&tem\", 218, 0x0003, 72, 41, 52, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 150, 6, 50, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 150, 23, 50, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 150, 43, 50, 14\nEND\n\n16 DIALOG 0x80c8, 23, 13, 262, 195\nCAPTION \"Information om %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 196, 6, 64, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 196, 23, 64, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 196, 44, 64, 14\n    CONTROL 0x82, \"Fil&namn:\", 261, 0x000c, 5, 5, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 65, 5, 127, 10\n    CONTROL 0x82, \"Sk&vg:\", 100, 0x000c, 5, 16, 51, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 65, 16, 128, 10\n    CONTROL 0x82, \"Senaste ndring:\", 100, 0x000c, 5, 27, 62, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 65, 27, 118, 10\n    CONTROL 0x82, \"Version:\", 258, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"Anges inte\", 259, 0x008c, 65, 38, 90, 10\n    CONTROL 0x82, \"&Copyright:\", -1, 0x0000, 5, 49, 45, 10\n    CONTROL 0x81, \"Inte mrkt\", 265, 0x0880, 65, 49, 127, 10\n    CONTROL 0x82, \"Storlek:\", 260, 0x000c, 5, 60, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 65, 60, 90, 10\n    CONTROL 0x80, \"Attribut\", 100, 0x0007, 4, 74, 120, 42\n    CONTROL 0x80, \"&Skrivskydd\", 215, 0x0003, 9, 86, 52, 12\n    CONTROL 0x80, \"&Dold\", 216, 0x0003, 71, 86, 49, 12\n    CONTROL 0x80, \"&Arkiv\", 217, 0x0003, 9, 98, 52, 12\n    CONTROL 0x80, \"Sys&tem\", 218, 0x0003, 71, 98, 49, 12\n    CONTROL 0x80, \"Versions&information\", 262, 0x0007, 4, 121, 242, 72\n    CONTROL 0x83, \"\", 263, 0x1003, 9, 132, 91, 58\n    CONTROL 0x81, \"\", 264, 0x0804, 103, 132, 138, 58\nEND\n\n17 DIALOG 0x80c8, 20, 20, 200, 63\nCAPTION \"Skapa katalog\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Namn:\", 100, 0x000c, 3, 23, 20, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 30, 22, 90, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 46, 150, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 157, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 157, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 157, 43, 40, 14\nEND\n\n10017 DIALOG 0x80c8, 20, 20, 240, 74\nCAPTION \"Skapa katalog\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Namn:\", 100, 0x000c, 3, 28, 20, 10\n    CONTROL 0x62, \"edit\", 201, 0x0000, 3, 40, 170, 18\n    CONTROL 0x50, \"\", 26624, 0x8c00, 768, 15360, -27136, 2560\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 161, 64\nCAPTION \"Gr systemdiskett\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Kopiera systemfiler till disketten i:\", -1, 0x000c, 2, 8, 110, 8\n    CONTROL 0x85, \"\", 222, 0x0003, 30, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 116, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 116, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 116, 43, 40, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 157, 64\nCAPTION \"Kopiera diskett\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Frn:\", -1, 0x000c, 5, 8, 18, 8\n    CONTROL 0x85, \"\", 245, 0x0003, 55, 6, 40, 37\n    CONTROL 0x82, \"&Till:\", 206, 0x000c, 5, 22, 14, 8\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 55\nCAPTION \"Kopierar disk\"\nFONT 8, \"Helv\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"Kopierar disk i \", 100, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \"Enhet A:\", 222, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \"Lser klldisken\", 243, 0x0001, 0, 26, 130, 10\n    CONTROL 0x80, \"Avbryt\", 2, 0x0001, 44, 39, 44, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 161, 63\nCAPTION \"Namnge disk\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Etikett:\", 100, 0x000c, 5, 15, 30, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 100, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 115, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 115, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 115, 43, 40, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 183, 96\nCAPTION \"Formatera diskett\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 140, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 140, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 140, 43, 40, 14\n    CONTROL 0x82, \"&Diskett i:\", -1, 0x000c, 5, 7, 31, 8\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 4, 65, 40\n    CONTROL 0x82, \"&Kapacitet:\", 100, 0x000c, 5, 20, 35, 8\n    CONTROL 0x85, \"\", 241, 0x0003, 55, 19, 65, 40\n    CONTROL 0x80, \"Alternativ\", 102, 0x0007, 5, 39, 115, 53\n    CONTROL 0x82, \"&Etikett:\", -1, 0x000c, 11, 51, 25, 8\n    CONTROL 0x81, \"\", 201, 0x0000, 40, 49, 63, 12\n    CONTROL 0x80, \"&Gr en systemdiskett\", 242, 0x0003, 11, 62, 79, 10\n    CONTROL 0x80, \"&Snabbformatering\", 244, 0x0003, 11, 76, 68, 10\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 50\nCAPTION \"Formaterar disk\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Formaterar disk\", 100, 0x0001, 0, 5, 150, 10\n    CONTROL 0x82, \"Initialiserar enhet...\", 243, 0x0001, 0, 17, 150, 10\n    CONTROL 0x80, \"Avbryt\", 2, 0x0001, 54, 30, 44, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 174, 57\nCAPTION \"Gr en systemdiskett\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Kopierar systemfiler.\", 100, 0x0001, 0, 6, 174, 8\n    CONTROL 0x82, \"Vlj Avbryt om du vill sluta.\", 100, 0x0001, 0, 14, 174, 8\n    CONTROL 0x80, \"Avbryt\", 2, 0x0001, 66, 39, 44, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 247, 135\nCAPTION \"Ntverksanslutningar\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Ny anslutning\", -1, 0x0007, 5, 3, 181, 55\n    CONTROL 0x82, \"Skvg fr &ntverket:\", -1, 0x0000, 10, 16, 72, 8\n    CONTROL 0x81, \"\", 223, 0x0480, 84, 14, 100, 12\n    CONTROL 0x82, \"&Enhet:\", -1, 0x0000, 10, 30, 23, 8\n    CONTROL 0x85, \"\", 222, 0x0003, 84, 28, 40, 100\n    CONTROL 0x82, \"&Lsenord:\", -1, 0x0000, 10, 44, 34, 8\n    CONTROL 0x81, \"\", 224, 0x04a0, 84, 42, 100, 12\n    CONTROL 0x82, \"Nu&varande enhetsanslutningar:\", -1, 0x0000, 5, 62, 103, 8\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 160, 60\n    CONTROL 0x80, \"&Stng\", 2, 0x0001, 190, 6, 53, 14\n    CONTROL 0x80, \"&Anslut\", 1, 0x0000, 190, 27, 53, 14\n    CONTROL 0x80, \" &Fregende...\", 226, 0x0000, 190, 44, 53, 14\n    CONTROL 0x80, \"&Blddra...\", 227, 0x0000, 190, 61, 53, 14\n    CONTROL 0x80, \"&Koppla frn\", 255, 0x0000, 190, 78, 53, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 190, 95, 53, 14\nEND\n\n29 DIALOG 0x80c8, 30, 30, 231, 98\nCAPTION \"Fregende ntverksanslutningar\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Skvg till &ntverket:\", 100, 0x000c, 3, 3, 69, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 3, 15, 172, 80\n    CONTROL 0x80, \"&Vlj\", 1, 0x0001, 181, 6, 44, 14\n    CONTROL 0x80, \"Stng\", 2, 0x0000, 181, 24, 44, 14\n    CONTROL 0x80, \"&Ta bort\", 219, 0x0000, 181, 41, 44, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 181, 58, 44, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 163, 65\nCAPTION \"Filinformation\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Information\", 100, 0x0007, 4, 4, 111, 55\n    CONTROL 0x80, \"&Storlek\", 203, 0x0003, 11, 15, 100, 9\n    CONTROL 0x80, \"Senaste ndrings&datum\", 204, 0x0003, 11, 25, 100, 9\n    CONTROL 0x80, \"Senaste ndrings&tid\", 205, 0x0003, 11, 35, 100, 9\n    CONTROL 0x80, \"&Filattribut\", 206, 0x0003, 11, 45, 100, 9\n    CONTROL 0x80, \"OK\", 1, 0x0001, 120, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 120, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 120, 43, 40, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 157, 102\nCAPTION \"Visa filtyp\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Namn:\", 100, 0x000c, 5, 8, 23, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"Filtyp\", 100, 0x0007, 5, 20, 94, 62\n    CONTROL 0x80, \"&Kataloger\", 101, 0x0003, 10, 31, 60, 12\n    CONTROL 0x80, \"&Program\", 210, 0x0003, 10, 43, 60, 12\n    CONTROL 0x80, \"&Dokument\", 211, 0x0003, 10, 55, 60, 12\n    CONTROL 0x80, \"&Andra filer\", 212, 0x0003, 10, 67, 60, 12\n    CONTROL 0x80, \"&Visa dolda filer och systemfiler\", 250, 0x0003, 5, 85, 110, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 164, 80\nCAPTION \"Bekrftelse\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Bekrftelse vid\", 100, 0x0007, 5, 3, 108, 73\n    CONTROL 0x80, \"&Radering av filer\", 219, 0x0003, 10, 15, 65, 10\n    CONTROL 0x80, \"Radering av &kataloger\", 220, 0x0003, 10, 27, 84, 10\n    CONTROL 0x80, \"&Ersttning av filer\", 221, 0x0003, 10, 39, 69, 10\n    CONTROL 0x80, \"&Musoperationer\", 249, 0x0003, 10, 51, 61, 10\n    CONTROL 0x80, \"&Diskkommandon\", 251, 0x0003, 10, 63, 64, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 118, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 118, 23, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 118, 44, 40, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 250, 46\nCAPTION \"Flyttar...\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 5, 49, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 55, 5, 192, 10\n    CONTROL 0x82, \"Till:\", 108, 0x008b, 5, 15, 25, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 55, 15, 192, 10\n    CONTROL 0x80, \"Avbryt\", 2, 0x0001, 200, 28, 40, 14\nEND\n\n36 DIALOG 0x80c8, 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Skriver ut fil...\", -1, 0x0001, 4, 6, 120, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 0, 20, 120, 12\n    CONTROL 0x80, \"Avbryt\", 2, 0x0001, 44, 40, 32, 14\nEND\n\n12 DIALOG 0x80c8, 31, 40, 211, 96\nCAPTION \"Associera\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Filer med tillgg:\", 99, 0x000c, 5, 8, 74, 10\n    CONTROL 0x81, \"\", 112, 0x0400, 80, 6, 35, 12\n    CONTROL 0x82, \"&Associera med:\", 99, 0x000c, 5, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 5, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 11, 44, 146, 40\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 165, 23, 40, 14\n    CONTROL 0x80, \"&Blddra...\", 232, 0x0000, 165, 43, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 165, 60, 40, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 250, 78\nCAPTION \"Markera filnamn\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Den hr skvgen stmmer inte verens med DOS-formatet fr filnamn. Skriv ett nytt namn.\", 99, 0x0000, 4, 4, 190, 24\n    CONTROL 0x82, \"&Nytt namn:\", 99, 0x0002, 17, 56, 50, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 73, 55, 130, 12\n    CONTROL 0x82, \"Ursprunglig skvg:\", 99, 0x0002, 5, 28, 66, 8\n    CONTROL 0x81, \"\", 102, 0x0880, 73, 28, 130, 12\n    CONTROL 0x82, \"Till katalog:\", 99, 0x0002, 21, 42, 50, 11\n    CONTROL 0x81, \"\", 101, 0x0880, 73, 42, 130, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 205, 4, 40, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 205, 20, 40, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 205, 36, 40, 14\nEND\n\n48 DIALOG 0x80c8, 23, 13, 268, 107\nCAPTION \"Information om %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 205, 6, 61, 14\n    CONTROL 0x80, \"Avbryt\", 2, 0x0000, 205, 23, 61, 14\n    CONTROL 0x80, \"&Hjlp\", 254, 0x0000, 205, 42, 61, 14\n    CONTROL 0x82, \"Fil&namn:\", 261, 0x000c, 5, 5, 50, 8\n    CONTROL 0x81, \"\", 201, 0x0880, 63, 6, 134, 10\n    CONTROL 0x82, \"Sk&vg:\", 100, 0x000c, 5, 16, 28, 8\n    CONTROL 0x81, \"\", 101, 0x0880, 63, 16, 134, 10\n    CONTROL 0x82, \"Senaste ndring:\", 100, 0x000c, 5, 27, 56, 8\n    CONTROL 0x82, \"\", 204, 0x000c, 63, 28, 141, 10\n    CONTROL 0x82, \"Storlek:\", 260, 0x000c, 5, 38, 27, 8\n    CONTROL 0x82, \"\", 203, 0x000c, 63, 39, 90, 10\n    CONTROL 0x80, \"Attribut\", 100, 0x0007, 4, 52, 120, 42\n    CONTROL 0x80, \"&Skrivskydd\", 215, 0x0003, 9, 64, 47, 10\n    CONTROL 0x80, \"&Dold\", 216, 0x0003, 71, 64, 26, 10\n    CONTROL 0x80, \"&Arkiv\", 217, 0x0003, 9, 76, 28, 10\n    CONTROL 0x80, \"Sys&tem\", 218, 0x0003, 71, 76, 34, 10\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0101   \"(Rotkatalog)\"\n0x0102   \"(Ej lsbar)\"\n0x0103   \"Delad som %s\"\n0x0104   \"Delas inte\"\n0x0107   \"Kopierar filer till %s\"\n0x0108   \"Flyttar filer till %s\"\n0x0109   \"Kr filer med %s\"\n0x010a   \"%s byte\"\n0x010b   \"%s kb\"\n0x010c   \"%s Mb\"\n0x010d   \"%s Gb\"\n0x010e   \"%s Tb\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"AvslutaWindows\"\n0x0029   \"Detta avslutar Windows.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"Kopiera diskett\"\n0x0033   \"Stt in mldisketten.\"\n0x0034   \"Stt in klldisketten.\"\n0x0035   \"Stt in kll- och mldisketterna.\"\n0x0036   \"Formaterar mldiskett.\"\n0x0037   \"Kopieringsfel\"\n0x0038   \"Det gr inte att kopiera disketten.\"\n0x003a   \"Kll- och mlenheterna r inte kompatibla.\"\n0x003c   \"%d%% frdigt\"\n0x003d   \"Skapar rotkatalog...\"\n0x003e   \"Kopierar systemfiler...\"\n0x003f   \"Formateringsfel\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"Det finns inte tillrckligt med diskutrymme fr att skriva ut.\n\nTa bort en eller flera filer fr att ka diskutrymmet och frsk sedan igen.\"\n0x00c1   \"Det finns inte tillrckligt med minne fr att skriva ut.\n\nStng ett eller flera program och frsk sedan igen.\"\n0x00c2   \"Det har uppsttt ett fel vid utskriften.\n\nKontrollera att skrivaren r riktigt konfigurerad.\"\n0x00c3   \"Ofullstndigt katalogtrd visas\"\n0x00c5   \"Mlenheten r full.\n\nStt in en ny diskett.\"\n0x00c6   \"Det hr r en systemfil, dold eller skrivskyddad fil.\"\n0x00c7   \"Det gr inte att snabbformatera.\n\nVill du fortstta med vanlig formatering?\"\n0x00c8   \"Det angivna programmet r inte ett Windows- eller MS-DOS-baserat program.\"\n0x00c9   \"Det hr programmet krver en nyare version av Microsoft Windows.\"\n0x00ca   \"Det hr programmet krver Windows.\"\n0x00cb   \"Det uppstod ett fel nr kommandot sndes till programmet.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"Det gr inte att formatera disken.\"\n0x0042   \"Formatering klar\"\n0x0043   \"%ld byte totalt diskutrymme\n%ld byte ledigt diskutrymme\n\nVill du formatera fler disketter?\"\n0x0046   \"Gr en systemdiskett\"\n0x0047   \"Vill du kopiera systemfiler till disketten i enhet %c?\"\n0x0048   \"Systemdiskfel\"\n0x0049   \"MS-DOS startenhet innehller inte systemfilerna eller r inte tillgnglig.\"\n0x004a   \"Du kan inte kopiera systemfiler till MS-DOS startenhet.\"\n0x004b   \"Du kan inte lgga till systemfiler till den hr disken.\n\nKontrollera att en formaterad diskett sitter i enheten och att diskettluckan r stngd.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"Filhanteraren kan inte skapa eller erstta %s: %s\"\n0x0408   \"Filhanteraren kan inte skapa en MS-DOS-diskett eftersom Windows NT xxxmultiboot installerats p datorn. Gr en systemdiskett genom att anvnda SYS-tillbehret frn MS-DOS kommandorad.\"\n0x0409   \"Vill du formatera disketten nu utan att verfra systemet?\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"Ntverksfel\"\n0x0053   \"Enheten innehller Windows systemfiler och kan drfr inte kopplas frn.\"\n0x005b   \"Filhanteraren kan inte ndra attributen.\n\nKontrollera att disken inte r skrivskyddad.\"\n0x005c   \"Filhanteraren kan inte skapa en katalog.\n\nKontrollera att disken inte r skrivskyddad.\"\n0x005d   \"Filhanteraren kan inte namnge disketten.\n\nKontrollera att disketten inte r skrivskyddad, inte r en ntverksenhet och att etiketten r giltig.\nEtiketter fr inte innehlla fljande tecken:\n[blanksteg] * ? / \\ | . , ; : + = [ ] ( ) & ^ < > \" \"\n0x005f   \"Det finns inte ngra filer som matchar. \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"Totalt %d fil(er) (%s)\"\n0x00b5   \"Genomskta kataloger: %d \"\n0x00b6   \"%c: %s lediga,  %s totalt\"\n0x00b7   \"%d fil(er)\"\n0x00b9   \"markerade filer\"\n0x00ba   \"Filhanteraren kan inte koppla ifrn den hr ntverksenheten eftersom det finns ppna filer.\"\n0x00bb   \"%d fil(er) markerade (%s)\"\n0x00bc   \"Det finns ingen diskett i enhet %c.\n\nStt in en diskett och frsk igen.\"\n0x00bd   \"Disketten i enhet %c r inte formaterad.\n\nVill du formatera den nu?\"\n0x00bf   \"Filen du vill skriva ut hittades inte. Kontrollera att korrekt skvg och filnamn r angivna.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"Den angivna katalogen finns redan.\"\n0x0061   \"Enhetens innehll har ndrats. Vill du uppdatera informationen i fnstret Skresultat?\"\n0x0065   \"Enhet %c:%c\"\n0x006e   \"Det gr inte att kra programmet\"\n0x006f   \"Ovntat fel: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"Formatering kommer att ta bort ALL information frn disketten. Vill du formatera disketten i enhet %c?\"\n0x00d3   \"Bekrfta Formatera diskett\"\n0x00d4   \"ALL information p mldisketten kommer att frsvinna. Vill du fortstta?\"\n0x00d5   \"Bekrfta Kopiera diskett\"\n0x00d6   \"&Stng\"\n0x00da   \"%s-katalogen finns inte.\n\nVill du skapa den?\"\n0x00db   \"Program#*.EXE;*.PIF;*.COM;*.BAT#Alla filer (*.*)#*.*#\"\n0x00dc   \"Blddra\"\n0x00dd   \"Kr\"\n0x00de   \"Det gr inte att skriva ut filen\"\n0x00df   \"Det gr inte att visa hjlpinformation.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"Det finns inte tillrckligt med minne fr att starta det angivna programmet.\n\nStng ett eller flera program och frsk sedan igen.\"\n0x0071   \"Filhanteraren kan inte hitta den angivna filen (eller en av dess komponenter).\n\nKontrollera att skvgen och filnamnet r korrekt och att alla ndvndiga bibliotek finns tillgngliga.\"\n0x0072   \"Den angivna skvgen r felaktig.\"\n0x0073   \"Fr mnga filer anvnds fr tillfllet.\n\nStng ett eller flera program, eller kva vrdet fr kommandot Files i CONFIG.SYS och frsk sedan igen.\"\n0x0074   \"Inget program r associerat med den hr filen.\n\nVlj Associera frn Arkiv-menyn fr att skapa en association.\"\n0x0075   \"Du kan inte starta det angivna programmet mer n en gng i taget.\"\n0x0076   \"Filhanteraren kan inte ppna eller skriva ut den angivna filen.\n\nStarta programmet som skapade filen och ppna eller skriv ut den frn det programmet.\"\n0x0078   \"Bekrfta musoperation\"\n0x0079   \"Vill du kopiera de markerade filerna eller katalogerna till %s?\"\n0x007a   \"Vill du flytta de markerade filerna eller katalogerna till %s?\"\n0x007b   \"Vill du starta %s genom att anvnda %s som initialfil?\"\n0x007c   \"Filhanteraren\"\n0x007e   \"Katalogtrd\"\n0x007f   \"Skresultat: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"Filer med tillgget %s r programfiler och kan drfr inte associeras med ngot annat program.\"\n0x00e1   \"%s r inte ett program och kan inte associeras med ett filtillgg.\"\n0x00e2   \"(Ingen)\"\n0x00e4   \"Filhanteraren kan inte skriva ut flera filer i taget.\n\nMarkera en fil och frsk igen.\"\n0x00e5   \"Det hr programmet eller en av dess komponenter r komprimerad.\n\nAnvnd funktionen MS-DOS Expand om du vill kopiera filen frn installationsdisketterna.\"\n0x00e6   \"En av biblioteksfilerna som krvs fr att kunna kra programmet r skadad.\"\n0x00e7   \"Filen anvnds fr tillfllet av ett annat program.\"\n0x00e8   \"Filhanteraren kan eventuellt inte komma t filerna som r skapade i katalogen\"%s\".\n\nVill du fortstta?\"\n0x00e9   \"Skapa katalog\"\n0x00ea   \"%ld byte\"\n0x00eb   \"%s byte\"\n0x00ec   \"Du kan inte kopiera flera filer eller kataloger i taget till Urklipp.\n\nMarkera en enstaka fil och frsk igen.\"\n0x00ed   \"%s - %s\"\n0x00ee   \"Enhet:\"\n0x00ef   \"%s, \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"Fr mnga filer\"\n0x0085   \"Filhanteraren - Slut p ledigt minne.\"\n0x0086   \"Det gr inte att lsa hela katalogen. Endast en del av listan kommer att visas.\"\n0x008c   \"Aktuell katalog: %s\"\n0x008d   \"Kopiera\"\n0x008f   \"Byt namn\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"Formatera diskett\"\n0x0092   \"Markera den diskett som ska formateras.\"\n0x0096   \"Skapar:\"\n0x0097   \"Tar bort...\"\n0x0098   \"Kopierar:\"\n0x0099   \"Byter namn...\"\n0x009a   \"Flyttar...\"\n0x009b   \"Tar bort...\"\n0x009c   \"Skriver ut: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"Enhet %c finns inte.\"\n0x00a9   \"Kopierar...\"\n0x00aa   \"Tar bort:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"ppnar...\"\n0x01a5   \"Stnger...\"\n0x01a6   \"Det finns fr mnga katalogfnster ppna.\n\nStng ett eller flera fnster och frsk sedan igen.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"Det uppstod ett fel nr filen flyttades\"\n0x03ea   \"Det uppstod ett fel nr filen kopierades\"\n0x03eb   \"Det uppstod ett fel nr filen togs bort\"\n0x03ec   \"Det uppstod ett fel nr filnamnet ndrades \"\n0x03ed   \"Det uppstod ett fel nr enheten valdes\"\n0x03ee   \"Det uppstod ett fel nr katalogen lstes\"\n0x03ef   \"Det uppstod ett fel nr disken namngavs\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"Filhanteraren kan inte flytta %s: %s\"\n0x03f4   \"Filhanteraren kan inte kopiera %s: %s\"\n0x03f5   \"Filhanteraren kan inte ta bort %s: %s\"\n0x03f6   \"Filhanteraren kan inte byta namn p %s: %s\"\n0x03fd   \"Filhanteraren kan inte skapa katalogen %s: %s\"\n0x03fe   \"Filhanteraren kan inte flytta katalogen %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Felaktig MS-DOS-funktion.\"\n0x0412   \"Filhanteraren kan inte hitta den angivna filen.\n\nKontrollera att du har angivit korrekt skvg och filnamn.\"\n0x0413   \"Filhanteraren kan inte hitta den angivna skvgen.\n\nKontrollera att du har angivit korrekt skvg.\"\n0x0414   \"Fr mnga filer anvnds fr tillfllet. Stng ett eller flera program och frsk igen.\"\n0x0415   \"tkomst nekas.\n\nKontrollera att disken inte r full eller skrivskyddad.\"\n0x0416   \"Felaktig filidentifierare.\"\n0x0418   \"Otillrckligt med minne.\n\nStng ett eller flera program och frsk igen.\"\n0x041c   \"Felaktig filtkomst.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"Filhanteraren kan inte ta bort den aktuella katalogen (internt fel).\"\n0x0421   \"Felaktig enhet.\"\n0x0422   \"Katalogen r tom.\"\n0x0423   \"Disketten r skrivskyddad.\n\nTa bort skrivskyddet p den hr disketten eller anvnd en annan diskett och frsk igen.\"\n0x042d   \"Filhanteraren kan inte skriva till mlfilen eller -disken.\"\n0x042f   \"Filhanteraren kan inte lsa frn kllfilen eller -disken.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"Felaktig operation.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"tkomst till ntverket nekas. Kontrollera att ntverket tillter dig utfra den hr operationen.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"Ett delningsfel har uppsttt. Kll- eller mlfilerna kanske anvnds.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"Otillrckligt med diskutrymme.\n\nTa bort en eller flera filer fr att ka diskutrymmet och frsk sedan igen.\"\n0x0481   \"Kll- och mlfilnamnen r desamma.\"\n0x0482   \"Vlj endast en fil att byta namn p, eller anvnd MS-DOS jokertecken (till exempel *.TXT) fr att byta namn p en grupp filer med liknande namn.\"\n0x0483   \"Du kan inte byta namn till en annan katalog eller disk.\"\n0x0484   \"Rotkatalog (internt fel).\"\n0x0486   \"Mlkatalogen r en underkatalog till kllkatalogen.\"\n0x0487   \"Den angivna filen anvnds av Windows.\"\n0x0488   \"tkomst nekas. Kllfilen anvnds eventuellt.\"\n0x0489   \"Skvgen r fr lng.\"\n0x048a   \"Ange endast en fil eller katalog i rutan Till, eller anvnd MS-DOS jokertecken (till exempel *.TXT) om du vill ange en grupp filer eller kataloger.\"\n0x048b   \"Det angivna filnamnet finns redan. Frsk igen och ange ett annat namn i rutan \"Till\".\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1,2 Mb\"\n0x0131   \"720 kb\"\n0x0132   \"1,44 Mb\"\n0x0133   \"2,88 Mb\"\n0x0134   \"Storlek p enhet\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360 kb\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"Otillrckligt med minne.\"\n0x0192   \"Du kan inte formatera MS-DOS startenhet.\"\n0x0193   \"MS-DOS startenhet har en felaktig sektorstorlek.\"\n0x0194   \"Den angivna enheten r av oknd typ.\"\n0x0199   \"Filhanteraren kunde inte fra ver systemfilerna.\"\n0x019a   \"Den hr disken kan formateras med en kapacitet av %s. Vill du fortstta att formatera med den hr kapaciteten?\"\n0x019b   \"Filhanteraren kan inte formatera den hr disketten.\n\nKontrollera att disketten sitter i enheten och inte r skrivskyddad, skadad eller har felaktig densitet.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00fe   \"&Katalognamn:\"\n0x00ff   \"\\StringFileInfo\\040904E4\\\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01f4   \"Kommentarer\"\n0x01f5   \"Organisationsnamn\"\n0x01f6   \"Filbeskrivning\"\n0x01f7   \"Internt namn\"\n0x01f8   \"Varumrken\"\n0x01f9   \"Ursprungligt filnamn\"\n0x01fa   \"Privat byggbeskrivning\"\n0x01fb   \"Produktnamn\"\n0x01fc   \"Produktversion\"\n0x01fd   \"Speciell byggbeskrivning\"\n0x01fe   \"Sprk\"\n0x01ff   \"Sprk\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0222   \"Det gr inte att hitta ngra filer.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0255   \"Den angivna datorn kunde inte hittas.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0263   \"Den delade katalogen kunde inte hittas.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0274   \"Det finns fr mnga omdirigeringar av ntverket.\"\n0x0276   \"Felaktigt lsenord.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x02b0   \"Ntverksenheten r inte tillgnglig.\"\n0x02b1   \"Ett fel uppstod nr enhet %c skulle lsas.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0f90   \"Kommandon fr filhantering\"\n0x0f91   \"Kommandon fr diskhantering\"\n0x0f92   \"Kommandon fr kataloghantering\"\n0x0f93   \"Kommandon fr instllningar av informationvisning\"\n0x0f94   \"Kommandon fr instllningar av alternativ\"\n0x0f9a   \"Kommandon fr fnsterhantering\"\n0x0f9b   \"Kommandon fr hjlpfunktioner\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1005   \"ppnar markerat objekt\"\n0x1006   \"Skriver ut dokument\"\n0x1007   \"Associerar filer med program\"\n0x1008   \"Sker efter filer och kataloger\"\n0x1009   \"Kr program eller ppnar dokument \"\n0x100a   \"Flyttar markerat objekt\"\n0x100b   \"Kopierar filer och kataloger\"\n0x100c   \"Tar bort filer och kataloger\"\n0x100d   \"Byter namn p filer eller kataloger\"\n0x100e   \"Anger filattribut och visar information\"\n0x100f   \"Skapar kataloger\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1013   \"Avslutar Filhanteraren\"\n0x1014   \"Markerar filer och kataloger\"\n0x1015   \"terstller tidigare borttagna filer\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1069   \"Kopierar diskettinnehll\"\n0x106a   \"Anger volymetiketter\"\n0x106b   \"Formaterar disketter\"\n0x106c   \"Kopierar MS-DOS-filer till en diskett\"\n0x106d   \"Ansluter ntverksenheter\"\n0x106e   \"Kopplar frn ntverksenheter\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x109b   \"Vljer ny enhet\"\n0x109c   \"Ntverksanslutningar...\"\n0x109d   \"Visa delade kataloger...\"\n0x109e   \"Delar kataloger\"\n0x109f   \"Slutar dela kataloger\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10cd   \"Visar ytterligare en niv i katalogtrdet fr markerad katalog\"\n0x10ce   \"Visar alla underkataloger till markerad katalog\"\n0x10cf   \"Visar hela katalogtrdet fr enheten\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10d0   \"Dljer underkatalogerna i markerad katalog\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1195   \"Bestmmer vilka meddelanden som behver bekrftas\"\n0x1197   \"Visar eller dljer statusfltet\"\n0x1198   \"Frminskar Filhanteraren till en ikon vid start\"\n0x1199   \"Markerar kataloger som har underkataloger\"\n0x119b   \"Visar eller dljer enhetsfltet\"\n0x119c   \"Visar eller dljer verktygsfltet\"\n0x119d   \"ppnar ett nytt fnster vid anslutning\"\n0x119e   \"ndrar Filhanterarens teckensnitt\"\n0x119f   \"Sparar instllningar nr Filhanteraren avslutas\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1131   \"Visar endast filnamn\"\n0x1132   \"Visar all filinformation\"\n0x1133   \"Visar valfri filinformation\"\n0x1134   \"Sorterar filer efter namn\"\n0x1135   \"Sorterar filer efter typ\"\n0x1136   \"Sorterar filer efter storlek\"\n0x1137   \"Sorterar filer efter datum\"\n0x1139   \"Visar filer av valfri filtyp\"\n0x113b   \"Visar katalogtrdet fr aktivt fnster\"\n0x113c   \"Visar aktuell katalog och dess innehll\"\n0x113d   \"Visar katalogtrdet och innehllet i markerad katalog\"\n0x113e   \"Delar katalogfnstret eller flyttar delningslisten\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x11a0   \"Anpassar Filhanterarens verktygsflt\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13f0   \"Uppdaterar innehllet i ett fnster\"\n0x13f1   \"Ordnar ikoner\"\n0x13f2   \"ppnar ett nytt fnster\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13ed   \"Ordnar fnster\"\n0x13ee   \"Ordnar fnster\"\n0x13ef   \"Ordnar fnster\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1451   \"Ordnar fnster\"\n0x1452   \"Ordnar fnster\"\n0x1453   \"Ordnar fnster\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0fbe   \"Sker efter mne i Hjlp\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0320   \"&Anslut ntverksenhet...\"\n0x0321   \"&Koppla frn ntverksenhet...\"\n0x0322   \"Ntverks&anslutningar...\"\n0x0323   \"&Dela katalog som...\"\n0x0324   \"&Sluta dela katalog...\"\n0x0325   \"&Visa delade kataloger...\"\n0x0326   \"&terstll...\"\n0x0327   \"&ppna nytt fnster vid anslutning\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.TradChin.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"ɮ(&F)\"\n    BEGIN\n    MENUITEM    \"}(&O)\tEnter\", 0X0065\n    MENUITEM    \"(&M)...\tF7\", 0X006A\n    MENUITEM    \"ƻs(&C)...\tF8\", 0X006B\n    MENUITEM    \"R(&D)...\tDel\", 0X006C\n    MENUITEM    \"W(&N)...\", 0X006D\n    MENUITEM    \"e(&T)...\tAlt+Enter\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"(&R)...\", 0X0069\n    MENUITEM    \"CL(&P)...\", 0X0066\n    MENUITEM    \"p(&A)...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"إߥؿ(&E)...\", 0X006F\n    MENUITEM    \"jM(&H)...\", 0X0068\n    MENUITEM    \"ɮ(&S)...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"(&X)\", 0X0073\n    END\n    POPUP   \"Ϻ(&D)\"\n    BEGIN\n    MENUITEM    \"ƻsϤ(&C)...\", 0X00C9\n    MENUITEM    \"ϺЩRW(&L)...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"榡ƺϤ(&F)...\", 0X00CB\n    MENUITEM    \"s@tκϤ(&M)...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"ܺϺо(&S)...\", 0X00FB\n    END\n    POPUP   \"ؿ(&T)\"\n    BEGIN\n    MENUITEM    \"ܦؿ(&X)\t+\", 0X012D\n    MENUITEM    \"ܦhhؿ(&B)\t*\", 0X012E\n    MENUITEM    \"ܩҦؿ(&A)\tCtrl+*\", 0X012F\n    MENUITEM    \"æؿ(&C)\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Хܥiܪhhؿ(&I)\", 0X01F9\n    END\n    POPUP   \"d(&V)\"\n    BEGIN\n    MENUITEM    \"𵲺cPؿ(&R)\", 0X019D\n    MENUITEM    \"uݾ𪬵c(&E)\", 0X019B\n    MENUITEM    \"uݥؿc(&O)\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"j(&L)\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"W(&N)\", 0X0191\n    MENUITEM    \"ɮתҦԲӸ(&A)\", 0X0192\n    MENUITEM    \"ԲӸ(&P)...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"̦WٱƧ(&S)\", 0X0194\n    MENUITEM    \"̫OƧ(&B)\", 0X0195\n    MENUITEM    \"̤jpƧ(&Z)\", 0X0196\n    MENUITEM    \"̤Ƨ(&D)\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"ɮ׫(&T)...\", 0X0199\n    END\n    POPUP   \"ﶵ(&O)\"\n    BEGIN\n    MENUITEM    \"T{(&C)...\", 0X01F5\n    MENUITEM    \"r(&F)...\", 0X01FE\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"A(&S)\", 0X01F7\n    MENUITEM    \"ϥήɳ̤p(&M)\", 0X01F8\n    MENUITEM    \"ɱN]wȦs(&E)\", 0X01FF\n    END\n    POPUP   \"(&W)\"\n    BEGIN\n    MENUITEM    \"sW(&N)\", 0X03ED\n    MENUITEM    \"|(&C)\tShift+F5\", 0X03E9\n    MENUITEM    \"D|(&T)\tShift+F4\", 0X03EA\n    MENUITEM    \"ƦCϥ(&A)\", 0X03EC\n    MENUITEM    \"sz(&R)\tF5\", 0X03EB\n    END\n    POPUP   \"U(&H)\"\n    BEGIN\n    MENUITEM    \"e(&C)\", 0X044D\n    MENUITEM    \"M仲UDD(&S)\", 0X001E\n    MENUITEM    \"UϥΤk(&H)\", 0X044E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"ɮ׺޲z(&A)...\", 0X044F\n    END\nEND\n\n\n145 DIALOG 0x80c8, 13, 54, 269, 127\nCAPTION \"r\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"r(&F):\", 1088, 0x0000, 6, 3, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 13, 94, 54\n    CONTROL 0x82, \"rμ˦(&Y):\", 1089, 0x0000, 108, 3, 44, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 13, 64, 54\n    CONTROL 0x82, \"jp(&S):\", 1090, 0x0000, 179, 3, 30, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 179, 13, 32, 54\n    CONTROL 0x80, \"ĪG\", 1072, 0x0007, 6, 72, 84, 61\n    CONTROL 0x80, \"Ru(&K)\", 1040, 0x0003, 10, 82, 49, 10\n    CONTROL 0x80, \"u(&U)\", 1041, 0x0003, 10, 94, 51, 10\n    CONTROL 0x80, \"pg(&L)\", 1042, 0x0003, 10, 82, 49, 10\n    CONTROL 0x82, \"m(&C):\", 1091, 0x0000, 10, 106, 30, 9\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 116, 75, 50\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 218, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 218, 23, 45, 14\n    CONTROL 0x80, \"Ψ(&A)...\", 1026, 0x0000, 218, 40, 45, 14\n    CONTROL 0x80, \"U(&H)\", 1038, 0x0000, 218, 57, 45, 14\n    CONTROL 0x80, \"d\", 1073, 0x0007, 98, 72, 165, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 124, 160, 20\n    CONTROL 0x82, \"AaBbYyZz\", 1092, 0x0081, 104, 81, 149, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 201, 86\nCAPTION \"ܺϺо\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Ϻо(&D):\", 245, 0x000c, 5, 5, 41, 10\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 150, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 150, 23, 45, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 150, 44, 45, 14\nEND\n\n10 DIALOG 0x80c8, 15, 12, 210, 63\nCAPTION \"\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 3, 6, 157, 10\n    CONTROL 0x82, \"O(&C):\", 100, 0x000c, 3, 18, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 134, 12\n    CONTROL 0x80, \"ɳ̤p(&M)\", 214, 0x0003, 3, 45, 71, 12\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 160, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 160, 23, 45, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 160, 43, 45, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 121, 83\nCAPTION \"ɮ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ɮ(&F):\", -1, 0x000c, 5, 16, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 29, 60, 12\n    CONTROL 0x80, \"(&S)\", 1, 0x0001, 70, 6, 45, 14\n    CONTROL 0x80, \"(&D)\", 6, 0x0000, 70, 23, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 70, 40, 45, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 70, 63, 45, 14\nEND\n\n39 DIALOG 0x80c8, 10, 20, 245, 95\nCAPTION \"T{ɮרN\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Nɮ:\", 100, 0x000c, 25, 12, 49, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 75, 12, 165, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 75, 22, 170, 10\n    CONTROL 0x82, \"N:\", 100, 0x000c, 25, 34, 49, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 75, 34, 165, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 75, 44, 170, 10\n    CONTROL 0x80, \"O(&Y)\", 6, 0x0001, 33, 73, 40, 14\n    CONTROL 0x80, \"ҬO(&A)\", 107, 0x0000, 77, 73, 44, 14\n    CONTROL 0x80, \"_(&N)\", 7, 0x0000, 125, 73, 40, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 171, 73, 40, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"T{ɮקR\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 203, 10\n    CONTROL 0x82, \"Rɮ\", 100, 0x000c, 25, 18, 44, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 18, 170, 10\n    CONTROL 0x80, \"O(&Y)\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"ҬO(&A)\", 107, 0x0000, 77, 42, 44, 14\n    CONTROL 0x80, \"_(&N)\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"T{ؿR\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Rؿ:\", 100, 0x000c, 25, 18, 55, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 18, 160, 10\n    CONTROL 0x80, \"O(&Y)\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"ҬO(&A)\", 107, 0x0000, 77, 42, 44, 14\n    CONTROL 0x80, \"_(&N)\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"T{ɮײ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"ɮ:\", 100, 0x000c, 25, 18, 44, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 18, 170, 10\n    CONTROL 0x80, \"O(&Y)\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"ҬO(&A)\", 107, 0x0000, 77, 42, 44, 14\n    CONTROL 0x80, \"_(&N)\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"T{ɮקW\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"ɦW:\", 100, 0x000c, 25, 13, 54, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 13, 160, 10\n    CONTROL 0x80, \"O(&Y)\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"ҬO(&A)\", 107, 0x0000, 77, 42, 44, 14\n    CONTROL 0x80, \"_(&N)\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n11 DIALOG 0x80c8, 20, 20, 240, 63\nCAPTION \"CL\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 193, 10\n    CONTROL 0x82, \"CL(&P):\", 100, 0x000c, 3, 20, 30, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 34, 18, 155, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 36, 190, 10\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 192, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 192, 23, 45, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 192, 43, 45, 14\nEND\n\n13 DIALOG 0x80c8, 20, 20, 263, 63\nCAPTION \"jM\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"jMH(&S):\", 100, 0x000c, 5, 6, 45, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 52, 5, 155, 12\n    CONTROL 0x82, \"...}l(&F):\", 100, 0x000c, 5, 21, 45, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 52, 20, 155, 12\n    CONTROL 0x80, \"jMҦؿ(&E)\", 232, 0x0003, 52, 34, 100, 12\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 212, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 212, 23, 45, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 212, 43, 45, 14\nEND\n\n14 DIALOG 0x80c8, 47, 59, 231, 64\nCAPTION \"\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ثeu@ؿ: N\", 101, 0x008b, 3, 6, 172, 10\n    CONTROL 0x82, \"(&T):\", 100, 0x000c, 3, 33, 20, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 37, 32, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 26, 33, 10, 10\n    CONTROL 0x80, \"ƻsŶKï(&C)\", 256, 0x0004, 26, 47, 72, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 49, 40, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 45, 49, 130, 10\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 180, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 180, 23, 45, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 180, 44, 45, 14\n    CONTROL 0x82, \"q(&F):\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n15 DIALOG 0x80c8, 20, 20, 246, 64\nCAPTION \"R\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ثeؿ: C\", 101, 0x008c, 3, 5, 193, 10\n    CONTROL 0x82, \"R(&L):\", 100, 0x000c, 3, 20, 35, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 40, 19, 150, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 35, 35, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 40, 35, 150, 10\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 195, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 195, 23, 45, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 195, 43, 45, 14\nEND\n\n38 DIALOG 0x80c8, 20, 20, 206, 65\nCAPTION \"e\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"%d ɮ׳Qw, `@ %s Ӧ줸\", 100, 0x000c, 5, 5, 144, 10\n    CONTROL 0x80, \"ݩ\", -1, 0x0007, 5, 18, 120, 42\n    CONTROL 0x80, \"Ū(&R)\", 215, 0x0003, 10, 29, 52, 12\n    CONTROL 0x80, \"æ(&I)\", 216, 0x0003, 72, 29, 52, 12\n    CONTROL 0x80, \"Osɮ(&A)\", 217, 0x0003, 10, 41, 52, 12\n    CONTROL 0x80, \"t(&S)\", 218, 0x0003, 72, 41, 52, 12\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 150, 6, 50, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 150, 23, 50, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 150, 43, 50, 14\nEND\n\n16 DIALOG 0x80c8, 33, 44, 231, 100\nCAPTION \"%s e\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 175, 6, 50, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 175, 23, 50, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 175, 43, 50, 14\n    CONTROL 0x82, \"ɮצW(&F):\", 100, 0x000c, 5, 5, 50, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 55, 4, 118, 10\n    CONTROL 0x82, \"jp:\", 100, 0x000c, 5, 16, 40, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 55, 16, 90, 10\n    CONTROL 0x82, \"Wק:\", 100, 0x000c, 5, 27, 57, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 55, 27, 97, 10\n    CONTROL 0x82, \"|(&P):\", 100, 0x000c, 5, 38, 46, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 55, 38, 118, 10\n    CONTROL 0x80, \"ݩ\", 100, 0x0007, 4, 52, 120, 42\n    CONTROL 0x80, \"Ū(&R)\", 215, 0x0003, 9, 64, 52, 12\n    CONTROL 0x80, \"æ(&I)\", 216, 0x0003, 71, 64, 49, 12\n    CONTROL 0x80, \"Osɮ(&A)\", 217, 0x0003, 9, 76, 52, 12\n    CONTROL 0x80, \"t(&S)\", 218, 0x0003, 71, 76, 49, 12\nEND\n\n17 DIALOG 0x80c8, 20, 20, 200, 63\nCAPTION \"إߥؿ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"W(&N):\", 100, 0x000c, 3, 23, 30, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 40, 22, 100, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 46, 150, 10\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 152, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 152, 23, 45, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 152, 43, 45, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 157, 64\nCAPTION \"s@tκϤ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"QtΤƺϤm(&C):\", -1, 0x000c, 5, 8, 100, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 30, 20, 40, 37\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 105, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 105, 23, 45, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 105, 43, 45, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 157, 64\nCAPTION \"ƻsϤ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ӷϤb(&S):\", -1, 0x000c, 5, 8, 50, 10\n    CONTROL 0x85, \"\", 245, 0x0003, 57, 6, 40, 37\n    CONTROL 0x82, \"تϤb(&D):\", 206, 0x000c, 5, 22, 50, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 57, 20, 40, 37\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 109, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 109, 23, 45, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 109, 43, 45, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 55\nCAPTION \"ƻsϤ\"\nFONT 12, \"System\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"{bƻsϤ\", 100, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \"Ϻо A:\", 222, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \"ŪӷϤ\", 243, 0x0001, 0, 26, 130, 10\n    CONTROL 0x80, \"\", 2, 0x0001, 44, 39, 44, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 161, 63\nCAPTION \"ϺЩRW\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ϺмѦW(&L):\", 100, 0x000c, 5, 15, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 100, 12\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 112, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 112, 23, 45, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 112, 43, 45, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 183, 96\nCAPTION \"榡ƺϤ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 135, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 135, 23, 45, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 135, 43, 45, 14\n    CONTROL 0x82, \"Ϥb(&D):\", -1, 0x000c, 5, 7, 49, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 4, 65, 40\n    CONTROL 0x82, \"eq(&C):\", 100, 0x000c, 5, 20, 49, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 55, 19, 65, 40\n    CONTROL 0x80, \"ﶵ\", 102, 0x0007, 5, 39, 115, 53\n    CONTROL 0x82, \"(&L):\", -1, 0x000c, 11, 51, 39, 10\n    CONTROL 0x81, \"\", 201, 0x0000, 40, 49, 63, 12\n    CONTROL 0x80, \"s@tκϤ(&M)\", 242, 0x0003, 11, 62, 90, 12\n    CONTROL 0x80, \"ֳt榡(&Q)\", 244, 0x0003, 11, 76, 90, 12\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 50\nCAPTION \"b榡ƺϤ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"b榡ƺϤ\", 100, 0x0001, 0, 5, 150, 10\n    CONTROL 0x82, \"Ϻо_l]w...\", 243, 0x0001, 0, 17, 150, 10\n    CONTROL 0x80, \"\", 2, 0x0001, 54, 30, 44, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 174, 57\nCAPTION \"s@tκϤ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ƻstɮפ\", 100, 0x0001, 0, 6, 174, 8\n    CONTROL 0x82, \"pn, Ыuv.\", 100, 0x0001, 0, 14, 174, 8\n    CONTROL 0x80, \"\", 2, 0x0001, 66, 39, 44, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 241, 135\nCAPTION \"s\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"ss\", -1, 0x0007, 5, 3, 170, 55\n    CONTROL 0x82, \"|(&N):\", -1, 0x0000, 10, 16, 55, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 65, 14, 100, 12\n    CONTROL 0x82, \"Ϻо(&R):\", -1, 0x0000, 10, 30, 40, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 65, 28, 40, 100\n    CONTROL 0x82, \"KX(&W):\", -1, 0x0000, 10, 44, 36, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 65, 42, 100, 12\n    CONTROL 0x82, \"ثeϺоs(&V)\", -1, 0x0000, 5, 62, 120, 10\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 160, 60\n    CONTROL 0x80, \"(&L)\", 2, 0x0001, 190, 6, 45, 14\n    CONTROL 0x80, \"s(&C)\", 1, 0x0000, 190, 27, 45, 14\n    CONTROL 0x80, \"e@(&P)...\", 226, 0x0000, 190, 44, 45, 14\n    CONTROL 0x80, \"s(&B)...\", 227, 0x0000, 190, 61, 45, 14\n    CONTROL 0x80, \"_s(&D)\", 255, 0x0000, 190, 78, 45, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 190, 95, 45, 14\nEND\n\n29 DIALOG 0x80c8, 30, 30, 231, 98\nCAPTION \"e@Ӻs\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"|(&P):\", 100, 0x000c, 3, 3, 69, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 3, 15, 172, 80\n    CONTROL 0x80, \"(&S)\", 1, 0x0001, 181, 6, 44, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 181, 24, 44, 14\n    CONTROL 0x80, \"R(&D)\", 219, 0x0000, 181, 41, 44, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 181, 58, 44, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 168, 65\nCAPTION \"ԲӸ\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"ԲӸ\", 100, 0x0007, 4, 4, 111, 55\n    CONTROL 0x80, \"jp(&S)\", 203, 0x0003, 11, 15, 100, 9\n    CONTROL 0x80, \"Wק(&M)\", 204, 0x0003, 11, 25, 100, 9\n    CONTROL 0x80, \"Wקɶ(&T)\", 205, 0x0003, 11, 35, 100, 9\n    CONTROL 0x80, \"ɮݩ(&F)\", 206, 0x0003, 11, 45, 100, 9\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 120, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 120, 23, 45, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 120, 43, 45, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 157, 102\nCAPTION \"ɮ׫\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"W(&N):\", 100, 0x000c, 5, 8, 29, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"ɮ׫\", 100, 0x0007, 5, 20, 94, 62\n    CONTROL 0x80, \"ؿ(&D)\", 101, 0x0003, 10, 31, 60, 12\n    CONTROL 0x80, \"{(&P)\", 210, 0x0003, 10, 43, 60, 12\n    CONTROL 0x80, \"(&M)\", 211, 0x0003, 10, 55, 60, 12\n    CONTROL 0x80, \"䥦ɮ(&O)\", 212, 0x0003, 10, 67, 60, 12\n    CONTROL 0x80, \"/tɮ(&S)\", 250, 0x0003, 5, 85, 100, 12\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 107, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 107, 23, 45, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 107, 43, 45, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 164, 80\nCAPTION \"T{\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"T{oͦb\", 100, 0x0007, 5, 3, 108, 73\n    CONTROL 0x80, \"Rɮ(&D)\", 219, 0x0003, 10, 15, 80, 12\n    CONTROL 0x80, \"ؿR(&I)\", 220, 0x0003, 10, 27, 80, 12\n    CONTROL 0x80, \"Nɮ(&R)\", 221, 0x0003, 10, 39, 80, 12\n    CONTROL 0x80, \"ƹʧ@(&M)\", 249, 0x0003, 10, 51, 80, 12\n    CONTROL 0x80, \"ϺЫO(&K)\", 251, 0x0003, 10, 63, 80, 12\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 115, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 115, 23, 45, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 115, 44, 45, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 250, 46\nCAPTION \"...\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 5, 49, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 55, 5, 192, 10\n    CONTROL 0x82, \":\", 108, 0x008b, 5, 15, 25, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 55, 15, 192, 10\n    CONTROL 0x80, \"\", 2, 0x0001, 200, 28, 40, 14\nEND\n\n36 DIALOG 0x80c8, 20, 20, 120, 58\nCAPTION \"\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"CLɮ...\", -1, 0x0001, 4, 6, 120, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 4, 20, 120, 12\n    CONTROL 0x80, \"\", 2, 0x0001, 44, 40, 32, 14\nEND\n\n12 DIALOG 0x80c8, 31, 39, 211, 96\nCAPTION \"p\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"ɮשW(&F):\", 99, 0x000c, 5, 8, 99, 10\n    CONTROL 0x81, \"\", 112, 0x0400, 105, 6, 35, 12\n    CONTROL 0x82, \"pɮ(&A):\", 99, 0x000c, 5, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 5, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 11, 44, 146, 40\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 162, 6, 45, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 162, 23, 45, 14\n    CONTROL 0x80, \"s(&B)...\", 232, 0x0000, 162, 43, 45, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 162, 60, 45, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 250, 78\nCAPTION \"ɮצW\"\nFONT 12, \"System\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"|ŦX DOS ɮצW٪Ww. пJsW.\", 99, 0x0000, 4, 9, 196, 11\n    CONTROL 0x82, \"sW(&N):\", 99, 0x0002, 5, 56, 50, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 57, 55, 130, 12\n    CONTROL 0x82, \"l|:\", 99, 0x0002, 5, 28, 50, 11\n    CONTROL 0x81, \"\", 102, 0x0880, 57, 28, 130, 12\n    CONTROL 0x82, \"ؿ:\", 99, 0x0002, 5, 42, 50, 11\n    CONTROL 0x81, \"\", 101, 0x0880, 57, 42, 130, 12\n    CONTROL 0x80, \"Tw\", 1, 0x0001, 205, 4, 44, 14\n    CONTROL 0x80, \"\", 2, 0x0000, 205, 20, 44, 14\n    CONTROL 0x80, \"U(&H)\", 254, 0x0000, 205, 36, 44, 14\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \" Windows tΨϥ\"\n0x0029   \"o˱N|} Windows 媩t.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"ƻsϤ\"\n0x0033   \"JتϤ\"\n0x0034   \"JӷϤ\"\n0x0035   \"JӷMتϤ\"\n0x0036   \"榡ƥتϤ\"\n0x0037   \"ƻsϤ~\"\n0x0038   \"LkƻsϤ\"\n0x003a   \"ӷϺоMتϺоۮe\"\n0x003c   \"%d%% \"\n0x003d   \"إߥDؿ...\"\n0x003e   \"ƻstɮפ...\"\n0x003f   \"榡ƿ~\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"ϺЪŶHCL.\n\nХR@ɮץH˥XϺЪŶ, Aդ@.\"\n0x00c1   \"O餣, LkCL;\n\nХLε{, Aդ@.\"\n0x00c2   \"CLɦ~;\n\nнTwLwո˥T, B]w.\"\n0x00c3   \"uܤ㪺𪬥ؿ\"\n0x00c5   \"تϺФw.\n\nдJ@ӷsϤ~.\"\n0x00c6   \"oOӨt, æ, ΰŪɮ.\"\n0x00c7   \"Lk榡.\n\nnH@몺榡~?\"\n0x00c8   \"wε{O@ Windows  DOS {.\"\n0x00c9   \"ε{ݦbs Microsoft Windows U.\"\n0x00ca   \"ε{ݦb Windows U. \"\n0x00cb   \"eOε{ɦ~o.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"Lk榡.\"\n0x0042   \"榡Ƨ\"\n0x0043   \"`@ %ld Ӧ줸ժϺЪŶ\nϤW %ld Ӧ줸եi\n\nA٭n榡ƨLϤ?\"\n0x0046   \"s@tκϤ\"\n0x0047   \"zTwznƻstɮרϺо %c ϤW?\"\n0x0048   \"tκϤ~\"\n0x0049   \"MS-DOS ҰʺϺоWStɮ, Ϊ̵Lkϥ.\"\n0x004a   \"LkNtɮ׽ƻs MS-DOS ҰʺϺоW.\"\n0x004b   \"LkNtɮ׽ƻs즹Ϥ.\n\nнTwϺо㦳w榡ƪϤ, BϺоw.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"~\"\n0x0053   \"Ϻоt Windows 媩tɮ, i_\"\n0x005b   \"Lkܧݩ.\n\nˬdϺЬO_gO@.\"\n0x005c   \"Lkإߥؿ.\n\nˬdϺЬO_gO@.\"\n0x005d   \"LkϺЩRW.\n\nнTwϺШSgO@, ӥBëDOϺ, BѦW٬OT.\nϺмѦW٤itUCr:\n[space] * ? / \\ | . , ; : + = [ ] ( ) & ^ < > \" \"\n0x005f   \"䤣ŦXɮ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"`@ %d ɮ (%s Ӧ줸)\"\n0x00b5   \"wŪؿ: %d \"\n0x00b6   \"%c: %sKB i, `@ %sKB\"\n0x00b7   \" %d ɮ\"\n0x00b9   \"Qw׮\"\n0x00ba   \"i_Ϻоs.\n\nӺϺоWw}Ҫɮ.\"\n0x00bb   \"F %d ɮ (%s Ӧ줸)\"\n0x00bc   \"Ϻо %c SϤ.\n\nдJϤAդ@.\"\n0x00bd   \"Ϻо %c Ϥ榡.\n\nAQ⥦榡ƶ?\"\n0x00bf   \"䤣nCLɮ. ˬdҫw|MɦWO_T.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"ؿwgsb.\"\n0x0061   \"ϺоewgܧF. AQsjMG?\"\n0x0065   \"Ϻо %c:%c\"\n0x006e   \"Lk{\"\n0x006f   \"bw~: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"榡ƱN|ҦƧR. ATwn榡ƺϺо %c Ϥ?\"\n0x00d3   \"T{n榡ƺϤ\"\n0x00d4   \"ާ@N|تϺЪҦƧR. ATwn~?\"\n0x00d5   \"T{nƻsϤ\"\n0x00d6   \"(&C)\"\n0x00d7   \"_(&U)...\"\n0x00d8   \"sϺо(&N)...\"\n0x00d9   \"s(&N)...\"\n0x00da   \"ؿ %s sb.\n\nإߥ?\"\n0x00db   \"Programs#*.exe;*.pif;*.com;*.bat#All Files (*.*)#*.*#\"\n0x00dc   \"s\"\n0x00dd   \"\"\n0x00de   \"LkCLɮ\"\n0x00df   \"LkܻUT.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"O餣, LkҰʫwε{.\n\nе@ε{, Aդ@.\"\n0x0071   \"䤣ɮ (Ψ䤸󤧤@).\n\nнTwJ|ɦWOT, Bһݭn{w]OiHϥΪ.\"\n0x0072   \"w|~.\"\n0x0073   \"Pɶ}ҤӦhɮ.\n\nХ@ε{, ηsW CONFIG.SYS  FILES OȤ, Aդ@.\"\n0x0074   \"ɨS]wp.\n\nбqɮ׿ܪ'p'o@ﶵHإߨp.\"\n0x0075   \"LkƱҰʫw{.\"\n0x0076   \"Lk}ҩΦCLɮ. \n\nҰʫإߦɪε{, Ǧε{Ӷ}ҩΦCLɮ.\"\n0x0078   \"Hƹާ@T{\"\n0x0079   \"zTwnNwɮשΥؿƻs %s?\"\n0x007a   \"zTwnNwɮשΥؿh %s?\"\n0x007b   \"zTwnҰ %s, BY %s @l?\"\n0x007c   \"ɮ׺޲z\"\n0x007e   \"𪬥ؿc\"\n0x007f   \"jMG: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \" %s ɮשW٪ɮ׬O{, LkPLε{إp.\"\n0x00e1   \"%s O@ӵ{, PɮשW٫إp.\"\n0x00e2   \"(L)\"\n0x00e3   \"䤣ɮ.\"\n0x00e4   \"LkCLhɮ.\n\nХuܾܤ@ɮ, æAդ@.\"\n0x00e5   \"{Ψ䤸wgY.\n\nШϥ MS-DOS  Expand OHƻs Windows ]wϤɮ.\"\n0x00e6   \"n榹ε{ҶΨ쪺{wɮפ@wgl. Эsw˦ε{.\"\n0x00e7   \"oɮצLε{bϥ.\"\n0x00e8   \"ɮ׺޲ziLksؿ \"%s\" ɮ.\n\nAQ~?\"\n0x00e9   \"إߥؿ\"\n0x00ea   \"%ld Ӧ줸\"\n0x00eb   \"%s Ӧ줸\"\n0x00ec   \"i@ƻshɮשΥؿŶKïW.\n\nп@ɮ, Aդ@.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"Ӧhɮ\"\n0x0085   \"ɮ׺޲z - WXO\"\n0x0086   \"LkŪӥؿ, uiCLɮ.\"\n0x008c   \"ثeu@ؿO %s\"\n0x008d   \"ƻs\"\n0x008f   \"W\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"榡ƺϤ\"\n0x0092   \"Ыw榡ƪϤ.\"\n0x0094   \"_Ϻоs(&D)...\"\n0x0096   \"إ:\"\n0x0097   \"R...\"\n0x0098   \"ƻs:\"\n0x0099   \"W...\"\n0x009a   \"...\"\n0x009b   \"R...\"\n0x009c   \"CL: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"Ϻо %c sb.\"\n0x00a9   \"ƻs...\"\n0x00aa   \"R:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"}...\"\n0x01a5   \"...\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"ɮ׮ɿ~\"\n0x03ea   \"ƻsɮ׮ɿ~\"\n0x03eb   \"Rɮ׮ɿ~\"\n0x03ec   \"ɮקWɿ~\"\n0x03ed   \"wϺоɿ~\"\n0x03ee   \"Ūؿɿ~\"\n0x03ef   \"ϤRWɿ~\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"Lk %s: %s\"\n0x03f4   \"Lkƻs %s: %s\"\n0x03f5   \"LkR %s: %s\"\n0x03f6   \"LkW %s: %s\"\n0x03fd   \"Lkإߥؿ %s: %s\"\n0x03fe   \"LkRؿ %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"LkإߩΨN %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"dos \\L\"\n0x0412   \"䤣ɮ.\n\nнTwJ|MɦWOT.\"\n0x0413   \"䤣|.\n\nнTwJ|OT.\"\n0x0414   \"ӦhLɮצPɦbϥΤ. е@ε{.\"\n0x0415   \"sD.\n\nнTwӺϤ, BSgO@.\"\n0x0416   \"ɮ׳BzL\"\n0x0418   \"O餣.\n\nХ@ε{, Aդ@.\"\n0x041c   \"ɮצsL\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"LkRثeؿ (~).\"\n0x0421   \"g]ƵL\"\n0x0422   \"ؿOŪ.\"\n0x0423   \"Ϥ㦳gO@.\n\ngO@, ΥΨLϤ, Aդ@.\"\n0x042d   \"gJ~. تɮשκϤiwgl.\"\n0x042f   \"Ū~. ӷɮשκϤiwgl.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"ާ@L\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"sD. нTwz㦳榹ʧ@vQ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"@ο~. ӷΥتɮשκϤiॿbϥΤ.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"ϺЪŶ.\n\nХR@ɮץH˥XŶ, Aդ@.\"\n0x0481   \"ӷɻPتɬOP@.\"\n0x0482   \"Хu@ɮרӧW, Ψϥ MS-DOS qβŸ(p *.TXT)@sۦW٪ɮקW.\"\n0x0483   \"iW٦OؿκϤ.\"\n0x0484   \"Dؿ (~).\"\n0x0486   \"تؿOӷؿ.\"\n0x0487   \"ɮץ Windows ϥΤ.\"\n0x0488   \"sD.ӷɥiॿϥΤ.\"\n0x0489   \"|Ӳ`.\"\n0x048a   \"Цbuvuw@ɮשΥؿ. _h, YQw@ɮ, Шϥ MS-DOS qβŸ(p *.TXT).\"\n0x048b   \"wɦWwgsb. buvwLɮשΥؿ, Aդ@.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1.2 MB\"\n0x0131   \"720 K\"\n0x0132   \"1.44 MB\"\n0x0133   \"2.88 MB\"\n0x0134   \"Ϻоeq\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360 K\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"O餣.\"\n0x0192   \"Lk榡 MS-DOS ҰʺϺ.\"\n0x0193   \"MS-DOS ҰʺϺоϬqjp.\"\n0x0194   \"{ϺоO.\"\n0x0199   \"Lkǿtɮ.\"\n0x019a   \"ϤiH榡Ʀ %s eq. n~榡Ƭeq?\"\n0x019b   \"Lk榡ƦϤ.\n\nнTwϤObϺо, ӥBSgO@, Sl, ]DKפҿ~.\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.Turkish.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"&Dosya\"\n    BEGIN\n    MENUITEM    \"&A\tEnter\", 0X0065\n    MENUITEM    \"&Ta...\tF7\", 0X006A\n    MENUITEM    \"K&opyala...\tF8\", 0X006B\n    MENUITEM    \"&Sil...\tDel\", 0X006C\n    MENUITEM    \"Ad &Deitir...\", 0X006D\n    MENUITEM    \"&zellikler...\tAlt+Enter\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"a&ltr...\", 0X0069\n    MENUITEM    \"&Yazdr...\", 0X0066\n    MENUITEM    \"likil&endir...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Dizi&n Yarat...\", 0X006F\n    MENUITEM    \"A&ra...\", 0X0068\n    MENUITEM    \"Seim &Belirle...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&k\", 0X0073\n    END\n    POPUP   \"Dis&k\"\n    BEGIN\n    MENUITEM    \"Disket &Kopyala...\", 0X00C9\n    MENUITEM    \"Disk &Etiketle...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Disket &Biimle...\", 0X00CB\n    MENUITEM    \"Sistem Disketi &Hazrla...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Src Se...\", 0X00FB\n    END\n    POPUP   \"&Aa\"\n    BEGIN\n    MENUITEM    \"&Bir Alt Dzeyini Gster\t+\", 0X012D\n    MENUITEM    \"&Alt Dzeylerini Gster\t*\", 0X012E\n    MENUITEM    \"&Tmn Gster\tCtrl+*\", 0X012F\n    MENUITEM    \"Alt Dzeylerini Gi&zle\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Alt Dzeyi Olanlar a&retle\", 0X01F9\n    END\n    POPUP   \"&Grnm\"\n    BEGIN\n    MENUITEM    \"Aa &ve Dizin\", 0X019D\n    MENUITEM    \"&Yalnz Aa\", 0X019B\n    MENUITEM    \"Yalnz &Dizin\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"B&l\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Ad\", 0X0191\n    MENUITEM    \"T&m Dosya Ayrntlar\", 0X0192\n    MENUITEM    \"&Baz Dosya Ayrntlar...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Ada gre &Srala\", 0X0194\n    MENUITEM    \"&Tre gre Srala\", 0X0195\n    MENUITEM    \"Boy&uta gre Srala\", 0X0196\n    MENUITEM    \"Ta&rihe gre Srala\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Dosya Trne &Gre...\", 0X0199\n    END\n    POPUP   \"&Seenekler\"\n    BEGIN\n    MENUITEM    \"&Onay...\", 0X01F5\n    MENUITEM    \"&Yaztipi...\", 0X01FE\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Durum ubuu\", 0X01F7\n    MENUITEM    \"Kullanmda &Simge ile Gster\", 0X01F8\n    MENUITEM    \"kta &Ayarlar Kaydet\", 0X01FF\n    END\n    POPUP   \"&Pencere\"\n    BEGIN\n    MENUITEM    \"Yeni &Pencere\", 0X03ED\n    MENUITEM    \"&Basamakla\tstKrkt+F5\", 0X03E9\n    MENUITEM    \"D&e\tstKrkt+F4\", 0X03EA\n    MENUITEM    \"&Simgeleri Yerletir\", 0X03EC\n    MENUITEM    \"&Yenile\tF5\", 0X03EB\n    END\n    POPUP   \"&Bilgi\"\n    BEGIN\n    MENUITEM    \"Dosya Yneticisi &Hakknda...\", 0X044F\n    END\nEND\n\n\n145 DIALOG 0x80c8, 14, 17, 264, 169\nCAPTION \"Yaztipi\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Yaztipi:\", 1088, 0x0000, 6, 3, 40, 8\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 12, 94, 54\n    CONTROL 0x82, \"Yaztipi &Biemi:\", 1089, 0x0000, 108, 3, 55, 8\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 12, 64, 54\n    CONTROL 0x82, \"Boyu&t:\", 1090, 0x0000, 179, 3, 30, 8\n    CONTROL 0x85, \"\", 1138, 0x0311, 179, 12, 32, 54\n    CONTROL 0x80, \"Etkiler\", 1072, 0x0007, 6, 72, 84, 61\n    CONTROL 0x80, \"s&tizili\", 1040, 0x0003, 10, 82, 49, 10\n    CONTROL 0x80, \"&Altizgi\", 1041, 0x0003, 10, 94, 51, 10\n    CONTROL 0x80, \"&Kk Harf\", 1042, 0x0003, 10, 82, 49, 10\n    CONTROL 0x82, \"&Renk:\", 1091, 0x0000, 10, 106, 30, 8\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 116, 75, 50\n    CONTROL 0x80, \"Tamam\", 1, 0x0001, 219, 12, 40, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 219, 29, 40, 14\n    CONTROL 0x80, \"Uyg&ula\", 1026, 0x0000, 219, 46, 40, 14\n    CONTROL 0x80, \"rnek\", 1073, 0x0007, 99, 82, 160, 51\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 135, 160, 20\n    CONTROL 0x82, \"AaZz\", 1092, 0x0081, 104, 92, 149, 37\nEND\n\n45 DIALOG 0x80c8, 26, 25, 201, 80\nCAPTION \"Src Se\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Srcler:\", 245, 0x000c, 5, 5, 41, 10\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"Tamam\", 1, 0x0001, 155, 15, 40, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 155, 32, 40, 14\nEND\n\n10 DIALOG 0x80c8, 15, 12, 210, 63\nCAPTION \"altr\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 3, 6, 162, 10\n    CONTROL 0x82, \"&Komut Satr:\", 100, 0x000c, 3, 18, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 134, 12\n    CONTROL 0x80, \"&Simge Durumunda altr\", 214, 0x0003, 3, 45, 100, 12\n    CONTROL 0x80, \"Tamam\", 1, 0x0001, 167, 11, 40, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 167, 28, 40, 14\nEND\n\n44 DIALOG 0x80c8, 16, 17, 145, 61\nCAPTION \"Seim Belirle\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Dosya(lar):\", -1, 0x000c, 6, 16, 68, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 29, 68, 12\n    CONTROL 0x80, \"&Se\", 1, 0x0001, 81, 6, 61, 14\n    CONTROL 0x80, \"Sei&mden kart\", 6, 0x0000, 81, 23, 61, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 81, 40, 61, 14\nEND\n\n39 DIALOG 0x80c8, 10, 20, 255, 95\nCAPTION \"Yerine Koymaya Onay\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 26, 3, 203, 10\n    CONTROL 0x82, \"Silinecek Dosya:\", 100, 0x000c, 26, 17, 59, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 86, 17, 165, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 86, 30, 165, 10\n    CONTROL 0x82, \"Yerine Konulacak Dosya:\", 100, 0x000c, 26, 43, 59, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 86, 43, 165, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 86, 56, 165, 10\n    CONTROL 0x80, \"&Evet\", 6, 0x0001, 14, 73, 53, 14\n    CONTROL 0x80, \"&Tmne Evet\", 107, 0x0000, 72, 73, 53, 14\n    CONTROL 0x80, \"&Hayr\", 7, 0x0000, 130, 73, 53, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 188, 73, 53, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 255, 60\nCAPTION \"Dosya Silmeye Onay\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 203, 10\n    CONTROL 0x82, \"Silinecek Dosya:\", 100, 0x000c, 25, 18, 54, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 82, 18, 170, 10\n    CONTROL 0x80, \"&Evet\", 6, 0x0001, 14, 42, 53, 14\n    CONTROL 0x80, \"&Tmne Evet\", 107, 0x0000, 72, 42, 53, 14\n    CONTROL 0x80, \"&Hayr\", 7, 0x0000, 130, 42, 53, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 188, 42, 53, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"Dizin Silmeye Onay\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Silinecek Dizin:\", 100, 0x000c, 25, 18, 55, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 18, 160, 10\n    CONTROL 0x80, \"&Evet\", 6, 0x0001, 9, 42, 53, 14\n    CONTROL 0x80, \"&Tmne Evet\", 107, 0x0000, 67, 42, 53, 14\n    CONTROL 0x80, \"&Hayr\", 7, 0x0000, 125, 42, 53, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 183, 42, 53, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 255, 60\nCAPTION \"Dosya Tamaya Onay\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Tanacak Dosya:\", 100, 0x000c, 25, 18, 59, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 86, 18, 166, 10\n    CONTROL 0x80, \"&Evet\", 6, 0x0001, 14, 42, 53, 14\n    CONTROL 0x80, \"&Tmne Evet\", 107, 0x0000, 72, 42, 53, 14\n    CONTROL 0x80, \"&Hayr\", 7, 0x0000, 130, 42, 53, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 188, 42, 53, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 255, 60\nCAPTION \"Dosya Ad Deitirmeye Onay\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Ad Deitirilecek:\", 100, 0x000c, 25, 13, 64, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 90, 13, 160, 10\n    CONTROL 0x80, \"&Evet\", 6, 0x0001, 14, 42, 53, 14\n    CONTROL 0x80, \"&Tmne Evet\", 107, 0x0000, 72, 42, 53, 14\n    CONTROL 0x80, \"&Hayr\", 7, 0x0000, 130, 42, 53, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 188, 42, 53, 14\nEND\n\n11 DIALOG 0x80c8, 20, 20, 258, 55\nCAPTION \"Yazdr\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 193, 10\n    CONTROL 0x82, \"&Yazdrlacak:\", 100, 0x000c, 3, 20, 46, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 48, 18, 160, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 36, 190, 10\n    CONTROL 0x80, \"Tamam\", 1, 0x0001, 215, 10, 40, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 215, 27, 40, 14\nEND\n\n13 DIALOG 0x80c8, 20, 20, 263, 54\nCAPTION \"Ara\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Aranan:\", 100, 0x000c, 5, 6, 45, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 52, 5, 160, 12\n    CONTROL 0x82, \"&Balama Yeri:\", 100, 0x000c, 5, 21, 45, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 52, 20, 160, 12\n    CONTROL 0x80, \"&Tm Altdizinleri Tara\", 232, 0x0003, 52, 34, 100, 12\n    CONTROL 0x80, \"Tamam\", 1, 0x0001, 217, 9, 40, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 217, 26, 40, 14\nEND\n\n14 DIALOG 0x80c8, 47, 59, 241, 83\nCAPTION \"Ta\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Geerli Dizin: N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"S&on:\", 100, 0x000c, 3, 33, 20, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 37, 32, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 26, 33, 10, 10\n    CONTROL 0x80, \"&Pano'ya Kopyala\", 256, 0x0004, 26, 47, 105, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 66, 55, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 60, 66, 135, 10\n    CONTROL 0x80, \"Tamam\", 1, 0x0001, 193, 12, 40, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 193, 29, 40, 14\n    CONTROL 0x82, \"l&k:\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n15 DIALOG 0x80c8, 20, 20, 246, 56\nCAPTION \"Sil\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Geerli Dizin: C\", 101, 0x008c, 3, 5, 193, 10\n    CONTROL 0x82, \"&Silinecek:\", 100, 0x000c, 3, 20, 35, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 40, 19, 155, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 36, 35, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 40, 36, 155, 10\n    CONTROL 0x80, \"Tamam\", 1, 0x0001, 200, 6, 40, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 200, 23, 40, 14\nEND\n\n38 DIALOG 0x80c8, 20, 20, 184, 65\nCAPTION \"zellikler\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"%d Dosya Seili, Toplam %s byte\", 100, 0x000c, 5, 5, 144, 10\n    CONTROL 0x80, \"znitelikler\", -1, 0x0007, 5, 18, 120, 42\n    CONTROL 0x80, \"Salt &Okunur\", 215, 0x0003, 10, 29, 52, 12\n    CONTROL 0x80, \"&Gizli\", 216, 0x0003, 72, 29, 52, 12\n    CONTROL 0x80, \"&Ariv\", 217, 0x0003, 10, 41, 52, 12\n    CONTROL 0x80, \"&Sistem\", 218, 0x0003, 72, 41, 52, 12\n    CONTROL 0x80, \"Tamam\", 1, 0x0001, 136, 9, 44, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 136, 26, 44, 14\nEND\n\n16 DIALOG 0x80c8, 33, 44, 231, 100\nCAPTION \"%s Dosyasnn zellikleri\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Tamam\", 1, 0x0001, 178, 11, 50, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 178, 28, 50, 14\n    CONTROL 0x82, \"&Dosya Ad:\", 100, 0x000c, 5, 5, 50, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 56, 4, 118, 10\n    CONTROL 0x82, \"Boyut:\", 100, 0x000c, 5, 16, 40, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 56, 16, 90, 10\n    CONTROL 0x82, \"Son Deiiklik:\", 100, 0x000c, 5, 27, 57, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 56, 27, 97, 10\n    CONTROL 0x82, \"&Yol:\", 100, 0x000c, 5, 38, 46, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 56, 38, 118, 10\n    CONTROL 0x80, \"znitelikler\", 100, 0x0007, 4, 52, 120, 42\n    CONTROL 0x80, \"Salt &Okunur\", 215, 0x0003, 9, 64, 52, 12\n    CONTROL 0x80, \"&Gizli\", 216, 0x0003, 71, 64, 49, 12\n    CONTROL 0x80, \"&Ariv\", 217, 0x0003, 9, 76, 52, 12\n    CONTROL 0x80, \"&Sistem\", 218, 0x0003, 71, 76, 49, 12\nEND\n\n17 DIALOG 0x80c8, 20, 20, 201, 59\nCAPTION \"Dizin Yarat\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Ad:\", 100, 0x000c, 3, 23, 20, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 25, 22, 90, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 40, 145, 10\n    CONTROL 0x80, \"Tamam\", 1, 0x0001, 158, 6, 40, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 158, 23, 40, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 155, 57\nCAPTION \"Sistem Disketi Hazrla\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Src:\", -1, 0x000c, 5, 8, 100, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 30, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 9, 40, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 110, 26, 40, 14\nEND\n\n19 DIALOG 0x80c8, 20, 21, 162, 58\nCAPTION \"Disket Kopyala\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Kaynak Src:\", -1, 0x000c, 5, 8, 53, 10\n    CONTROL 0x85, \"\", 245, 0x0003, 61, 7, 40, 37\n    CONTROL 0x82, \"&Hedef Src:\", 206, 0x000c, 5, 22, 50, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 61, 21, 40, 37\n    CONTROL 0x80, \"Tamam\", 1, 0x0001, 115, 9, 40, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 115, 26, 40, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 55\nCAPTION \"Disk Kopyalanyor\"\nFONT 8, \"Helv\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"iindeki disket kopyalanyor.\", 100, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \"Src A:\", 222, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \"Kaynak disket okunuyor.\", 243, 0x0001, 0, 26, 130, 10\n    CONTROL 0x80, \"ptal\", 2, 0x0001, 44, 39, 44, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 161, 41\nCAPTION \"Disk Etiketle\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Etiket:\", 100, 0x000c, 5, 10, 30, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 21, 100, 12\n    CONTROL 0x80, \"Tamam\", 1, 0x0001, 115, 6, 40, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 115, 23, 40, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 177, 96\nCAPTION \"Disket Biimle\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Tamam\", 1, 0x0001, 132, 10, 40, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 132, 27, 40, 14\n    CONTROL 0x82, \"S&rc:\", -1, 0x000c, 5, 7, 49, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 4, 66, 40\n    CONTROL 0x82, \"&Sa:\", 100, 0x000c, 5, 20, 49, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 55, 19, 66, 40\n    CONTROL 0x80, \"Seenekler\", 102, 0x0007, 5, 39, 116, 53\n    CONTROL 0x82, \"&Etiket:\", -1, 0x000c, 11, 51, 39, 10\n    CONTROL 0x81, \"\", 201, 0x0000, 40, 49, 63, 12\n    CONTROL 0x80, \"Sistem Disketi Olarak &Hazrla\", 242, 0x0003, 11, 62, 107, 12\n    CONTROL 0x80, \"abuk &Biimle\", 244, 0x0003, 11, 76, 90, 12\nEND\n\n26 DIALOG 0x90c8, 28, 30, 155, 50\nCAPTION \"Disket Biimleme\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Disket biimleniyor.\", 100, 0x0001, 2, 5, 150, 10\n    CONTROL 0x82, \"Src ilk kullanma hazrlanyor...\", 243, 0x0001, 2, 17, 150, 10\n    CONTROL 0x80, \"ptal\", 2, 0x0001, 56, 30, 44, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 177, 51\nCAPTION \"Sistem Disketi Hazrla\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Sistem dosyalar kopyalanyor.\", 100, 0x0001, 0, 6, 174, 8\n    CONTROL 0x82, \"Durdurmak iin ptal dmesine basn.\", 100, 0x0001, 0, 16, 174, 8\n    CONTROL 0x80, \"ptal\", 2, 0x0001, 66, 31, 44, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 245, 135\nCAPTION \"A Balantlar\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Yeni Balant\", -1, 0x0007, 5, 3, 160, 55\n    CONTROL 0x82, \"A &Yolu:\", -1, 0x0000, 11, 15, 55, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 55, 14, 100, 12\n    CONTROL 0x82, \"&Src:\", -1, 0x0000, 10, 30, 24, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 28, 40, 100\n    CONTROL 0x82, \"&Parola:\", -1, 0x0000, 10, 44, 36, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 55, 42, 100, 12\n    CONTROL 0x82, \"Geerli Src Bal&antlar:\", -1, 0x0000, 5, 62, 120, 10\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 160, 60\n    CONTROL 0x80, \"&Kapat\", 2, 0x0001, 181, 11, 58, 14\n    CONTROL 0x80, \"&Balan\", 1, 0x0000, 181, 32, 58, 14\n    CONTROL 0x80, \"n&cekiler...\", 226, 0x0000, 181, 49, 58, 14\n    CONTROL 0x80, \"&Gzat...\", 227, 0x0000, 181, 66, 58, 14\n    CONTROL 0x80, \"Balanty K&es\", 255, 0x0000, 181, 83, 58, 14\nEND\n\n29 DIALOG 0x80c8, 30, 30, 228, 98\nCAPTION \"nceki A Balantlar\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"A &Yollar:\", 100, 0x000c, 3, 3, 69, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 3, 15, 172, 80\n    CONTROL 0x80, \"&Se\", 1, 0x0001, 181, 10, 44, 14\n    CONTROL 0x80, \"&Kapat\", 2, 0x0000, 181, 28, 44, 14\n    CONTROL 0x80, \"Si&l\", 219, 0x0000, 181, 45, 44, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 163, 65\nCAPTION \"Ksmi Ayrntlar\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Ayrntlar\", 100, 0x0007, 4, 4, 111, 55\n    CONTROL 0x80, \"&Boyut\", 203, 0x0003, 11, 15, 100, 9\n    CONTROL 0x80, \"Son Deiiklik &Tarihi\", 204, 0x0003, 11, 25, 100, 9\n    CONTROL 0x80, \"Son Deiiklik &Saati\", 205, 0x0003, 11, 35, 100, 9\n    CONTROL 0x80, \"Dosya z&nitelikleri\", 206, 0x0003, 11, 45, 100, 9\n    CONTROL 0x80, \"Tamam\", 1, 0x0001, 120, 10, 40, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 120, 27, 40, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 152, 102\nCAPTION \"Dosya Trne Gre\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Ad:\", 100, 0x000c, 5, 8, 23, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"Dosya Tr\", 100, 0x0007, 5, 20, 94, 62\n    CONTROL 0x80, \"Di&zinler\", 101, 0x0003, 10, 31, 60, 12\n    CONTROL 0x80, \"&Programlar\", 210, 0x0003, 10, 43, 60, 12\n    CONTROL 0x80, \"&Belgeler\", 211, 0x0003, 10, 55, 60, 12\n    CONTROL 0x80, \"&Dier Dosyalar\", 212, 0x0003, 10, 67, 60, 12\n    CONTROL 0x80, \"&Gizli/Sistem Dosyalarn Gster\", 250, 0x0003, 5, 85, 115, 12\n    CONTROL 0x80, \"Tamam\", 1, 0x0001, 108, 14, 40, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 108, 31, 40, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 164, 80\nCAPTION \"Onay\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Onaylanacak lemler\", 100, 0x0007, 5, 3, 108, 73\n    CONTROL 0x80, \"&Dosya Silme\", 219, 0x0003, 10, 15, 80, 12\n    CONTROL 0x80, \"Dizin &Silme\", 220, 0x0003, 10, 27, 80, 12\n    CONTROL 0x80, \"Dosya Deitirm&e\", 221, 0x0003, 10, 39, 80, 12\n    CONTROL 0x80, \"&Fare lemi\", 249, 0x0003, 10, 51, 80, 12\n    CONTROL 0x80, \"Disk &Komutu\", 251, 0x0003, 10, 63, 80, 12\n    CONTROL 0x80, \"Tamam\", 1, 0x0001, 118, 9, 40, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 118, 26, 40, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 251, 46\nCAPTION \"Tanyor...\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 5, 49, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 49, 5, 192, 10\n    CONTROL 0x82, \"Son:\", 108, 0x008b, 5, 15, 20, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 49, 15, 192, 10\n    CONTROL 0x80, \"ptal\", 2, 0x0001, 105, 28, 40, 14\nEND\n\n36 DIALOG 0x80c8, 18, 20, 124, 58\nCAPTION \"\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Dosya yazdrlyor...\", -1, 0x0001, 2, 6, 120, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 2, 20, 120, 12\n    CONTROL 0x80, \"ptal\", 2, 0x0001, 46, 40, 32, 14\nEND\n\n12 DIALOG 0x80c8, 31, 39, 211, 88\nCAPTION \"likilendir\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Dosyalarn Uzants:\", 99, 0x000c, 5, 7, 74, 10\n    CONTROL 0x81, \"\", 112, 0x0400, 80, 6, 42, 12\n    CONTROL 0x82, \"&likilendirilecei:\", 99, 0x000c, 5, 22, 75, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 5, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 11, 44, 146, 40\n    CONTROL 0x80, \"Tamam\", 1, 0x0001, 165, 11, 40, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 165, 28, 40, 14\n    CONTROL 0x80, \"&Gzat...\", 232, 0x0000, 165, 48, 40, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 250, 72\nCAPTION \"Dosya Ad Se\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Belirtilen yol, DOS'un dosya ad biimine uymuyor.  Ltfen yeni bir ad girin.\", 99, 0x0000, 4, 4, 190, 24\n    CONTROL 0x82, \"&Yeni Ad:\", 99, 0x0002, 5, 56, 54, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 61, 55, 130, 12\n    CONTROL 0x82, \"Esas Yol:\", 99, 0x0002, 5, 28, 54, 11\n    CONTROL 0x81, \"\", 102, 0x0880, 61, 28, 130, 12\n    CONTROL 0x82, \"Gidecei Dizin:\", 99, 0x0002, 5, 42, 54, 11\n    CONTROL 0x81, \"\", 101, 0x0880, 61, 42, 130, 12\n    CONTROL 0x80, \"Tamam\", 1, 0x0001, 205, 11, 40, 14\n    CONTROL 0x80, \"ptal\", 2, 0x0000, 205, 27, 40, 14\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"Windows'dan k\"\n0x0029   \"Bu ilem Windows oturumunu kapayacaktr.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"Disket Kopyala\"\n0x0033   \"Hedef disketi yerletirin.\"\n0x0034   \"Kaynak disketi yerletirin.\"\n0x0035   \"Kaynak ve hedef disketi yerletirin.\"\n0x0036   \"Hedef disket biimleniyor.\"\n0x0037   \"Disket Kopyalama Hatas\"\n0x0038   \"Disket kopyalanamyor.\"\n0x003a   \"Kaynak src ve hedef src birbiriyle uyumsuz.\"\n0x003c   \"%d%% tamamland.\"\n0x003d   \"Kk dizin hazrlanyor...\"\n0x003e   \"Sistem dosyalar kopyalanyor...\"\n0x003f   \"Disket Biimleme Hatas\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"Yazdrma ilemi iin diskte yeterli yer yok.\n\nGerekli olmayan baz dosyalar silip, tekrar deneyin.\"\n0x00c1   \"Yazdrma ilemi iin bellek yeterli deil.\n\nBir ya da birka uygulamay kapatp, tekrar deneyin.\"\n0x00c2   \"Yazdrma ilemi srasnda hata olutu.\n\nYazc ayarlarnn doruluunu ve yazcnn seili olduunu denetleyin.\"\n0x00c3   \"Grntlenen dizin aac eksik\"\n0x00c5   \"Hedef srcde yer yok.\n\nSrcye yeni bir disket yerletirin.\"\n0x00c6   \"Bu, gizli, salt okunur ya da bir sistem dosyas.\"\n0x00c7   \"abuk biimleme yaplamyor.\n\nNormal biimleme uygulansn m?\"\n0x00c8   \"Belirtilen uygulama bir Windows ya da MS-DOS program deil.\"\n0x00c9   \"Bu uygulama Microsoft Windows'un daha yeni bir srmn gerektiriyor.\"\n0x00ca   \"Bu uygulama Windows'u gerektirir.\"\n0x00cb   \"Komut uygulamaya gnderilirken bir hata olutu.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"Disket biimlenemiyor.\"\n0x0042   \"Biimleme tamamland.\"\n0x0043   \"Diskteki toplam yer %ld byte.\nDiskteki bo yer %ld byte.\n\nBaka bir disk biimlemek istiyor musunuz?\"\n0x0046   \"Sistem Disketi Hazrla\"\n0x0047   \"%c srcsndeki diskete sistem dosyalarn kopyalamak istediinizden emin misiniz?\"\n0x0048   \"Sistem Disketi Hatas\"\n0x0049   \"MS-DOS balang srcs sistem dosyas iermiyor ya da kullanlabilir deil.\"\n0x004a   \"Sistem dosyalarn MS-DOS balang srcsne kopyalyamyor.\"\n0x004b   \"Sistem dosyalar diskete eklenemiyor.\n\nSrcde biimlenmi bir disket bulunduunu ve src kapsn kapal olduunu denetleyiniz.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"A Hatas\"\n0x0053   \"Bu src Windows sistem dosyalarn iermekte; balant kesilemez.\"\n0x005b   \"znitelikler deitirilemiyor.\n\nDiskin yazmaya kar korunmu olmadn denetleyin.\"\n0x005c   \"Dizin yaratlamyor.\n\nDiskin yazmaya kar korunmu olmadn denetleyin. \"\n0x005d   \"Disket etiketlendirilemiyor.\n\nDiskin yazmaya kar korunmu olmadn, a srcs olmadn ve etiketin geerli olduunu denetleyin.\nEtiketler ilerideki iaretleri ieremez:\n[Boluk] * ? / \\ | . , ; : + = [ ] ( ) & ^ < > \"\"\n0x005f   \"Elenen hibir dosya bulunamad.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"Toplam %d dosya (%s byte)\"\n0x00b5   \"Okunan dizin says: %d \"\n0x00b6   \"%c: %sKB bo, toplam %sKB \"\n0x00b7   \"%d dosya bulundu.\"\n0x00b9   \"seili dosyalar\"\n0x00ba   \"A srcs balants kesilemiyor.\n\nSrc zerinde ak dosyalar var.\"\n0x00bb   \"%d dosya seili (%s byte)\"\n0x00bc   \"%c: srcsnde disket yok.\n\nSrcye bir disket yerletirip, tekrar deneyin.\"\n0x00bd   \"%c srcsndeki disket biimlenmemi.\n\nimdi biimlenmesini ister misiniz?\"\n0x00bf   \"Yazdrlacak dosya bulunamad. Belirtilen yolun ve dosya adnn doruluunu denetleyiniz.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"Bu adda bir dizin zaten var.\"\n0x0061   \"Bu srcnn ierii deiti. Arama Sonular penceresinin gncellenmesini istiyor musunuz?\"\n0x0065   \"Src %c:%c\"\n0x006e   \"Program altrlamyor\"\n0x006f   \"Beklenmedik hata: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"Biimleme, disketinizdeki TM bilgiyi silecek. %c srcsndeki disketi biimlemek istediinizden emin misiniz?\"\n0x00d3   \"Disket Biimleye Onay\"\n0x00d4   \"Bu ilem hedef disketteki TM bilgiyi silecek. lemi sdrmek istediinizden emin misiniz?\"\n0x00d5   \"Disket Kopyalamaya Onay\"\n0x00d6   \"&Kapat\"\n0x00d7   \"Silinenleri &Geri Getir...\"\n0x00d8   \"&A Srcsne Balan...\"\n0x00d9   \"&A Balantlar...\"\n0x00da   \"%s adl bir dizin yok.\n\nYaratlsn m?\"\n0x00db   \"Programlar#*.exe;*.pif;*.com;*.bat#Tm Dosyalar (*.*)#*.*#\"\n0x00dc   \"Gzat\"\n0x00dd   \"altr\"\n0x00de   \"Dosya Yazdrlamyor\"\n0x00df   \"Yardm bilgisi grntlenemiyor.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"Belirtilen uygulamay balatmak iin bellek yetersiz.\n\nBir ya da birka uygulamay kapatp, tekrar deneyin.\"\n0x0071   \"Dosya (ya da bileenlerinden biri) bulunamad.\n\nYolun ve dosya adnn doruluunu ve gerekli kitaplklarn tmnn var olduunu denetleyin.\"\n0x0072   \"Belirtilen yol geersiz.\"\n0x0073   \"ok fazla sayda dosya kullanlyor.\n\nBir ya da birka uygulamay kapatn ya da CONFIG.SYS'deki FILES komutunun deerini ykseltip, yeniden deneyin.\"\n0x0074   \"Bu dosya bir uygulama ile ilikilendirilmemi.\n\nBir iliki yaratmak iin Dosya mensnden likilendir komutunu sein.\"\n0x0075   \"Belitilen programn birden fazla kopyas balatlamaz.\"\n0x0076   \"Dosya alamyor ya da yazdrlamyor.\n\nBu dosyay yaratmakta kullanlan uygulamay balatp, dosyay o uygulamadan an ya da yazdrn.\"\n0x0078   \"Fare lemine Onay\"\n0x0079   \"Seili dosyalar ya da dizinleri %s dizinine kopyalamak istediinizden emin misiniz?\"\n0x007a   \"Seili dosyalar ya da dizinleri %s dizinine tamak istediinizden emin misiniz?\"\n0x007b   \"%s dosyasnn, %s balatldnda alan ilk dosya olmasn istediinizden emin misiniz?\"\n0x007c   \"Dosya Yneticisi\"\n0x007e   \"Dizin Aac\"\n0x007f   \"Arama Sonular: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"%s uzantl dosyalar program dosyalardr ve baka bir uygulamayla ilikilendirilemezler.\"\n0x00e1   \"%s, bir program deil ve bir dosya uzantsyla ilikilendirilemez.\"\n0x00e2   \"(Hibiri)\"\n0x00e3   \"Hibir dosya bulunamad.\"\n0x00e4   \"Birden fazla dosya yazdrlamyor.\n\nTek bir dosya seip, yeniden deneyin.\"\n0x00e5   \"Bu program veya elerinden biri sktrlm.\n\nDosyay kurma disketlerinden kopyalamak iin, MS-DOS expand hizmet programn kullann.\"\n0x00e6   \"Bu uygulamay altrmak iin gerekli olan kitaplk dosyalarndan biri hasar grm. Ltfen bu uygulamay yeniden ykleyin.\"\n0x00e7   \"Bu dosya baka bir uygulama tarafndan kullanmda.\"\n0x00e8   \"Dosya Yneticisi \"%s\" dizininde yaratlan dosyalara ulaamayabilir.\n\nDevam etmek istiyor musunuz?\"\n0x00e9   \"Dizin Yarat\"\n0x00ea   \"%ld byte\"\n0x00eb   \"%s byte\"\n0x00ec   \"Birden fazla dosyay veya dizini Pano'ya kopyalayamyor.\n\nTek bir dosya seip, tekrar deneyin. \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"ok Fazla Dosya\"\n0x0085   \"Dosya Yneticisi - Bellekte Yer Yok\"\n0x0086   \"Tm dizini okuyamyor.  Yalnzca ksmsal listeler grntlenecek.\"\n0x008c   \"Geerli Dizin: %s\"\n0x008d   \"Kopyala\"\n0x008f   \"Ad Deitir\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"Disket Biimle\"\n0x0092   \"Biimlenecek disketi sein.\"\n0x0094   \"A Srcs Balants&n Kes...\"\n0x0096   \"Yaratlan:\"\n0x0097   \"Siliniyor...\"\n0x0098   \"Kopyalanan:\"\n0x0099   \"Ad Deitiriliyor...\"\n0x009a   \"Tanyor...\"\n0x009b   \"Siliniyor...\"\n0x009c   \"Yazdrlan: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"%c:\\ srcs yok.\"\n0x00a9   \"Kopyalanyor...\"\n0x00aa   \"Silinen:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"Alyor...\"\n0x01a5   \"Kapatlyor...\"\n0x01a6   \"ok fazla dizin penceresi ak.\n\nBir ya da daha fazla pencereyi kapatp, tekrar deneyin.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"Dosya Tamada Hata\"\n0x03ea   \"Dosya Kopyalamada Hata\"\n0x03eb   \"Dosya Silmede Hata\"\n0x03ec   \"Dosya Ad Deitirmede Hata\"\n0x03ed   \"Src Semede Hata\"\n0x03ee   \"Dizin Okumada Hata\"\n0x03ef   \"Disk Etiketlemede Hata\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"%s tanamyor: %s\"\n0x03f4   \"%s kopyalanamyor: %s\"\n0x03f5   \"%s silinemiyor: %s\"\n0x03f6   \"%s Dosyasnn ad deitirilemiyor: %s\"\n0x03fd   \"%s dizini yaratlamyor: %s\"\n0x03fe   \"%s dizini yok edilemiyor: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"%s yaratlamyor ya da deitirilemiyor: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Geersiz dos ilevi\"\n0x0412   \"Dosya bulunamyor.\n\nYolun ve dosya adnn doruluunu denetleyiniz.\"\n0x0413   \"Yol bulunamad.\n\nYolun doruluunu denetleyin.\"\n0x0414   \"ok fazla dier dosya kullanmda. Bir ya da daha fazla uygulamay kapatn.\"\n0x0415   \"Eriim engellendi.\n\nDiskin dolu ve yazmaya kar korunmu olmadn denetleyin.\"\n0x0416   \"Geersiz dosya tantc deeri.\"\n0x0418   \"Bellek yetersiz.\n\nBir ya daha fazla uygulamay kapatp, tekrar deneyin.\"\n0x041c   \"Geersiz dosya eriimi\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"Geerli dizini silemiyor (i hata)\"\n0x0421   \"Geersiz aygt\"\n0x0422   \"Dizin bo.\"\n0x0423   \"Disk yazmaya kar korunmu.\n\nDiskteki yazmaya kar korumay kaldrn ya da baka bir disk kullann ve tekrar deneyin.\"\n0x042d   \"Yazmda hata. Hedef dosyas veya diski hasarl olabilir.\"\n0x042f   \"Okumada hata. Kaynak dosyas veya diski hasarl olabilir.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"Geersiz ilem\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"A eriimi engellendi. Bu ilem iin gerekli olan a kullanm izninizin olduunu denetleyin.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"Paylam hatas. Hedef ya da kaynak kullanmda olabilir.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"Yetersiz disk yeri.\n\nDiskteki yeri artrmak iin bir yada daha fazla dosyay silip, tekrar deneyin.\"\n0x0481   \"Kaynak ve Hedef ayn.\"\n0x0482   \"Ad deitirmek iin tek bir dosya sein, ya da benzer adl bir grup dosyaynn adn deitirmek iin MS-DOS genel arama karakterlerini (rnein, *.TXT) kullann.\"\n0x0483   \"Baka bir dizine ya da diske ad deitirilemiyor.\"\n0x0484   \"Ana Dizin (i hata).\"\n0x0486   \"Hedef dizini kaynan bir altdizini.\"\n0x0487   \"Dosya, Windows tarafndan kullanlyor.\"\n0x0488   \"Eriim engellendi. Kaynak dosya kullanmda olabilir.\"\n0x0489   \"Yol ok derin.\"\n0x048a   \"Son kutusunda yalnzca bir dosya ya da dizin belirtin ya da benzer adl bir grup dosyaynn adn deitirmek iin MS-DOS genel arama karakterlerini (rnein, *.TXT) kullann.  \"\n0x048b   \"Belirtilen dosya ad kullanlmakta. Son kutusunda deiik bir ad belirtip, tekrar deneyin.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1,2 MB\"\n0x0131   \"720 K\"\n0x0132   \"1,44 MB\"\n0x0133   \"2,88 MB\"\n0x0134   \"Src Sas\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360 K\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"Bellek yetersiz.\"\n0x0192   \"MS-DOS balang srcsn biimleyemiyor.\"\n0x0193   \"MS-DOS balang srcsnn geersiz bir ksm boyutu var.\"\n0x0194   \"Src tipi tannmyor.\"\n0x0199   \"Sistem dosyalar aktarlamad.\"\n0x019a   \"Bu disket, sas %s olmak zere biimlenebilir. Biimleme bu sada srdrlsn m?\"\n0x019b   \"Disk biimlenemiyor.\n\nDiskin srcde olduunu ve yazmaya kar korunmu olmadn, hasar grmemi olduunu ya da doru younlukta olduunu denetleyin.\"\n\n\n"
  },
  {
    "path": "src/w31rc/winfile.USEnglish.rc",
    "content": "/********************************************************************\n\n    Resources that were extracted from a binary that ran on 16-bit Windows.\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n500 MENU\nBEGIN\n    POPUP   \"&File\"\n    BEGIN\n    MENUITEM    \"&Open\tEnter\", 0X0065\n    MENUITEM    \"&Move...\tF7\", 0X006A\n    MENUITEM    \"&Copy...\tF8\", 0X006B\n    MENUITEM    \"&Delete...\tDel\", 0X006C\n    MENUITEM    \"Re&name...\", 0X006D\n    MENUITEM    \"Proper&ties...\tAlt+Enter\", 0X006E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Run...\", 0X0069\n    MENUITEM    \"&Print...\", 0X0066\n    MENUITEM    \"&Associate...\", 0X0067\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Cr&eate Directory...\", 0X006F\n    MENUITEM    \"Searc&h...\", 0X0068\n    MENUITEM    \"&Select Files...\", 0X0074\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"E&xit\", 0X0073\n    END\n    POPUP   \"&Disk\"\n    BEGIN\n    MENUITEM    \"&Copy Disk...\", 0X00C9\n    MENUITEM    \"&Label Disk...\", 0X00CA\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Format Disk...\", 0X00CB\n    MENUITEM    \"&Make System Disk...\", 0X00CC\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Select Drive...\", 0X00FB\n    END\n    POPUP   \"&Tree\"\n    BEGIN\n    MENUITEM    \"E&xpand One Level\t+\", 0X012D\n    MENUITEM    \"Expand &Branch\t*\", 0X012E\n    MENUITEM    \"Expand &All\tCtrl+*\", 0X012F\n    MENUITEM    \"&Collapse Branch\t-\", 0X0130\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Indicate Expandable Branches\", 0X01F9\n    END\n    POPUP   \"&View\"\n    BEGIN\n    MENUITEM    \"T&ree and Directory\", 0X019D\n    MENUITEM    \"Tr&ee Only\", 0X019B\n    MENUITEM    \"Directory &Only\", 0X019C\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"Sp&lit\", 0X019E\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Name\", 0X0191\n    MENUITEM    \"&All File Details\", 0X0192\n    MENUITEM    \"&Partial Details...\", 0X0193\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Sort by Name\", 0X0194\n    MENUITEM    \"Sort &by Type\", 0X0195\n    MENUITEM    \"Sort by Si&ze\", 0X0196\n    MENUITEM    \"Sort by &Date\", 0X0197\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"By File &Type...\", 0X0199\n    END\n    POPUP   \"&Options\"\n    BEGIN\n    MENUITEM    \"&Confirmation...\", 0X01F5\n    MENUITEM    \"&Font...\", 0X01FE\n    MENUITEM    \"Customize Tool&bar...\", 0X0200\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Toolbar\", 0X01FC\n    MENUITEM    \"&Drivebar\", 0X01FB\n    MENUITEM    \"&Status Bar\", 0X01F7\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&Minimize on Use\", 0X01F8\n    MENUITEM    \"Save Settings on &Exit\", 0X01FF\n    END\n    POPUP   \"&Window\"\n    BEGIN\n    MENUITEM    \"&New Window\", 0X0452\n    MENUITEM    \"&Cascade\tShift+F5\", 0X044D\n    MENUITEM    \"Tile &Horizontally\", 0X044F\n    MENUITEM    \"&Tile Vertically\tShift+F4\", 0X044E\n    MENUITEM    \"&Arrange Icons\", 0X0451\n    MENUITEM    \"&Refresh\tF5\", 0X0450\n    END\n    POPUP   \"&Help\"\n    BEGIN\n    MENUITEM    \"&Contents\", 0X04B1\n    MENUITEM    \"&Search for Help on...\", 0X001E\n    MENUITEM    \"&How to Use Help\", 0X04B2\n    MENUITEM    \"\", 0X0000\n    MENUITEM    \"&About File Manager...\", 0X04B3\n    END\nEND\n\n\n145 DIALOG 0x80c8, 13, 54, 264, 127\nCAPTION \"Font\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Font:\", 1088, 0x0000, 6, 3, 40, 9\n    CONTROL 0x85, \"\", 1136, 0x0351, 6, 13, 94, 54\n    CONTROL 0x82, \"Font St&yle:\", 1089, 0x0000, 108, 3, 44, 9\n    CONTROL 0x85, \"\", 1137, 0x0001, 108, 13, 64, 54\n    CONTROL 0x82, \"&Size:\", 1090, 0x0000, 179, 3, 30, 9\n    CONTROL 0x85, \"\", 1138, 0x0311, 179, 13, 32, 54\n    CONTROL 0x80, \"Effects\", 1072, 0x0007, 6, 72, 84, 61\n    CONTROL 0x80, \"Stri&keout\", 1040, 0x0003, 10, 82, 49, 10\n    CONTROL 0x80, \"&Underline\", 1041, 0x0003, 10, 94, 51, 10\n    CONTROL 0x80, \"&Lowercase\", 1042, 0x0003, 10, 82, 49, 10\n    CONTROL 0x82, \"&Color:\", 1091, 0x0000, 10, 106, 30, 9\n    CONTROL 0x85, \"\", 1139, 0x0253, 10, 116, 75, 50\n    CONTROL 0x80, \"OK\", 1, 0x0001, 218, 6, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 218, 23, 40, 14\n    CONTROL 0x80, \"&Apply\", 1026, 0x0000, 218, 40, 40, 14\n    CONTROL 0x80, \"&Help\", 1038, 0x0000, 218, 57, 40, 14\n    CONTROL 0x80, \"Sample\", 1073, 0x0007, 98, 72, 160, 49\n    CONTROL 0x82, \"\", 1093, 0x0081, 98, 124, 160, 20\n    CONTROL 0x82, \"AaBbYyZz\", 1092, 0x0081, 104, 81, 149, 37\nEND\n\n45 DIALOG 0x80c8, 11, 31, 201, 86\nCAPTION \"Select Drive\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Drives:\", 245, 0x000c, 5, 5, 41, 10\n    CONTROL 0x83, \"\", 222, 0x0083, 5, 16, 140, 60\n    CONTROL 0x80, \"OK\", 1, 0x0001, 155, 6, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 155, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 155, 44, 40, 14\nEND\n\n10 DIALOG 0x80c8, 15, 12, 210, 63\nCAPTION \"Run\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008b, 3, 6, 162, 10\n    CONTROL 0x82, \"&Command Line:\", 100, 0x000c, 3, 18, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 3, 29, 134, 12\n    CONTROL 0x80, \"Run &Minimized\", 214, 0x0003, 3, 45, 71, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 165, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 165, 43, 40, 14\nEND\n\n44 DIALOG 0x80c8, 15, 12, 116, 83\nCAPTION \"Select Files\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&File(s):\", -1, 0x000c, 5, 16, 60, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 29, 60, 12\n    CONTROL 0x80, \"&Select\", 1, 0x0001, 70, 6, 40, 14\n    CONTROL 0x80, \"&Deselect\", 6, 0x0000, 70, 23, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 70, 40, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 70, 63, 40, 14\nEND\n\n39 DIALOG 0x80c8, 10, 20, 245, 95\nCAPTION \"Confirm File Replace\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Replace File:\", 100, 0x000c, 25, 12, 49, 10\n    CONTROL 0x82, \"\", 103, 0x008c, 75, 12, 165, 10\n    CONTROL 0x82, \"\", 105, 0x000c, 75, 22, 170, 10\n    CONTROL 0x82, \"With File:\", 100, 0x000c, 25, 34, 49, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 75, 34, 165, 10\n    CONTROL 0x82, \"\", 106, 0x000c, 75, 44, 170, 10\n    CONTROL 0x80, \"&Yes\", 6, 0x0001, 33, 73, 40, 14\n    CONTROL 0x80, \"Yes to &All\", 107, 0x0000, 79, 73, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 125, 73, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 171, 73, 40, 14\nEND\n\n40 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"Confirm File Delete\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x000c, 25, 3, 203, 10\n    CONTROL 0x82, \"Delete File:\", 100, 0x000c, 25, 18, 44, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 18, 170, 10\n    CONTROL 0x80, \"&Yes\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"Yes to &All\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n41 DIALOG 0x80c8, 10, 20, 245, 60\nCAPTION \"Confirm Directory Delete\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Delete Directory:\", 100, 0x000c, 25, 18, 55, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 18, 160, 10\n    CONTROL 0x80, \"&Yes\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"Yes to &All\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n42 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"Confirm File Move\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Move File:\", 100, 0x000c, 25, 18, 44, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 70, 18, 170, 10\n    CONTROL 0x80, \"&Yes\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"Yes to &All\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n43 DIALOG 0x80c8, 10, 22, 245, 60\nCAPTION \"Confirm File Rename\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, 32515, 100, 0x0003, 3, 12, 16, 16\n    CONTROL 0x82, \"\", 104, 0x008c, 25, 3, 203, 10\n    CONTROL 0x82, \"Rename File:\", 100, 0x000c, 25, 13, 54, 10\n    CONTROL 0x82, \"\", 102, 0x008c, 80, 13, 160, 10\n    CONTROL 0x80, \"&Yes\", 6, 0x0001, 33, 42, 40, 14\n    CONTROL 0x80, \"Yes to &All\", 107, 0x0000, 79, 42, 40, 14\n    CONTROL 0x80, \"&No\", 7, 0x0000, 125, 42, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 171, 42, 40, 14\nEND\n\n11 DIALOG 0x80c8, 20, 20, 240, 63\nCAPTION \"Print\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 193, 10\n    CONTROL 0x82, \"&Print:\", 100, 0x000c, 3, 20, 23, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 27, 18, 160, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 36, 190, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n13 DIALOG 0x80c8, 20, 20, 263, 63\nCAPTION \"Search\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Search For:\", 100, 0x000c, 5, 6, 45, 12\n    CONTROL 0x81, \"\", 201, 0x0480, 52, 5, 160, 12\n    CONTROL 0x82, \"Start &From:\", 100, 0x000c, 5, 21, 45, 12\n    CONTROL 0x81, \"\", 101, 0x0480, 52, 20, 160, 12\n    CONTROL 0x80, \"S&earch All Subdirectories\", 232, 0x0003, 52, 34, 100, 12\n    CONTROL 0x82, \"\", 104, 0x000c, 5, 50, 200, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 217, 6, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 217, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 217, 43, 40, 14\nEND\n\n14 DIALOG 0x80c8, 47, 59, 231, 64\nCAPTION \"Move\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Current Directory: N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"&To:\", 100, 0x000c, 3, 33, 20, 10\n    CONTROL 0x81, \"\", 103, 0x0480, 37, 32, 138, 12\n    CONTROL 0x80, \"\", 257, 0x0004, 26, 33, 10, 10\n    CONTROL 0x80, \"&Copy to Clipboard\", 256, 0x0004, 26, 47, 72, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 49, 40, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 45, 49, 138, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 185, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 185, 44, 40, 14\n    CONTROL 0x82, \"&From:\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n10014 DIALOG 0x80c8, 47, 59, 231, 98\nCAPTION \"Move\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Current Directory: N\", 101, 0x008b, 3, 6, 182, 10\n    CONTROL 0x82, \"&To:\", 100, 0x000c, 3, 38, 20, 10\n    CONTROL 0x62, \"edit\", 103, 0x0004, 37, 38, 138, 42\n    CONTROL 0x50, \"\", 256, 0x0401, 6656, 9728, 2560, 2560\n    CONTROL 0x80, \"&Copy to Clipboard\", 256, 0x0004, 26, 84, 72, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 84, 40, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 45, 84, 138, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 185, 6, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 185, 23, 40, 14\n    CONTROL 0x80, \"&Browse\", 600, 0x0000, 185, 40, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 185, 61, 40, 14\n    CONTROL 0x82, \"&From:\", 100, 0x000c, 3, 19, 20, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 37, 18, 138, 12\nEND\n\n200 DIALOG 0x00c8, 36, 24, 164, 134\nCAPTION \"Select Directory\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x81, \"\", 1152, 0x0490, 6, 16, 90, 12\n    CONTROL 0x83, \"\", 1120, 0x0053, 12, 28, 84, 68\n    CONTROL 0x82, \"&Directories:\", -1, 0x0000, 10, 6, 92, 9\n    CONTROL 0x82, \"\", 1088, 0x0000, 10, 16, 92, 9\n    CONTROL 0x83, \"\", 1121, 0x0053, 10, 28, 92, 68\n    CONTROL 0x82, \"Dri&ves:\", 1091, 0x0000, 10, 102, 92, 9\n    CONTROL 0x85, \"\", 1137, 0x0353, 10, 112, 92, 68\n    CONTROL 0x80, \"OK\", 1, 0x0001, 108, 6, 50, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 108, 24, 50, 14\n    CONTROL 0x82, \"File &Name:\", 1090, 0x0000, 6, 6, 76, 9\n    CONTROL 0x82, \"List Files of &Type:\", 1089, 0x0000, 6, 104, 90, 9\n    CONTROL 0x85, \"\", 1136, 0x0043, 6, 114, 90, 36\n    CONTROL 0x80, \"&Help\", 1038, 0x0000, 208, 46, 50, 14\n    CONTROL 0x80, \"&Read Only\", 1040, 0x0003, 208, 68, 50, 12\nEND\n\n15 DIALOG 0x80c8, 20, 20, 246, 64\nCAPTION \"Delete\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Current Directory: C\", 101, 0x008c, 3, 5, 193, 10\n    CONTROL 0x82, \"De&lete:\", 100, 0x000c, 3, 20, 35, 10\n    CONTROL 0x81, \"\", 102, 0x0480, 40, 19, 155, 12\n    CONTROL 0x82, \"\", 104, 0x008b, 3, 35, 35, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 40, 35, 155, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 200, 6, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 200, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 200, 43, 40, 14\nEND\n\n38 DIALOG 0x80c8, 20, 20, 206, 65\nCAPTION \"Properties\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"%d Files Selected, Total %s bytes\", 100, 0x000c, 5, 5, 144, 10\n    CONTROL 0x80, \"Attributes\", -1, 0x0007, 5, 18, 120, 42\n    CONTROL 0x80, \"&Read Only\", 215, 0x0003, 10, 29, 52, 12\n    CONTROL 0x80, \"H&idden\", 216, 0x0003, 72, 29, 52, 12\n    CONTROL 0x80, \"&Archive\", 217, 0x0003, 10, 41, 52, 12\n    CONTROL 0x80, \"&System\", 218, 0x0003, 72, 41, 52, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 150, 6, 50, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 150, 23, 50, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 150, 43, 50, 14\nEND\n\n16 DIALOG 0x80c8, 23, 13, 250, 195\nCAPTION \"Properties for %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 194, 6, 50, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 194, 23, 50, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 194, 40, 50, 14\n    CONTROL 0x82, \"&File Name:\", 261, 0x000c, 5, 5, 55, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 60, 5, 134, 10\n    CONTROL 0x82, \"&Path:\", 100, 0x000c, 5, 16, 51, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 60, 16, 134, 10\n    CONTROL 0x82, \"Last Change:\", 100, 0x000c, 5, 27, 62, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 60, 27, 97, 10\n    CONTROL 0x82, \"Version:\", 258, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"Not marked\", 259, 0x008c, 60, 38, 90, 10\n    CONTROL 0x82, \"&Copyright:\", -1, 0x0000, 5, 49, 45, 10\n    CONTROL 0x81, \"Not marked\", 265, 0x0880, 60, 49, 134, 10\n    CONTROL 0x82, \"Size:\", 260, 0x000c, 5, 60, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 60, 60, 90, 10\n    CONTROL 0x80, \"Attributes\", 100, 0x0007, 4, 74, 120, 42\n    CONTROL 0x80, \"&Read Only\", 215, 0x0003, 9, 86, 52, 12\n    CONTROL 0x80, \"H&idden\", 216, 0x0003, 71, 86, 49, 12\n    CONTROL 0x80, \"&Archive\", 217, 0x0003, 9, 98, 52, 12\n    CONTROL 0x80, \"&System\", 218, 0x0003, 71, 98, 49, 12\n    CONTROL 0x80, \"&Version Information\", 262, 0x0007, 4, 121, 242, 72\n    CONTROL 0x83, \"\", 263, 0x1003, 9, 132, 91, 58\n    CONTROL 0x81, \"\", 264, 0x0804, 103, 132, 138, 58\nEND\n\n17 DIALOG 0x80c8, 20, 20, 200, 63\nCAPTION \"Create Directory\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Name:\", 100, 0x000c, 3, 23, 20, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 30, 22, 90, 12\n    CONTROL 0x82, \"\", 104, 0x008c, 3, 46, 150, 10\n    CONTROL 0x80, \"OK\", 1, 0x0001, 157, 6, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 157, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 157, 43, 40, 14\nEND\n\n10017 DIALOG 0x80c8, 20, 20, 240, 74\nCAPTION \"Create Directory\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 101, 0x008c, 3, 6, 154, 10\n    CONTROL 0x82, \"&Name:\", 100, 0x000c, 3, 28, 20, 10\n    CONTROL 0x62, \"edit\", 201, 0x0000, 3, 40, 170, 18\n    CONTROL 0x50, \"\", 26624, 0x8c00, 768, 15360, -27136, 2560\n    CONTROL 0x80, \"OK\", 1, 0x0001, 197, 6, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 197, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 197, 43, 40, 14\nEND\n\n47 DIALOG 0x80c8, 20, 20, 157, 64\nCAPTION \"Make System Disk\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Copy System Files to Disk in:\", -1, 0x000c, 5, 8, 100, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 30, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n19 DIALOG 0x80c8, 20, 20, 157, 64\nCAPTION \"Copy Disk\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Source In:\", -1, 0x000c, 5, 8, 50, 10\n    CONTROL 0x85, \"\", 245, 0x0003, 55, 6, 40, 37\n    CONTROL 0x82, \"&Destination In:\", 206, 0x000c, 5, 22, 50, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 20, 40, 37\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n22 DIALOG 0x90c8, 30, 30, 130, 55\nCAPTION \"Copying Disk\"\nFONT 8, \"Helv\"\nSTYLE 0x00c2\n    CONTROL 0x82, \"Now Copying disk in \", 100, 0x0001, 0, 5, 130, 10\n    CONTROL 0x82, \"Drive A:\", 222, 0x0001, 0, 15, 130, 10\n    CONTROL 0x82, \"Reading the source disk\", 243, 0x0001, 0, 26, 130, 10\n    CONTROL 0x80, \"Cancel\", 2, 0x0001, 44, 39, 44, 14\nEND\n\n23 DIALOG 0x80c8, 20, 20, 161, 63\nCAPTION \"Label Disk\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Label:\", 100, 0x000c, 5, 15, 30, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 5, 26, 100, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 115, 6, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 115, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 115, 43, 40, 14\nEND\n\n24 DIALOG 0x90c8, 11, 28, 183, 96\nCAPTION \"Format Disk\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 140, 6, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 140, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 140, 43, 40, 14\n    CONTROL 0x82, \"&Disk In:\", -1, 0x000c, 5, 7, 49, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 55, 4, 65, 40\n    CONTROL 0x82, \"&Capacity:\", 100, 0x000c, 5, 20, 49, 10\n    CONTROL 0x85, \"\", 241, 0x0003, 55, 19, 65, 40\n    CONTROL 0x80, \"Options\", 102, 0x0007, 5, 39, 115, 53\n    CONTROL 0x82, \"&Label:\", -1, 0x000c, 11, 51, 39, 10\n    CONTROL 0x81, \"\", 201, 0x0000, 40, 49, 63, 12\n    CONTROL 0x80, \"&Make System Disk\", 242, 0x0003, 11, 62, 90, 12\n    CONTROL 0x80, \"&Quick Format\", 244, 0x0003, 11, 76, 90, 12\nEND\n\n26 DIALOG 0x90c8, 30, 30, 150, 50\nCAPTION \"Formatting Disk\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Now formatting disk\", 100, 0x0001, 0, 5, 150, 10\n    CONTROL 0x82, \"Initializing Drive...\", 243, 0x0001, 0, 17, 150, 10\n    CONTROL 0x80, \"Cancel\", 2, 0x0001, 54, 30, 44, 14\nEND\n\n27 DIALOG 0x90c8, 30, 30, 174, 57\nCAPTION \"Make System Disk\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Now copying system files\", 100, 0x0001, 0, 6, 174, 8\n    CONTROL 0x82, \"Press Cancel if you want to abort.\", 100, 0x0001, 0, 14, 174, 8\n    CONTROL 0x80, \"Cancel\", 2, 0x0001, 66, 39, 44, 14\nEND\n\n28 DIALOG 0x80c8, 12, 28, 241, 135\nCAPTION \"Network Connections\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"New Connection\", -1, 0x0007, 5, 3, 170, 55\n    CONTROL 0x82, \"&Network Path:\", -1, 0x0000, 10, 16, 55, 10\n    CONTROL 0x81, \"\", 223, 0x0480, 65, 14, 100, 12\n    CONTROL 0x82, \"D&rive:\", -1, 0x0000, 10, 30, 24, 10\n    CONTROL 0x85, \"\", 222, 0x0003, 65, 28, 40, 100\n    CONTROL 0x82, \"Pass&word:\", -1, 0x0000, 10, 44, 36, 10\n    CONTROL 0x81, \"\", 224, 0x04a0, 65, 42, 100, 12\n    CONTROL 0x82, \"Current Dri&ve Connections:\", -1, 0x0000, 5, 62, 120, 10\n    CONTROL 0x83, \"\", 245, 0x1003, 5, 73, 160, 60\n    CONTROL 0x80, \"C&lose\", 2, 0x0001, 190, 6, 45, 14\n    CONTROL 0x80, \"&Connect\", 1, 0x0000, 190, 27, 45, 14\n    CONTROL 0x80, \"&Previous...\", 226, 0x0000, 190, 44, 45, 14\n    CONTROL 0x80, \"&Browse...\", 227, 0x0000, 190, 61, 45, 14\n    CONTROL 0x80, \"&Disconnect\", 255, 0x0000, 190, 78, 45, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 190, 95, 45, 14\nEND\n\n29 DIALOG 0x80c8, 30, 30, 231, 98\nCAPTION \"Previous Network Connections\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Network &Paths:\", 100, 0x000c, 3, 3, 69, 10\n    CONTROL 0x83, \"\", 226, 0x0003, 3, 15, 172, 80\n    CONTROL 0x80, \"&Select\", 1, 0x0001, 181, 6, 44, 14\n    CONTROL 0x80, \"Close\", 2, 0x0000, 181, 24, 44, 14\n    CONTROL 0x80, \"&Delete\", 219, 0x0000, 181, 41, 44, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 181, 58, 44, 14\nEND\n\n30 DIALOG 0x80c8, 20, 20, 163, 65\nCAPTION \"Partial Details\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Details\", 100, 0x0007, 4, 4, 111, 55\n    CONTROL 0x80, \"&Size\", 203, 0x0003, 11, 15, 100, 9\n    CONTROL 0x80, \"Last &Modification Date\", 204, 0x0003, 11, 25, 100, 9\n    CONTROL 0x80, \"Last Modification &Time\", 205, 0x0003, 11, 35, 100, 9\n    CONTROL 0x80, \"&File Attributes\", 206, 0x0003, 11, 45, 100, 9\n    CONTROL 0x80, \"OK\", 1, 0x0001, 120, 6, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 120, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 120, 43, 40, 14\nEND\n\n32 DIALOG 0x80c8, 20, 20, 157, 102\nCAPTION \"By File Type\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Name:\", 100, 0x000c, 5, 8, 23, 10\n    CONTROL 0x81, \"\", 201, 0x0480, 34, 6, 65, 12\n    CONTROL 0x80, \"File Type\", 100, 0x0007, 5, 20, 94, 62\n    CONTROL 0x80, \"&Directories\", 101, 0x0003, 10, 31, 60, 12\n    CONTROL 0x80, \"&Programs\", 210, 0x0003, 10, 43, 60, 12\n    CONTROL 0x80, \"Docu&ments\", 211, 0x0003, 10, 55, 60, 12\n    CONTROL 0x80, \"&Other Files\", 212, 0x0003, 10, 67, 60, 12\n    CONTROL 0x80, \"Show Hidden/&System Files\", 250, 0x0003, 5, 85, 100, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 110, 6, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 110, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 110, 43, 40, 14\nEND\n\n33 DIALOG 0x80c8, 20, 20, 164, 80\nCAPTION \"Confirmation\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"Confirm On\", 100, 0x0007, 5, 3, 108, 73\n    CONTROL 0x80, \"File &Delete\", 219, 0x0003, 10, 15, 80, 12\n    CONTROL 0x80, \"D&irectory Delete\", 220, 0x0003, 10, 27, 80, 12\n    CONTROL 0x80, \"File &Replace\", 221, 0x0003, 10, 39, 80, 12\n    CONTROL 0x80, \"&Mouse Action\", 249, 0x0003, 10, 51, 80, 12\n    CONTROL 0x80, \"Dis&k Commands\", 251, 0x0003, 10, 63, 80, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 118, 6, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 118, 23, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 118, 44, 40, 14\nEND\n\n35 DIALOG 0x80c8, 20, 20, 250, 46\nCAPTION \"Moving...\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"\", 104, 0x008b, 5, 5, 49, 10\n    CONTROL 0x82, \"\", 201, 0x008b, 55, 5, 192, 10\n    CONTROL 0x82, \"To:\", 108, 0x008b, 5, 15, 25, 10\n    CONTROL 0x82, \"\", 109, 0x008b, 55, 15, 192, 10\n    CONTROL 0x80, \"Cancel\", 2, 0x0001, 200, 28, 40, 14\nEND\n\n36 DIALOG 0x80c8, 20, 20, 120, 58\nCAPTION \"\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"Printing File...\", -1, 0x0001, 4, 6, 120, 12\n    CONTROL 0x82, \"\", 100, 0x0081, 4, 20, 120, 12\n    CONTROL 0x80, \"Cancel\", 2, 0x0001, 44, 40, 32, 14\nEND\n\n12 DIALOG 0x80c8, 31, 39, 211, 96\nCAPTION \"Associate\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"&Files with Extension:\", 99, 0x000c, 5, 8, 74, 10\n    CONTROL 0x81, \"\", 112, 0x0400, 80, 6, 35, 12\n    CONTROL 0x82, \"&Associate With:\", 99, 0x000c, 5, 22, 150, 10\n    CONTROL 0x81, \"\", 113, 0x0080, 5, 32, 148, 12\n    CONTROL 0x83, \"\", 111, 0x1003, 11, 44, 146, 40\n    CONTROL 0x80, \"OK\", 1, 0x0001, 165, 6, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 165, 23, 40, 14\n    CONTROL 0x80, \"&Browse...\", 232, 0x0000, 165, 43, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 165, 60, 40, 14\nEND\n\n46 DIALOG 0x80c8, 11, 28, 250, 78\nCAPTION \"Select Filename\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x82, \"This path does not match the DOS format for filenames.  Please enter a new name.\", 99, 0x0000, 4, 4, 190, 24\n    CONTROL 0x82, \"&New Name:\", 99, 0x0002, 5, 56, 50, 12\n    CONTROL 0x81, \"\", 103, 0x0000, 57, 55, 130, 12\n    CONTROL 0x82, \"Original Path:\", 99, 0x0002, 5, 28, 50, 11\n    CONTROL 0x81, \"\", 102, 0x0880, 57, 28, 130, 12\n    CONTROL 0x82, \"To Directory:\", 99, 0x0002, 5, 42, 50, 11\n    CONTROL 0x81, \"\", 101, 0x0880, 57, 42, 130, 12\n    CONTROL 0x80, \"OK\", 1, 0x0001, 205, 4, 40, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 205, 20, 40, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 205, 36, 40, 14\nEND\n\n48 DIALOG 0x80c8, 23, 13, 250, 107\nCAPTION \"Properties for %s\"\nFONT 8, \"Helv\"\nSTYLE 0x00c0\n    CONTROL 0x80, \"OK\", 1, 0x0001, 194, 6, 50, 14\n    CONTROL 0x80, \"Cancel\", 2, 0x0000, 194, 23, 50, 14\n    CONTROL 0x80, \"&Help\", 254, 0x0000, 194, 43, 50, 14\n    CONTROL 0x82, \"&File Name:\", 261, 0x000c, 5, 5, 55, 10\n    CONTROL 0x81, \"\", 201, 0x0880, 60, 5, 134, 10\n    CONTROL 0x82, \"&Path:\", 100, 0x000c, 5, 16, 51, 10\n    CONTROL 0x81, \"\", 101, 0x0880, 60, 16, 134, 10\n    CONTROL 0x82, \"Last Change:\", 100, 0x000c, 5, 27, 62, 10\n    CONTROL 0x82, \"\", 204, 0x000c, 60, 27, 97, 10\n    CONTROL 0x82, \"Size:\", 260, 0x000c, 5, 38, 45, 10\n    CONTROL 0x82, \"\", 203, 0x000c, 60, 38, 90, 10\n    CONTROL 0x80, \"Attributes\", 100, 0x0007, 4, 52, 120, 42\n    CONTROL 0x80, \"&Read Only\", 215, 0x0003, 9, 64, 52, 12\n    CONTROL 0x80, \"H&idden\", 216, 0x0003, 71, 64, 49, 12\n    CONTROL 0x80, \"&Archive\", 217, 0x0003, 9, 76, 52, 12\n    CONTROL 0x80, \"&System\", 218, 0x0003, 71, 76, 49, 12\nEND\n\n\nOrdinal  String\n---------------------------------------------------------------\n0x0101   \"(Root Directory)\"\n0x0102   \"(Not Applicable)\"\n0x0103   \"Shared as %s\"\n0x0104   \"Not shared\"\n0x0107   \"Copying files to %s\"\n0x0108   \"Moving files to %s\"\n0x0109   \"Running files with %s\"\n0x010a   \"%s bytes\"\n0x010b   \"%sKB\"\n0x010c   \"%sMB\"\n0x010d   \"%sGB\"\n0x010e   \"%sTB\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0028   \"Exit Windows\"\n0x0029   \"This will end your Windows session.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0032   \"Copy Disk\"\n0x0033   \"Insert destination disk.\"\n0x0034   \"Insert source disk.\"\n0x0035   \"Insert source and destination disks.\"\n0x0036   \"Formatting destination disk.\"\n0x0037   \"Copy Disk Error\"\n0x0038   \"Unable to copy disk.\"\n0x003a   \"The source and destination drives are incompatible.\"\n0x003c   \"%d%% completed\"\n0x003d   \"Creating root directory...\"\n0x003e   \"Copying system files...\"\n0x003f   \"Format Disk Error\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00c0   \"There is not enough disk space to print.\n\nDelete one or more files to increase disk space, and then try again.\"\n0x00c1   \"There is not enough memory to print.\n\nQuit one or more applications, and then try again.\"\n0x00c2   \"An error has occurred while printing.\n\nMake sure the printer is properly configured and selected.\"\n0x00c3   \"Incomplete directory tree displayed\"\n0x00c5   \"The destination drive is full.\n\nInsert a new disk to continue.\"\n0x00c6   \"This is a system, hidden, or read-only file.\"\n0x00c7   \"File Manager cannot perform a quick format.\n\nContinue with normal format?\"\n0x00c8   \"The specified application is not a Windows-based or MS-DOS-based application.\"\n0x00c9   \"This application requires a newer version of Microsoft Windows.\"\n0x00ca   \"This application requires Windows.\"\n0x00cb   \"An error occurred in sending the command to the application.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0040   \"Cannot format disk.\"\n0x0042   \"Format Complete\"\n0x0043   \"%ld bytes total disk space\n%ld bytes available on disk\n\nDo you want to format another disk?\"\n0x0046   \"Make System Disk\"\n0x0047   \"Are you sure you want to copy system files to the disk in drive %c?\"\n0x0048   \"System Disk Error\"\n0x0049   \"The MS-DOS startup drive does not contain system files or is not available.\"\n0x004a   \"You cannot copy system files to the MS-DOS startup drive.\"\n0x004b   \"You cannot add system files to this disk.\n\nMake sure a formatted disk is in the drive and that the drive door is closed.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0406   \"File Manager cannot create or replace %s: %s\"\n0x0408   \"File Manager cannot create an MS-DOS system diskette because Windows NT multiboot is installed on your system.  To make a system diskette, use the SYS utility from the MS-DOS command line.\"\n0x0409   \"Do you want to format the diskette now without transferring the system?\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0050   \"Network Error\"\n0x0053   \"This drive contains the Windows system files and cannot be disconnected.\"\n0x005b   \"File Manager cannot change the attributes.\n\nMake sure the disk is not write-protected.\"\n0x005c   \"File Manager cannot create a directory.\n\nMake sure the disk is not write-protected.\"\n0x005d   \"File Manager cannot label the disk.\n\nMake sure the disk is not write-protected, is not a network drive, and that the label is valid.\nLabels cannot contain the following characters:\n[space] * ? / \\ | . , ; : + = [ ] ( ) & ^ < > \" \"\n0x005f   \"No matching files were found.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00b4   \"Total %d file(s) (%s)\"\n0x00b5   \"Directories read: %d \"\n0x00b6   \"%c: %s free,  %s total\"\n0x00b7   \"%d file(s) found\"\n0x00b9   \"the selected files\"\n0x00ba   \"File Manager cannot disconnect from this network drive because there are files open.\"\n0x00bb   \"Selected %d file(s) (%s)\"\n0x00bc   \"There is no disk in drive %c.\n\nInsert a disk, and then try again.\"\n0x00bd   \"The disk in drive %c is not formatted.\n\nDo you want to format it now?\"\n0x00bf   \"The file you want to print cannot be found. Make sure the correct path and filename are specified.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0060   \"The specified directory already exists.\"\n0x0061   \"The contents of this drive have changed. Do you want to update the Search Results window?\"\n0x0065   \"Drive %c:%c\"\n0x006e   \"Cannot Run Program\"\n0x006f   \"Unexpected error: %d.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00d2   \"Formatting will erase ALL data from your disk. Are you sure you want to format the disk in drive %c?\"\n0x00d3   \"Confirm Format Disk\"\n0x00d4   \"This operation will erase ALL data from the destination disk. Are you sure you want to continue?\"\n0x00d5   \"Confirm Copy Disk\"\n0x00d6   \"&Close\"\n0x00da   \"The %s directory does not exist.\n\nDo you want to create it?\"\n0x00db   \"Programs#*.exe;*.pif;*.com;*.bat#All Files (*.*)#*.*#\"\n0x00dc   \"Browse\"\n0x00dd   \"Run\"\n0x00de   \"Cannot Print File\"\n0x00df   \"Unable to show Help information.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0070   \"There is not enough memory to start the specified application.\n\nQuit one or more applications, and then try again.\"\n0x0071   \"File Manager cannot find the specified file (or one of its components).\n\nMake sure the path and filename are correct and that all required libraries are available.\"\n0x0072   \"The specified path is invalid.\"\n0x0073   \"There are too many files currently in use.\n\nQuit one or more applications, or increase the value of the Files command in CONFIG.SYS, and then try again.\"\n0x0074   \"There is no application associated with this file.\n\nChoose Associate from the File menu to create an association.\"\n0x0075   \"You cannot start more than one copy of the specified program.\"\n0x0076   \"File Manager cannot open or print the specified file.\n\nStart the application used to create this file, and open or print it from there.\"\n0x0078   \"Confirm Mouse Operation\"\n0x0079   \"Are you sure you want to copy the selected files or directories to %s?\"\n0x007a   \"Are you sure you want to move the selected files or directories to %s?\"\n0x007b   \"Are you sure you want to start %s by using %s as the initial file?\"\n0x007c   \"File Manager\"\n0x007e   \"Directory Tree\"\n0x007f   \"Search Results: \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00e0   \"Files with the extension %s are programs and cannot be associated with another application.\"\n0x00e1   \"%s is not a program and cannot be associated with a file extension.\"\n0x00e2   \"(None)\"\n0x00e4   \"File Manager cannot print multiple files.\n\nSelect only one file, and then try again.\"\n0x00e5   \"This program or one of its components is compressed.\n\nUse the MS-DOS Expand utility to copy the file from the setup disks.\"\n0x00e6   \"One of the library files needed to run this application is damaged. Please reinstall this application.\"\n0x00e7   \"This file is in use by some other application.\"\n0x00e8   \"File Manager may not be able to access files created in the directory \"%s\".\n\nDo you want to continue?\"\n0x00e9   \"Create Directory\"\n0x00ea   \"%ld bytes\"\n0x00eb   \"%s bytes\"\n0x00ec   \"You cannot copy multiple files or directories onto the Clipboard.\n\nSelect a single file, and then try again.\"\n0x00ed   \"%s - %s\"\n0x00ee   \"Drive:\"\n0x00ef   \"%s, \"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0084   \"Too Many Files\"\n0x0085   \"File Manager - Out of Memory\"\n0x0086   \"Unable to read entire directory. Only a partial listing will be displayed.\"\n0x008c   \"Current Directory: %s\"\n0x008d   \"Copy\"\n0x008f   \"Rename\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0091   \"Format Disk\"\n0x0092   \"Select the disk to format.\"\n0x0096   \"Creating:\"\n0x0097   \"Removing...\"\n0x0098   \"Copying:\"\n0x0099   \"Renaming...\"\n0x009a   \"Moving...\"\n0x009b   \"Deleting...\"\n0x009c   \"Printing: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00a0   \"Drive %c does not exist.\"\n0x00a9   \"Copying...\"\n0x00aa   \"Removing:\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01a4   \"Opening...\"\n0x01a5   \"Closing...\"\n0x01a6   \"There are too many directory windows open.\n\nClose one or more windows, and then try again.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03e9   \"Error Moving File\"\n0x03ea   \"Error Copying File\"\n0x03eb   \"Error Deleting File\"\n0x03ec   \"Error Renaming File\"\n0x03ed   \"Error Selecting Drive\"\n0x03ee   \"Error Reading Directory\"\n0x03ef   \"Error Labeling Disk\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x03f3   \"File Manager cannot move %s: %s\"\n0x03f4   \"File Manager cannot copy %s: %s\"\n0x03f5   \"File Manager cannot delete %s: %s\"\n0x03f6   \"File Manager cannot rename %s: %s\"\n0x03fd   \"File Manager cannot create directory %s: %s\"\n0x03fe   \"File Manager cannot remove directory %s: %s\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0411   \"Invalid MS-DOS function.\"\n0x0412   \"File Manager cannot find the specified file.\n\nMake sure the correct path and filename are specified.\"\n0x0413   \"File Manager cannot find the specified path.\n\nMake sure the correct path is specified.\"\n0x0414   \"There are too many other files currently in use. Quit one or more applications, and then try again.\"\n0x0415   \"Access is denied.\n\nMake sure the disk is not full or write-protected.\"\n0x0416   \"Invalid file handle.\"\n0x0418   \"There is not enough memory.\n\nQuit one or more applications, and then try again.\"\n0x041c   \"Invalid file access.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0420   \"File Manager cannot remove the current directory (internal error).\"\n0x0421   \"Invalid device.\"\n0x0422   \"The directory is empty.\"\n0x0423   \"The disk is write-protected.\n\nRemove the write-protection on this disk or use another disk, and then try again.\"\n0x042d   \"File Manager cannot write to the destination file or disk.\"\n0x042f   \"File Manager cannot read from the source file or disk.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x050f   \"Invalid operation.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0451   \"Network access is denied. Be sure you have the correct network permissions to perform this operation.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0430   \"There has been a sharing violation. The source or destination files may be in use.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0480   \"There is not enough disk space.\n\nDelete one or more files to increase disk space, and then try again.\"\n0x0481   \"The source and destination filenames are the same.\"\n0x0482   \"Select only one file to rename, or use MS-DOS wildcards (for example, *.TXT) to rename a group of files with similar names.\"\n0x0483   \"You cannot rename to a different directory or disk.\"\n0x0484   \"Root directory (internal error).\"\n0x0486   \"The destination directory is a subdirectory of the source directory.\"\n0x0487   \"The specified file is being used by Windows.\"\n0x0488   \"Access is denied. The source file may be in use.\"\n0x0489   \"The path is too deep.\"\n0x048a   \"Specify only one file or directory in the To box. Or, if you want to specify a group of files, use MS-DOS wildcards (for example, *.TXT).\"\n0x048b   \"The specified filename already exists. Try again, and specify a different name in the To box.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0130   \"1.2 MB\"\n0x0131   \"720K\"\n0x0132   \"1.44 MB\"\n0x0133   \"2.88 MB\"\n0x0134   \"Drive Capacity\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x012f   \"360K\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0190   \"There is not enough memory.\"\n0x0192   \"You cannot format the MS-DOS startup drive.\"\n0x0193   \"The MS-DOS startup drive has an invalid sector size.\"\n0x0194   \"The specified drive is an unknown type.\"\n0x0199   \"File Manager failed to transfer the system files.\"\n0x019a   \"This disk is capable of being formatted at a capacity of %s. Continue formatting at this capacity?\"\n0x019b   \"File Manager cannot format this disk.\n\nMake sure the disk is in the drive and is not write-protected, damaged, or the wrong density.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x00fe   \"&Directory Name:\"\n0x00ff   \"\\StringFileInfo\\040904E4\\\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x01f4   \"Comments\"\n0x01f5   \"Company Name\"\n0x01f6   \"File Description\"\n0x01f7   \"Internal Name\"\n0x01f8   \"Legal Trademarks\"\n0x01f9   \"Original Filename\"\n0x01fa   \"Private Build Description\"\n0x01fb   \"Product Name\"\n0x01fc   \"Product Version\"\n0x01fd   \"Special Build Description\"\n0x01fe   \"Language\"\n0x01ff   \"Languages\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0222   \"No files found.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0255   \"The specified computer cannot be found.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0263   \"The shared directory cannot be found.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0274   \"There are too many network redirections.\"\n0x0276   \"Invalid password.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x02b0   \"The network drive is not available.\"\n0x02b1   \"An error occurred reading drive %c:.\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0f90   \"Commands for working with files\"\n0x0f91   \"Commands for working with disks\"\n0x0f92   \"Commands for working in the tree window\"\n0x0f93   \"Commands for determining how information is displayed\"\n0x0f94   \"Commands for setting options\"\n0x0f9a   \"Commands for arranging windows\"\n0x0f9b   \"Commands for displaying File Manager Help\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1005   \"Opens selected item\"\n0x1006   \"Prints a document\"\n0x1007   \"Associates a file with an application\"\n0x1008   \"Searches for files and directories\"\n0x1009   \"Starts or opens an application or document\"\n0x100a   \"Moves selected item\"\n0x100b   \"Copies files and directories\"\n0x100c   \"Deletes files and directories\"\n0x100d   \"Renames a file or directory\"\n0x100e   \"Sets file attributes and displays properties\"\n0x100f   \"Creates a directory\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1013   \"Quits File Manager\"\n0x1014   \"Selects files and directories\"\n0x1015   \"Retrieves previously deleted files\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1069   \"Copies the contents of a floppy disk\"\n0x106a   \"Assigns or changes a disk's volume label\"\n0x106b   \"Formats a floppy disk\"\n0x106c   \"Copies MS-DOS files to a floppy disk\"\n0x106d   \"Connects to a network drive\"\n0x106e   \"Disconnects from a network drive\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x109b   \"Selects a different drive\"\n0x109c   \"Network Connections...\"\n0x109d   \"View Shared Directories...\"\n0x109e   \"Shares a directory\"\n0x109f   \"Stops sharing a directory\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10cd   \"Displays another level of a directory\"\n0x10ce   \"Displays all levels of a directory\"\n0x10cf   \"Displays all levels of all directories\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x10d0   \"Collapses all directories of a selected directory\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1195   \"Controls confirmation messages\"\n0x1197   \"Displays or hides the status bar\"\n0x1198   \"Reduces File Manager to an icon at startup\"\n0x1199   \"Indicates directories that have subdirectories\"\n0x119b   \"Displays or hides the drive bar\"\n0x119c   \"Displays or hides the toolbar\"\n0x119d   \"Opens a new window when you connect\"\n0x119e   \"Changes the File Manager font\"\n0x119f   \"Saves settings when you quit File Manager\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1131   \"Shows filenames only\"\n0x1132   \"Shows all file details\"\n0x1133   \"Shows partial file details\"\n0x1134   \"Sorts files by name\"\n0x1135   \"Sorts files by type\"\n0x1136   \"Sorts files by size\"\n0x1137   \"Sorts files by date\"\n0x1139   \"Shows files of a specified type\"\n0x113b   \"Displays the directory tree\"\n0x113c   \"Displays the contents of the current directory\"\n0x113d   \"Displays the directory tree and the contents of the current directory\"\n0x113e   \"Splits a directory window or moves the split bar\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x11a0   \"Customizes the toolbar\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13f0   \"Updates the contents of a window\"\n0x13f1   \"Arranges icons\"\n0x13f2   \"Opens a new window\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x13ed   \"Arranges windows\"\n0x13ee   \"Arranges windows\"\n0x13ef   \"Arranges windows\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x1451   \"Displays contents for File Manager Help\"\n0x1452   \"Displays information about using Help\"\n0x1453   \"Displays information about File Manager\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0fbe   \"Searches for a topic in File Manager Help\"\n\nOrdinal  String\n---------------------------------------------------------------\n0x0320   \"Connect &Network Drive...\"\n0x0321   \"&Disconnect Network Drive...\"\n0x0322   \"&Network Connections...\"\n0x0323   \"Share &As...\"\n0x0324   \"S&top Sharing...\"\n0x0325   \"View S&hared Directories...\"\n0x0326   \"&Undelete...\"\n0x0327   \"&Open New Window on Connect\"\n\n\n"
  },
  {
    "path": "src/wfassoc.c",
    "content": "/********************************************************************\r\n\r\n   wfassoc.c\r\n\r\n   Windows File Manager association code\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n#include \"lfn.h\"\r\n#include <commdlg.h>\r\n#include \"resize.h\"\r\n\r\n\r\n#define DDETYPECOMBOBOXSIZ 20\r\n#define DDETYPEMAX  (sizeof(aDDEType) / sizeof(aDDEType[0]))\r\n\r\n#define STRINGSIZ  MAXPATHLEN   // at least >= {DESCSIZ, IDENTSIZ}\r\n#define DESCSIZ    MAXPATHLEN\r\n#define COMMANDSIZ MAXPATHLEN\r\n#define DDESIZ     MAXPATHLEN\r\n\r\n#define FILETYPEBLOCK MAX_PATH\r\n\r\n\r\n#if 0\r\n#define odf(x,y) {TCHAR szT[100]; wsprintf(szT,x,y); OutputDebugString(szT);}\r\n#else\r\n#undef OutputDebugString\r\n#define OutputDebugString(x)\r\n#define odf(x,y)\r\n#endif\r\n\r\n// structures\r\n\r\ntypedef struct _DDE_INFO {\r\n   BOOL  bUsesDDE;\r\n   TCHAR  szCommand[COMMANDSIZ];   // doesn't really belong here..\r\n   TCHAR  szDDEMesg[DDESIZ];\r\n   TCHAR  szDDEApp[DDESIZ];\r\n   TCHAR  szDDENotRun[DDESIZ];\r\n   TCHAR  szDDETopic[DDESIZ];\r\n} DDEINFO, *PDDEINFO;\r\n\r\ntypedef struct _DDE_TYPE {\r\n   UINT  uiComboBox;              // String in the combo box \"action!\"\r\n   LPTSTR lpszRegistry;           // Registry entry under \"shell\"\r\n} DDETYPE, *PDDETYPE;\r\n\r\n// Allow the Action drop list to be extensible.\r\n// To add new action types, just add new lines to this list.\r\n\r\nDDETYPE aDDEType[] = {\r\n   { IDS_ASSOC_OPEN,    TEXT(\"open\") },\r\n   { IDS_ASSOC_PRINT,   TEXT(\"print\") }\r\n};\r\n\r\n\r\ntypedef struct _FILETYPE *PFILETYPE;\r\ntypedef struct _EXT *PEXT;\r\n\r\n\r\n//\r\n// Normal state of lpszBuf:   \"FMA000_FileType\\0Nice name\\0(blah.exe %1\"\r\n//                                              ^           ^       ^\r\n//                                        uDesc/       uExe/   uExeSpace\r\n\r\ntypedef struct _FILETYPE {\r\n   PFILETYPE next;\r\n   UINT   uDesc;\r\n   UINT   uExe;\r\n   UINT   uExeSpace;\r\n   UINT   cchBufSiz;\r\n   LPTSTR lpszBuf;                      // Ident then desc then exe\r\n   PEXT  pExt;\r\n} FILETYPE;\r\n\r\n\r\ntypedef struct _EXT {\r\n   PEXT next;\r\n   PEXT pftNext;\r\n   BOOL bAdd    : 1;\r\n   BOOL bDelete : 1;\r\n   PFILETYPE pFileType;\r\n   PFILETYPE pftOrig;\r\n   TCHAR szExt[EXTSIZ+1];   // +1 for dot\r\n   TCHAR szIdent[1];        // Variable length; must be last\r\n                            // This is ONLY USED BY ClassesRead\r\n                            // Do NOT rely on this being stable;\r\n} EXT;\r\n\r\n\r\n// Must be defined AFTER aDDEType[]!\r\n\r\ntypedef struct _ASSOCIATE_FILE_DLG_INFO {\r\n   BOOL       bRefresh  : 1;\r\n   BOOL       bExtFocus : 1;\r\n   BOOL       bReadOnly : 1;\r\n   BOOL       bChange   : 1;\r\n   BOOL       bOKEnable : 1;\r\n   UINT       mode;                      // IDD_NEW, IDD_CONFIG, IDD_COMMAND\r\n   PFILETYPE  pFileType;\r\n   INT        iAction;\r\n   HWND       hDlg;\r\n   INT        iClassList;                // HACK: == LB_ERR for winini editing\r\n   DDEINFO    DDEInfo[DDETYPEMAX];\r\n   TCHAR      szExt[EXTSIZ+2];           // for dots (ALWAYS has prefix dot)\r\n} ASSOCIATEFILEDLGINFO, *PASSOCIATEFILEDLGINFO;\r\n\r\ntypedef union _VFILETYPEEXT {\r\n   PFILETYPE pFileType;\r\n   PEXT pExt;\r\n   VOID* vBoth;\r\n} VFILETYPEEXT, *PVFILETYPEEXT;\r\n\r\n// globals\r\n\r\nTCHAR szShellOpenCommand[] = TEXT(\"\\\\shell\\\\open\\\\command\");\r\n\r\nTCHAR szShell[]   = TEXT(\"\\\\shell\\\\\");\r\nTCHAR szCommand[] = TEXT(\"\\\\command\");\r\nTCHAR szDDEExec[] = TEXT(\"\\\\ddeexec\");\r\nTCHAR szApp[]     = TEXT(\"\\\\application\");\r\nTCHAR szTopic[]   = TEXT(\"\\\\topic\");\r\nTCHAR szIFExec[]  = TEXT(\"\\\\ifexec\");\r\n\r\nTCHAR szDDEDefaultTopic[] = TEXT(\"System\");\r\n\r\n// These two strings must match exactly in length\r\nTCHAR szFileManPrefix[] = TEXT(\"FMA000_\");\r\nTCHAR szFileManPrefixGen[] = TEXT(\"FMA%03x_\");\r\n#define MAX_PREFIX 0xfff\r\n\r\nTCHAR szDotEXE[] = TEXT(\".exe\");\r\nTCHAR szSpacePercentOne[] = TEXT(\" %1\");\r\nTCHAR szNone[32];\r\n\r\nPFILETYPE pFileTypeBase = NULL;\r\nPEXT pExtBase = NULL;\r\n\r\n// Prototypes\r\n\r\nINT_PTR CALLBACK AssociateFileDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nBOOL AssociateDlgInit(HWND hDlg, LPTSTR lpszExt, INT iSel);\r\nBOOL AssociateFileDlgExtAdd(HWND hDlg, PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo);\r\nBOOL AssociateFileDlgExtDelete(HWND hDlg, PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo);\r\nBOOL AssociateFileDlgCommand(HWND hDlg, WPARAM wParam, LPARAM lParam, PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo);\r\nDWORD AssociateFileWrite(HWND hDlg, PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo);\r\n\r\nBOOL RegLoad(VOID);\r\nVOID RegUnload(VOID);\r\nBOOL ClassesRead(HKEY hKey, LPTSTR lpszSubKey, PFILETYPE* ppFileTypeBase, PEXT* ppExtBase);\r\nVOID ClassesFree(BOOL bFileType);\r\nVOID ActionUpdate(HWND hDlg, PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo);\r\nVOID ActionDlgRead(HWND hDlg, PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo);\r\nVOID UpdateOKEnable(HWND hDlg, PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo);\r\nVOID UpdateSelectionExt(HWND hDlg, BOOL bForce);\r\n\r\nVOID  DDEUpdate(HWND hDlg, PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo, INT iAction);\r\nDWORD DDERead(PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo, INT i);\r\nDWORD DDEWrite(PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo, INT i);\r\nVOID  DDEDlgRead(HWND hDlg, PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo, INT iAction);\r\n\r\nINT ClassListFileTypeAdd(HWND hDlg, PFILETYPE pFileType);\r\nDWORD CommandWrite(HWND hDlg, LPTSTR lpszExt, LPTSTR lpszCommand);\r\nDWORD RegNodeDelete(HKEY hk, LPTSTR lpszKey);\r\nDWORD RegExtAddHelper(HKEY hk, LPTSTR lpszExt, PFILETYPE pFileType);\r\nVOID FileAssociateErrorCheck(HWND hwnd, UINT idsTitle, UINT idsText, DWORD dwError);\r\n\r\nBOOL  FileTypeGrow(PFILETYPE pFileType, UINT uNewSize);\r\nDWORD FileTypeRead(HWND hDlg, PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo);\r\nDWORD FileTypeWrite(HWND hDlg, PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo, HKEY hk, LPTSTR lpszKey);\r\nDWORD FileTypeAddString(PFILETYPE pFileType, LPTSTR lpstr, PUINT pcchOffset);\r\nBOOL  FileTypeDupIdentCheck(HWND hDlg, UINT uIDD_FOCUS, LPTSTR lpszIdent);\r\nVOID  FileTypeFree(PFILETYPE pFileType);\r\n\r\nDWORD RegExtAdd(HWND hDlg, HKEY hk, PEXT pExt, PFILETYPE pFileType);\r\nDWORD RegExtDelete(HWND hDlg, HKEY hk, PEXT pExt);\r\n\r\nVOID ExtClean(LPTSTR lpszExt);\r\nBOOL ExtLinkToFileType(PEXT pExt, LPTSTR lpszIdent);\r\nBOOL ExtDupCheck(LPTSTR lpszExt, PEXT pExt);\r\nPEXT BaseExtFind(LPTSTR lpszExt);\r\nVOID ExtLink(PEXT pExt, PFILETYPE pFileType);\r\nVOID ExtDelink(PEXT pExt);\r\nVOID ExtFree(PEXT pExt);\r\n\r\nLPTSTR StrChrQuote(LPTSTR lpszString, TCHAR c);\r\nLPTSTR GenerateFriendlyName(LPTSTR lpszCommand);\r\n\r\n// endproto\r\n\r\n\r\n// since LoadString() only reads up to a null we have to mark\r\n// special characters where we want nulls then convert them\r\n// after loading.\r\n\r\nVOID\r\nFixupNulls(LPTSTR p)\r\n{\r\n   LPTSTR pT;\r\n\r\n   while (*p) {\r\n      if (*p == CHAR_HASH) {\r\n         pT = p;\r\n         p = CharNext(p);\r\n         *pT = CHAR_NULL;\r\n      }\r\n      else\r\n         p = CharNext(p);\r\n   }\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     ValidateClass\r\n//\r\n// Synopsis: Updates the Delete/Config buttons and updates edit text\r\n//\r\n// IN:       hDlg   -- First dialog handle\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:  pFileType set up properly:\r\n//           This is done in ClassListFileTypeAdd\r\n//\r\n// Effects:  Delete/Config buttons\r\n//           Sets the edit text above it to the executable name.\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nValidateClass(HWND hDlg)\r\n{\r\n   INT i;\r\n   PFILETYPE pFileType;\r\n\r\n   //\r\n   // If (none) is selected, we can't config or delete.\r\n   //\r\n   i = (INT)SendDlgItemMessage(hDlg, IDD_CLASSLIST, LB_GETCURSEL, 0, 0L);\r\n\r\n   if (-1 == i) {\r\n      SendDlgItemMessage(hDlg, IDD_CLASSLIST, LB_SETCURSEL, 0, 0L);\r\n      i=0;\r\n   }\r\n\r\n   EnableWindow(GetDlgItem(hDlg, IDD_CONFIG), i);\r\n   EnableWindow(GetDlgItem(hDlg, IDD_DELETE), i);\r\n\r\n   if (i) {\r\n\r\n      pFileType = (PFILETYPE) SendDlgItemMessage(hDlg, IDD_CLASSLIST, LB_GETITEMDATA, i, 0L);\r\n\r\n      //\r\n      // Put command string there\r\n      //\r\n      SendDlgItemMessage(hDlg, IDD_COMMAND, WM_SETTEXT, 0,\r\n         (LPARAM) &pFileType->lpszBuf[pFileType->uDesc]);\r\n\r\n   } else {\r\n\r\n      SendDlgItemMessage(hDlg, IDD_COMMAND, WM_SETTEXT, 0, (LPARAM)szNone);\r\n   }\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     UpdateSelectionExt\r\n//\r\n// Synopsis:\r\n//\r\n// Given an extension (with or without a dot) set the list box selection\r\n//\r\n// IN        hDlg   --  Dlg to modify\r\n// INC       bForce --  base selection on ext selection, not cb edit text\r\n//\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nVOID\r\nUpdateSelectionExt(HWND hDlg, BOOL bForce)\r\n{\r\n   TCHAR szExt[EXTSIZ+1];\r\n   PEXT pExt;\r\n   INT i;\r\n   TCHAR c, c2;\r\n   PTCHAR p;\r\n   PFILETYPE pFileType;\r\n\r\n   TCHAR szTemp[MAXPATHLEN];\r\n\r\n   //\r\n   // bForce is used when we base the ext on GETCURSEL rather than\r\n   // the text in the edit field.\r\n   //\r\n   if (bForce) {\r\n      i = (INT)SendDlgItemMessage(hDlg, IDD_EXT, CB_GETCURSEL, 0, 0L);\r\n      SendDlgItemMessage(hDlg, IDD_EXT, CB_GETLBTEXT, i, (LPARAM)szExt);\r\n   } else {\r\n\r\n      //\r\n      // Get the current extension\r\n      //\r\n      GetDlgItemText(hDlg, IDD_EXT, szExt, COUNTOF(szExt));\r\n   }\r\n\r\n   //\r\n   // Search for present association\r\n   //\r\n   pExt = BaseExtFind(szExt);\r\n\r\n   //\r\n   // Add only if not deleted and has associated filetype\r\n   //\r\n   if (pExt && pExt->pFileType && !pExt->bDelete) {\r\n\r\n      pFileType=pExt->pFileType;\r\n\r\n      //\r\n      // Munge data structure for string... ugly\r\n      //\r\n      p = &pFileType->lpszBuf[pFileType->uExeSpace];\r\n\r\n      c = *p;\r\n      c2 = *(p+1);\r\n\r\n      *p = CHAR_CLOSEPAREN;\r\n      *(p+1) = CHAR_NULL;\r\n\r\n      pFileType->lpszBuf[pFileType->uExe-2] = CHAR_SPACE;\r\n\r\n      // Found one, set the selection!\r\n      SendDlgItemMessage(hDlg,\r\n         IDD_CLASSLIST,\r\n         LB_SELECTSTRING,\r\n         (WPARAM)-1,\r\n         (LPARAM)&pExt->pFileType->lpszBuf[pExt->pFileType->uDesc]);\r\n\r\n      pFileType->lpszBuf[pFileType->uExe-2] = CHAR_NULL;\r\n\r\n      *p = c;\r\n      *(p+1) = c2;\r\n\r\n   } else {\r\n\r\n      if (GetProfileString(szExtensions, szExt+1, szNULL, szTemp, COUNTOF(szTemp))) {\r\n\r\n         //\r\n         // Remove the \"^.\" bulloney.\r\n         //\r\n         p = szTemp;\r\n         while ((*p) && (CHAR_CARET != *p) && (CHAR_PERCENT != *p))\r\n            p++;\r\n\r\n         *p = CHAR_NULL;\r\n\r\n         p--;\r\n\r\n         if (CHAR_SPACE == *p)\r\n            *p = CHAR_NULL;\r\n\r\n         SetDlgItemText(hDlg, IDD_COMMAND, szTemp);\r\n\r\n         //\r\n         // Set clear the selection.\r\n         SendDlgItemMessage(hDlg, IDD_CLASSLIST, LB_SETCURSEL, (WPARAM)-1, 0L);\r\n\r\n         EnableWindow(GetDlgItem(hDlg, IDD_CONFIG), TRUE);\r\n         EnableWindow(GetDlgItem(hDlg, IDD_DELETE), FALSE);\r\n\r\n         return;\r\n      }\r\n\r\n      // Not found: only do selecting if not already at 0\r\n\r\n      if (0 != SendDlgItemMessage(hDlg, IDD_CLASSLIST, LB_GETCURSEL, 0, 0L)) {\r\n         SendDlgItemMessage(hDlg, IDD_CLASSLIST,LB_SETCURSEL, 0, 0L);\r\n      }\r\n   }\r\n\r\n   // Now turn on/off class buttons (config/del)\r\n   ValidateClass(hDlg);\r\n}\r\n\r\n//--------------------------------------------------------------------------\r\n//\r\n//  AssociateDlgProc() -\r\n//\r\n//  GWL_USERDATA = do we need to rebuild document string?\r\n//--------------------------------------------------------------------------\r\n\r\n\r\nINT_PTR\r\nCALLBACK\r\nAssociateDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n   TCHAR szTemp[STRINGSIZ];\r\n   PFILETYPE pFileType, pft2;\r\n   INT i;\r\n   DWORD dwError;\r\n   PEXT pExt, pExtNext;\r\n\r\n   if (ResizeDialogProc(hDlg, wMsg, wParam, lParam)) {\r\n      return TRUE;\r\n   }\r\n\r\n   // Make sure szTemp is initialized.\r\n   szTemp[0] = CHAR_NULL;\r\n\r\n   switch (wMsg) {\r\n   case WM_INITDIALOG:\r\n      {\r\n         LPTSTR p;\r\n         LPTSTR pSave;\r\n         INT iItem;\r\n\r\n         // Turn off refresh flag (GWL_USERDATA)\r\n         SetWindowLongPtr(hDlg, GWLP_USERDATA, 0L);\r\n\r\n         // Make 'p' point to the file's extension.\r\n         pSave = GetSelection(1, NULL);\r\n         if (pSave) {\r\n            p = GetExtension(pSave);\r\n\r\n            //\r\n            // hack fix: check for \" or > 4 chars then add \\0.\r\n            // Better fix: GetExtension should axe \\\" , but this\r\n            // would be bad if the callee expects the \\\" .  So for\r\n            // now just axe it here since we immediately delete it.\r\n            //  Also, 4 is a magic number and should be #defined.\r\n            //\r\n            for (iItem=0;iItem<EXTSIZ-1 && p[iItem] && p[iItem]!=CHAR_DQUOTE ;iItem++)\r\n               ;\r\n\r\n            p[iItem] = CHAR_NULL;\r\n\r\n            if (!IsProgramFile(pSave)) {\r\n               lstrcpy(szTemp,p);\r\n            } else {\r\n               szTemp[0] = CHAR_NULL;\r\n            }\r\n            LocalFree((HLOCAL)pSave);\r\n         }\r\n\r\n         SendDlgItemMessage(hDlg, IDD_EXT, CB_LIMITTEXT, EXTSIZ-1, 0L);\r\n\r\n         //\r\n         // Save space for \".exe\"\" %1\"\r\n         //\r\n         SendDlgItemMessage(hDlg, IDD_COMMAND, EM_LIMITTEXT,\r\n            COMMANDSIZ-1-(COUNTOF(szDotEXE)-1)-(COUNTOF(szSpacePercentOne)-1),\r\n            0L);\r\n\r\n         if (!AssociateDlgInit(hDlg, szTemp, -1)) {\r\n            EndDialog(hDlg, FALSE);\r\n            return TRUE;\r\n         }\r\n\r\n         break;\r\n      }\r\n\r\n   case WM_COMMAND:\r\n      switch (GET_WM_COMMAND_ID(wParam, lParam)) {\r\n\r\n#if 0\r\n      case IDD_COMMAND:\r\n\r\n         //\r\n         // The winball compatibility \"sorta a file type definer\" control\r\n         //\r\n\r\n         if (GET_WM_COMMAND_CMD(wParam, lParam) == EN_CHANGE) {\r\n\r\n            //\r\n            // Search for matching pFileType\r\n            //\r\n\r\n//          while();;xxxxx\r\n\r\n         }\r\n         break;\r\n#endif\r\n      case IDD_HELP:\r\n         goto DoHelp;\r\n\r\n      case IDD_EXT:\r\n         {\r\n            BOOL bForce = FALSE;\r\n\r\n            if (GET_WM_COMMAND_CMD(wParam, lParam) == CBN_EDITCHANGE ||\r\n               (bForce = (GET_WM_COMMAND_CMD(wParam, lParam) == CBN_SELCHANGE))) {\r\n\r\n               UpdateSelectionExt(hDlg, bForce);\r\n            }\r\n            break;\r\n         }\r\n\r\n      case IDD_CLASSLIST:\r\n\r\n         if (LBN_SELCHANGE == GET_WM_COMMAND_CMD(wParam, lParam)) {\r\n            ValidateClass(hDlg);\r\n            break;\r\n         }\r\n\r\n         // If not double click or (none) selected, break\r\n\r\n         if (GET_WM_COMMAND_CMD(wParam, lParam) != LBN_DBLCLK ||\r\n            !SendDlgItemMessage(hDlg, IDD_CLASSLIST, LB_GETCURSEL, 0, 0L)) {\r\n            break;\r\n         }\r\n\r\n         // !! WARNING !!\r\n         //\r\n         // Non-portable usage of wParam BUGBUG (LATER)\r\n\r\n         wParam = IDD_CONFIG;\r\n         //\r\n         // Fall though to config.\r\n         //\r\n      case IDD_NEW:\r\n      case IDD_CONFIG:\r\n         {\r\n            DWORD dwSave = dwContext;\r\n\r\n            // Allocate space for dialog info\r\n\r\n            ASSOCIATEFILEDLGINFO AssociateFileDlgInfo;\r\n\r\n            // Init stuff\r\n            AssociateFileDlgInfo.bRefresh = FALSE;\r\n            AssociateFileDlgInfo.bReadOnly = FALSE;\r\n            //\r\n            // No need to set AssociateFileDlgInfo.bChange = FALSE;\r\n            // since this is done in WM_INITDIALOG.\r\n            //\r\n            AssociateFileDlgInfo.hDlg = hDlg;\r\n\r\n            // copy extension\r\n            GetDlgItemText(hDlg,\r\n               IDD_EXT,\r\n               AssociateFileDlgInfo.szExt,\r\n               COUNTOF(AssociateFileDlgInfo.szExt));\r\n\r\n            ExtClean(AssociateFileDlgInfo.szExt);\r\n\r\n            AssociateFileDlgInfo.iClassList =\r\n               (INT) SendDlgItemMessage(hDlg, IDD_CLASSLIST, LB_GETCURSEL,0,0L);\r\n\r\n            if (IDD_NEW == GET_WM_COMMAND_ID(wParam, lParam)) {\r\n\r\n               // Set the help context to us\r\n               dwContext = IDH_DLG_ASSOCIATEFILEDLG;\r\n\r\n               AssociateFileDlgInfo.mode = IDD_NEW;\r\nDoConfigWinIni:\r\n\r\n               AssociateFileDlgInfo.pFileType =\r\n                  (PFILETYPE) LocalAlloc(LPTR, sizeof(FILETYPE));\r\n\r\n               if (!AssociateFileDlgInfo.pFileType) {\r\n                  FileAssociateErrorCheck(hDlg, IDS_EXTTITLE,\r\n                     0L, GetLastError());\r\n\r\n                  break;\r\n               }\r\n\r\n            } else {\r\n               AssociateFileDlgInfo.mode = IDD_CONFIG;\r\n\r\n               // Set the help context to us\r\n               dwContext = IDH_DLG_ASSOCIATEFILEDLGCONFIG;\r\n\r\n               //\r\n               // If we are configing a winini ext, fake it\r\n               // by doing a new\r\n               //\r\n\r\n               if (LB_ERR == AssociateFileDlgInfo.iClassList) {\r\n\r\n                  AssociateFileDlgInfo.mode = IDD_COMMAND;\r\n                  goto DoConfigWinIni;\r\n               }\r\n\r\n               AssociateFileDlgInfo.pFileType =\r\n                  (PFILETYPE) SendDlgItemMessage(hDlg, IDD_CLASSLIST,\r\n                     LB_GETITEMDATA, AssociateFileDlgInfo.iClassList, 0L);\r\n            }\r\n\r\n            DialogBoxParam(hAppInstance,\r\n               (LPTSTR) MAKEINTRESOURCE(ASSOCIATEFILEDLG),\r\n               hDlg, AssociateFileDlgProc,\r\n               (LPARAM) &AssociateFileDlgInfo);\r\n\r\n            ValidateClass(hDlg);\r\n\r\n            // Restore help context\r\n            dwContext = dwSave;\r\n\r\n            // If prev dialog requests build doc refresh, set our flag\r\n\r\n            if (AssociateFileDlgInfo.bRefresh)\r\n               SetWindowLongPtr(hDlg, GWLP_USERDATA, 1L);\r\n\r\n            //\r\n            // Instead of clearing IDD_EXT, go ahead and leave\r\n            // it.  Just be sure to validate IDD_CLASSLIST\r\n            // based on ext.\r\n            //\r\n            UpdateSelectionExt(hDlg, FALSE);\r\n\r\n            break;\r\n         }\r\n      case IDD_DELETE:\r\n\r\n         //\r\n         // Find which item to remove\r\n         //\r\n         i = (INT)SendDlgItemMessage(hDlg, IDD_CLASSLIST, LB_GETCURSEL, 0, 0L);\r\n\r\n         //\r\n         // Should never be 0...  If so, we're in trouble since\r\n         // the delete key should have been disabled.\r\n         //\r\n         if (!i || LB_ERR == i)\r\n            break;\r\n\r\n         pFileType = (PFILETYPE) SendDlgItemMessage(hDlg, IDD_CLASSLIST,\r\n            LB_GETITEMDATA, i , 0L);\r\n\r\n         //\r\n         // Verify with dialog\r\n         //\r\n         {\r\n            TCHAR szText[MAXERRORLEN];\r\n            TCHAR szTitle[MAXTITLELEN];\r\n            TCHAR szTemp[MAXERRORLEN];\r\n\r\n            LoadString(hAppInstance, IDS_FILETYPEDELCONFIRMTITLE, szTitle,\r\n               COUNTOF(szTitle));\r\n\r\n            LoadString(hAppInstance, IDS_FILETYPEDELCONFIRMTEXT, szTemp,\r\n               COUNTOF(szTemp));\r\n\r\n            wsprintf(szText,szTemp,&pFileType->lpszBuf[pFileType->uDesc]);\r\n\r\n            if (IDYES != MessageBox(hDlg, szText, szTitle,\r\n               MB_TASKMODAL|MB_YESNO|MB_ICONEXCLAMATION)) {\r\n\r\n               break;\r\n            }\r\n         }\r\n\r\n         //\r\n         // Delete the actual file type....\r\n         // If the filetype is deleted successfully but the user can't\r\n         // delete an extension, we'll have a left over extension.\r\n         // This could occur if the admin incorrectly sets up security\r\n         // on HKEY_CLASSES_ROOT: filetype is deleteable, but ext is not.\r\n         //\r\n         // LATER: better error checking; delete filetype node only after\r\n         // deleting all exts without error\r\n         //\r\n         dwError = RegNodeDelete(HKEY_CLASSES_ROOT, pFileType->lpszBuf);\r\n\r\n         //\r\n         // Flush it!\r\n         //\r\n         RegFlushKey(HKEY_CLASSES_ROOT);\r\n\r\n         FileAssociateErrorCheck(hDlg, IDS_EXTTITLE,\r\n            IDS_FILETYPEDELERROR, dwError);\r\n\r\n         LoadString(hAppInstance, IDS_CLOSE, szTitle, COUNTOF(szTitle));\r\n         SetDlgItemText(hDlg, IDCANCEL, szTitle);\r\n\r\n         if (ERROR_SUCCESS != dwError)\r\n            break;\r\n\r\n         if (pFileType->pExt) {\r\n            //\r\n            // Only set refresh if we deleted one of them.\r\n            //\r\n            SetWindowLongPtr(hDlg, GWLP_USERDATA, 1L);\r\n         }\r\n\r\n         //\r\n         // Now go through all .exts and delete them too.\r\n         //\r\n         for (pExt = pFileType->pExt; pExt; pExt=pExtNext) {\r\n\r\n            pExtNext = pExt->pftNext;\r\n\r\n            //\r\n            // No longer associated with a filetype\r\n            //\r\n            RegExtDelete(hDlg, HKEY_CLASSES_ROOT, pExt);\r\n         }\r\n\r\n         //\r\n         // Done deleting everything, now free pFileType after\r\n         // delinking\r\n         //\r\n         if (pFileType == pFileTypeBase) {\r\n            pFileTypeBase = pFileType->next;\r\n         } else {\r\n            for (pft2 = pFileTypeBase; pft2->next != pFileType; pft2=pft2->next)\r\n               ;\r\n\r\n            pft2->next = pFileType->next;\r\n         }\r\n\r\n         FileTypeFree(pFileType);\r\n\r\n         //\r\n         // Set text of IDD_EXT to szNULL so that the user doesn't\r\n         // hit OK and change the extension\r\n         // Alternatively, we could have a new button called \"associate\"\r\n         //\r\n         SetDlgItemText(hDlg, IDD_EXT, szNULL);\r\n\r\n         SendDlgItemMessage(hDlg, IDD_CLASSLIST, LB_DELETESTRING, i, 0L);\r\n\r\n         //\r\n         // Set it to the next thing\r\n         //\r\n         dwError = (DWORD)SendDlgItemMessage(hDlg, IDD_CLASSLIST, LB_SETCURSEL, i, 0L);\r\n         if (LB_ERR == dwError)\r\n            i--;\r\n\r\n\r\n         //\r\n         // i Must always be > 0 (since deleting (none) is disallowed)\r\n         //\r\n         SendDlgItemMessage(hDlg, IDD_CLASSLIST, LB_SETCURSEL, i, 0L);\r\n         ValidateClass(hDlg);\r\n\r\n         break;\r\n\r\n      case IDOK:\r\n         {\r\n            PEXT pExt;\r\n            WCHAR szExt[EXTSIZ+1];\r\n            WCHAR szCommand[COMMANDSIZ];\r\n\r\n            GetDlgItemText(hDlg, IDD_EXT, szExt, COUNTOF(szExt));\r\n            GetDlgItemText(hDlg, IDD_COMMAND, szCommand, COUNTOF(szCommand));\r\n\r\n            //\r\n            // Need to clean up szExt by adding .!\r\n            //\r\n\r\n            ExtClean(szExt);\r\n\r\n            if (!szExt[1])\r\n               goto Cancel;\r\n\r\n            //\r\n            // Now make sure it isn't a program extension\r\n            //\r\n\r\n            if (IsProgramFile(szExt)) {\r\n\r\n               LoadString(hAppInstance, IDS_NOEXEASSOC, szCommand, COUNTOF(szCommand));\r\n\r\n               wsprintf(szMessage, szCommand, szExt);\r\n               GetWindowText(hDlg, szTitle, COUNTOF(szTitle));\r\n\r\n               MessageBox(hDlg, szMessage, szTitle, MB_OK | MB_ICONSTOP);\r\n               SetDlgItemText(hDlg, IDD_EXT, szNULL);\r\n\r\n               break;\r\n            }\r\n\r\n\r\n            pExt = BaseExtFind(szExt);\r\n\r\n            //\r\n            // Check for delete case\r\n            //\r\n            // ALSO: if szCommand is szNULL (\"\")\r\n            //\r\n            if (!lstrcmpi(szCommand, szNone) || !szCommand[0]) {\r\n\r\n               //\r\n               // Axe it in winini\r\n               //\r\n               WriteProfileString(szExtensions, szExt+1, NULL);\r\n\r\n               // If !pExt then it was never associated!\r\n               if (pExt) {\r\n                  FileAssociateErrorCheck(hDlg, IDS_EXTTITLE,\r\n                     IDS_EXTDELERROR, RegExtDelete(hDlg, HKEY_CLASSES_ROOT,pExt));\r\n\r\n               } else {\r\n                  RegNodeDelete(HKEY_CLASSES_ROOT, szExt);\r\n               }\r\n\r\n               // Request refresh\r\n               SetWindowLongPtr(hDlg, GWLP_USERDATA, 1L);\r\n\r\n               goto Done;\r\n            }\r\n\r\n            //\r\n            // There are two cases here:\r\n            //\r\n            //  1. Add to exe that the user typed in\r\n            //  2. Add to preexisting selection\r\n            //\r\n\r\n            //\r\n            // Strategy: Scan through all pFileTypes, using\r\n            // lstrcmpi (case insensitive).  Don't clean up name\r\n            // at all; leave heading/trailing spaces\r\n            //\r\n\r\n            for (pFileType=pFileTypeBase; pFileType; pFileType=pFileType->next) {\r\n\r\n               if (!lstrcmpi(&pFileType->lpszBuf[pFileType->uDesc], szCommand))\r\n                  break;\r\n            }\r\n\r\n            if (pFileType) {\r\n\r\n               FileAssociateErrorCheck(hDlg,\r\n                  IDS_EXTTITLE,\r\n                  IDS_EXTADDERROR,\r\n                  RegExtAddHelper(HKEY_CLASSES_ROOT, szExt, pFileType));\r\n\r\n            } else {\r\n\r\n               //\r\n               // make sure it has an extension\r\n               //\r\n               if (*GetExtension(szCommand) == 0) {\r\n\r\n                  lstrcat(szTemp, L\".exe\");\r\n\r\n               } else {\r\n\r\n                  if (!IsProgramFile(szCommand)) {\r\n\r\n                     LoadString(hAppInstance,\r\n                                IDS_ASSOCNOTEXE,\r\n                                szTemp,\r\n                                COUNTOF(szTemp));\r\n\r\n                     wsprintf(szMessage, szTemp, szCommand);\r\n                     GetWindowText(hDlg, szTitle, COUNTOF(szTitle));\r\n\r\n                     MessageBox(hDlg, szMessage, szTitle, MB_OK | MB_ICONSTOP);\r\n                     SetDlgItemText(hDlg, IDD_COMMAND, szNULL);\r\n\r\n                     break;\r\n                  }\r\n               }\r\n\r\n               //\r\n               // Create one.\r\n               //\r\n               if (DE_RETRY == CommandWrite(hDlg, szExt, szCommand))\r\n                  break;\r\n            }\r\n\r\n            //\r\n            // Request refresh\r\n            //\r\n            SetWindowLongPtr(hDlg, GWLP_USERDATA, 1L);\r\n\r\n            // Flush it!\r\nDone:\r\n            RegFlushKey(HKEY_CLASSES_ROOT);\r\n\r\n         }\r\n         // FALL THROUGH\r\n\r\n      case IDCANCEL:\r\nCancel:\r\n         {\r\n            HWND hwndNext, hwndT;\r\n\r\n            //\r\n            // If refresh request, then do it.\r\n            //\r\n            if (GetWindowLongPtr(hDlg, GWLP_USERDATA)) {\r\n\r\n               BuildDocumentString();\r\n\r\n               // Update all of the Directory Windows in order to see\r\n               // the effect of the new extensions.\r\n\r\n               hwndT = GetWindow(hwndMDIClient, GW_CHILD);\r\n               while (hwndT) {\r\n                  hwndNext = GetWindow(hwndT, GW_HWNDNEXT);\r\n                  if (!GetWindow(hwndT, GW_OWNER))\r\n                     SendMessage(hwndT, WM_FSC, FSC_REFRESH, 0L);\r\n                  hwndT = hwndNext;\r\n               }\r\n            }\r\n\r\n            // Free up class list\r\n            RegUnload();\r\n\r\n            EndDialog(hDlg, TRUE);\r\n            break;\r\n         }\r\n\r\n      case IDD_BROWSE:\r\n         {\r\n            OPENFILENAME ofn;\r\n            DWORD dwSave = dwContext;\r\n\r\n            TCHAR szFile[MAXPATHLEN + 2];\r\n\r\n            LPTSTR p;\r\n\r\n            dwContext = IDH_ASSOC_BROWSE;\r\n\r\n            LoadString(hAppInstance, IDS_PROGRAMS, szTemp, COUNTOF(szTemp));\r\n            FixupNulls(szTemp);\r\n            LoadString(hAppInstance, IDS_ASSOCIATE, szTitle, COUNTOF(szTitle));\r\n\r\n            szFile[1] = CHAR_NULL;\r\n\r\n            ofn.lStructSize          = sizeof(ofn);\r\n            ofn.hwndOwner            = hDlg;\r\n            ofn.hInstance            = NULL;\r\n            ofn.lpstrFilter          = szTemp;\r\n            ofn.lpstrCustomFilter    = NULL;\r\n            ofn.nFilterIndex         = 1;\r\n            ofn.lpstrFile            = szFile + 1;\r\n            ofn.lpstrFileTitle       = NULL;\r\n            ofn.nMaxFile             = COUNTOF(szFile)-2;\r\n            ofn.lpstrInitialDir      = NULL;\r\n            ofn.lpstrTitle           = szTitle;\r\n            ofn.Flags                = OFN_SHOWHELP | OFN_HIDEREADONLY;\r\n            ofn.lpfnHook             = NULL;\r\n            ofn.lpstrDefExt          = NULL;\r\n\r\n            if (!LoadComdlg())\r\n               return TRUE;\r\n\r\n            if ((*lpfnGetOpenFileNameW)(&ofn)) {\r\n\r\n               if (StrChr(szFile+1, CHAR_SPACE)) {\r\n\r\n                  szFile[0] = CHAR_DQUOTE;\r\n                  lstrcat(szFile, SZ_DQUOTE);\r\n\r\n                  p = szFile;\r\n               } else {\r\n\r\n                  p = szFile+1;\r\n               }\r\n\r\n               SetDlgItemText(hDlg, IDD_COMMAND, p);\r\n            }\r\n\r\n            dwContext = dwSave;\r\n         }\r\n         break;\r\n\r\n      default:\r\n         return(FALSE);\r\n      }\r\n      break;\r\n\r\n   default:\r\n      if (wMsg == wHelpMessage || wMsg == wBrowseMessage) {\r\nDoHelp:\r\n         WFHelp(hDlg);\r\n\r\n         return TRUE;\r\n      } else\r\n         return FALSE;\r\n   }\r\n   return(TRUE);\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     AssociateFileDlgProc\r\n//\r\n// Synopsis:\r\n//\r\n// Return:   BOOL    TRUE  always\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:    pFileTypeBase prepended with new item if IDD_NEW\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nINT_PTR\r\nCALLBACK\r\nAssociateFileDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n   INT i;\r\n   DWORD dwError;\r\n\r\n   PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo;\r\n   PTCHAR p;\r\n\r\n   pAssociateFileDlgInfo = (PASSOCIATEFILEDLGINFO)GetWindowLongPtr(hDlg, GWLP_USERDATA);\r\n\r\n   switch (wMsg) {\r\n   case WM_INITDIALOG:\r\n      {\r\n         TCHAR szComboBoxString[DDETYPECOMBOBOXSIZ];\r\n\r\n         // Set limit on # TCHARs on everything\r\n\r\n         SendDlgItemMessage(hDlg, IDD_EXT, EM_LIMITTEXT,\r\n            EXTSIZ-1, 0L);\r\n\r\n         //\r\n         // Save 3 characters of szCommand for \" %1\"\r\n         //\r\n         SendDlgItemMessage(hDlg, IDD_COMMAND, EM_LIMITTEXT,\r\n            COUNTOF(pAssociateFileDlgInfo->DDEInfo[0].szCommand)-1-\r\n            (COUNTOF(szDotEXE)-1),\r\n            0L);\r\n\r\n         SendDlgItemMessage(hDlg, IDD_DDEMESGTEXT, EM_LIMITTEXT,\r\n            COUNTOF(pAssociateFileDlgInfo->DDEInfo[0].szDDEMesg)-1, 0L);\r\n\r\n         SendDlgItemMessage(hDlg, IDD_DDEAPP, EM_LIMITTEXT,\r\n            COUNTOF(pAssociateFileDlgInfo->DDEInfo[0].szDDEApp)-1, 0L);\r\n\r\n         SendDlgItemMessage(hDlg, IDD_DDENOTRUN, EM_LIMITTEXT,\r\n            COUNTOF(pAssociateFileDlgInfo->DDEInfo[0].szDDENotRun)-1, 0L);\r\n\r\n         SendDlgItemMessage(hDlg, IDD_DDETOPIC, EM_LIMITTEXT,\r\n            COUNTOF(pAssociateFileDlgInfo->DDEInfo[0].szDDETopic)-1, 0L);\r\n\r\n         //\r\n         // Initialize pAssociateFileDlgInfo;\r\n         //\r\n         pAssociateFileDlgInfo = (PASSOCIATEFILEDLGINFO) lParam;\r\n         SetWindowLongPtr(hDlg, GWLP_USERDATA, (LONG_PTR)pAssociateFileDlgInfo);\r\n\r\n         //\r\n         // Set up combo box\r\n         // Use aDDEType for entries to put in\r\n         //\r\n         SendDlgItemMessage(hDlg, IDD_ACTION, CB_RESETCONTENT, 0, 0L);\r\n\r\n         for (i=0;i<DDETYPEMAX;i++) {\r\n\r\n            //\r\n            // Load in the string from the structure\r\n            // Store as resource for localization\r\n            //\r\n            LoadString(hAppInstance, aDDEType[i].uiComboBox,\r\n               szComboBoxString, COUNTOF(szComboBoxString));\r\n\r\n            SendDlgItemMessage(hDlg, IDD_ACTION, CB_ADDSTRING,\r\n               0, (LPARAM) szComboBoxString);\r\n\r\n            //\r\n            // Set the default item to the first thing\r\n            //\r\n            if (!i)\r\n               SendDlgItemMessage(hDlg, IDD_ACTION, CB_SETCURSEL, 0, 0L);\r\n         }\r\n\r\n         dwError = FileTypeRead(hDlg, pAssociateFileDlgInfo);\r\n\r\n         if (ERROR_SUCCESS != dwError) {\r\n\r\n            FileAssociateErrorCheck(hDlg, IDS_EXTTITLE,\r\n               IDS_FILETYPEREADERROR, dwError);\r\n         }\r\n\r\n         //\r\n         // put in extension from prev dialog\r\n         //\r\n         SetDlgItemText(hDlg, IDD_EXT, &pAssociateFileDlgInfo->szExt[1]);\r\n\r\n         //\r\n         // HACK: for editing winini, go ahead and add the extension\r\n         //\r\n         if (IDD_COMMAND == pAssociateFileDlgInfo->mode) {\r\n\r\n            AssociateFileDlgExtAdd(hDlg, pAssociateFileDlgInfo);\r\n\r\n            GetProfileString(szExtensions, &pAssociateFileDlgInfo->szExt[1],\r\n               szNULL, szTitle, COUNTOF(szTitle)-COUNTOF(szSpacePercentOne));\r\n\r\n            p = StrChrQuote(szTitle, CHAR_SPACE);\r\n            if (p)\r\n               *p = CHAR_NULL;\r\n\r\n            lstrcat(szTitle, szSpacePercentOne);\r\n            SetDlgItemText(hDlg, IDD_COMMAND, szTitle);\r\n\r\n            //\r\n            // Setup the default name\r\n            //\r\n            p = GenerateFriendlyName(szTitle);\r\n            SetDlgItemText(hDlg, IDD_DESC, p);\r\n\r\n            // UpdateOKEnable(hDlg, pAssociateFileDlgInfo);\r\n            pAssociateFileDlgInfo->bChange = TRUE;\r\n\r\n         } else {\r\n            pAssociateFileDlgInfo->bChange = FALSE;\r\n         }\r\n\r\n         pAssociateFileDlgInfo->bOKEnable = TRUE;\r\n\r\n         UpdateOKEnable(hDlg, pAssociateFileDlgInfo);\r\n\r\n         //\r\n         // Send notification of change\r\n         //\r\n         SendMessage(hDlg, WM_COMMAND,\r\n            GET_WM_COMMAND_MPS(IDD_EXT, GetDlgItem(hDlg, IDD_EXT), EN_CHANGE));\r\n\r\n         break;\r\n      }\r\n   case WM_COMMAND:\r\n\r\n      return AssociateFileDlgCommand(hDlg, wParam, lParam, pAssociateFileDlgInfo);\r\n\r\n   default:\r\n      if (wMsg == wHelpMessage || wMsg == wBrowseMessage) {\r\n         WFHelp(hDlg);\r\n\r\n         return TRUE;\r\n      } else {\r\n         return FALSE;\r\n      }\r\n   }\r\n   return(TRUE);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     AssociateFileDlgCommand\r\n//\r\n// Synopsis: Handles WM_COMMAND for AssociateFileDlg\r\n//\r\n// IN  hDlg\r\n// IN  wParam\r\n// IN  lParam\r\n// IN  pAssociateFileDlgInfo\r\n//\r\n//\r\n// Return:   BOOL T = handled, F = nothandled\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nAssociateFileDlgCommand(HWND hDlg,\r\n   WPARAM wParam,\r\n   LPARAM lParam,\r\n   PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo)\r\n{\r\n   INT i;\r\n   TCHAR szExt[EXTSIZ];\r\n   BOOL bChange;\r\n\r\n   switch (GET_WM_COMMAND_ID(wParam, lParam)) {\r\n\r\n   case IDD_EXTLIST:\r\n      switch(GET_WM_COMMAND_CMD(wParam, lParam)) {\r\n      case LBN_SELCHANGE:\r\n\r\n         EnableWindow(GetDlgItem(hDlg, IDD_DELETE), TRUE);\r\n         EnableWindow(GetDlgItem(hDlg, IDD_ADD), FALSE);\r\n\r\n         //\r\n         // Now set the edit text to the current selection\r\n         //\r\n         i = (INT) SendDlgItemMessage(hDlg, IDD_EXTLIST, LB_GETCURSEL, 0, 0L);\r\n\r\n         SendDlgItemMessage(hDlg, IDD_EXTLIST, LB_GETTEXT, i, (LPARAM)szExt);\r\n         SendDlgItemMessage(hDlg, IDD_EXT, WM_SETTEXT, 0, (LPARAM)szExt);\r\n\r\n         break;\r\n      default:\r\n         break;\r\n      }\r\n      break;\r\n\r\n   case IDD_HELP:\r\n      WFHelp(hDlg);\r\n      break;\r\n\r\n   case IDD_EXT:\r\n      {\r\n         PEXT pExt;\r\n         PEXT pExtNext;\r\n         BOOL bForceOff = FALSE;\r\n         HWND hwndAdd;\r\n         HWND hwndDelete;\r\n         HWND hwnd;\r\n\r\n         switch(GET_WM_COMMAND_CMD(wParam, lParam)) {\r\n         case EN_CHANGE:\r\n\r\n            GetDlgItemText(hDlg, IDD_EXT, szExt, COUNTOF(szExt));\r\n\r\n            ExtClean(szExt);\r\n\r\n            //\r\n            // If no match, turn everything off!\r\n            //\r\n            if (!szExt[0])\r\n            {\r\n               pExt = NULL;\r\n               bForceOff = TRUE;\r\n            }\r\n            else\r\n            {\r\n               //\r\n               // Now scan through to see if there is a match\r\n               //\r\n               for (pExt = pAssociateFileDlgInfo->pFileType->pExt;\r\n                    pExt;\r\n                    pExt = pExtNext)\r\n               {\r\n                  pExtNext = pExt->pftNext;\r\n\r\n                  if (!pExt->bDelete && !lstrcmpi(szExt, pExt->szExt))\r\n                  {\r\n                     //\r\n                     // Found one, Highlight!\r\n                     //\r\n                     i = (INT)SendDlgItemMessage(hDlg, IDD_EXTLIST, LB_FINDSTRINGEXACT,\r\n                        (WPARAM)-1, (LPARAM) &szExt[1]);\r\n\r\n                     SendDlgItemMessage(hDlg, IDD_EXTLIST, LB_SETCURSEL, i, 0L);\r\n                     break;\r\n                  }\r\n               }\r\n\r\n               if (!pExt)\r\n               {\r\n                  //\r\n                  // No match, so deselect\r\n                  //\r\n                  SendDlgItemMessage(hDlg, IDD_EXTLIST, LB_SETCURSEL, (WPARAM) -1, 0L);\r\n               }\r\n            }\r\n\r\n            hwnd = GetFocus();\r\n\r\n            EnableWindow(hwndDelete = GetDlgItem(hDlg, IDD_DELETE),\r\n                         pExt ? TRUE: FALSE);\r\n\r\n            EnableWindow(hwndAdd = GetDlgItem(hDlg, IDD_ADD),\r\n                         bForceOff || pExt ? FALSE: TRUE);\r\n\r\n            //\r\n            // If we are disabling a button that has focus,\r\n            // we must reassign focus to the other button\r\n            //\r\n            // (Can't get into the state where neither button is\r\n            // enabled since this would require no text on the combobox\r\n            // line, which can't happen since one of the add/del buttons\r\n            // was enabled a second ago\r\n            //\r\n\r\n            if ((hwnd == hwndDelete && !pExt) || (hwnd == hwndAdd && pExt))\r\n            {\r\n               SendMessage(hwnd, BM_SETSTYLE,\r\n                  MAKELONG(BS_PUSHBUTTON, 0), MAKELPARAM(FALSE, 0));\r\n\r\n               hwnd = GetDlgItem(hDlg, IDOK);\r\n\r\n               SendMessage(hwnd, BM_SETSTYLE,\r\n                  MAKELONG(BS_DEFPUSHBUTTON, 0), MAKELPARAM(TRUE, 0));\r\n\r\n               SetFocus(hwnd);\r\n            }\r\n\r\n            break;\r\n\r\n         case EN_SETFOCUS:\r\n\r\n            pAssociateFileDlgInfo->bExtFocus = TRUE;\r\n            break;\r\n\r\n         case EN_KILLFOCUS:\r\n\r\n            pAssociateFileDlgInfo->bExtFocus = FALSE;\r\n            break;\r\n\r\n         default:\r\n            break;\r\n         }\r\n      }\r\n\r\n      break;\r\n   case IDD_ADD:\r\n\r\n      AssociateFileDlgExtAdd(hDlg, pAssociateFileDlgInfo);\r\n\r\n      goto AddDelUpdate;\r\n\r\n      break;\r\n   case IDD_DELETE:\r\n\r\n      AssociateFileDlgExtDelete(hDlg, pAssociateFileDlgInfo);\r\n\r\nAddDelUpdate:\r\n\r\n      // Send notification of change\r\n\r\n      SendMessage(hDlg, WM_COMMAND,\r\n         GET_WM_COMMAND_MPS(IDD_EXT, GetDlgItem(hDlg, IDD_EXT), EN_CHANGE));\r\n\r\n      if (pAssociateFileDlgInfo->bExtFocus)\r\n         SendDlgItemMessage(hDlg, IDD_EXT, EM_SETSEL, 0L, MAKELPARAM(0,-1));\r\n\r\n      break;\r\n\r\n   case IDD_ACTION:\r\n\r\n      //\r\n      // If changing selection, update.\r\n      //\r\n      if (CBN_SELCHANGE == GET_WM_COMMAND_CMD(wParam, lParam))\r\n      {\r\n         //\r\n         // We must save bChange since any changes due to Action updates\r\n         // aren't really changes by the user.\r\n         //\r\n         bChange = pAssociateFileDlgInfo->bChange;\r\n\r\n         ActionDlgRead(hDlg, pAssociateFileDlgInfo);\r\n         ActionUpdate(hDlg, pAssociateFileDlgInfo);\r\n\r\n         pAssociateFileDlgInfo->bChange = bChange;\r\n      }\r\n\r\n      break;\r\n\r\n   case IDD_DDE:\r\n\r\n      if (BN_CLICKED == GET_WM_COMMAND_CMD(wParam, lParam))\r\n      {\r\n         i = pAssociateFileDlgInfo->iAction =\r\n            (INT)SendDlgItemMessage(hDlg, IDD_ACTION, CB_GETCURSEL, 0, 0L);\r\n\r\n         DDEDlgRead(hDlg, pAssociateFileDlgInfo, i);\r\n         pAssociateFileDlgInfo->DDEInfo[i].bUsesDDE =\r\n            SendDlgItemMessage(hDlg, IDD_DDE, BM_GETCHECK, 0, 0L) != BST_UNCHECKED;\r\n\r\n         DDEUpdate(hDlg, pAssociateFileDlgInfo,i);\r\n\r\n         //\r\n         // Modified, must update!\r\n         //\r\n         pAssociateFileDlgInfo->bChange = TRUE;\r\n      }\r\n      break;\r\n\r\n   case IDCANCEL:\r\n\r\n      //\r\n      // If IDD_NEW or IDD_COMMAND, then free it (!IDD_CONFIG)\r\n      //\r\n      if (IDD_CONFIG != pAssociateFileDlgInfo->mode)\r\n      {\r\n         FileTypeFree(pAssociateFileDlgInfo->pFileType);\r\n      }\r\n\r\nReload:\r\n      //\r\n      // Reload it!\r\n      //\r\n      RegUnload();\r\n\r\n      //\r\n      // We don't check errors here; put up what we can.\r\n      //\r\n      AssociateDlgInit(pAssociateFileDlgInfo->hDlg,\r\n         pAssociateFileDlgInfo->szExt, pAssociateFileDlgInfo->iClassList);\r\n\r\n      EndDialog(hDlg, TRUE);\r\n      break;\r\n\r\n   case IDOK:\r\n\r\n      if (!pAssociateFileDlgInfo->bOKEnable)\r\n      {\r\n         MyMessageBox(hDlg, IDS_EXTTITLE, IDS_FILETYPECOMMANDNULLTEXT,\r\n            MB_TASKMODAL|MB_OK|MB_ICONEXCLAMATION);\r\n\r\n         SetFocus(GetDlgItem(hDlg, IDD_COMMAND));\r\n\r\n         break;\r\n      }\r\n\r\n      ActionDlgRead(hDlg, pAssociateFileDlgInfo);\r\n      i = AssociateFileWrite(hDlg, pAssociateFileDlgInfo);\r\n\r\n      switch (i) {\r\n      case DE_RETRY:\r\n         break;\r\n\r\n      case ERROR_SUCCESS:\r\n         {\r\n            SendDlgItemMessage(pAssociateFileDlgInfo->hDlg, IDD_CLASSLIST,\r\n               WM_SETREDRAW, (WPARAM)FALSE, 0L);\r\n\r\n            //\r\n            // Delete the (None) entry at the beginning.\r\n            //\r\n            SendDlgItemMessage(pAssociateFileDlgInfo->hDlg, IDD_CLASSLIST, LB_DELETESTRING, 0, 0L);\r\n\r\n            if (IDD_CONFIG != pAssociateFileDlgInfo->mode)\r\n            {\r\n               //\r\n               // Add item..\r\n               // Update pAssociateFileDlgInfo->iClassList for selection below\r\n               //\r\n               pAssociateFileDlgInfo->iClassList =\r\n                  ClassListFileTypeAdd(pAssociateFileDlgInfo->hDlg, pFileTypeBase);\r\n            }\r\n            else\r\n            {\r\n               //\r\n               // Now delete the old selection and reinsert\r\n               //\r\n               SendDlgItemMessage(pAssociateFileDlgInfo->hDlg, IDD_CLASSLIST,\r\n                  LB_DELETESTRING, pAssociateFileDlgInfo->iClassList-1, 0L);\r\n\r\n               ClassListFileTypeAdd(pAssociateFileDlgInfo->hDlg,\r\n                  pAssociateFileDlgInfo->pFileType);\r\n            }\r\n\r\n            //\r\n            // Add the (None) entry at the beginning.\r\n            //\r\n            SendDlgItemMessage(pAssociateFileDlgInfo->hDlg, IDD_CLASSLIST, LB_INSERTSTRING,0,(LPARAM)szNone);\r\n\r\n            //\r\n            // Select the item\r\n            //\r\n            SendDlgItemMessage(pAssociateFileDlgInfo->hDlg, IDD_CLASSLIST,\r\n               LB_SETCURSEL, pAssociateFileDlgInfo->iClassList, 0L);\r\n\r\n            SendDlgItemMessage(pAssociateFileDlgInfo->hDlg, IDD_CLASSLIST,\r\n               WM_SETREDRAW, (WPARAM)TRUE, 0L);\r\n\r\n            InvalidateRect(GetDlgItem(pAssociateFileDlgInfo->hDlg, IDD_CLASSLIST),\r\n               NULL, TRUE);\r\n\r\n            //\r\n            // Notify previous dialog it needs to rebuild doc string\r\n            //\r\n            pAssociateFileDlgInfo->bRefresh = TRUE;\r\n\r\n            // At this point, we change the previous dialog's \"cancel\"\r\n            // button to Close.\r\n\r\n            LoadString(hAppInstance, IDS_CLOSE, szTitle, COUNTOF(szTitle));\r\n\r\n            SetDlgItemText(pAssociateFileDlgInfo->hDlg, IDCANCEL, szTitle);\r\n\r\n            EndDialog(hDlg, TRUE);\r\n            break;\r\n         }\r\n      default:\r\n\r\n         //\r\n         // Oops, couldn't write, simulate escape: discard all\r\n         //\r\n         goto Reload;\r\n      }\r\n      break;\r\n\r\n   case IDD_BROWSE:\r\n      {\r\n         OPENFILENAME ofn;\r\n         DWORD dwSave = dwContext;\r\n         LPTSTR p;\r\n\r\n         TCHAR szFile[MAXPATHLEN + 2];\r\n         TCHAR szTemp2[MAXPATHLEN];\r\n\r\n         dwContext = IDH_ASSOC_BROWSE;\r\n\r\n         LoadString(hAppInstance, IDS_PROGRAMS, szTemp2, COUNTOF(szTemp2));\r\n         FixupNulls(szTemp2);\r\n         LoadString(hAppInstance, IDS_ASSOCIATE, szTitle, COUNTOF(szTitle));\r\n\r\n         szFile[1] = 0L;\r\n\r\n         ofn.lStructSize          = sizeof(ofn);\r\n         ofn.hwndOwner            = hDlg;\r\n         ofn.hInstance            = NULL;\r\n         ofn.lpstrFilter          = szTemp2;\r\n         ofn.lpstrCustomFilter    = NULL;\r\n         ofn.nFilterIndex         = 1;\r\n         ofn.lpstrFile            = szFile+1;\r\n         ofn.lpstrFileTitle       = NULL;\r\n         ofn.nMaxFile             = COUNTOF(szFile)-2;\r\n         ofn.lpstrInitialDir      = NULL;\r\n         ofn.lpstrTitle           = szTitle;\r\n         ofn.Flags                = OFN_SHOWHELP | OFN_HIDEREADONLY;\r\n         ofn.lpfnHook             = NULL;\r\n         ofn.lpstrDefExt          = NULL;\r\n\r\n         if (!LoadComdlg())\r\n            return TRUE;\r\n\r\n         if ((*lpfnGetOpenFileNameW)(&ofn))\r\n         {\r\n            if (StrChr(szFile+1, CHAR_SPACE))\r\n            {\r\n               szFile[0] = CHAR_DQUOTE;\r\n               lstrcat(szFile, SZ_DQUOTE);\r\n\r\n               p = szFile;\r\n            }\r\n            else\r\n            {\r\n               p = szFile+1;\r\n            }\r\n\r\n            SetDlgItemText(hDlg, IDD_COMMAND, p);\r\n         }\r\n\r\n         dwContext = dwSave;\r\n      }\r\n      break;\r\n\r\n   case IDD_COMMAND:\r\n\r\n      UpdateOKEnable(hDlg, pAssociateFileDlgInfo);\r\n\r\n      //\r\n      // Fall through\r\n      //\r\n   case IDD_DESC:\r\n   case IDD_DDEMESG:\r\n   case IDD_DDENOTRUN:\r\n   case IDD_DDEAPP:\r\n   case IDD_DDETOPIC:\r\n\r\n      if (EN_CHANGE == GET_WM_COMMAND_CMD(wParam, lParam))\r\n      {\r\n         pAssociateFileDlgInfo->bChange = TRUE;\r\n      }\r\n      break;\r\n\r\n   default:\r\n      return FALSE;\r\n   }\r\n\r\n   return TRUE;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     UpdateOKEnable\r\n//\r\n// Synopsis: Updates the enablement of the OK button based commands\r\n//\r\n// INOUTC    hDlg                    --  dlg to read IDD_COMMAND/set IDOK\r\n// INOUTC    pAssociateFileDlgInfo   --  info to check/report\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:  IDOK button enablement, bOKEnable\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nUpdateOKEnable(HWND hDlg, PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo)\r\n{\r\n   BOOL bOKEnable;\r\n   INT i;\r\n\r\n   //\r\n   // The code here handles enablement of the OK button.\r\n   // We want to disable this button when the command strings\r\n   // for _all_ actions is NULL.\r\n   //\r\n   // Note that the command string for the current action isn't in\r\n   // szCommand, but rather in the edit control.  That's why we skip\r\n   // it and set bChange to the IDD_COMMAND len next.\r\n   //\r\n   bOKEnable=SendDlgItemMessage(hDlg, IDD_COMMAND, WM_GETTEXTLENGTH, 0, 0L)!=0;\r\n\r\n   for (i=0; i<DDETYPEMAX; i++) {\r\n\r\n      //\r\n      // Don't let strings that the user is about to overwrite in\r\n      // IDD_COMMAND count as a non-null command.\r\n      //\r\n      if (i == pAssociateFileDlgInfo->iAction)\r\n         continue;\r\n\r\n      if (pAssociateFileDlgInfo->DDEInfo[i].szCommand[0]) {\r\n         bOKEnable = TRUE;\r\n         break;\r\n      }\r\n   }\r\n\r\n   if (bOKEnable != pAssociateFileDlgInfo->bOKEnable) {\r\n\r\n      EnableWindow(GetDlgItem(hDlg, IDOK), bOKEnable);\r\n      pAssociateFileDlgInfo->bOKEnable = bOKEnable;\r\n   }\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     RegLoad\r\n//\r\n// Synopsis: Reads the registry for extensions and file types\r\n//           (Friendly name and key only).\r\n//\r\n// Return:   BOOL      TRUE  = success\r\n//                     FALSE = fail     FileType, Ext INVALID\r\n//\r\n// Assumes:  !! Exclusive access to pExt->szIdent !!\r\n//           ClassesRead sets this field, RegLoad reads it,\r\n//           then the filed is INVALID !!\r\n//\r\n//           This is done because we must read everything in before we\r\n//           try to link up.\r\n//\r\n// Effects:  Fills in the pExtBase and pFileTypeBase globals\r\n//\r\n//\r\n// Notes:    RegUnload must be called to free space.\r\n//\r\n// First, we scan HKEY_CLASSES_ROOT (user/mach) for filetypes\r\n// then extensions, then [extensions] in win.ini\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nRegLoad(VOID)\r\n{\r\n   PEXT pExt, pExtPrev = NULL;\r\n   PEXT pExtNext;\r\n\r\n   if (!ClassesRead(HKEY_CLASSES_ROOT,szNULL, &pFileTypeBase, &pExtBase))\r\n      return FALSE;\r\n\r\n   //\r\n   // Traverse through all exts and initialize them\r\n   // since ClassesRead must wait for all pFileTypes\r\n   // to be read in before scanning.\r\n   //\r\n\r\n   for (pExt = pExtBase; pExt; pExt = pExtNext)\r\n   {\r\n      //\r\n      // Get the next pointer\r\n      //\r\n      pExtNext = pExt->next;\r\n\r\n      if (!ExtLinkToFileType(pExt, pExt->szIdent))\r\n      {\r\n         if (pExtPrev)\r\n         {\r\n            pExtPrev->next = pExtNext;\r\n         }\r\n         else\r\n         {\r\n            pExtBase = pExtNext;\r\n         }\r\n\r\n         ExtFree(pExt);\r\n      }\r\n      else\r\n      {\r\n         pExtPrev = pExt;\r\n      }\r\n   }\r\n\r\n   return TRUE;\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     ClassesRead\r\n//\r\n// Synopsis: Appends FileType and Ext globals with registry info\r\n//\r\n// IN        hKey           HKEY     Key to use\r\n// IN        lpszSubKey     LPTSTR    Name of subkey to open\r\n//                                   = NULL for local machine else user path\r\n// INOUT     ppFileType Base --       Last used base, * = NULL = first\r\n// INOUT     ppExtBase       --       Last used base, * = NULL = first\r\n//\r\n// Return:   BOOL     = TRUE for success\r\n//                    = FALSE for fail\r\n//\r\n// Assumes:  pExtBase and pFileTypeBase initialized (Valid or NULL)\r\n//\r\n// Effects:  pExtBase and pFileTypeBase (updated)\r\n//           pFileTypeBase initialized if NULL\r\n//           pExtBase initialized if NULL\r\n//           if pFileType, classes inserted into IDD_CLASSLIST\r\n//\r\n// Notes:    Much cooler to do in C++\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nClassesRead(HKEY hKey,\r\n   LPTSTR lpszSubKey,\r\n   PFILETYPE *ppFileTypeBase,\r\n   PEXT *ppExtBase)\r\n{\r\n   HKEY hk;\r\n   DWORD dwNameSiz;\r\n   LONG  lNameSiz;\r\n   UINT  uNameSiz;\r\n   FILETIME ftLastWrite;\r\n   DWORD dwError1, dwError2;\r\n   PFILETYPE pFileTypePrev, pFileType;\r\n   PEXT pExtPrev, pExt;\r\n   BOOL retval;\r\n   INT iKey;\r\n   TCHAR szIdent[DESCSIZ+COUNTOF(szFileManPrefix)];\r\n   TCHAR szExt[EXTSIZ+1];\r\n   BOOL bFileType;\r\n\r\n   // Open the requested location\r\n\r\n   if (ERROR_SUCCESS != RegOpenKeyEx(hKey, lpszSubKey, 0, KEY_ALL_ACCESS, &hk)) {\r\n      return FALSE;\r\n   }\r\n\r\n   //\r\n   // iKey is the index we use to\r\n   // traverse through the keys\r\n   //\r\n\r\n   iKey = 0;\r\n\r\n   pFileType = NULL;\r\n   pExt = NULL;\r\n\r\n   pFileTypePrev = *ppFileTypeBase;\r\n   pExtPrev = *ppExtBase;\r\n\r\n   while (TRUE) {\r\n\r\n      //\r\n      // Begin enumerating all keys.  In one pass, we check\r\n      // both filetypes and extensions.  We can't match\r\n      // exts->filetypes until all filetypes are read in.\r\n      //\r\n\r\n      //\r\n      // Leave one character off for the NULL\r\n      // These must be BYTES, not CHARACTERS!\r\n\r\n      dwNameSiz = sizeof(szIdent)-sizeof(*szIdent);\r\n\r\n      // NOTE!  The returned length of the copied string\r\n      // does not include the null terminator!\r\n      // (contrast with RegQueryValue!)\r\n\r\n      dwError1 = RegEnumKeyEx(hk,\r\n         iKey,\r\n         szIdent,\r\n         &dwNameSiz,\r\n         NULL, NULL, NULL, &ftLastWrite);\r\n\r\n      switch (dwError1) {\r\n\r\n      case ERROR_NO_MORE_ITEMS:\r\n\r\n         //\r\n         // This is the only case where we return true\r\n         //\r\n\r\n         retval = TRUE;\r\n         goto ProcExit;\r\n\r\n      case ERROR_MORE_DATA:\r\n\r\n         // We can't handle this error!\r\n         // Just truncate!\r\n\r\n         szIdent[COUNTOF(szIdent)-1] = CHAR_NULL;\r\n\r\n      case ERROR_SUCCESS:\r\n\r\n         // Add zero delimiter\r\n         szIdent[dwNameSiz] = CHAR_NULL;\r\n\r\n         break;\r\n\r\n      default:\r\n         odf(TEXT(\"Error #%d\\n\"),dwError1);\r\n\r\n         retval = FALSE;\r\n         bFileType = FALSE;\r\n\r\n         goto RestoreProcExit;\r\n      }\r\n\r\n      // Now add to pFileTypeBase or pExtBase\r\n\r\n      if (bFileType = (CHAR_DOT != szIdent[0])) {\r\n\r\n         //\r\n         // It's a file type\r\n         //\r\n\r\n         pFileType = (PFILETYPE) LocalAlloc(LPTR, sizeof(FILETYPE));\r\n\r\n         // Should put up dialog box error then\r\n         // gracefully quit, keeping read in entries.\r\n\r\n         if (!pFileType) {\r\n\r\n            retval = FALSE;\r\n            goto RestoreProcExit;\r\n         }\r\n\r\n         pFileType->uDesc = 0;\r\n         if (FileTypeAddString(pFileType, szIdent, &pFileType->uDesc)) {\r\n\r\n            retval = FALSE;\r\n            goto RestoreProcExit;\r\n         }\r\n\r\n      } else {\r\n\r\n         // truncate if necessary\r\n         szIdent[COUNTOF(szExt)-1] = CHAR_NULL;\r\n         lstrcpy(szExt,szIdent);\r\n      }\r\n\r\n      // It is valid, read in nice description/identifier\r\n\r\n      lNameSiz = sizeof(szIdent);\r\n\r\n      // Note!  RegQueryValue's return length does include\r\n      // the null terminator!\r\n\r\n      dwError2 = (DWORD) RegQueryValue(hk,\r\n         bFileType ?\r\n            pFileType->lpszBuf:\r\n            szExt,\r\n         szIdent,\r\n         &lNameSiz);\r\n\r\n      //\r\n      // Divide by size of char to get character count\r\n      // (not used)\r\n      //\r\n      // lNameSiz /= sizeof(*szIdent);\r\n\r\n      switch (dwError2) {\r\n\r\n      case ERROR_SUCCESS:\r\n         break;\r\n\r\n      case ERROR_FILE_NOT_FOUND:\r\n\r\n         odf(TEXT(\"File not found: %s\\n\"),bFileType ? pFileType->lpszBuf:szExt);\r\n\r\n         if (bFileType) {\r\n            szIdent[0] = CHAR_NULL;\r\n            dwError2 = ERROR_SUCCESS;\r\n         } else {\r\n\r\n            iKey++;\r\n            continue;\r\n         }\r\n         break;\r\n\r\n      case ERROR_MORE_DATA:\r\n\r\n         // truncate\r\n         szIdent[COUNTOF(szIdent)-1] = CHAR_NULL;\r\n         dwError2 = ERROR_SUCCESS;\r\n         break;\r\n\r\n      default:\r\n\r\n         odf(TEXT(\"2 Error #%d\\n\"),dwError2);\r\n\r\n         if (bFileType) {\r\n            szIdent[0] = CHAR_NULL;\r\n            dwError2 = ERROR_SUCCESS;\r\n         } else {\r\n\r\n            iKey++;\r\n            continue;\r\n         }\r\n//\r\n//         retval = FALSE;\r\n//         goto RestoreProcExit;\r\n//\r\n      }\r\n\r\n      // Now read in \\\\shell\\\\open\\\\command\r\n      // or Link up ext to filetype\r\n\r\n      if (bFileType) {\r\n\r\n         TCHAR szTemp[DESCSIZ+COUNTOF(szShellOpenCommand)];\r\n         TCHAR szCommand[COMMANDSIZ];\r\n\r\n         //\r\n         // Copy in nice name\r\n         //\r\n\r\n         pFileType->uExe = pFileType->uDesc;\r\n         if (FileTypeAddString(pFileType, szIdent, &pFileType->uExe)) {\r\n\r\n            retval = FALSE;\r\n            goto RestoreProcExit;\r\n         }\r\n\r\n\r\n         //\r\n         // Create the new shell open command key\r\n         //\r\n         lstrcpy(szTemp, pFileType->lpszBuf);\r\n         lstrcat(szTemp, szShellOpenCommand);\r\n\r\n         lNameSiz = sizeof(szCommand);\r\n\r\n         //\r\n         // Get the exe\r\n         //\r\n         dwError2 = (DWORD) RegQueryValue(hk,\r\n            szTemp,\r\n            szCommand,\r\n            &lNameSiz);\r\n\r\n         //\r\n         // Divide by char size to get cch.  (not used)\r\n         //\r\n         // lNameSiz /= sizeof(*szCommand);\r\n\r\n         switch (dwError2) {\r\n         case ERROR_SUCCESS:\r\n            break;\r\n\r\n         case ERROR_FILE_NOT_FOUND:\r\n\r\n            //\r\n            // Bogus entry; continue.\r\n            //\r\n\r\n            FileTypeFree(pFileType);\r\n\r\n            iKey++;\r\n            continue;\r\n\r\n         case ERROR_MORE_DATA:\r\n\r\n            // truncate\r\n\r\n            szCommand[COUNTOF(szCommand)-1] = CHAR_NULL;\r\n            dwError2 = ERROR_SUCCESS;\r\n\r\n            break;\r\n\r\n         default:\r\n            odf(TEXT(\"2a Error #%d\\n\"),dwError2);\r\n\r\n            //\r\n            // Bogus entry; continue.\r\n            //\r\n\r\n            FileTypeFree(pFileType);\r\n\r\n            iKey++;\r\n            continue;\r\n//\r\n//            retval = FALSE;\r\n//            goto RestoreProcExit;\r\n//\r\n         }\r\n\r\n         //\r\n         // Jam in the '(' and make the previous character a space\r\n         //\r\n\r\n         pFileType->lpszBuf[pFileType->uExe-1] = CHAR_SPACE;\r\n         pFileType->lpszBuf[pFileType->uExe++] = CHAR_OPENPAREN;\r\n\r\n         uNameSiz = pFileType->uExe;\r\n         FileTypeAddString(pFileType, szCommand, &uNameSiz);\r\n      }\r\n      else\r\n      {\r\n         //\r\n         // Check for duplicate extensions\r\n         //\r\n         if (ExtDupCheck(szExt, pExtPrev))\r\n         {\r\n            iKey++;\r\n            continue;\r\n         }\r\n\r\n         // Put ident into pExt\r\n\r\n         pExt = (PEXT) LocalAlloc(LPTR, sizeof(EXT) + ByteCountOf(lstrlen(szIdent)));\r\n         if (!pExt)\r\n         {\r\n            retval = FALSE;\r\n            goto RestoreProcExit;\r\n         }\r\n\r\n         lstrcpy(pExt->szExt, szExt);\r\n         lstrcpy(pExt->szIdent, szIdent);\r\n      }\r\n\r\n      // Don't call ExtLinkToFileType!\r\n      // Go through linked list only when everything read\r\n\r\n      // Now either link up or initialize\r\n\r\n      if (bFileType) {\r\n\r\n         //\r\n         // If prev exists, then we have already linked so just\r\n         // append.  Otherwise, it's the first one.\r\n         //\r\n         if (pFileTypePrev)\r\n         {\r\n            pFileTypePrev->next = pFileType;\r\n         }\r\n         else\r\n         {\r\n            *ppFileTypeBase = pFileType;\r\n         }\r\n\r\n         pFileTypePrev = pFileType;\r\n      }\r\n      else\r\n      {\r\n         if (pExtPrev)\r\n         {\r\n            pExtPrev->next = pExt;\r\n         }\r\n         else\r\n         {\r\n            *ppExtBase = pExt;\r\n         }\r\n\r\n         pExtPrev = pExt;\r\n      }\r\n\r\n      iKey++;\r\n   }\r\n\r\nProcExit:\r\n   RegCloseKey(hk);\r\n   return retval;\r\n\r\nRestoreProcExit:\r\n\r\n   // Memory error; restore and get out\r\n   // Free as much as we can\r\n   if (bFileType && pFileType) {\r\n\r\n      FileTypeFree(pFileType);\r\n   }\r\n   goto ProcExit;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     Classes Free\r\n//\r\n// Synopsis: Frees malloc'd info in pFileTypeBase\r\n//\r\n// IN  VOID\r\n//\r\n// Return:   VOID\r\n//\r\n// Assumes:\r\n//\r\n// Effects:  pFileTypeBase freed\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nClassesFree(BOOL bFileType)\r\n{\r\n   VFILETYPEEXT vNext;\r\n   VFILETYPEEXT vCur;\r\n\r\n   if (bFileType) {\r\n      vCur.pFileType = pFileTypeBase;\r\n   } else {\r\n      vCur.pExt = pExtBase;\r\n   }\r\n\r\n   while (vCur.vBoth) {\r\n\r\n      if (bFileType) {\r\n         vNext.pFileType = vCur.pFileType->next;\r\n      } else {\r\n         vNext.pExt = vCur.pExt->next;\r\n      }\r\n\r\n      if (bFileType) {\r\n         FileTypeFree(vCur.pFileType);\r\n      } else {\r\n         ExtFree(vCur.pExt);\r\n      }\r\n\r\n      // Should be ok til next Alloc, but if multithreaded...\r\n      vCur.vBoth=vNext.vBoth;\r\n   }\r\n\r\n   if (bFileType) {\r\n      pFileTypeBase = NULL;\r\n   } else {\r\n      pExtBase = NULL;\r\n   }\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     RegUnload\r\n//\r\n// Synopsis: Cleans up after RegLoad\r\n//\r\n// IN        VOID\r\n//\r\n// Return:   VOID\r\n//\r\n// Assumes:  RegLoad at some point before\r\n//\r\n// Effects:  Frees pExtBase and pFileTypeBase\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nVOID\r\nRegUnload(VOID)\r\n{\r\n   ClassesFree(TRUE);\r\n   ClassesFree(FALSE);\r\n}\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:      FileTypeRead\r\n//\r\n// Synopsis:  Sets file dialog with info\r\n//\r\n// IN    hDlg                  HWND     Dialog box to fill\r\n// INOUT pFileAssociateDlgInfo --       Identifier to read (e.g., \"Word Doc\")\r\n//                                      NULL = Clear out fields\r\n// IN uiShowSection)           UINT     DDESection\r\n//\r\n// Return:                     DWORD     Error code (ERROR_SUCCESS = 0l = ok)\r\n//\r\n// Assumes:\r\n//\r\n// Effects:  Sets all fields in the hDlg and updates\r\n//           Modifies _ALL_ pFileAssociateDlgInfo.DDEInfo fields.\r\n//\r\n// Notes:  Does not do a CB_SETCURSEL\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nDWORD\r\nFileTypeRead(HWND hDlg,\r\n   PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo)\r\n{\r\n   UINT i;\r\n   PEXT pExt;\r\n   PEXT pExtNext;\r\n   PFILETYPE pFileType = pAssociateFileDlgInfo->pFileType;\r\n   DWORD dwError;\r\n   HKEY hk;\r\n\r\n   TCHAR szTemp[STRINGSIZ];\r\n\r\n   // If we are in IDD_NEW mode, just return success\r\n   // since we don't read anything for new ones.\r\n   // We must clear out the lists\r\n\r\n   pAssociateFileDlgInfo->iAction = 0;\r\n\r\n   // Clear out DDEInfo\r\n   for (i=0; i < DDETYPEMAX; i++) {\r\n      pAssociateFileDlgInfo->DDEInfo[i].szCommand[0] = CHAR_NULL;\r\n      pAssociateFileDlgInfo->DDEInfo[i].bUsesDDE = 0;\r\n      pAssociateFileDlgInfo->DDEInfo[i].szDDEMesg[0] = CHAR_NULL;\r\n      pAssociateFileDlgInfo->DDEInfo[i].szDDEApp[0] = CHAR_NULL;\r\n      pAssociateFileDlgInfo->DDEInfo[i].szDDENotRun[0] = CHAR_NULL;\r\n      pAssociateFileDlgInfo->DDEInfo[i].szDDETopic[0] = CHAR_NULL;\r\n   }\r\n\r\n   if (IDD_CONFIG != pAssociateFileDlgInfo->mode) {\r\n\r\n      if (IDD_NEW == pAssociateFileDlgInfo->mode) {\r\n\r\n         //\r\n         // Set the dialog window title\r\n         //\r\n         if (LoadString(hAppInstance, IDS_NEWFILETYPETITLE, szTemp, COUNTOF(szTemp))) {\r\n            SetWindowText(hDlg, szTemp);\r\n         }\r\n      }\r\n\r\n      dwError = ERROR_SUCCESS;\r\n\r\n   } else {\r\n\r\n      // Put in the description!\r\n      SetDlgItemText(hDlg, IDD_DESC, &pFileType->lpszBuf[pFileType->uDesc]);\r\n\r\n      // Put up the open executable by default!\r\n      SetDlgItemText(hDlg, IDD_COMMAND, &pFileType->lpszBuf[pFileType->uExe]);\r\n\r\n      // Put in the extensions!\r\n\r\n      for (pExt = pFileType->pExt; pExt; pExt = pExtNext)\r\n      {\r\n         pExtNext = pExt->pftNext;\r\n\r\n         if (!pExt->bDelete)\r\n         {\r\n            CharLower(&pExt->szExt[1]);\r\n            i = (UINT)SendDlgItemMessage(hDlg, IDD_EXTLIST, LB_ADDSTRING, 0, (LPARAM)&pExt->szExt[1]);\r\n\r\n            SendDlgItemMessage(hDlg, IDD_EXTLIST, LB_SETITEMDATA, i, (LPARAM)pExt);\r\n         }\r\n      }\r\n\r\n      //\r\n      // Certain file types will be read only\r\n      // If so, we want to disable all the editing fields\r\n      // To check this, we do a RegOpenKeyEx with KEY_WRITE privilege\r\n      //\r\n\r\n      if (ERROR_SUCCESS == RegOpenKeyEx(HKEY_CLASSES_ROOT,\r\n         pFileType->lpszBuf, 0L, KEY_WRITE, &hk)) {\r\n\r\n         RegCloseKey(hk);\r\n\r\n      } else {\r\n         pAssociateFileDlgInfo->bReadOnly = TRUE;\r\n\r\n         //\r\n         // Disable EVERYTHING (well, almost)\r\n         //\r\n\r\n#define DISABLE(x) EnableWindow(GetDlgItem(hDlg, x), FALSE)\r\n\r\n         DISABLE( IDD_DESCTEXT );\r\n         DISABLE( IDD_COMMANDTEXT );\r\n         DISABLE( IDD_BROWSE );\r\n         DISABLE( IDD_DDEMESGTEXT );\r\n         DISABLE( IDD_DDEAPPTEXT );\r\n         DISABLE( IDD_DDENOTRUNTEXT );\r\n         DISABLE( IDD_DDETOPICTEXT );\r\n         DISABLE( IDD_DDEOPTIONALTEXT );\r\n\r\n         DISABLE( IDD_DESC );\r\n         DISABLE( IDD_COMMAND );\r\n         DISABLE( IDD_SEARCHALL );\r\n         DISABLE( IDD_DDE );\r\n         DISABLE( IDD_DDEMESG );\r\n         DISABLE( IDD_DDEAPP );\r\n         DISABLE( IDD_DDENOTRUN );\r\n         DISABLE( IDD_DDETOPIC );\r\n\r\n#undef DISABLE\r\n      }\r\n\r\n\r\n      // Read in DDE Stuff.\r\n\r\n      for (i=0; i < DDETYPEMAX; i++) {\r\n         // Read in everything\r\n         if (ERROR_SUCCESS != (dwError = DDERead(pAssociateFileDlgInfo, i)))\r\n            break;\r\n      }\r\n   }\r\n\r\n   ActionUpdate(hDlg, pAssociateFileDlgInfo);\r\n   return dwError;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     FileTypeWrite\r\n//\r\n// Synopsis: Writes out a file type\r\n//\r\n// IN      hDlg                  HWND   Dialog to read from\r\n// IN      pAssociateFileDlgInfo --     Target to write out\r\n// IN      hk                    HKEY   HKey to write to\r\n// IN      lpszKey               LPTSTR  Beginning root key\r\n//\r\n//\r\n// Return:   DWORD   ERROR_SUCCESS = success\r\n//\r\n//\r\n// Assumes:  pAssociateFileDlgInfo setup\r\n//\r\n// Effects:  Writes to registry: NO exts written\r\n//\r\n//           IF IDD_NEW, does one of the following:\r\n//              * Links up pFileType up to pFileType base: success\r\n//                -- deleted when pFileTypeBase freed\r\n//              * returns DE_RETRY, pFileType floating\r\n//                -- return to original state.\r\n//              * Error; returns !(==DE_RETRY || ==ERROR_SUCCESS)\r\n//                -- pFileType FREED!\r\n//\r\n//           This is necessary to avoid memory leaks.\r\n//\r\n// Notes:    Generates identifier if none exists\r\n//           Returns DE_RETRY if need to re-edit fields\r\n//           Does not flushkey\r\n//\r\n//           If IDD_NEW, links up pFileType\r\n//\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nDWORD\r\nFileTypeWrite(HWND hDlg,\r\n   PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo,\r\n   HKEY hk,\r\n   LPTSTR lpszKey)\r\n{\r\n   INT i;\r\n   PFILETYPE pFileType = pAssociateFileDlgInfo->pFileType;\r\n   DWORD dwError;\r\n   LPTSTR p, p2;\r\n   UINT uOffset;\r\n   TCHAR szDesc[DESCSIZ];\r\n   BOOL bSpace;\r\n   BOOL bNotSpace;\r\n\r\n   //\r\n   // If read only, the user couldn't have changed anything,\r\n   // so don't bother writing\r\n   //\r\n\r\n   if (pAssociateFileDlgInfo->bReadOnly)\r\n      return ERROR_SUCCESS;\r\n\r\n   if (!pAssociateFileDlgInfo->bChange)\r\n      return ERROR_SUCCESS;\r\n\r\n   //\r\n   // First check if an identifier exists.  If it doesn't,\r\n   // generate one.\r\n   //\r\n\r\n   if (IDD_CONFIG != pAssociateFileDlgInfo->mode) {\r\n\r\n      //\r\n      // Algo for generating ident begins here.\r\n      // Just use the Desc for now...\r\n      //\r\n\r\n      GetDlgItemText(hDlg, IDD_DESC, szDesc, COUNTOF(szDesc));\r\n\r\n      pFileType->uDesc = 0;\r\n\r\n      //\r\n      // Create prefix\r\n      //\r\n      wsprintf(szFileManPrefix, szFileManPrefixGen, 0);\r\n\r\n      p=StrChrQuote(szFileManPrefix, CHAR_SPACE);\r\n\r\n      if (p)\r\n         *p = CHAR_NULL;\r\n\r\n      if (dwError = FileTypeAddString(pFileType,\r\n         szFileManPrefix, &pFileType->uDesc)) {\r\n         goto Error;\r\n      }\r\n\r\n      //\r\n      // Safe since szFileManPrefix is non-null.\r\n      //\r\n\r\n      pFileType->uDesc--;\r\n\r\n      if (dwError = FileTypeAddString(pFileType, szDesc, &pFileType->uDesc))\r\n         goto Error;\r\n\r\n      //\r\n      // Algo ends here\r\n      // Now make sure that the ident is unique\r\n      //\r\n\r\n      if (FileTypeDupIdentCheck(hDlg, IDD_DESC, pFileType->lpszBuf))\r\n         return DE_RETRY;\r\n   }\r\n\r\n   //\r\n   // Get new desc\r\n   //\r\n   i = GetWindowTextLength(GetDlgItem(hDlg, IDD_DESC));\r\n\r\n   // Make sure that it's non-NULL.\r\n   if (!i) {\r\n\r\n      //\r\n      // Warn user to use non-NULL desc\r\n      //\r\n\r\n      MyMessageBox(hDlg, IDS_EXTTITLE, IDS_FILETYPENULLDESCERROR,\r\n         MB_TASKMODAL|MB_OK|MB_ICONEXCLAMATION);\r\n\r\n      //\r\n      // Set focus to IDD_DESC\r\n      //\r\n      SetFocus(GetDlgItem(hDlg, IDD_DESC));\r\n\r\n      return DE_RETRY;\r\n   }\r\n\r\n   GetDlgItemText(hDlg, IDD_DESC, szDesc, COUNTOF(szDesc));\r\n\r\n   uOffset = pFileType->uDesc;\r\n   if (dwError = FileTypeAddString(pFileType, szDesc, &uOffset))\r\n      goto Error;\r\n\r\n   //\r\n   // We add 1 because we substitute our paren here\r\n   //\r\n   pFileType->lpszBuf[uOffset] = CHAR_OPENPAREN;\r\n   pFileType->uExe = uOffset+1;\r\n\r\n   for (i=0; i < DDETYPEMAX; i++) {\r\n      p = pAssociateFileDlgInfo->DDEInfo[i].szCommand;\r\n\r\n      //\r\n      // Get Application: add %1 if not present and does not use dde\r\n      // and there is at least one non-space character\r\n      //\r\n\r\n      if (!pAssociateFileDlgInfo->DDEInfo[i].bUsesDDE) {\r\n\r\n         // Scan through for % after space\r\n         for(p2 = p, bSpace = FALSE, bNotSpace = FALSE; *p2; p2++) {\r\n\r\n            if (CHAR_SPACE == *p2)\r\n               bSpace = TRUE;\r\n            else\r\n               bNotSpace = TRUE;\r\n\r\n            if (szSpacePercentOne[1] == *p2 && bSpace)\r\n               break;\r\n         }\r\n\r\n         // lstrcat only if enough space and % wasn't found\r\n\r\n         if (!*p2 && bNotSpace &&\r\n            lstrlen(p) < COUNTOF(pAssociateFileDlgInfo->DDEInfo[i].szCommand) -\r\n            COUNTOF(szSpacePercentOne) -1) {\r\n\r\n            lstrcat(p, szSpacePercentOne);\r\n         }\r\n      }\r\n   }\r\n\r\n\r\n   uOffset = pFileType->uExe;\r\n\r\n   if (dwError = FileTypeAddString(pFileType,\r\n      pAssociateFileDlgInfo->DDEInfo[0].szCommand, &uOffset)) {\r\n\r\n      goto Error;\r\n   }\r\n\r\n   // Write out friendly name (desc)\r\n   // Add +1?  cf. other RegSetValues!\r\n\r\n   dwError = RegSetValue(hk, pFileType->lpszBuf, REG_SZ,\r\n      &pFileType->lpszBuf[pFileType->uDesc],\r\n      lstrlen(&pFileType->lpszBuf[pFileType->uDesc]));\r\n\r\n   if (ERROR_SUCCESS != dwError)\r\n      goto Error;\r\n\r\n   // Write out DDE Stuff.\r\n\r\n   for (i=0; i < DDETYPEMAX; i++) {\r\n      // Read in everything\r\n      if (ERROR_SUCCESS != (dwError = DDEWrite(pAssociateFileDlgInfo, i))) {\r\n         goto Error;\r\n      }\r\n   }\r\n\r\n   // Link up pFileType if this is new!\r\n   if (IDD_CONFIG != pAssociateFileDlgInfo->mode) {\r\n      pFileType->next = pFileTypeBase;\r\n      pFileTypeBase = pFileType;\r\n   }\r\n\r\n   return ERROR_SUCCESS;\r\n\r\nError:\r\n\r\n   // If creating a new file type\r\n   if (IDD_CONFIG != pAssociateFileDlgInfo->mode)\r\n   {\r\n      // Find any extensions pointing to it, remove them, and point them to\r\n      // any original file type if possible\r\n      PEXT pExt;\r\n      while (pFileType->pExt != NULL)\r\n      {\r\n         pExt = pFileType->pExt;\r\n         ExtDelink(pExt);\r\n         if (pExt->pftOrig != NULL) {\r\n            ExtLink(pExt, pExt->pftOrig);\r\n         }\r\n         // Indicate no update should occur for this extension\r\n         pExt->bAdd = FALSE;\r\n         pExt->bDelete = FALSE;\r\n      }\r\n\r\n      // Free the file type and any associated buffer\r\n      FileTypeFree(pFileType);\r\n   }\r\n   return dwError;\r\n}\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DDERead\r\n//\r\n// Synopsis: Reads in all DDE info about a filetype\r\n//\r\n// INOUT     pAssociateFileDlgInfo   --\r\n// IN        iIndex                      INT  index of DDE info to read\r\n//\r\n// Return:   DWORD     = ERROR_SUCCESS success\r\n//                    = else failed, = error code\r\n//\r\n// Assumes:  pAssociateFileDlgInfo set up correctly\r\n//\r\n// Effects:  pAssociateFileDlgInfo-> DDEInfo\r\n//\r\n// Notes:    reads registry\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n#define ERRORCHECK \\\r\n   {  if (ERROR_SUCCESS!=dwError && ERROR_FILE_NOT_FOUND!=dwError) \\\r\n      return dwError; }\r\n\r\n#define BUSESDDECHECK \\\r\n   {  if (ERROR_FILE_NOT_FOUND != dwError) \\\r\n         pAssociateFileDlgInfo->DDEInfo[i].bUsesDDE = TRUE; }\r\n\r\n// lSize => _byte_ count, not character count\r\n\r\n#define REGREAD(str)                                                      \\\r\n   {                                                                      \\\r\n       HKEY _hkey;                                                        \\\r\n                                                                          \\\r\n       str[0] = CHAR_NULL;                                                \\\r\n       lSize = sizeof(str);                                               \\\r\n       dwError = 0;                                                       \\\r\n       if (RegOpenKey(HKEY_CLASSES_ROOT, szKey, &_hkey) == ERROR_SUCCESS) \\\r\n       {                                                                  \\\r\n           dwError = (DWORD)RegQueryValueEx( _hkey,                       \\\r\n                                             TEXT(\"\"),                    \\\r\n                                             NULL,                        \\\r\n                                             NULL,                        \\\r\n                                             (LPBYTE)str,                 \\\r\n                                             &lSize );                    \\\r\n           RegCloseKey(_hkey);                                            \\\r\n       }                                                                  \\\r\n   }\r\n\r\nDWORD\r\nDDERead(PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo, INT i)\r\n{\r\n   TCHAR szKey[MAXPATHLEN];\r\n   INT iPoint;\r\n   LONG lSize;\r\n   DWORD dwError;\r\n   LPTSTR p, p2;\r\n\r\n   pAssociateFileDlgInfo->DDEInfo[i].bUsesDDE = FALSE;\r\n\r\n   // BONK!  Should do length checking here.\r\n\r\n   lstrcpy(szKey, pAssociateFileDlgInfo->pFileType->lpszBuf);\r\n   lstrcat(szKey, szShell);\r\n   lstrcat(szKey, aDDEType[i].lpszRegistry);\r\n\r\n   iPoint = lstrlen(szKey);\r\n\r\n   lstrcat(szKey, szCommand);\r\n\r\n   REGREAD(pAssociateFileDlgInfo->DDEInfo[i].szCommand);\r\n\r\n   ERRORCHECK;\r\n\r\n   lstrcpy(&szKey[iPoint],szDDEExec);\r\n\r\n   REGREAD(pAssociateFileDlgInfo->DDEInfo[i].szDDEMesg);\r\n\r\n   ERRORCHECK;\r\n   BUSESDDECHECK;\r\n\r\n   iPoint = lstrlen(szKey);\r\n   lstrcat(szKey, szApp);\r\n\r\n   REGREAD(pAssociateFileDlgInfo->DDEInfo[i].szDDEApp);\r\n\r\n   ERRORCHECK;\r\n   BUSESDDECHECK;\r\n\r\n   // Per win31, default to first (' '=delimiter) token's\r\n   // last filespec ('\\'=delimiter)\r\n   p2 = pAssociateFileDlgInfo->DDEInfo[i].szDDEApp;\r\n\r\n   if (ERROR_SUCCESS != dwError || !p2[0]) {\r\n\r\n\r\n      lstrcpy(p2, pAssociateFileDlgInfo->DDEInfo[i].szCommand);\r\n\r\n      //\r\n      // For the application string, default to the\r\n      // executable name without the extensions\r\n      //\r\n      for(p=p2;*p;p++) {\r\n         if (CHAR_DOT == *p || CHAR_SPACE == *p) {\r\n            *p = CHAR_NULL;\r\n            break;\r\n         }\r\n      }\r\n\r\n      StripPath(p2);\r\n\r\n      if (*p2)\r\n         *p2=(TCHAR)CharUpper((LPTSTR)*p2);\r\n   }\r\n\r\n   lstrcpy(&szKey[iPoint],szTopic);\r\n\r\n   REGREAD(pAssociateFileDlgInfo->DDEInfo[i].szDDETopic);\r\n\r\n   ERRORCHECK;\r\n   BUSESDDECHECK;\r\n\r\n   // The default for no topic is system.\r\n\r\n   if (ERROR_SUCCESS != dwError || !pAssociateFileDlgInfo->DDEInfo[i].szDDETopic[0]) {\r\n      lstrcpy(pAssociateFileDlgInfo->DDEInfo[i].szDDETopic, szDDEDefaultTopic);\r\n   }\r\n\r\n   lstrcpy(&szKey[iPoint],szIFExec);\r\n\r\n   REGREAD(pAssociateFileDlgInfo->DDEInfo[i].szDDENotRun);\r\n\r\n   ERRORCHECK;\r\n   BUSESDDECHECK;\r\n\r\n   return ERROR_SUCCESS;\r\n}\r\n\r\n#undef ERRORCHECK\r\n#undef BUSESDDECHECK\r\n#undef REGREAD\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DDEWrite\r\n//\r\n// Synopsis: Writes in all DDE info about a filetype\r\n//\r\n// IN        pAssociateFileDlgInfo   --\r\n// IN        iIndex                      INT  index of DDE info to read\r\n//\r\n// Return:   DWORD     = ERROR_SUCCESS succeed\r\n//                    = else fail, = error code\r\n//\r\n// Assumes:  pAssociateFileDlgInfo set up correctly\r\n//\r\n// Effects:\r\n//\r\n// Notes:    writes registry\r\n//           does not flushkey\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n#define ERRORCHECK \\\r\n   {  if (ERROR_SUCCESS != dwError) \\\r\n         return dwError; }\r\n\r\n\r\n// +1 for RegSetValue???  (lstrlen)\r\n\r\n#define DDEREGSET(lpsz) \\\r\n   {  \\\r\n      dwSize = lstrlen(lpsz) * sizeof(*lpsz); \\\r\n      dwError = RegSetValue(HKEY_CLASSES_ROOT,  \\\r\n         szKey,                              \\\r\n         REG_SZ,                             \\\r\n         lpsz,                               \\\r\n         dwSize);\\\r\n   }\r\n\r\nDWORD\r\nDDEWrite(PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo, INT i)\r\n{\r\n   TCHAR szKey[MAXPATHLEN];\r\n   INT iPoint;\r\n   DWORD dwSize;\r\n   DWORD dwError;\r\n\r\n   //\r\n   // LATER:  Should do length checking here.\r\n   //\r\n   lstrcpy(szKey, pAssociateFileDlgInfo->pFileType->lpszBuf);\r\n   lstrcat(szKey, szShell);\r\n   lstrcat(szKey, aDDEType[i].lpszRegistry);\r\n\r\n   //\r\n   // If we are not writing the main command (open) and\r\n   // there is no szCommand, then delete the node.\r\n   //\r\n   if (i && !pAssociateFileDlgInfo->DDEInfo[i].szCommand[0]) {\r\n      dwError = RegNodeDelete(HKEY_CLASSES_ROOT, szKey);\r\n      return dwError;\r\n   }\r\n\r\n   //\r\n   // Save this point in the string since we will replace\r\n   // open with print.\r\n   //\r\n   iPoint = lstrlen(szKey);\r\n   lstrcat(szKey, szCommand);\r\n\r\n   dwSize = lstrlen(pAssociateFileDlgInfo->DDEInfo[i].szCommand) *\r\n      sizeof(*pAssociateFileDlgInfo->DDEInfo[i].szCommand);\r\n\r\n   dwError = RegSetValue(HKEY_CLASSES_ROOT,\r\n      szKey,\r\n      REG_SZ,\r\n      pAssociateFileDlgInfo->DDEInfo[i].szCommand,\r\n      dwSize);\r\n\r\n   ERRORCHECK;\r\n\r\n   lstrcpy(&szKey[iPoint],szDDEExec);\r\n\r\n   if (!pAssociateFileDlgInfo->DDEInfo[i].bUsesDDE) {\r\n      dwError = RegNodeDelete(HKEY_CLASSES_ROOT, szKey);\r\n      return dwError;\r\n   }\r\n\r\n   DDEREGSET(pAssociateFileDlgInfo->DDEInfo[i].szDDEMesg);\r\n   ERRORCHECK;\r\n\r\n   iPoint = lstrlen(szKey);\r\n   lstrcat(szKey, szApp);\r\n\r\n   DDEREGSET(pAssociateFileDlgInfo->DDEInfo[i].szDDEApp);\r\n   ERRORCHECK;\r\n\r\n   lstrcpy(&szKey[iPoint],szTopic);\r\n\r\n   DDEREGSET(pAssociateFileDlgInfo->DDEInfo[i].szDDETopic);\r\n   ERRORCHECK;\r\n\r\n   lstrcpy(&szKey[iPoint],szIFExec);\r\n\r\n   if (!pAssociateFileDlgInfo->DDEInfo[i].szDDENotRun[0]) {\r\n\r\n      dwError = RegNodeDelete(HKEY_CLASSES_ROOT, szKey);\r\n   } else  {\r\n\r\n      DDEREGSET(pAssociateFileDlgInfo->DDEInfo[i].szDDENotRun);\r\n   }\r\n\r\n   return dwError;\r\n}\r\n\r\n#undef DDEREGSET\r\n#undef ERRORCHECK\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:      ActionUpdate\r\n//\r\n// Synopsis:  Updates screen based on new action\r\n//\r\n// IN hDlg                  HWND  Dlg to modify\r\n// IN pAssociateFileDlgInfo --    Info source\r\n//\r\n//\r\n//\r\n// Return:    VOID\r\n//\r\n// Assumes:\r\n//\r\n// Side effects:\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nActionUpdate(HWND hDlg,\r\n   PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo)\r\n{\r\n    INT i;\r\n\r\n    i = (INT)SendDlgItemMessage(hDlg, IDD_ACTION, CB_GETCURSEL, 0, 0L);\r\n\r\n    //\r\n    // Update out internal variable\r\n    //\r\n    pAssociateFileDlgInfo->iAction = i;\r\n    SetDlgItemText( hDlg,\r\n                    IDD_COMMAND,\r\n                    pAssociateFileDlgInfo->DDEInfo[i].szCommand );\r\n\r\n    DDEUpdate(hDlg, pAssociateFileDlgInfo, i);\r\n}\r\n\r\n\r\nVOID\r\nActionDlgRead(HWND hDlg,\r\n   PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo)\r\n{\r\n   INT iAction = pAssociateFileDlgInfo->iAction;\r\n\r\n   GetDlgItemText(hDlg, IDD_COMMAND,\r\n      pAssociateFileDlgInfo->DDEInfo[iAction].szCommand,\r\n      COUNTOF(pAssociateFileDlgInfo->DDEInfo[iAction].szCommand));\r\n\r\n   DDEDlgRead(hDlg, pAssociateFileDlgInfo, iAction);\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DDEDlgRead\r\n//\r\n// Synopsis: Reads in the dde info from the dialog\r\n//\r\n// IN        hDlg                   HWND\r\n// OUT       pAssociateFileDlgInfo  --    ->DDEInfo[iAction] filled\r\n// INT       iAction                --    Which DDEInfo to fill\r\n//\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:  Dlg is set up\r\n//           Must be called with the IDD_DDE button in the true\r\n//           state (before it is toggled if we want to preserve state.\r\n//\r\n// Effects:  DDEInfo[iAction]\r\n//\r\n// Notes:    If bUsesDDE is off in DDEInfo[iAction], nothing is read\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nVOID\r\nDDEDlgRead(HWND hDlg,\r\n   PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo,\r\n   INT iAction)\r\n{\r\n   if (!pAssociateFileDlgInfo->DDEInfo[iAction].bUsesDDE)\r\n      return;\r\n\r\n   GetDlgItemText(hDlg, IDD_DDEMESG, pAssociateFileDlgInfo->DDEInfo[iAction].szDDEMesg,\r\n      COUNTOF(pAssociateFileDlgInfo->DDEInfo[iAction].szDDEMesg));\r\n\r\n   GetDlgItemText(hDlg, IDD_DDEAPP, pAssociateFileDlgInfo->DDEInfo[iAction].szDDEApp,\r\n      COUNTOF(pAssociateFileDlgInfo->DDEInfo[iAction].szDDEApp));\r\n\r\n   GetDlgItemText(hDlg, IDD_DDENOTRUN, pAssociateFileDlgInfo->DDEInfo[iAction].szDDENotRun,\r\n      COUNTOF(pAssociateFileDlgInfo->DDEInfo[iAction].szDDENotRun));\r\n\r\n   GetDlgItemText(hDlg, IDD_DDETOPIC, pAssociateFileDlgInfo->DDEInfo[iAction].szDDETopic,\r\n      COUNTOF(pAssociateFileDlgInfo->DDEInfo[iAction].szDDETopic));\r\n}\r\n\r\nVOID\r\nDDEUpdate(HWND hDlg,\r\n   PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo,\r\n   INT iAction)\r\n{\r\n   BOOL bEnable;\r\n\r\n   if ( pAssociateFileDlgInfo->DDEInfo[iAction].bUsesDDE ) {\r\n      // Signal on\r\n      bEnable = TRUE;\r\n\r\n      SetDlgItemText(hDlg, IDD_DDEMESG, pAssociateFileDlgInfo->DDEInfo[iAction].szDDEMesg);\r\n      SetDlgItemText(hDlg, IDD_DDEAPP, pAssociateFileDlgInfo->DDEInfo[iAction].szDDEApp);\r\n      SetDlgItemText(hDlg, IDD_DDENOTRUN, pAssociateFileDlgInfo->DDEInfo[iAction].szDDENotRun);\r\n      SetDlgItemText(hDlg, IDD_DDETOPIC, pAssociateFileDlgInfo->DDEInfo[iAction].szDDETopic);\r\n   } else {\r\n      bEnable = FALSE;\r\n\r\n      SetDlgItemText(hDlg, IDD_DDEMESG, szNULL);\r\n      SetDlgItemText(hDlg, IDD_DDEAPP, szNULL);\r\n      SetDlgItemText(hDlg, IDD_DDENOTRUN, szNULL);\r\n      SetDlgItemText(hDlg, IDD_DDETOPIC, szNULL);\r\n   }\r\n\r\n\r\n   SendDlgItemMessage(hDlg, IDD_DDE, BM_SETCHECK, bEnable, 0L);\r\n\r\n   if (!pAssociateFileDlgInfo->bReadOnly) {\r\n      EnableWindow(GetDlgItem(hDlg, IDD_DDEMESG), bEnable);\r\n      EnableWindow(GetDlgItem(hDlg, IDD_DDEAPP), bEnable);\r\n      EnableWindow(GetDlgItem(hDlg, IDD_DDENOTRUN), bEnable);\r\n      EnableWindow(GetDlgItem(hDlg, IDD_DDETOPIC), bEnable);\r\n\r\n      EnableWindow(GetDlgItem(hDlg, IDD_DDEMESGTEXT), bEnable);\r\n      EnableWindow(GetDlgItem(hDlg, IDD_DDEAPPTEXT), bEnable);\r\n      EnableWindow(GetDlgItem(hDlg, IDD_DDENOTRUNTEXT), bEnable);\r\n      EnableWindow(GetDlgItem(hDlg, IDD_DDETOPICTEXT), bEnable);\r\n      EnableWindow(GetDlgItem(hDlg, IDD_DDEOPTIONALTEXT), bEnable);\r\n   }\r\n}\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     FileTypeGrow\r\n//\r\n// Synopsis: Grows the FileType block; initializes it if necessary\r\n//\r\n// INOUT pFileType    --    pFileType to grow (lpszBuf member)\r\n// INC   cchNewSiz    --    requested buffer size (chars)\r\n//\r\n// Return:   BOOL     = TRUE for success\r\n//                    = FALSE for fail:     (FileType fails)\r\n//\r\n// Assumes:\r\n//\r\n// Effects:  pFileType (local)\r\n//           pFileType->lpszBuf   (grown)\r\n//           pFileType->cchBufSiz  (updated)\r\n//\r\n// Notes:    if FileType.cchBufSiz == 0, creates first chunk\r\n//           pFileType->lpszBuf is volatile and may move during growth\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nFileTypeGrow(PFILETYPE pFileType, UINT cchNewSiz)\r\n{\r\n   cchNewSiz = ((cchNewSiz-1)/FILETYPEBLOCK + 1) * FILETYPEBLOCK;\r\n\r\n   //\r\n   // If empty, initialize\r\n   //\r\n   if (!pFileType->cchBufSiz) {\r\n\r\n      pFileType->cchBufSiz = cchNewSiz;\r\n      pFileType->lpszBuf = (LPTSTR) LocalAlloc(LPTR,ByteCountOf(cchNewSiz));\r\n\r\n      if (!pFileType->lpszBuf)\r\n          return FALSE;\r\n\r\n      return TRUE;\r\n   }\r\n\r\n   //\r\n   // Grow the structure\r\n   //\r\n   pFileType->cchBufSiz = cchNewSiz;\r\n   pFileType->lpszBuf = (LPTSTR) LocalReAlloc(pFileType->lpszBuf,\r\n      ByteCountOf(pFileType->cchBufSiz), LMEM_MOVEABLE);\r\n\r\n   if (!pFileType->lpszBuf)\r\n      return FALSE;\r\n\r\n   return TRUE;\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     ExtLinkToFileType\r\n//\r\n// Synopsis: Takes a pExt and fills in the pFileType field to\r\n//           the matching file type (based on pFileTypeBase global)\r\n//\r\n// IN       pExt       PEXT  extension to link up\r\n// INC      lpszIdent  --    filetype ident\r\n//\r\n// Return:  BOOL    = TRUE found one; successful link\r\n//                  = FALSE failed\r\n//\r\n// Assumes: pFileTypeBase set up correctly\r\n//          It REALLY IS linked to lpszIdent in the registry.  Flushed, too.\r\n//\r\n// Effects: pExt->pFileType\r\n//              ->pftNext\r\n//              ->pftOrig\r\n//          pFileType      (only if successfully linked)\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nExtLinkToFileType(PEXT pExt, LPTSTR lpszIdent)\r\n{\r\n    PFILETYPE pftCur;\r\n    PFILETYPE pftNext;\r\n\r\n\r\n    if (CHAR_DOT == lpszIdent[0])\r\n    {\r\n        return (FALSE);\r\n    }\r\n\r\n    // Linear search of pFileTypeBase.\r\n    // Slow, but that's ok.\r\n\r\n    for (pftCur = pFileTypeBase; pftCur; pftCur = pftNext)\r\n    {\r\n        pftNext = pftCur->next;\r\n\r\n        if (!lstrcmpi(pftCur->lpszBuf, lpszIdent))\r\n        {\r\n            //\r\n            // Now link the ext to the pFileType\r\n            //\r\n            ExtLink(pExt, pftCur);\r\n\r\n            //\r\n            // This linkage is already written in the registry\r\n            //\r\n            pExt->pftOrig = pftCur;\r\n\r\n            return (TRUE);\r\n        }\r\n    }\r\n\r\n    pExt->pftNext = NULL;\r\n    pExt->pFileType = NULL;\r\n    pExt->pftOrig = NULL;\r\n\r\n    return (FALSE);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     AssociateFileDlgExtDelete\r\n//\r\n// Synopsis: Deletes an extension to a file type\r\n//\r\n// IN    hDlg                   HWND\r\n// INOUT pAssociateFileDlgInfo  --\r\n//\r\n// Return:   BOOL    TRUE = successful\r\n//\r\n// Assumes:  The extension to be deleted is highlighted in the cb dropdownbox\r\n//           It _must_already_exist_ in the current pFileType!\r\n//\r\n// Effects:  Modifies matching pExt by turning off the deleted ext.\r\n//\r\n//\r\n// Notes:    bDelete is turned on; bAdd is turned off.\r\n//\r\n//           Only the data structures are changed.  The registry\r\n//           is not written here.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nAssociateFileDlgExtDelete(HWND hDlg,\r\n   PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo)\r\n{\r\n    PEXT pExt;\r\n    INT i;\r\n\r\n\r\n    GetDlgItemText(hDlg, IDD_EXT, pAssociateFileDlgInfo->szExt, COUNTOF(pAssociateFileDlgInfo->szExt));\r\n    ExtClean(pAssociateFileDlgInfo->szExt);\r\n\r\n    i = (INT)SendDlgItemMessage( hDlg,\r\n                                 IDD_EXTLIST,\r\n                                 LB_FINDSTRINGEXACT,\r\n                                 (WPARAM)-1,\r\n                                 (LPARAM)&pAssociateFileDlgInfo->szExt[1]);\r\n    if (LB_ERR == i)\r\n    {\r\n        return (FALSE);\r\n    }\r\n\r\n    pExt = (PEXT) SendDlgItemMessage(hDlg, IDD_EXTLIST, LB_GETITEMDATA, (WPARAM)i, 0L);\r\n    pExt->bAdd = FALSE;\r\n    pExt->bDelete = TRUE;\r\n\r\n    SendDlgItemMessage(hDlg, IDD_EXTLIST, LB_DELETESTRING, (WPARAM)i, 0L);\r\n\r\n    return (TRUE);\r\n}\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     AssociateFileDlgExtAdd\r\n//\r\n// Synopsis: Adds an extension to a file type\r\n//\r\n// IN    hDlg                   HWND\r\n// INOUT pAssociateFileDlgInfo  --\r\n//\r\n// Return:   BOOL    TRUE = successful\r\n//\r\n// Assumes:  IDD_EXT cb edit field has a valid extension\r\n//           It _must_not_already_exist_ in the current pFileType!\r\n//\r\n// Effects:  Modifies pExtBase by adding a new ext or reactivating\r\n//           a deleted one.  pFileType also modified.\r\n//\r\n//\r\n// Notes:    If the ext is already used by a different file type,\r\n//           then a confirm overwrite dialog appears\r\n//\r\n//           Only the data structures are changed.  The registry\r\n//           is not written here.\r\n//\r\n// Invariant: pExtBase [->next] links all pExt's in the system, including\r\n//            \"deleted\" ones.  These pExts are ExtFree'd when the registry\r\n//            is written\r\n//\r\n//            pFileType->pExt  [->pftNext] are all the pExt's associated\r\n//            with the file type pFileType\r\n//\r\n//            pExt->pFileType indicates which filetype a pExt is\r\n//            associated with\r\n//\r\n//            A = new, D = delete\r\n//\r\n//            (not modified:) pFileType [->next] are all filetypes,\r\n//            even deleted ones.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nAssociateFileDlgExtAdd(HWND hDlg,\r\n   PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo)\r\n{\r\n   PEXT pExt;\r\n   PFILETYPE pFileType = pAssociateFileDlgInfo->pFileType;\r\n   INT i;\r\n\r\n   // Get text\r\n\r\n   GetDlgItemText(hDlg, IDD_EXT, pAssociateFileDlgInfo->szExt,\r\n      COUNTOF(pAssociateFileDlgInfo->szExt));\r\n\r\n   //\r\n   // Search through the known universe and beyond for intelligent\r\n   // life, or at least a matching extension\r\n   //\r\n   pExt = BaseExtFind(pAssociateFileDlgInfo->szExt);\r\n\r\n   //\r\n   // BaseExtFind does a ExtClean, so don't do it here.\r\n   //\r\n   // ExtClean(pAssociateFileDlgInfo->szExt);\r\n   //\r\n\r\n   if (pExt) {\r\n\r\n      // If not deleted, we need to confirm with the user.\r\n\r\n      if (!pExt->bDelete) {\r\n\r\n         // Oops, already exists, and since we can safely assume\r\n         // That it belongs to some other pFileType, we must ask\r\n         // the user if we really can do this.\r\n\r\n         TCHAR szText[MAXPATHLEN];\r\n         TCHAR szTitle[MAXPATHLEN];\r\n         TCHAR szTemp[MAXPATHLEN];\r\n\r\n         //\r\n         // If it's already associated to something that's\r\n         // NOT deleted, warn the user.\r\n         //\r\n         if (pExt->pFileType) {\r\n\r\n            LoadString(hAppInstance, IDS_ADDEXTTITLE, szTitle, COUNTOF(szTitle));\r\n            LoadString(hAppInstance, IDS_ADDEXTTEXT, szTemp, COUNTOF(szTemp));\r\n\r\n            wsprintf(szText, szTemp,\r\n               pExt->szExt,\r\n               &pExt->pFileType->lpszBuf[pExt->pFileType->uDesc]);\r\n\r\n            if (IDYES != MessageBox(hDlg, szText, szTitle, MB_TASKMODAL|MB_YESNO|MB_ICONEXCLAMATION)) {\r\n               goto Fail;\r\n            }\r\n         } else {\r\n\r\n            // !! LATER  associated with .exe, not friendly !!\r\n         }\r\n      }\r\n\r\n      //\r\n      // Is this extension already associated with a filetype?\r\n      // (Even if this extension was already \"deleted.\")\r\n      //\r\n      if (pExt->pFileType) {\r\n         //\r\n         // split it out\r\n         //\r\n         ExtDelink(pExt);\r\n      }\r\n\r\n      //\r\n      // Relink into pftExt chain\r\n      //\r\n\r\n      ExtLink(pExt, pFileType);\r\n\r\n      pExt->bAdd = TRUE;\r\n      pExt->bDelete = FALSE;\r\n\r\n   } else {\r\n\r\n      // Ok, doesn't exist so let's just throw it in.\r\n      pExt = (PEXT)LocalAlloc (LPTR, sizeof(EXT));\r\n      if (!pExt)\r\n         return FALSE;\r\n\r\n      lstrcpy(pExt->szExt,pAssociateFileDlgInfo->szExt);\r\n\r\n      // Set it's flags\r\n      pExt->bAdd = TRUE;\r\n      pExt->bDelete = FALSE;\r\n\r\n      // Now link it up\r\n      ExtLink(pExt, pFileType);\r\n\r\n      // Since it's new, no original owner\r\n      pExt->pftOrig = NULL;\r\n\r\n      // Now put it in pExtBase\r\n      pExt->next = pExtBase;\r\n      pExtBase = pExt;\r\n   }\r\n\r\n   // Success!  Now add it into the listbox!\r\n\r\n   CharLower(&pExt->szExt[1]);\r\n   i = (INT) SendDlgItemMessage(hDlg,IDD_EXTLIST,\r\n      LB_ADDSTRING,0,(LPARAM)&pExt->szExt[1]);\r\n\r\n   SendDlgItemMessage(hDlg, IDD_EXTLIST, LB_SETITEMDATA, i, (LPARAM)pExt);\r\n\r\n   return TRUE;\r\n\r\nFail:\r\n   return FALSE;\r\n}\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     RegExtAdd\r\n//\r\n// Synopsis: Adds ext to pfiletype in registry and updates\r\n//           IDD_EXT in hDlg\r\n//\r\n// INOUT     hDlg      HWND hDlg of the first dialog\r\n// IN        hk        HKEY HKey to add to\r\n// IN        pExt      --   ext to add to registry\r\n// IN        pFileType --   pFileType to write it to\r\n//\r\n// Return:   DWORD      Error code, ERROR_SUCCESS = no error\r\n//\r\n// Assumes:  RegSetValue can overwrite keys (i.e., preexisting keys)\r\n//           Won't attempt to add to current filetype\r\n//           pExt->pftOrig == pFileType\r\n//\r\n// Effects:  Registry written\r\n//\r\n//\r\n// Notes:    if pExt is NULL, ERROR_SUCCESS is returned\r\n//           does not flushkey\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nDWORD\r\nRegExtAdd(HWND hDlg, HKEY hk, PEXT pExt, PFILETYPE pFileType)\r\n{\r\n    DWORD dwError;\r\n\r\n   \r\n    if (!pExt)\r\n    {\r\n        return (ERROR_SUCCESS);\r\n    }\r\n   \r\n    if (pExt->pftOrig == pFileType)\r\n    {\r\n        pExt->bAdd = FALSE;\r\n        pExt->bDelete = FALSE;\r\n   \r\n        return (ERROR_SUCCESS);\r\n    }\r\n   \r\n    // Now add it to the parent IDD_EXT if not new\r\n   \r\n    dwError = RegExtAddHelper(hk, pExt->szExt, pFileType);\r\n   \r\n    if (ERROR_SUCCESS != dwError)\r\n    {\r\n        return (dwError);\r\n    }\r\n   \r\n    if (!pExt->pftOrig)\r\n    {\r\n        CharLower(&pExt->szExt[1]);\r\n        SendDlgItemMessage( hDlg,\r\n                            IDD_EXT,\r\n                            CB_ADDSTRING,\r\n                            0,\r\n                            (LPARAM) &pExt->szExt[1] );\r\n    }\r\n   \r\n    //\r\n    // Now we set this because it is written in the registry.\r\n    // Note that above we didn't write if this was set correctly.\r\n    //\r\n    pExt->pftOrig = pFileType;\r\n\r\n    pExt->bAdd = FALSE;\r\n    pExt->bDelete = FALSE;\r\n   \r\n    return (dwError);\r\n}\r\n\r\nDWORD\r\nRegExtAddHelper(HKEY hk, LPTSTR lpszExt, PFILETYPE pFileType)\r\n{\r\n   return ( (DWORD) RegSetValue( hk,\r\n                                 lpszExt,\r\n                                 REG_SZ,\r\n                                 pFileType->lpszBuf,\r\n                                 pFileType->uDesc + 1 ) );\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     RegExtDelete\r\n//\r\n// Synopsis: Delete Ext from registry and from IDD_EXT\r\n//\r\n// INOUT     hDlg   HWND hDlg of the first associate dlg\r\n// IN        hk     HKEY HKey to use\r\n// IN        pExt   --   Ext to delete\r\n//\r\n// Return:   DWORD    error code (ERROR_SUCCESS = ok)\r\n//\r\n//\r\n// Assumes:  pExt->bDelete is set and therefore be safely deleted\r\n//           from existence\r\n//\r\n// Effects:  Updates the pExtBase to a stable state.\r\n//           pExt is either deleted from the backbone or changed to mach ext\r\n//\r\n// Notes:    if pExt is NULL, ERROR_SUCCESS is returned\r\n//           pExt->szExt may point to something else in the registry\r\n//           does not flushkey\r\n//\r\n//           Callee can safely call this during a traversal, of either\r\n//           the backbone or pExt->pftNext since ExtLink PREPENDS.\r\n//\r\n//           !! Does not update pExt->szIdent !!\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nDWORD\r\nRegExtDelete(HWND hDlg, HKEY hk, PEXT pExt)\r\n{\r\n    DWORD dwError;\r\n    INT i;\r\n    PEXT pExt2;\r\n\r\n\r\n    if (!pExt)\r\n    {\r\n        return (ERROR_SUCCESS);\r\n    }\r\n   \r\n    //\r\n    // Axe it in winini\r\n    //\r\n    WriteProfileString(szExtensions, pExt->szExt + 1, NULL);\r\n   \r\n    if (!pExt->pftOrig)\r\n    {\r\n        //\r\n        // Doesn't exist in registry\r\n        //\r\n        return (ERROR_SUCCESS);\r\n    }\r\n   \r\n    dwError = RegNodeDelete(hk, pExt->szExt);\r\n   \r\n    if (ERROR_SUCCESS == dwError)\r\n    {\r\n        i = (INT)SendDlgItemMessage( hDlg,\r\n                                     IDD_EXT,\r\n                                     CB_FINDSTRINGEXACT,\r\n                                     (WPARAM)-1,\r\n                                     (LPARAM)&pExt->szExt[1] );\r\n        if (CB_ERR != i)\r\n        {\r\n            SendDlgItemMessage(hDlg, IDD_EXT, CB_DELETESTRING, i, 0L);\r\n        }\r\n       \r\n        //\r\n        // No longer associated with a filetype\r\n        //\r\n        ExtDelink(pExt);\r\n\r\n        //\r\n        // Remove from backbone\r\n        //\r\n        if (pExt == pExtBase)\r\n        {\r\n            pExtBase = pExt->next;\r\n        }\r\n        else\r\n        {\r\n            pExt2 = pExtBase;\r\n            while (pExt2->next != pExt)\r\n            {\r\n                pExt2 = pExt2->next;\r\n            }\r\n            pExt2->next = pExt->next;\r\n        }\r\n\r\n        ExtFree(pExt);\r\n    }\r\n   \r\n    return (dwError);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     RegNodeDelete\r\n//\r\n// Synopsis: Deletes a node and its keys/values, etc\r\n//\r\n// IN        hk        HKEY    reg key to use  (open or HKEY_*)\r\n// IN        lpszKey   LPTSTR   subkeynode to delete\r\n//\r\n// Return:   DWORD      Error code, ERROR_SUCCESS = OK.\r\n//\r\n// Assumes:\r\n//\r\n// Effects:  Registry filetype is deleted\r\n//\r\n// Notes:    does not flushkey\r\n//\r\n// !! BUGBUG !!\r\n// This code violates the RegEnumKey edict (api32wh.hlp) that no one\r\n// should change the database while enumerating.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nDWORD\r\nRegNodeDelete(HKEY hk, LPTSTR lpszKey)\r\n{\r\n    HKEY hkNode;\r\n    DWORD dwError;\r\n    TCHAR szKey[MAXPATHLEN];\r\n   \r\n   \r\n    dwError = RegOpenKey(hk, lpszKey, &hkNode);\r\n   \r\n    if (ERROR_SUCCESS != dwError)\r\n    {\r\n        if (ERROR_FILE_NOT_FOUND == dwError)\r\n        {\r\n            dwError = ERROR_SUCCESS;\r\n        }\r\n   \r\n        return (dwError);\r\n    }\r\n   \r\n    // RegEnum key and recurse...\r\n   \r\n    while (TRUE)\r\n    {\r\n        dwError = RegEnumKey(hkNode, 0, szKey, COUNTOF(szKey));\r\n        if (dwError)\r\n        {\r\n            break;\r\n        }\r\n   \r\n        dwError = RegNodeDelete(hkNode, szKey);\r\n        if (dwError)\r\n        {\r\n            break;\r\n        }\r\n    }\r\n   \r\n    RegCloseKey(hkNode);\r\n   \r\n    if (ERROR_NO_MORE_ITEMS != dwError)\r\n    {\r\n        return (dwError);\r\n    }\r\n   \r\n    return ( RegDeleteKey(hk, lpszKey) );\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     BaseExtFind\r\n//\r\n// Synopsis: Finds a string lpExt in pExtBase\r\n//\r\n// IN     lpszExt LPTSTR  extension string to look for\r\n//                        may have a dot or not.\r\n//\r\n//                        lstrlen(lpszExt) <= EXTSIZ+1\r\n//\r\n// Return:   PEXT         NULL = none found\r\n//\r\n//\r\n// Assumes:  pExtBase set up\r\n//\r\n// Effects:  lpszExt is cleaned up\r\n//\r\n// Notes:    pExt is returned, even if it is marked deleted\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nPEXT\r\nBaseExtFind(LPTSTR lpszExt)\r\n{\r\n    PEXT pExt;\r\n    PEXT pExtNext;\r\n\r\n\r\n    // Clean up lpszExt\r\n    ExtClean(lpszExt);\r\n\r\n    for (pExt = pExtBase; pExt; pExt = pExtNext)\r\n    {\r\n        pExtNext = pExt->next;\r\n\r\n        if (!lstrcmpi(pExt->szExt, lpszExt))\r\n        {\r\n            return (pExt);\r\n        }\r\n    }\r\n\r\n    return (NULL);\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     FileAssociateErrorCheck\r\n//\r\n// Synopsis: Checks for error and prints one if it exists\r\n//\r\n// IN    hwnd       --    HWND to own dialog\r\n// IN    idsTitle   --    IDS_ string for title\r\n// IN    idsText    --    IDS_ string for text (operation)\r\n//                        If 0L, none used (Not NULL!)\r\n// IN    dwError    --    Error code\r\n//\r\n// Return:   VOID\r\n//\r\n// Assumes:\r\n//\r\n// Effects:  Puts up error dialog with exclmtn & OK button\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nFileAssociateErrorCheck(HWND hwnd,\r\n   UINT idsTitle,\r\n   UINT idsText,\r\n   DWORD dwError)\r\n{\r\n    WCHAR szTitle[MAXTITLELEN];\r\n    WCHAR szText[MAXMESSAGELEN];\r\n    BOOL bNullString = TRUE;\r\n   \r\n\r\n    if (ERROR_SUCCESS == dwError)\r\n    {\r\n       return;\r\n    }\r\n   \r\n    LoadString(hAppInstance, idsTitle, szTitle, COUNTOF(szTitle));\r\n   \r\n    if (idsText)\r\n    {\r\n        if (LoadString(hAppInstance, idsText, szText, COUNTOF(szText)))\r\n        {\r\n            bNullString = FALSE;\r\n        }\r\n    }\r\n   \r\n    FormatError(bNullString, szText, COUNTOF(szText), dwError);\r\n    MessageBox(hwnd, szText, szTitle, MB_OK | MB_ICONSTOP);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     AssociateDlgInit\r\n//\r\n// Synopsis: Sets up the IDD_CLASSLIST and IDD_EXT list/combo\r\n//           boxes and pExtBaseN, pFileTypeBase.\r\n//\r\n// IN        hDlg     HWND\r\n// IN        lpszExt  LPTSTR   Extension edit control is set to this\r\n//                             If NULL, not set\r\n// IN        iSel     INT      Selection # to select in ClassList\r\n//                             = -1 Do UpdateSelectionExt\r\n//                             > # in listbox selects 0 index\r\n//\r\n// Return:   BOOL     TRUE = success\r\n//\r\n//\r\n// Assumes:  hDlg points to AssociateFileDlg\r\n//\r\n// Effects:  pExtBase, pFileTypeBase, ClassList and ext boxes\r\n//           szNone initialized.\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nAssociateDlgInit(HWND hDlg, LPTSTR lpszExt, INT iSel)\r\n{\r\n   INT iItem;\r\n   PEXT pExtBuf;\r\n   PEXT pExtNext;\r\n   PFILETYPE pFileType;\r\n   INT iNum;\r\n\r\n   LoadString(hAppInstance, IDS_ASSOCNONE, szNone, COUNTOF(szNone));\r\n\r\n   // Read in the database\r\n\r\n   if (!RegLoad()) {\r\n      FileAssociateErrorCheck(hwndFrame, IDS_EXTTITLE, 0L,GetLastError());\r\n\r\n      RegUnload();\r\n      return FALSE;\r\n   }\r\n\r\n   //\r\n   // Eliminate messy flicker\r\n   //\r\n   SendDlgItemMessage(hDlg, IDD_CLASSLIST, WM_SETREDRAW, FALSE, 0L);\r\n\r\n   // Clear the boxes\r\n   SendDlgItemMessage(hDlg, IDD_CLASSLIST, LB_RESETCONTENT, 0, 0L);\r\n   SendDlgItemMessage(hDlg, IDD_EXT, CB_RESETCONTENT, 0, 0L);\r\n\r\n   if (lpszExt) {\r\n      ExtClean(lpszExt);\r\n      SetDlgItemText(hDlg, IDD_EXT, lpszExt+1);\r\n   }\r\n\r\n   // Add all extensions into dropdown cb\r\n   for (pExtBuf = pExtBase; pExtBuf; pExtBuf = pExtNext)\r\n   {\r\n      pExtNext = pExtBuf->next;\r\n\r\n      // Only if not deleted\r\n\r\n      if (!pExtBuf->bDelete)\r\n      {\r\n         CharLower(&pExtBuf->szExt[1]);\r\n         iItem = (INT) SendDlgItemMessage(hDlg,IDD_EXT,\r\n            CB_ADDSTRING,0,(LPARAM)&pExtBuf->szExt[1]);\r\n      }\r\n   }\r\n\r\n   // Put in the entries in the listbox\r\n\r\n   for (iNum = 0,pFileType=pFileTypeBase;\r\n        pFileType;\r\n        pFileType=pFileType->next, iNum++)\r\n   {\r\n      ClassListFileTypeAdd(hDlg, pFileType);\r\n   }\r\n\r\n   // Add the (None) entry at the beginning.\r\n   SendDlgItemMessage(hDlg,IDD_CLASSLIST, LB_INSERTSTRING,0,(LPARAM)szNone);\r\n\r\n   if (-1 == iSel) {\r\n      UpdateSelectionExt(hDlg, FALSE);\r\n   } else {\r\n      SendDlgItemMessage(hDlg, IDD_CLASSLIST, LB_SETCURSEL,\r\n         (iSel <= iNum) ? iSel: 0, 0L);\r\n   }\r\n\r\n   //\r\n   // Eliminate messy flicker; now redraw\r\n   //\r\n   SendDlgItemMessage(hDlg, IDD_CLASSLIST, WM_SETREDRAW, TRUE, 0L);\r\n   InvalidateRect(GetDlgItem(hDlg, IDD_CLASSLIST), NULL, TRUE);\r\n\r\n   UpdateWindow(GetDlgItem(hDlg, IDD_CLASSLIST));\r\n\r\n   return TRUE;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     ExtClean\r\n//\r\n// Synopsis: Cleans up ext by truncating trailing spaces and\r\n//           prepending '.' if necessary.\r\n//\r\n// INOUT     lpszExt    --  extension to clean\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:  lpszExt is a valid ext with enough space\r\n//\r\n// Effects:  lpszExt is turned into a dotted extension\r\n//\r\n// Notes:    \".\" is not a valid extension and will be transmuted\r\n//           into \"\".\r\n//\r\n//           When \"\" is returned, two 0Ls are actually returned\r\n//           so that &lpszExt[1] is also \"\".\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nExtClean(LPTSTR lpszExt)\r\n{\r\n    LPTSTR p;\r\n    TCHAR szExt[EXTSIZ + 1];\r\n\r\n\r\n    // Kill off trailing spaces\r\n    for (p = &lpszExt[lstrlen(lpszExt)-1]; lpszExt<=p && CHAR_SPACE == *p; p--)\r\n        ;\r\n\r\n    *(++p) = CHAR_NULL;\r\n\r\n    // Kill off leading '.'\r\n    for (p = lpszExt; *p && CHAR_DOT == *p; p++)\r\n        ;\r\n\r\n    // If NULL then zero and exit.\r\n    if (!*p)\r\n    {\r\n        lpszExt[0] = CHAR_NULL;\r\n        lpszExt[1] = CHAR_NULL;\r\n        return;\r\n    }\r\n\r\n    szExt[0]=CHAR_DOT;\r\n\r\n    lstrcpy(&szExt[1], p);\r\n    lstrcpy(lpszExt, szExt);\r\n\r\n    return;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     AssociateFileWrite\r\n//\r\n// Synopsis: Writes out everything from the AssociateFileDlg\r\n//           and adds new filetypes to pFileType data structure.\r\n//\r\n// IN        hDlg                   HWND FileDlgInfo window\r\n// INOUT     pAssociateFileDlgInfo  --   data to write out\r\n//\r\n// Return:   DWORD error code\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:  Registry and pFileType\r\n//\r\n//           Except when DE_RETRY is returned, pAssociateFileDlgInfo.bRefresh\r\n//           is set to true.  (Even in error, since we don't know how far\r\n//           we got.)\r\n//\r\n//           In all other error cases, handles error message box.\r\n//\r\n// Notes:    If Adding (IDD_NEW) then pFileTypeBase is prepended\r\n//           with the new item for AssociateDlgProc to LB_ADDSTRING\r\n//           Flushes key\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nDWORD\r\nAssociateFileWrite(HWND hDlg, PASSOCIATEFILEDLGINFO pAssociateFileDlgInfo)\r\n{\r\n    PEXT pExt;\r\n    PEXT pExtNext;\r\n    DWORD dwError;\r\n    DWORD dwLastError;\r\n\r\n\r\n    dwError = FileTypeWrite( hDlg,\r\n                             pAssociateFileDlgInfo,\r\n                             HKEY_CLASSES_ROOT,\r\n                             szNULL );\r\n    if (DE_RETRY == dwError)\r\n    {\r\n        return (DE_RETRY);\r\n    }\r\n\r\n    FileAssociateErrorCheck( hDlg,\r\n                             IDS_EXTTITLE,\r\n                             IDS_FILETYPEADDERROR,\r\n                             dwError );\r\n    dwLastError = dwError;\r\n\r\n    //\r\n    // Traverse through pFileType and update everything\r\n    //\r\n    for (pExt = pExtBase; pExt; pExt = pExtNext)\r\n    {\r\n        pExtNext = pExt->next;\r\n\r\n        if (pExt->bAdd)\r\n        {\r\n            //\r\n            // !! LATER !!\r\n            // Handle dwError better... What is the status of the\r\n            // pExt backbone and bAdd/bDelete?\r\n            //\r\n            dwError = RegExtAdd( pAssociateFileDlgInfo->hDlg,\r\n                                 HKEY_CLASSES_ROOT,\r\n                                 pExt,\r\n                                 pExt->pFileType );\r\n\r\n            FileAssociateErrorCheck( hDlg,\r\n                                     IDS_EXTTITLE,\r\n                                     IDS_EXTADDERROR,\r\n                                     dwError );\r\n\r\n            if (dwError)\r\n                dwLastError = dwError;\r\n\r\n            //\r\n            // Assume we hit something in the registry!\r\n            //\r\n            pAssociateFileDlgInfo->bRefresh = TRUE;\r\n        }\r\n        else if (pExt->bDelete)\r\n        {\r\n            dwError = RegExtDelete( pAssociateFileDlgInfo->hDlg,\r\n                                    HKEY_CLASSES_ROOT,\r\n                                    pExt );\r\n\r\n            FileAssociateErrorCheck( hDlg,\r\n                                     IDS_EXTTITLE,\r\n                                     IDS_EXTDELERROR,\r\n                                     dwError );\r\n\r\n            if (dwError)\r\n                dwLastError = dwError;\r\n\r\n            //\r\n            // Assume we hit something in the registry!\r\n            //\r\n            pAssociateFileDlgInfo->bRefresh = TRUE;\r\n        }\r\n    }\r\n\r\n    RegFlushKey(HKEY_CLASSES_ROOT);\r\n\r\n    return (dwLastError);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     ClassListFileTypeAdd\r\n//\r\n// Synopsis: Adds a pFileType to the IDD_CLASSLIST\r\n//\r\n// INOUT     hDlg        HWND     hWnd to modify\r\n// IN        pFileType   --       item to add\r\n//\r\n// Return:   INT    Index of stored item.\r\n//                  -1 = error\r\n//\r\n// Assumes:  IDD_CLASSLIST valid in hDlg, pFileType setup\r\n//           Relies on the strict ordering of pFileType->lpszBuf\r\n//\r\n// Effects:  Listbox IDD_CLASSLIST\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nINT\r\nClassListFileTypeAdd(HWND hDlg, PFILETYPE pFileType)\r\n{\r\n    PTCHAR p;\r\n    INT iItem;\r\n    TCHAR c, c2;\r\n    BOOL bInQuotes;\r\n\r\n\r\n    p = &pFileType->lpszBuf[pFileType->uExe];\r\n\r\n    //\r\n    // add closing paren\r\n    //\r\n    for (iItem = 0, bInQuotes = FALSE; *p; p++, iItem++)\r\n    {\r\n        if (CHAR_SPACE == *p && !bInQuotes)\r\n        {\r\n            break;\r\n        }\r\n \r\n        if (CHAR_DQUOTE == *p)\r\n        {\r\n            bInQuotes = !bInQuotes;\r\n        }\r\n    }\r\n\r\n    c = *p;\r\n    c2 = *(p+1);\r\n\r\n    *p = CHAR_CLOSEPAREN;\r\n    *(p+1) = CHAR_NULL;\r\n\r\n    pFileType->uExeSpace = iItem+pFileType->uExe;\r\n\r\n    //\r\n    // Remove null and add space\r\n    //\r\n    pFileType->lpszBuf[pFileType->uExe-2] = CHAR_SPACE;\r\n\r\n    iItem = (INT)SendDlgItemMessage( hDlg,\r\n                                     IDD_CLASSLIST,\r\n                                     LB_ADDSTRING,\r\n                                     0,\r\n                                     (LPARAM)&pFileType->lpszBuf[pFileType->uDesc] );\r\n\r\n    //\r\n    // Restore paren to previous\r\n    //\r\n    *p = c;\r\n    *(p + 1) = c2;\r\n\r\n    pFileType->lpszBuf[pFileType->uExe - 2] = CHAR_NULL;\r\n\r\n    SendDlgItemMessage( hDlg,\r\n                        IDD_CLASSLIST,\r\n                        LB_SETITEMDATA,\r\n                        iItem,\r\n                        (LPARAM) pFileType );\r\n\r\n    return (iItem);\r\n}\r\n\r\n\r\nVOID\r\nFileTypeFree(PFILETYPE pFileType)\r\n{\r\n    if (pFileType->lpszBuf)\r\n    {\r\n        LocalFree(pFileType->lpszBuf);\r\n    }\r\n    LocalFree(pFileType);\r\n}\r\n\r\n\r\nVOID\r\nExtFree(PEXT pExt)\r\n{\r\n    LocalFree(pExt);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     FileTypeAddString\r\n//\r\n// Synopsis: Adds a string to pFileType\r\n//\r\n// IN    pFileType   --     pFileType to modify\r\n// IN    LPTSTR       --     string to add\r\n// INOUT pcchOffset  PDWORD point to Offset to add to lpszBuf\r\n//\r\n//\r\n// Return:   DWORD      Error code\r\n//           pcchOffset Holds slot for next string\r\n//\r\n// Assumes:\r\n//\r\n// Effects:  pFileType->lpszBuf grown if nec, string added\r\n//           pcchOffset holds next free location\r\n//           (one PAST the written '\\0')\r\n//\r\n// Notes:    One character past the current string is guaranteed to\r\n//           be usable (i.e. lstrcat(pFileType->xxx, \" \")) is ok.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nDWORD\r\nFileTypeAddString(PFILETYPE pFileType, LPTSTR lpstr, PUINT pcchOffset)\r\n{\r\n    INT dwSize;\r\n    INT dwLen;\r\n   \r\n\r\n    dwLen = lstrlen(lpstr) + 1;\r\n    dwSize = pFileType->cchBufSiz - *pcchOffset;\r\n   \r\n    if (dwSize <= dwLen)\r\n    {\r\n        if (!FileTypeGrow(pFileType, pFileType->cchBufSiz + dwLen))\r\n        {\r\n            return ( GetLastError() );\r\n        }\r\n   \r\n        dwSize = pFileType->cchBufSiz - *pcchOffset;\r\n    }\r\n   \r\n    lstrcpy(&pFileType->lpszBuf[*pcchOffset], lpstr);\r\n   \r\n    *pcchOffset += dwLen;\r\n   \r\n    return (ERROR_SUCCESS);\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     ExtDupCheck\r\n//\r\n// Synopsis: Check for duplicate extensions\r\n//\r\n// INC       lpszExt   --  Extension to check\r\n// INC       pExt      --  place to start\r\n//\r\n// Return:   BOOL      TRUE = dup\r\n//                     FALSE = no dup\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nExtDupCheck(LPTSTR lpszExt, PEXT pExt)\r\n{\r\n    for (; pExt; pExt = pExt->next)\r\n    {\r\n        if (!lstrcmpi(lpszExt, pExt->szExt))\r\n        {\r\n            return TRUE;\r\n        }\r\n    }\r\n\r\n    return (FALSE);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     FileTypeDupIdentCheck\r\n//\r\n// Synopsis: Ensures an identifier is unique and legal\r\n//\r\n// IN     hDlg        --   Parent window for dialogs\r\n// IN     uIDD_FOCUS  UINT Control to set focus to on retry\r\n// INOUT  lpszIdent   --   Identifier to check.\r\n//\r\n//\r\n// Return:   BOOL  TRUE  = unique\r\n//                 FALSE = error displayed, focus set, try again.\r\n//\r\n// Assumes:  pFileTypeBase set up\r\n//           lpszIdent has szFileManPrefix already\r\n//\r\n// Effects:  lpszIdent is modified:\r\n//           # if szFileManPrefix incremented\r\n//           BackSlashes are changed to colons\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nFileTypeDupIdentCheck(HWND hDlg, UINT uIDD_FOCUS, LPTSTR lpszIdent)\r\n{\r\n   PFILETYPE pft2;\r\n   PFILETYPE pft2Next;\r\n   BOOL bDup;\r\n\r\n   INT iCount = 1;\r\n   PTCHAR p;\r\n\r\n   //\r\n   // First remove all illegal backslashes\r\n   //\r\n   for (p=lpszIdent; *p; p++) {\r\n      if (CHAR_BACKSLASH == *p) {\r\n         *p = CHAR_COLON;\r\n      }\r\n   }\r\n\r\n   do {\r\n      bDup = FALSE;\r\n\r\n      for (pft2 = pFileTypeBase; pft2; pft2 = pft2Next)\r\n      {\r\n         pft2Next = pft2->next;\r\n\r\n         if (!lstrcmpi(pft2->lpszBuf,lpszIdent))\r\n         {\r\n            //\r\n            // Recreate new FileType\r\n            // But if > 0xfff, we're dead.\r\n            //\r\n\r\n            if ( iCount > MAX_PREFIX )\r\n            {\r\n               MyMessageBox(hDlg, IDS_EXTTITLE, IDS_FILETYPEDUPDESCERROR,\r\n                  MB_TASKMODAL|MB_OK|MB_ICONEXCLAMATION);\r\n\r\n               // Set focus to IDD_DESC\r\n               SetFocus(GetDlgItem(hDlg, uIDD_FOCUS));\r\n\r\n               return TRUE;\r\n            }\r\n            else\r\n            {\r\n               wsprintf(szFileManPrefix, szFileManPrefixGen, iCount++);\r\n\r\n               //\r\n               // Copy the new number over;\r\n               // Don't copy over the null terminator\r\n               //\r\n               StrNCpy(lpszIdent, szFileManPrefix, COUNTOF(szFileManPrefix) -1);\r\n\r\n               //\r\n               // Set flag to recheck\r\n               //\r\n               bDup = TRUE;\r\n\r\n               break;\r\n            }\r\n         }\r\n      }\r\n   } while (bDup);\r\n\r\n   return FALSE;\r\n}\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     CommandWrite\r\n//\r\n// Synopsis: Writes out command when user creates assoc from 1st dlg\r\n//\r\n// IN   hDlg         --  Parent window for dialogs\r\n// IN   lpszExt      --  extension to create\r\n// IN   lpszCommand  --  Command.exe to associate with\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:  lpszCommand can grow at least 6 characters\r\n//\r\n// Effects:  Creates registry entries for new file type and extension\r\n//\r\n//\r\n// Notes:    Registry won't be written correctly unless the lstrlen\r\n//           of lpszCommand < cchCommand - \".exe %1\" since we may\r\n//           need to append this.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nDWORD\r\nCommandWrite(HWND hDlg, LPTSTR lpszExt, LPTSTR lpszCommand)\r\n{\r\n   TCHAR szIdentBuf[DESCSIZ+COUNTOF(szFileManPrefix)+COUNTOF(szShellOpenCommand)];\r\n   DWORD dwError;\r\n   UINT i;\r\n   DWORD cbData;\r\n   LPTSTR p, lpszIdent;\r\n\r\n   TCHAR szCommand[COMMANDSIZ];\r\n\r\n   lstrcpy(szIdentBuf, szFileManPrefix);\r\n\r\n   lstrcat(szIdentBuf, lpszCommand);\r\n\r\n   //\r\n   // Clean up ident\r\n   //\r\n   for(lpszIdent = szIdentBuf+lstrlen(szIdentBuf); lpszIdent != szIdentBuf;\r\n      lpszIdent--) {\r\n\r\n      if (CHAR_COLON == *lpszIdent || CHAR_BACKSLASH == *lpszIdent) {\r\n         lpszIdent++;\r\n         break;\r\n      }\r\n   }\r\n\r\n   p = StrChrQuote(lpszIdent, CHAR_SPACE);\r\n   if (p) {\r\n      *p = CHAR_NULL;\r\n   }\r\n\r\n   //\r\n   // Write out \\x\\shell\\open\\command\r\n   //\r\n   if (FileTypeDupIdentCheck(hDlg, IDD_COMMAND, lpszIdent)) {\r\n      dwError = DE_RETRY;\r\n      goto Error;\r\n   }\r\n\r\n   i = lstrlen(lpszIdent);\r\n   lstrcat(lpszIdent, szShellOpenCommand);\r\n\r\n   //\r\n   // Beautify lpszCommand:  Add %1 if there isn't one,\r\n   // add .exe if that's missing too.\r\n   // Assumes space at end!\r\n   //\r\n\r\n   if (!*GetExtension(lpszCommand)) {\r\n\r\n      //\r\n      // Be careful adding .exe to {c:\\<directory>\\<file> -p}\r\n      //\r\n\r\n      p = StrChrQuote(lpszCommand, CHAR_SPACE);\r\n\r\n      if (p) {\r\n\r\n         *p = CHAR_NULL;\r\n\r\n         lstrcpy(szCommand, lpszCommand);\r\n         lstrcat(szCommand, szDotEXE);\r\n\r\n         *p = CHAR_SPACE;\r\n         lstrcat(szCommand, p);\r\n\r\n         lpszCommand = szCommand;\r\n\r\n      } else {\r\n\r\n         lstrcat(lpszCommand, szDotEXE);\r\n      }\r\n   }\r\n\r\n   lstrcat(lpszCommand, szSpacePercentOne);\r\n\r\n   cbData = ByteCountOf(lstrlen(lpszCommand));\r\n\r\n   dwError = RegSetValue(HKEY_CLASSES_ROOT,\r\n      lpszIdent,\r\n      REG_SZ,\r\n      lpszCommand,\r\n      cbData);\r\n\r\n   if (dwError)\r\n      goto Error;\r\n\r\n   p = GenerateFriendlyName(lpszCommand);\r\n\r\n   cbData = ByteCountOf(lstrlen(p));\r\n\r\n   lpszIdent[i] = CHAR_NULL;\r\n   dwError = RegSetValue(HKEY_CLASSES_ROOT,\r\n      lpszIdent,\r\n      REG_SZ,\r\n      p,\r\n      cbData);\r\n\r\n   if (dwError)\r\n      goto Error;\r\n\r\n   //\r\n   // Now write extension\r\n   //\r\n\r\n   dwError = RegSetValue(HKEY_CLASSES_ROOT,\r\n      lpszExt,\r\n      REG_SZ,\r\n      lpszIdent,\r\n      ByteCountOf(lstrlen(lpszIdent)));\r\n\r\nError:\r\n\r\n   if (dwError && DE_RETRY != dwError) {\r\n\r\n      FileAssociateErrorCheck(hDlg, IDS_EXTTITLE, 0L, dwError);\r\n   }\r\n   return dwError;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     ExtDelink\r\n//\r\n// Synopsis: Takes a pExt out of the pExt->pftNext chain\r\n//\r\n// INC       pExt  --  Ext to delink\r\n//\r\n// Return:   VOID\r\n//\r\n// Assumes:  Stable data structure\r\n//\r\n// Effects:  pExtBase structure\r\n//\r\n//\r\n// Notes:    Does not free pExt or modify pExt at all\r\n//           Does not remove pExt from pExtBase backbone.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nExtDelink(PEXT pExt)\r\n{\r\n    PEXT pExt2;\r\n\r\n\r\n    /*\r\n     *  Update old pFileType->pExt if the one we are deleting\r\n     *  happens to be the first one.\r\n     */\r\n    if (pExt->pFileType->pExt == pExt) \r\n    {\r\n        pExt->pFileType->pExt = pExt->pftNext;\r\n    }\r\n    else\r\n    {\r\n        /*\r\n         *  Not first pftExt so relink the previous one to\r\n         *  the one following the current one.\r\n         */\r\n        pExt2 = pExt->pFileType->pExt;\r\n        while (pExt2->pftNext != pExt)\r\n        {\r\n             pExt2 = pExt2->pftNext;\r\n        }\r\n\r\n        pExt2->pftNext = pExt->pftNext;\r\n    }\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     ExtLink\r\n//\r\n// Synopsis: Links pExt to pFileType by PREPENDING\r\n//\r\n// INOUT     pExt      --  object to insert\r\n// INOUT     pFileType --  associated filetype\r\n//\r\n// Return:   VOID\r\n//\r\n// Assumes:\r\n//\r\n// Effects:  pExt->pFileType\r\n//           pExt->pftNext\r\n//           pFileType->pExt chain [->pftNext]\r\n//\r\n//\r\n// Notes:    Does not modify pExt->pftOrig\r\n//           or pExt->{bAdd,bDelete,bMach,bHider} fields\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nExtLink(PEXT pExt, PFILETYPE pFileType)\r\n{\r\n    pExt->pFileType = pFileType;\r\n\r\n    pExt->pftNext = pFileType->pExt;\r\n    pFileType->pExt = pExt;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     StrChrQuote\r\n//\r\n// Synopsis: Find given character in given string that isn't\r\n//           contained in quotes.\r\n//\r\n// IN        lpszString - pointer to string\r\n//           c          - character to find\r\n//\r\n// Return:   LPTSTR  Pointer to given character if found;\r\n//                   otherwise NULL\r\n//\r\n// Assumes:\r\n//\r\n// Effects:  \r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nLPTSTR\r\nStrChrQuote(LPTSTR lpszString, TCHAR c)\r\n{\r\n    BOOL bInQuotes = FALSE;\r\n\r\n\r\n    while (*lpszString)\r\n    {\r\n        if (*lpszString == c && !bInQuotes)\r\n        {\r\n            return (lpszString);\r\n        }\r\n\r\n        if (CHAR_DQUOTE == *lpszString)\r\n        {\r\n            bInQuotes = !bInQuotes;\r\n        }\r\n\r\n        lpszString++;\r\n    }\r\n\r\n    return (NULL);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     GenerateFriendlyName\r\n//\r\n// Synopsis: Generates friendly name based on command\r\n//\r\n// IN        -- lpszCommand\r\n//\r\n//\r\n//\r\n//\r\n// Return:   LPTSTR  Pointer to friendly part\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:  Trashes lpszCommand\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nLPTSTR\r\nGenerateFriendlyName(LPTSTR lpszCommand)\r\n{\r\n    LPTSTR p, p2;\r\n\r\n\r\n    /*\r\n     *  Tighten up the friendly name by stripping down lpszCommand.\r\n     *  Take last file spec and eliminate ext.\r\n     */\r\n    for (p = lpszCommand + lstrlen(lpszCommand); p != lpszCommand; p--)\r\n    {\r\n        if (CHAR_COLON == *p || CHAR_BACKSLASH == *p)\r\n        {\r\n            p++;\r\n            break;\r\n        }\r\n    }\r\n\r\n    p2 = p;\r\n    while ( (*p2) &&\r\n            (CHAR_DOT != *p2) &&\r\n            (CHAR_SPACE != *p2) &&\r\n            (CHAR_DQUOTE != *p2) )\r\n    {\r\n        p2++;\r\n    }\r\n\r\n    *p2 = CHAR_NULL;\r\n\r\n    return (p);\r\n}\r\n\r\n"
  },
  {
    "path": "src/wfchgnot.c",
    "content": "/********************************************************************\r\n\r\n   wfchgnot.c\r\n\r\n   WinFile Change Notify module.\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n\r\n//\r\n// Forward Declarations\r\n//\r\nVOID NotifyReset();\r\nVOID NotifyDeleteHandle(INT i);\r\nVOID NotifyAddHandle(INT i, HWND hwnd, LPTSTR lpPath, DWORD dwFilter);\r\n\r\n//\r\n// Maximum number of windows that are viewable\r\n// at once.\r\n//\r\nHWND   ahwndWindows[MAX_WINDOWS];\r\nDRIVE  adrive[MAX_WINDOWS];\r\nHANDLE ahEvents[MAX_WINDOWS];\r\nINT    nHandles;\r\n\r\n#define bNOTIFYACTIVE uChangeNotifyTime\r\n\r\n\r\nVOID\r\nvWaitMessage()\r\n{\r\n   DWORD dwEvent;\r\n\r\n   dwEvent = MsgWaitForMultipleObjects(nHandles,\r\n                                       ahEvents,\r\n                                       FALSE,\r\n                                       INFINITE,\r\n                                       QS_ALLINPUT);\r\n\r\n   if (dwEvent != (DWORD) (WAIT_OBJECT_0 + nHandles)) {\r\n\r\n      if (dwEvent == (DWORD)-1) {\r\n\r\n         NotifyReset();\r\n\r\n      } else {\r\n\r\n         dwEvent -= WAIT_OBJECT_0;\r\n\r\n         //\r\n         // Check to see if this handle has been removed already, if so\r\n         // return before we try to refresh a non-existent window.\r\n         //\r\n         if ((dwEvent >= MAX_WINDOWS) || ahEvents[dwEvent] == NULL)\r\n            return;\r\n\r\n         //\r\n         // Modify GWL_FSCFLAG directly.\r\n         //\r\n         // We do the ModifyWatchList right before we read (close then\r\n         // open on the same path).  This clears out any extra notifications\r\n         // caused by fileman's move/copy etc.\r\n         //\r\n         SetWindowLongPtr(ahwndWindows[dwEvent], GWL_FSCFLAG, TRUE);\r\n         PostMessage(hwndFrame, FS_FSCREQUEST, 0, 0L);\r\n\r\n         if (FindNextChangeNotification(ahEvents[dwEvent]) == FALSE) {\r\n\r\n            //\r\n            // If we can't find the next change notification, remove it.\r\n            //\r\n            NotifyDeleteHandle(dwEvent);\r\n         }\r\n      }\r\n   }\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     InitializeWatchList\r\n//\r\n// Synopsis: Setups up change notifications\r\n//\r\n// IN        VOID\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:  GetSettings has initialized uChangeNotifyTime\r\n//\r\n// Effects:  nHandles, ahwndWindows, ahEvents\r\n//\r\n//\r\n// Notes:    If not successful, bNOTIFYACTIVE = FALSE\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nInitializeWatchList(VOID)\r\n{\r\n   INT i;\r\n\r\n   //\r\n   // Change notify system is off if uChangeNotifyTime == 0\r\n   // No, this doesn't mean zero time.\r\n   //\r\n   if (!bNOTIFYACTIVE)\r\n      return;\r\n\r\n   for (i = 0; i < MAX_WINDOWS; i++) {\r\n      ahwndWindows[i] = NULL;\r\n      ahEvents[i] = NULL;\r\n   }\r\n\r\n   nHandles = 0;\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DestroyWatchList\r\n//\r\n// Synopsis: Initializes change notify system\r\n//\r\n// IN        VOID\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:  InitializeWatchList has been called:\r\n//\r\n// Effects:  watchlist closed\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nDestroyWatchList(VOID)\r\n{\r\n   PHANDLE phChange;\r\n\r\n   //\r\n   // Only destroy if successfully started\r\n   //\r\n   if (bNOTIFYACTIVE) {\r\n\r\n      //\r\n      // Clean up handles in hChange!\r\n      //\r\n      for(phChange = ahEvents;\r\n         nHandles;\r\n         nHandles--, phChange++) {\r\n\r\n         FindCloseChangeNotification(*phChange);\r\n      }\r\n   }\r\n}\r\n\r\n\r\nVOID\r\nNotifyReset()\r\n{\r\n   NotifyPause(-1, (UINT)-2);\r\n   nHandles = 0;\r\n}\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     NotifyPause\r\n//\r\n// Synopsis: Pause notification on a set of drives\r\n//\r\n// INC       -- drive    -2 == ALL\r\n//                       -1 == All of type uType\r\n//                       0 < drive < 26 is the drive to stop\r\n// INC       -- uType    Type of drive to stop notification on\r\n//\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:  Called by main thread (drive windows stable)\r\n//\r\n// Effects:  notification variables\r\n//           if (drive != -1) GWL_FSCFLAG on that drive is cleared.\r\n//\r\n//\r\n// Notes:    Setting drive limits notification ignore to just 1 drive.\r\n//           This can be called many times\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nNotifyPause(DRIVE drive, UINT uType)\r\n{\r\n   INT i;\r\n   DRIVE driveCurrent;\r\n\r\n   if (!bNOTIFYACTIVE)\r\n      return;\r\n\r\n\r\n   for(i=0;i<nHandles;i++) {\r\n\r\n      driveCurrent = adrive[i];\r\n\r\n      if (-2 == drive ||\r\n          ((-1 == drive || drive == driveCurrent) &&\r\n          ((UINT)-1 == uType || aDriveInfo[driveCurrent].uType == uType))) {\r\n\r\n         if (-2 != drive)\r\n            SetWindowLongPtr(ahwndWindows[i], GWL_NOTIFYPAUSE, 1L);\r\n\r\n         NotifyDeleteHandle(i);\r\n\r\n         //\r\n         // This is the traverse while compact problem.\r\n         // We get around this by decrementing i so the i++ is\r\n         // negated.\r\n         //\r\n         i--;\r\n      }\r\n   }\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     NotifyResume\r\n//\r\n// Synopsis: Resume all notifications\r\n//\r\n// INC       -- drive    -1 == ALL\r\n//                       0 < drive < 26 is the drive to stop\r\n// INC       -- uType    Type of drive to stop notification on\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:  Called by main thread (drive windows stable)\r\n//           Assumes worker thread not changing data structures\r\n//           (Valid since main thread blocks on all change requests)\r\n//\r\n// Effects:  notification variables\r\n//\r\n//\r\n// Notes:    scans through all windows looking for dirs\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nNotifyResume(DRIVE drive, UINT uType)\r\n{\r\n   DRIVE driveCurrent;\r\n   HWND hwnd;\r\n\r\n   if (!bNOTIFYACTIVE)\r\n      return;\r\n\r\n   //\r\n   // Scan though all open windows looking for dir windows that\r\n   // are not matched up.\r\n   //\r\n   for (hwnd = GetWindow(hwndMDIClient, GW_CHILD);\r\n      hwnd;\r\n      hwnd = GetWindow(hwnd, GW_HWNDNEXT)) {\r\n\r\n      driveCurrent = (DRIVE)GetWindowLongPtr(hwnd, GWL_TYPE);\r\n\r\n      //\r\n      // Skip search window\r\n      //\r\n      if (-1 == driveCurrent)\r\n         continue;\r\n\r\n      //\r\n      // Check if this drive is paused and meets the restart criteria\r\n      //\r\n\r\n      if (-2 == drive ||\r\n          ((-1 == drive || drive == driveCurrent) &&\r\n          ((UINT)-1 == uType || aDriveInfo[driveCurrent].uType == uType) &&\r\n          GetWindowLongPtr(hwnd, GWL_NOTIFYPAUSE))) {\r\n\r\n         //\r\n         // Restart notifications on this window\r\n         //\r\n\r\n         SendMessage(hwnd, FS_NOTIFYRESUME, 0, 0L);\r\n         SetWindowLongPtr(hwnd, GWL_NOTIFYPAUSE, 0L);\r\n      }\r\n   }\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     ModifyWatchList\r\n//\r\n// Synopsis: Modifies the handles watched\r\n//\r\n// IN        hwnd         hwnd to update\r\n// IN        lpPath       path\r\n//                        NULL = terminate watch\r\n// IN        fdwFilter    notification events to watch\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:  Single threaded implementation.  All calls in this file\r\n//           are non reentrant.  (Multithreaded approach removed around\r\n//           9/15/93 to eliminate a thread.)\r\n//\r\n// Effects:  ahwndWindows\r\n//           ahChange\r\n//           adrives\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nModifyWatchList(HWND hwnd,\r\n                LPTSTR lpPath,\r\n                DWORD fdwFilter)\r\n{\r\n   INT i;\r\n\r\n   if (!bNOTIFYACTIVE)\r\n      return;\r\n\r\n   //\r\n   // First we must see if this window already has a watch handle\r\n   // assigned to it.  If so, then we must close that watch, and\r\n   // restart a new one for it.  UNLESS lpPath is NULL, in which\r\n   // case the window will be removed from our list.\r\n   //\r\n\r\n   for (i = 0;\r\n      i < nHandles && ahwndWindows[i] != NULL &&\r\n      ahwndWindows[i] != hwnd; i++ )\r\n\r\n      ;\r\n\r\n   if (i < nHandles && ahwndWindows[i] != NULL) {\r\n\r\n      //\r\n      // Now check to see if we are just changing the handle or removing\r\n      // the window all together.\r\n      //\r\n\r\n      if (lpPath == NULL) {\r\n\r\n         NotifyDeleteHandle(i);\r\n         //\r\n         // Now we need to clean up and exit.\r\n         //\r\n         return;\r\n\r\n      } else {\r\n\r\n         if (FindCloseChangeNotification(ahEvents[i]) == FALSE) {\r\n            //\r\n            // BUGBUG:   In the event that this fails we will need to do\r\n            //           something about it....I am not sure what at this\r\n            //           point.\r\n            //\r\n         }\r\n\r\n         //\r\n         // We now need to issue a new FindFirstChangeNotification for\r\n         // the new path and modify the structures appropriately.\r\n         //\r\n\r\n         NotifyAddHandle(i, hwnd, lpPath, fdwFilter);\r\n\r\n         //\r\n         // Now we need to clean up and exit.\r\n         //\r\n         return;\r\n\r\n      }\r\n   } else {\r\n      if (lpPath == NULL) {\r\n         //\r\n         // BUGBUG: We didn't find the window handle but we are being\r\n         //         asked to remove it from the list....Something went\r\n         //         wrong.\r\n         //\r\n         return;\r\n      }\r\n   }\r\n\r\n   //\r\n   // We now need to issue a new FindFirstChangeNotification for\r\n   // the new path and modify the structures appropriately.\r\n   //\r\n\r\n   NotifyAddHandle(i, hwnd, lpPath, fdwFilter);\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     NotifyDeleteHandle\r\n//\r\n// Synopsis: Deletes open associated handle handle.\r\n//\r\n// INC       i  index in ahwndWindows[] to delete\r\n//\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:  Exclusive, safe access to globals.\r\n//\r\n// Effects:  ahwndWindows, nHandles, adrives\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nNotifyDeleteHandle(INT i)\r\n{\r\n   if (INVALID_HANDLE_VALUE != ahEvents[i] &&\r\n      FindCloseChangeNotification(ahEvents[i]) == FALSE) {\r\n   }\r\n\r\n   //\r\n   // We now need to delete the window all together...So compact\r\n   // the list of change handles and window handles to reflect this.\r\n   // Since order isn't important, just copy the last\r\n   // item to the empty spot, and write NULL in the\r\n   // last position.\r\n   //\r\n   nHandles--;\r\n\r\n   ahwndWindows[i]  = ahwndWindows[ nHandles ];\r\n   ahEvents[i] = ahEvents[nHandles];\r\n   adrive[i] = adrive[nHandles];\r\n\r\n   ahwndWindows[nHandles]  = NULL;\r\n   ahEvents[nHandles] = NULL;\r\n\r\n   return;\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     NotifyAddHandle\r\n//\r\n// Synopsis: Adds handle and associated data\r\n//\r\n// INC       i         INT     Index to modify\r\n// INC       hwnd      --      hwnd of window to watch (hwndTree, not hwndDir)\r\n// INC       lpPath    --      path to watch, -1 == same as old\r\n// INC       fdwFilter --      filters for notification\r\n//\r\n// Return:   VOID\r\n//\r\n// Assumes:  i is a valid index; no boundary checking done.\r\n//\r\n// Effects:  nHandles is incremented if necessary.\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nNotifyAddHandle(INT i, HWND hwnd, LPTSTR lpPath, DWORD fdwFilter)\r\n{\r\n   adrive[i] = DRIVEID(lpPath);\r\n\r\n   ahwndWindows[i] = hwnd;\r\n\r\n   ahEvents[i] = FindFirstChangeNotification(lpPath,\r\n      FALSE,\r\n      fdwFilter);\r\n\r\n   if (nHandles == i)\r\n      nHandles++;\r\n\r\n   if (ahEvents[i] == INVALID_HANDLE_VALUE) {\r\n\r\n      //\r\n      // Since this handle is invalid, delete it.\r\n      //\r\n      NotifyDeleteHandle(i);\r\n   }\r\n}\r\n\r\n"
  },
  {
    "path": "src/wfcomman.c",
    "content": "/********************************************************************\r\n\r\n   wfcomman.c\r\n\r\n   Windows File System Command Proc\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n#include \"lfn.h\"\r\n#include \"wfcopy.h\"\r\n#include \"wnetcaps.h\"              // WNetGetCaps()\r\n#include \"wfdrop.h\"\r\n\r\n#include <shlobj.h>\r\n#include <commctrl.h>\r\n#include <ole2.h>\r\n\r\n#ifndef HELP_PARTIALKEY\r\n#define HELP_PARTIALKEY 0x0105L    // call the search engine in winhelp\r\n#endif\r\n\r\n#define VIEW_NOCHANGE VIEW_PLUSES\r\n\r\nVOID MDIClientSizeChange(HWND hwndActive, INT iFlags);\r\nHWND LocateDirWindow(LPTSTR pszPath, BOOL bNoFileSpec, BOOL bNoTreeWindow);\r\nVOID UpdateAllDirWindows(LPTSTR pszPath, DWORD dwFunction, BOOL bNoFileSpec);\r\nVOID AddNetMenuItems(VOID);\r\nVOID InitNetMenuItems(VOID);\r\n\r\nINT UpdateConnectionsOnConnect(VOID);\r\nVOID LockFormatDisk(INT iDrive1, INT iDrive2, DWORD dwMessage, DWORD dwCommand, BOOL bLock);\r\n\r\nVOID\r\nNotifySearchFSC(\r\n   LPWSTR pszPath, DWORD dwFunction)\r\n{\r\n   if (!hwndSearch)\r\n      return;\r\n\r\n   if (DRIVEID(pszPath) ==\r\n      SendMessage(hwndSearch, FS_GETDRIVE, 0, 0L) - CHAR_A) {\r\n\r\n      SendMessage(hwndSearch, WM_FSC, dwFunction, 0L);\r\n   }\r\n}\r\n\r\nVOID\r\nRepaintDriveWindow(HWND hwndChild)\r\n{\r\n   MDIClientSizeChange(hwndChild,DRIVEBAR_FLAG);\r\n}\r\n\r\n\r\n// RedoDriveWindows\r\n//\r\n// Note: Assumes UpdateDriveList and InitDriveBitmaps already called!\r\n\r\nVOID\r\nRedoDriveWindows(HWND hwndActive)\r\n{\r\n   INT iCurDrive;\r\n   INT iDriveInd;\r\n\r\n   if (hwndActive == NULL)\r\n      hwndActive = (HWND) SendMessage(hwndMDIClient, WM_MDIGETACTIVE,0,0L);\r\n\r\n   iCurDrive = (INT)GetWindowLongPtr(hwndActive, GWL_TYPE);\r\n\r\n   if (iCurDrive >= 0) {\r\n      for (iDriveInd=0; iDriveInd<cDrives; iDriveInd++) {\r\n         if (rgiDrive[iDriveInd] == iCurDrive) {\r\n\r\n            // UpdateDriveList doesn't call filltoolbardrives.  do now.\r\n            // (change = add iCurDrive parm)\r\n\r\n            FillToolbarDrives(iCurDrive);\r\n            SelectToolbarDrive(iDriveInd);\r\n\r\n            break;\r\n         }\r\n      }\r\n   }\r\n\r\n   //\r\n   // No longer calls updatedrivelist and initdrivebitmaps\r\n   //\r\n   MDIClientSizeChange(hwndActive,DRIVEBAR_FLAG);\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  LocateDirWindow() - return MDI client window which has a tree window    */\r\n/*  and for which the path matches                                          */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nHWND\r\nLocateDirWindow(\r\n    LPTSTR pszPath,\r\n    BOOL bNoFileSpec,\r\n    BOOL bNoTreeWindow)\r\n{\r\n   HWND hwndT;\r\n   HWND hwndDir;\r\n   LPTSTR pT2;\r\n   TCHAR szTemp[MAXPATHLEN];\r\n   TCHAR szPath[MAXPATHLEN];\r\n\r\n   pT2 = pszPath;\r\n\r\n   //\r\n   //  Only work with well-formed paths.\r\n   //\r\n   if ((lstrlen(pT2) < 3) || (pT2[1] != CHAR_COLON))\r\n   {\r\n      return (NULL);\r\n   }\r\n\r\n   //\r\n   //  Copy path to temp buffer and remove the filespec (if necessary).\r\n   //\r\n   lstrcpy(szPath, pT2);\r\n\r\n   if (!bNoFileSpec)\r\n   {\r\n      StripFilespec(szPath);\r\n   }\r\n\r\n   //\r\n   //  Cycle through all of the windows until a match is found.\r\n   //\r\n   for (hwndT = GetWindow(hwndMDIClient, GW_CHILD);\r\n        hwndT;\r\n        hwndT = GetWindow(hwndT, GW_HWNDNEXT))\r\n   {\r\n      if (hwndDir = HasDirWindow(hwndT))\r\n      {\r\n         //\r\n         //  Get the Window's path information and remove the file spec.\r\n         //\r\n         GetMDIWindowText(hwndT, szTemp, COUNTOF(szTemp));\r\n         StripFilespec(szTemp);\r\n\r\n         //\r\n         //  Compare the two paths.\r\n         //\r\n         if (!lstrcmpi(szTemp, szPath) &&\r\n            (!bNoTreeWindow || !HasTreeWindow(hwndT)))\r\n         {\r\n            break;\r\n         }\r\n      }\r\n   }\r\n\r\n   return (hwndT);\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  UpdateAllDirWindows() -                                                     */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nVOID\r\nUpdateAllDirWindows(\r\n    LPTSTR pszPath,\r\n    DWORD dwFunction,\r\n    BOOL bNoFileSpec)\r\n{\r\n   HWND hwndT;\r\n   HWND hwndDir;\r\n   LPTSTR pT2;\r\n   TCHAR szTemp[MAXPATHLEN];\r\n   TCHAR szPath[MAXPATHLEN];\r\n\r\n   pT2 = pszPath;\r\n\r\n   //\r\n   //  Only work with well-formed paths.\r\n   //\r\n   if ((lstrlen(pT2) < 3) || (pT2[1] != CHAR_COLON))\r\n   {\r\n      return;\r\n   }\r\n\r\n   //\r\n   //  Copy path to temp buffer and remove the filespec (if necessary).\r\n   //\r\n   lstrcpy(szPath, pT2);\r\n\r\n   if (!bNoFileSpec)\r\n   {\r\n      StripFilespec(szPath);\r\n   }\r\n\r\n   //\r\n   //  Cycle through all of the windows until a match is found.\r\n   //\r\n   for (hwndT = GetWindow(hwndMDIClient, GW_CHILD);\r\n        hwndT;\r\n        hwndT = GetWindow(hwndT, GW_HWNDNEXT))\r\n   {\r\n      if (hwndDir = HasDirWindow(hwndT))\r\n      {\r\n         //\r\n         //  Get the Window's path information and remove the file spec.\r\n         //\r\n         GetMDIWindowText(hwndT, szTemp, COUNTOF(szTemp));\r\n         StripFilespec(szTemp);\r\n\r\n         //\r\n         //  Compare the two paths.  If they are equal, send notification\r\n         //  to update the window.\r\n         //\r\n         if (!lstrcmpi(szTemp, szPath))\r\n         {\r\n            SendMessage(hwndT, WM_FSC, dwFunction, (LPARAM)pszPath);\r\n         }\r\n      }\r\n   }\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  ChangeFileSystem() -                                                    */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n/* There are two sources of FileSysChange messages.  They can be sent from\r\n * the 386 WinOldAp or they can be posted by WINFILE's callback function (i.e.\r\n * from Kernel).  In both cases, we are free to do processing at this point.\r\n * For posted messages, we have to free the buffer passed to us as well.\r\n *\r\n * we are really in the other tasks context when we get entered here.\r\n * (this routine should be in a DLL)\r\n *\r\n * the file names are partially qualified, they have at least a drive\r\n * letter and initial directory part (c:\\foo\\..\\bar.txt) so our\r\n * QualifyPath() calls should work.\r\n */\r\n\r\nVOID\r\nChangeFileSystem(\r\n   DWORD dwFunction,\r\n   LPCTSTR lpszFile,\r\n   LPCTSTR lpszTo)\r\n{\r\n   HWND   hwnd, hwndTree, hwndOld;\r\n   TCHAR  szFrom[MAXPATHLEN];\r\n   TCHAR  szTo[MAXPATHLEN];\r\n   TCHAR  szTemp[MAXPATHLEN];\r\n   TCHAR  szPath[MAXPATHLEN + MAXPATHLEN];\r\n   DWORD  dwFSCOperation;\r\n\r\n   // As FSC messages come in from outside winfile\r\n   // we set a timer, and when that expires we\r\n   // refresh everything.  If another FSC comes in while\r\n   // we are waiting on this timer, we reset it so we\r\n   // only refresh on the last operations.  This lets\r\n   // the timer be much shorter.\r\n\r\n   if (cDisableFSC == 0 || bFSCTimerSet)\r\n   {\r\n      if (bFSCTimerSet)\r\n         KillTimer(hwndFrame, 1);                // reset the timer\r\n\r\n      //\r\n      // !! LATER !!\r\n      // Move this info to the registry!\r\n      //\r\n\r\n      if (SetTimer(hwndFrame, 1, 1000, NULL))\r\n      {\r\n         bFSCTimerSet = TRUE;\r\n         if (cDisableFSC == 0)                   // only disable once\r\n            SendMessage(hwndFrame, FS_DISABLEFSC, 0, 0L);\r\n      }\r\n   }\r\n\r\n   lstrcpy(szFrom, lpszFile);\r\n   QualifyPath(szFrom);            // already partly qualified\r\n\r\n   dwFSCOperation = FSC_Operation(dwFunction);\r\n\r\n   switch (dwFSCOperation)\r\n   {\r\n      case ( FSC_RENAME ) :\r\n      {\r\n         DWORD dwAttribs;\r\n         DWORD dwFSCOperation;\r\n\r\n         lstrcpy(szTo, lpszTo);\r\n         QualifyPath(szTo);    // already partly qualified\r\n\r\n         NotifySearchFSC(szFrom, dwFunction);\r\n\r\n         // Update the original directory window (if any).\r\n         if (hwndOld = LocateDirWindow(szFrom, FALSE, FALSE))\r\n            SendMessage(hwndOld, WM_FSC, dwFunction, (LPARAM)szFrom);\r\n\r\n         NotifySearchFSC(szTo, dwFunction);\r\n\r\n         // Update the new directory window (if any).\r\n         if ((hwnd = LocateDirWindow(szTo, FALSE, FALSE)) && (hwnd != hwndOld))\r\n            SendMessage(hwnd, WM_FSC, dwFunction, (LPARAM)szTo);\r\n\r\n         // Are we renaming a directory?\r\n         lstrcpy(szTemp, szTo);\r\n\r\n         dwAttribs = GetFileAttributes(szTemp);\r\n\r\n         if (dwAttribs & ATTR_DIR)\r\n         {\r\n            dwFSCOperation = FSC_MKDIR;\r\n\r\n            // Check if the directory is a junction or symbolic link.  These\r\n            // have unique operation codes to keep optional junction display\r\n            // straightforward.\r\n            if (dwAttribs & ATTR_REPARSE_POINT)\r\n            {\r\n               DWORD dwReparseTag;\r\n               dwReparseTag = DecodeReparsePoint(szTemp, NULL, 0);\r\n               if (dwReparseTag == IO_REPARSE_TAG_MOUNT_POINT) {\r\n                   dwFSCOperation = FSC_JUNCTION;\r\n               } else if (dwReparseTag == IO_REPARSE_TAG_SYMLINK) {\r\n                   dwFSCOperation = FSC_SYMLINKD;\r\n               }\r\n            }\r\n            for (hwnd = GetWindow(hwndMDIClient, GW_CHILD);\r\n                 hwnd;\r\n                 hwnd = GetWindow(hwnd, GW_HWNDNEXT))\r\n            {\r\n               if (hwndTree = HasTreeWindow(hwnd))\r\n               {\r\n                  SendMessage(hwndTree, WM_FSC, FSC_RMDIR | FSC_QUIET, (LPARAM)szFrom);\r\n\r\n                  // if the current selection is szFrom, we update the\r\n                  // selection after the rename occurs\r\n\r\n                  SendMessage(hwnd, FS_GETDIRECTORY, COUNTOF(szPath), (LPARAM)szPath);\r\n                  StripBackslash(szPath);\r\n\r\n                  SendMessage(hwndTree, WM_FSC, dwFSCOperation | FSC_QUIET, (LPARAM)szTo);\r\n\r\n                  // update the selection if necessary, also\r\n                  // change the window text in this case to\r\n                  // reflect the new name\r\n\r\n                  if (!lstrcmpi(szPath, szFrom))\r\n                  {\r\n                     SendMessage(hwndTree, TC_SETDIRECTORY, FALSE, (LPARAM)szTo);\r\n                  }\r\n               }\r\n            }\r\n#ifdef NETCHECK\r\n            InvalidateAllNetTypes();\r\n#endif\r\n         }\r\n         break;\r\n      }\r\n\r\n      case ( FSC_RMDIR ) :\r\n      {\r\n         // Close any open directory window.\r\n         if (hwnd = LocateDirWindow(szFrom, TRUE, TRUE))\r\n         {\r\n            SendMessage(hwnd, WM_CLOSE, 0, 0L);\r\n         }\r\n\r\n         /*** FALL THROUGH ***/\r\n      }\r\n\r\n      case ( FSC_MKDIR ) :\r\n      case ( FSC_JUNCTION ) :\r\n      case ( FSC_SYMLINKD ) :\r\n      {\r\n         /* Update the tree. */\r\n         for (hwnd = GetWindow(hwndMDIClient, GW_CHILD);\r\n              hwnd;\r\n              hwnd = GetWindow(hwnd, GW_HWNDNEXT))\r\n         {\r\n            if (hwndTree = HasTreeWindow(hwnd))\r\n            {\r\n               SendMessage(hwndTree, WM_FSC, dwFunction, (LPARAM)szFrom);\r\n            }\r\n         }\r\n\r\n         /*** FALL THROUGH ***/\r\n      }\r\n\r\n      case ( FSC_DELETE ) :\r\n      case ( FSC_CREATE ) :\r\n      case ( FSC_REFRESH ) :\r\n      case ( FSC_ATTRIBUTES ) :\r\n      {\r\n         if (CHAR_COLON == szFrom[1])\r\n            R_Space(DRIVEID(szFrom));\r\n\r\n         SPC_SET_HITDISK(qFreeSpace);     // cause this stuff to be refreshed\r\n\r\n         UpdateAllDirWindows(szFrom, dwFunction, FALSE);\r\n\r\n         NotifySearchFSC(szFrom, dwFunction);\r\n\r\n         break;\r\n      }\r\n   }\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     CreateTreeWindow\r\n//\r\n// Synopsis: Creates a tree window\r\n//\r\n//           szPath  fully qualified ANSI path name WITH filespec\r\n//           nSplit split position of tree and dir windows, if this is\r\n//                   less than the threshold a tree will not be created,\r\n//                   if it is more then a dir will not be created.\r\n//                   0 to create a dir only\r\n//                   very large number for tree only\r\n//                   < 0 to have the split put in the middle\r\n//\r\n// Return:   hwnd of the MDI child created\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nHWND\r\nCreateTreeWindow(\r\n   LPWSTR szPath,\r\n   INT x,\r\n   INT y,\r\n   INT dx,\r\n   INT dy,\r\n   INT dxSplit)\r\n{\r\n   MDICREATESTRUCT MDICS;\r\n   HWND hwnd;\r\n\r\n   //\r\n   // this saves people from creating more windows than they should\r\n   // note, when the mdi window is maximized many people don't realize\r\n   // how many windows they have opened.\r\n   //\r\n   if (iNumWindows > 26) {\r\n\r\n      LoadString(hAppInstance, IDS_WINFILE, szTitle, COUNTOF(szTitle));\r\n      LoadString(hAppInstance, IDS_TOOMANYWINDOWS, szMessage, COUNTOF(szMessage));\r\n      MessageBox(hwndFrame, szMessage, szTitle, MB_OK | MB_ICONEXCLAMATION);\r\n      return NULL;\r\n   }\r\n\r\n   //\r\n   // Create the Directory Tree window\r\n   //\r\n   MDICS.szClass = szTreeClass;\r\n   MDICS.szTitle = szPath;\r\n   MDICS.hOwner = hAppInstance;\r\n   MDICS.style = 0L;\r\n\r\n   MDICS.x  = x;\r\n   MDICS.y  = y;\r\n   MDICS.cx = dx;\r\n   MDICS.cy = dy;\r\n\r\n   MDICS.lParam = dxSplit;\r\n\r\n   hwnd = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n   if (hwnd && GetWindowLongPtr(hwnd, GWL_STYLE) & WS_MAXIMIZE)\r\n      MDICS.style |= WS_MAXIMIZE;\r\n\r\n   hwnd = (HWND)SendMessage(hwndMDIClient,\r\n                            WM_MDICREATE,\r\n                            0L, (LPARAM)&MDICS);\r\n\r\n   //\r\n   // Set all the view/sort/include parameters.  This is to make\r\n   // sure these values get initialized in the case when there is\r\n   // no directory window.\r\n   //\r\n   SetWindowLongPtr(hwnd, GWL_VIEW, dwNewView);\r\n   SetWindowLongPtr(hwnd, GWL_SORT, dwNewSort);\r\n   SetWindowLongPtr(hwnd, GWL_ATTRIBS, dwNewAttribs);\r\n\r\n   return hwnd;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     CreateDirWindow\r\n//\r\n// Synopsis:\r\n//\r\n//      szPath          fully qualified path with no filespec\r\n//      bReplaceOpen    default replacement mode, shift always toggles this\r\n//      hwndActive      active mdi child that we are working on\r\n//\r\n// Return:   hwnd of window created or of existing dir window that we\r\n//           activated or replaced if replace on open was active\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nHWND\r\nCreateDirWindow(\r\n   LPWSTR szPath,\r\n   BOOL bReplaceOpen,\r\n   HWND hwndActive)\r\n{\r\n   HWND hwndT;\r\n   INT dxSplit;\r\n   BOOLEAN bDriveChanged;\r\n\r\n   if (hwndActive == hwndSearch) {\r\n      bReplaceOpen = FALSE;\r\n      dxSplit = -1;\r\n   } else {\r\n      dxSplit = GetSplit(hwndActive);\r\n   }\r\n\r\n   //\r\n   // Is a window with this path already open?\r\n   //\r\n   if (!bReplaceOpen && (hwndT = LocateDirWindow(szPath, TRUE, FALSE))) {\r\n\r\n      SendMessage(hwndMDIClient, WM_MDIACTIVATE, GET_WM_MDIACTIVATE_MPS(0, 0, hwndT));\r\n      if (IsIconic(hwndT))\r\n         SendMessage(hwndT, WM_SYSCOMMAND, SC_RESTORE, 0L);\r\n      return hwndT;\r\n   }\r\n\r\n   bDriveChanged = FALSE;\r\n\r\n   //\r\n   // Are we replacing the contents of the currently active child?\r\n   //\r\n   if (bReplaceOpen) {\r\n      DRIVE drive;\r\n      INT i;\r\n\r\n      CharUpperBuff(szPath, 1);     // make sure\r\n\r\n      drive = DRIVEID(szPath);\r\n      for (i = 0; i<cDrives; i++)\r\n      {\r\n         if (drive == rgiDrive[i])\r\n         {\r\n            // if not already selected, do so now\r\n            if (i != SendMessage(hwndDriveList, CB_GETCURSEL, i, 0L))\r\n            {\r\n               SelectToolbarDrive(i);\r\n               bDriveChanged = TRUE;\r\n            }\r\n            break;\r\n         }\r\n      }\r\n\r\n      if (hwndT = HasDirWindow(hwndActive))\r\n      {\r\n         WCHAR szFileSpec[MAXPATHLEN];\r\n\r\n         AddBackslash(szPath);                   // default to all files\r\n         SendMessage(hwndT, FS_GETFILESPEC, COUNTOF(szFileSpec), (LPARAM)szFileSpec);\r\n         lstrcat(szPath, szFileSpec);\r\n         SendMessage(hwndT, FS_CHANGEDISPLAY, CD_PATH, (LPARAM)szPath);\r\n         StripFilespec(szPath);\r\n      }\r\n\r\n      //\r\n      // update the tree if necessary\r\n      //\r\n\r\n      if (hwndT = HasTreeWindow(hwndActive))\r\n      {\r\n         SendMessage(hwndT, TC_SETDRIVE, 0, (LPARAM)(szPath));\r\n      }\r\n\r\n      //\r\n      // Update the status in case we are \"reading\"\r\n      //\r\n      UpdateStatus(hwndActive);\r\n      if (bDriveChanged)\r\n      {\r\n         InvalidateRect(hwndDriveBar, NULL, TRUE);\r\n         UpdateWindow(hwndDriveBar);\r\n      }\r\n\r\n      return hwndActive;\r\n   }\r\n\r\n   AddBackslash(szPath);                   // default to all files\r\n   lstrcat(szPath, szStarDotStar);\r\n\r\n   //\r\n   // create tree and/or dir based on current window split\r\n   //\r\n   hwndActive = CreateTreeWindow(szPath, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, dxSplit);\r\n\r\n   // call TC_SETDRIVE like use of CreateTreeWindow in NewTree()\r\n   if (hwndActive && (hwndT = HasTreeWindow(hwndActive)))\r\n      SendMessage(hwndT,\r\n         TC_SETDRIVE,\r\n         MAKELONG(MAKEWORD(FALSE, 0), TRUE),\r\n         0L);\r\n\r\n   return hwndActive;\r\n}\r\n\r\n\r\n\r\nVOID\r\nOpenOrEditSelection(HWND hwndActive, BOOL fEdit)\r\n{\r\n   LPTSTR p;\r\n   BOOL bDir;\r\n   DWORD ret;\r\n   HCURSOR hCursor;\r\n\r\n   WCHAR szPath[MAXPATHLEN+2];  // +2 for quotes if needed\r\n\r\n   HWND hwndTree, hwndDir, hwndFocus;\r\n\r\n   //\r\n   // Is the active MDI child minimized? if so restore it!\r\n   //\r\n   if (IsIconic(hwndActive)) {\r\n      SendMessage(hwndActive, WM_SYSCOMMAND, SC_RESTORE, 0L);\r\n      return;\r\n   }\r\n\r\n   hCursor = SetCursor(LoadCursor(NULL, IDC_WAIT));\r\n   ShowCursor(TRUE);\r\n\r\n   //\r\n   // set the current directory\r\n   //\r\n   SetWindowDirectory();\r\n\r\n   //\r\n   // get the relevant parameters\r\n   //\r\n   GetTreeWindows(hwndActive, &hwndTree, &hwndDir);\r\n   if (hwndTree || hwndDir)\r\n      hwndFocus = GetTreeFocus(hwndActive);\r\n   else\r\n      hwndFocus = NULL;\r\n\r\n   if (hwndDriveBar && hwndFocus == hwndDriveBar) {\r\n\r\n      //\r\n      // open a drive by sending a <CR>\r\n      //\r\n      SendMessage(hwndDriveBar, WM_KEYDOWN, VK_RETURN, 0L);\r\n\r\n      goto OpenExit;\r\n   }\r\n\r\n   //\r\n   // Get the first selected item.\r\n   //\r\n   p = (LPWSTR)SendMessage(hwndActive, FS_GETSELECTION, 1, (LPARAM)&bDir);\r\n\r\n   if (!p)\r\n      goto OpenExit;\r\n\r\n   // less 2 characters in case we need to add quotes below\r\n   if (!GetNextFile(p, szPath, COUNTOF(szPath)-2) || !szPath[0])\r\n      goto OpenFreeExit;\r\n\r\n   if (bDir) {\r\n\r\n      if (hwndDir && hwndFocus == hwndDir) {\r\n\r\n         if (hwndTree) {\r\n            SendMessage(hwndTree, TC_EXPANDLEVEL, FALSE, 0L);\r\n\r\n            //\r\n            // undo some things that happen in TC_EXPANDLEVEL\r\n            //\r\n            SetFocus(hwndDir);\r\n         }\r\n\r\n\t\t //\r\n\t\t // shift toggles 'replace on open'\r\n\t\t //\r\n         CreateDirWindow(szPath, GetKeyState(VK_SHIFT) >= 0, hwndActive);\r\n\r\n      } else if (hwndTree) {\r\n\r\n         // this came through because of\r\n         // SHIFT open a dir only tree\r\n\r\n         if (GetKeyState(VK_SHIFT) < 0) {\r\n            CreateDirWindow(szPath, FALSE, hwndActive);\r\n         } else {\r\n            SendMessage(hwndTree, TC_TOGGLELEVEL, FALSE, 0L);\r\n         }\r\n      }\r\n\r\n\r\n   } else {\r\n\r\n      QualifyPath(szPath);\r\n\r\n      //\r\n      // Attempt to spawn the selected file.\r\n      //\r\n      if (fEdit)\r\n      {\r\n          TCHAR szEditPath[MAXPATHLEN];\r\n          TCHAR szNotepad[MAXPATHLEN];\r\n\r\n          // NOTE: assume system directory and \"\\\\notepad.exe\" never exceed MAXPATHLEN\r\n          if (GetSystemDirectory(szNotepad, MAXPATHLEN) != 0)\r\n              lstrcat(szNotepad, TEXT(\"\\\\notepad.exe\"));\r\n          else\r\n              lstrcpy(szNotepad, TEXT(\"notepad.exe\"));\r\n\r\n          GetPrivateProfileString(szSettings, szEditorPath, szNotepad, szEditPath, MAXPATHLEN, szTheINIFile);\r\n\r\n          CheckEsc(szPath);     // add quotes if necessary; reserved space for them above\r\n\r\n          if(wcslen(szEditPath))\r\n             ret = ExecProgram(szEditPath, szPath, NULL, (GetKeyState(VK_SHIFT) < 0), FALSE);\r\n          //If INI entry is empty\r\n          else\r\n             ret = ExecProgram(szNotepad, szPath, NULL, (GetKeyState(VK_SHIFT) < 0), FALSE);\r\n\r\n      }\r\n      else\r\n      {\r\n          ret = ExecProgram(szPath, szNULL, NULL, (GetKeyState(VK_SHIFT) < 0), (GetKeyState(VK_CONTROL) < 0));\r\n      }\r\n      if (ret)\r\n         MyMessageBox(hwndFrame, IDS_EXECERRTITLE, ret, MB_OK | MB_ICONEXCLAMATION | MB_SYSTEMMODAL);\r\n      else if (bMinOnRun)\r\n         PostMessage(hwndFrame, WM_SYSCOMMAND, SC_MINIMIZE, 0L);\r\n   }\r\n\r\nOpenFreeExit:\r\n\r\n   LocalFree((HLOCAL)p);\r\n\r\nOpenExit:\r\n   ShowCursor(FALSE);\r\n   SetCursor(hCursor);\r\n}\r\n\r\n\r\n// Function to update the display when the size of the MDI client\r\n// window changes (for example, when the status bar is turned on\r\n// or off).\r\n\r\nVOID\r\nMDIClientSizeChange(HWND hwndActive,INT iFlags)\r\n{\r\n   RECT rc;\r\n\r\n   GetClientRect(hwndFrame, &rc);\r\n   SendMessage(hwndFrame, WM_SIZE, SIZENORMAL, MAKELONG(rc.right, rc.bottom));\r\n   UpdateStatus(hwndActive);\r\n\r\n   InvalidateRect(hwndMDIClient, NULL, FALSE);\r\n\r\n   if (bDriveBar && (iFlags & DRIVEBAR_FLAG))\r\n      InvalidateRect(hwndDriveBar, NULL, TRUE);\r\n   if (bToolbar && (iFlags & TOOLBAR_FLAG))\r\n      InvalidateRect(hwndToolbar, NULL, TRUE);\r\n\r\n   UpdateWindow(hwndFrame);\r\n}\r\n\r\n\r\nBOOL\r\nFmifsLoaded()\r\n{\r\n   // Get a filename from the dialog...\r\n   // Load the fmifs dll.\r\n\r\n   if (hfmifsDll < (HANDLE)32) {\r\n      hfmifsDll = LoadSystemLibrary(FMIFS_DLL);\r\n      if (hfmifsDll < (HANDLE)32) {\r\n         /* FMIFS not available. */\r\n         MyMessageBox(hwndFrame, IDS_WINFILE, IDS_FMIFSLOADERR, MB_OK | MB_ICONEXCLAMATION | MB_SYSTEMMODAL);\r\n         hfmifsDll = NULL;\r\n         return FALSE;\r\n      }\r\n      else {\r\n         lpfnFormat = (PVOID)GetProcAddress(hfmifsDll, \"Format\");\r\n         lpfnQuerySupportedMedia = (PVOID)GetProcAddress(hfmifsDll, \"QuerySupportedMedia\");\r\n\r\n         lpfnSetLabel = (PVOID)GetProcAddress(hfmifsDll, \"SetLabel\");\r\n         lpfnDiskCopy = (PVOID)GetProcAddress(hfmifsDll, \"DiskCopy\");\r\n         if (!lpfnFormat || !lpfnQuerySupportedMedia ||\r\n            !lpfnSetLabel || !lpfnDiskCopy) {\r\n\r\n            MyMessageBox(hwndFrame, IDS_WINFILE, IDS_FMIFSLOADERR, MB_OK | MB_ICONEXCLAMATION | MB_SYSTEMMODAL);\r\n            FreeLibrary(hfmifsDll);\r\n            hfmifsDll = NULL;\r\n            return FALSE;\r\n         }\r\n      }\r\n   }\r\n   return TRUE;\r\n}\r\n\r\nBOOL\r\nGetPowershellExePath(LPTSTR szPSPath)\r\n{\r\n    HKEY hkey;\r\n    if (ERROR_SUCCESS != RegOpenKey(HKEY_LOCAL_MACHINE, TEXT(\"SOFTWARE\\\\Microsoft\\\\PowerShell\"), &hkey))\r\n    {\r\n        return FALSE;\r\n    }\r\n\r\n    szPSPath[0] = TEXT('\\0');\r\n\r\n    for (int ikey = 0; ikey < 5; ikey++)\r\n    {\r\n        TCHAR         szSub[10];    // just the \"1\" or \"3\"\r\n\r\n        DWORD dwError = RegEnumKey(hkey, ikey, szSub, COUNTOF(szSub));\r\n\r\n        if (dwError == ERROR_SUCCESS)\r\n        {\r\n            // if installed, get powershell exe\r\n            DWORD dwInstall;\r\n            DWORD dwType;\r\n            DWORD cbValue = sizeof(dwInstall);\r\n            dwError = WFRegGetValueW(hkey, szSub, TEXT(\"Install\"), RRF_RT_DWORD, &dwType, (PVOID)&dwInstall, &cbValue);\r\n\r\n            if (dwError == ERROR_SUCCESS && dwInstall == 1)\r\n            {\r\n                // this install of powershell is active; get path\r\n\r\n                HKEY hkeySub;\r\n                dwError = RegOpenKey(hkey, szSub, &hkeySub);\r\n\r\n                if (dwError == ERROR_SUCCESS)\r\n                {\r\n                    LPTSTR szPSExe = TEXT(\"\\\\Powershell.exe\");\r\n\r\n                    cbValue = (MAXPATHLEN - lstrlen(szPSExe)) * sizeof(TCHAR);\r\n                    dwError = WFRegGetValueW(hkeySub, TEXT(\"PowerShellEngine\"), TEXT(\"ApplicationBase\"), RRF_RT_REG_SZ | RRF_RT_REG_EXPAND_SZ, &dwType, (PVOID)szPSPath, &cbValue);\r\n\r\n                    if (dwError == ERROR_SUCCESS)\r\n                    {\r\n                        lstrcat(szPSPath, szPSExe);\r\n                    }\r\n                    else\r\n                    {\r\n                        // reset to empty string if not successful\r\n                        szPSPath[0] = TEXT('\\0');\r\n                    }\r\n\r\n                    RegCloseKey(hkeySub);\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    RegCloseKey(hkey);\r\n\r\n    // return true if we got a valid path\r\n    return szPSPath[0] != TEXT('\\0');\r\n}\r\n\r\nBOOL GetBashExePath(LPTSTR szBashPath, UINT bufSize)\r\n{\r\n\tconst TCHAR szBashFilename[] = TEXT(\"bash.exe\");\r\n\tUINT len;\r\n\r\n\tlen = GetSystemDirectory(szBashPath, bufSize);\r\n\tif ((len != 0) && (len + COUNTOF(szBashFilename) + 1 < bufSize) && PathAppend(szBashPath, TEXT(\"bash.exe\")))\r\n\t{\r\n\t\tif (PathFileExists(szBashPath))\r\n\t\t\treturn TRUE;\r\n\t}\r\n\r\n\t// If we are running 32 bit Winfile on 64 bit Windows, System32 folder is redirected to SysWow64, which\r\n\t// doesn't include bash.exe. So we also need to check Sysnative folder, which always maps to System32 folder.\r\n\tlen = ExpandEnvironmentStrings(TEXT(\"%SystemRoot%\\\\Sysnative\\\\bash.exe\"), szBashPath, bufSize);\r\n\tif (len != 0 && len <= bufSize)\r\n\t{\r\n\t\treturn PathFileExists(szBashPath);\r\n\t}\r\n\r\n\treturn FALSE;\r\n}\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  AppCommandProc() -                                                      */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nBOOL\r\nAppCommandProc(DWORD id)\r\n{\r\n   DWORD         dwFlags;\r\n   HMENU         hMenu;\r\n   HWND          hwndActive;\r\n   BOOL          bTemp;\r\n   HWND          hwndT;\r\n   TCHAR         szPath[MAXPATHLEN];\r\n   INT           ret;\r\n\r\n   hwndActive = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n\r\n   dwContext = IDH_HELPFIRST + id;\r\n\r\n   switch (id) {\r\n\r\n   case IDM_PERMISSIONS:\r\n   case IDM_AUDITING:\r\n   case IDM_OWNER:\r\n\r\n      WAITACLEDIT();\r\n\r\n      if (!lpfnAcledit)\r\n         break;\r\n\r\n      (*lpfnAcledit)(hwndFrame, (WPARAM)(id % 100), 0L);\r\n      break;\r\n\r\n   case IDM_SPLIT:\r\n      SendMessage(hwndActive, WM_SYSCOMMAND, SC_SPLIT, 0L);\r\n      break;\r\n\r\n   case IDM_TREEONLY:\r\n   case IDM_DIRONLY:\r\n   case IDM_BOTH:\r\n      {\r\n         RECT rc;\r\n         INT x;\r\n\r\n         if (hwndActive != hwndSearch) {\r\n\r\n            GetClientRect(hwndActive, &rc);\r\n\r\n            if (id == IDM_DIRONLY)\r\n            {\r\n               x = 0;\r\n            }\r\n            else if (id == IDM_TREEONLY)\r\n            {\r\n               x = rc.right;\r\n            }\r\n            else\r\n            {\r\n               x = rc.right / 2;\r\n            }\r\n\r\n            if (ResizeSplit(hwndActive, x))\r\n               SendMessage(hwndActive, WM_SIZE, SIZENOMDICRAP, MAKELONG(rc.right, rc.bottom));\r\n         }\r\n         break;\r\n      }\r\n\r\n   case IDM_ESCAPE:\r\n      bCancelTree = TRUE;\r\n      break;\r\n\r\n   case IDM_OPEN:\r\n\r\n      if (GetFocus() == hwndDriveList)\r\n         break;  /* user hit Enter in drive list */\r\n\r\n      if (GetKeyState(VK_MENU) < 0)\r\n         PostMessage(hwndFrame, WM_COMMAND, GET_WM_COMMAND_MPS(IDM_ATTRIBS, 0, 0));\r\n      else\r\n      {\r\n         TypeAheadString('\\0', NULL);\r\n\r\n         OpenOrEditSelection(hwndActive, FALSE);\r\n      }\r\n      break;\r\n\r\n   case IDM_EDIT:\r\n      TypeAheadString('\\0', NULL);\r\n\r\n      OpenOrEditSelection(hwndActive, TRUE);\r\n      break;\r\n      \r\n   case IDM_ASSOCIATE:\r\n\r\n      DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(ASSOCIATEDLG), hwndFrame, AssociateDlgProc);\r\n      break;\r\n\r\n   case IDM_GOTODIR:\r\n      DialogBox(hAppInstance, (LPTSTR)MAKEINTRESOURCE(GOTODIRDLG), hwndFrame, GotoDirDlgProc);\r\n\t  break;\r\n\r\n   case IDM_HISTORYBACK:\r\n   case IDM_HISTORYFWD:\r\n       {\r\n\t   HWND hwndT;\r\n\t   if (GetPrevHistoryDir(id == IDM_HISTORYFWD, &hwndT, szPath))\r\n\t   {\r\n\t\t   // history is saved with wildcard spec; remove it\r\n\t\t   StripFilespec(szPath);\r\n\t\t   SetCurrentPathOfWindow(szPath);\r\n\t   }\r\n\t   }\r\n\t   break;\r\n\r\n   case IDM_SEARCH:\r\n\r\n      // bug out if one is running\r\n\r\n      if (SearchInfo.hSearchDlg) {\r\n         SetFocus(SearchInfo.hSearchDlg);\r\n         return 0;\r\n      }\r\n\r\n      if (SearchInfo.hThread) {\r\n         //\r\n         // Don't create any new worker threads\r\n         // Just create old dialog\r\n         //\r\n\r\n         CreateDialog(hAppInstance, (LPTSTR) MAKEINTRESOURCE(SEARCHPROGDLG), hwndFrame, SearchProgDlgProc);\r\n         break;\r\n      }\r\n\r\n      dwSuperDlgMode = IDM_SEARCH;\r\n\r\n      DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(SEARCHDLG), hwndFrame, SearchDlgProc);\r\n      break;\r\n\r\n   case IDM_RUN:\r\n\r\n      DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(RUNDLG), hwndFrame, RunDlgProc);\r\n      break;\r\n\r\n   case IDM_STARTCMDSHELL:\r\n   {\r\n      BOOL bRunAs;\r\n      BOOL bUseCmd;\r\n      BOOL bDir;\r\n      DWORD cchEnv;\r\n      TCHAR szToRun[MAXPATHLEN];\r\n      LPTSTR szDir;\r\n\r\n#define ConEmuParamFormat TEXT(\" -Single -Dir \\\"%s\\\"\")\r\n#define CmdParamFormat TEXT(\"/k cd /d \")\r\n      TCHAR szParams[MAXPATHLEN + max(COUNTOF(CmdParamFormat), COUNTOF(ConEmuParamFormat))];\r\n\r\n      szDir = GetSelection(1 | 4 | 16, &bDir);\r\n      if (!bDir && szDir)\r\n         StripFilespec(szDir);\r\n\r\n      bRunAs = GetKeyState(VK_SHIFT) < 0;\r\n\r\n      // check if conemu exists: %ProgramFiles%\\ConEmu\\ConEmu64.exe\r\n      bUseCmd = TRUE;\r\n      cchEnv = GetEnvironmentVariable(TEXT(\"ProgramFiles\"), szToRun, MAXPATHLEN);\r\n      if (cchEnv != 0) {\r\n         if (lstrcmpi(szToRun + cchEnv - 6, TEXT(\" (x86)\")) == 0) {\r\n            szToRun[cchEnv - 6] = TEXT('\\0');\r\n         }\r\n         // NOTE: assume ProgramFiles directory and \"\\\\ConEmu\\\\ConEmu64.exe\" never exceed MAXPATHLEN\r\n         lstrcat(szToRun, TEXT(\"\\\\ConEmu\\\\ConEmu64.exe\"));\r\n         if (PathFileExists(szToRun)) {\r\n            wsprintf(szParams, ConEmuParamFormat, szDir);\r\n            bUseCmd = FALSE;\r\n         }\r\n      }\r\n\r\n      // use cmd.exe if ConEmu doesn't exist or we are running admin mode\r\n      if (bUseCmd) {\r\n         // NOTE: assume system directory and \"\\\\cmd.exe\" never exceed MAXPATHLEN\r\n         if (GetSystemDirectory(szToRun, MAXPATHLEN) != 0)\r\n            lstrcat(szToRun, TEXT(\"\\\\cmd.exe\"));\r\n         else\r\n            lstrcpy(szToRun, TEXT(\"cmd.exe\"));\r\n\r\n         if (bRunAs) {\r\n            // Execute a command prompt and cd into the directory\r\n            lstrcpy(szParams, CmdParamFormat);\r\n            lstrcat(szParams, szDir);\r\n         }\r\n         else {\r\n            szParams[0] = TEXT('\\0');\r\n         }\r\n      }\r\n\r\n      ret = ExecProgram(szToRun, szParams, szDir, FALSE, bRunAs);\r\n      LocalFree(szDir);\r\n   }\r\n   break;\r\n\r\n   case IDM_STARTEXPLORER:\r\n   {\r\n       BOOL bDir;\r\n       LPTSTR szDir;\r\n       TCHAR szToRun[MAXPATHLEN];\r\n\r\n       szDir = GetSelection(1 | 4 | 16, &bDir);\r\n       if (!bDir && szDir)\r\n           StripFilespec(szDir);\r\n\r\n       if (GetSystemDirectory(szToRun, MAXPATHLEN) != 0)\r\n           lstrcat(szToRun, TEXT(\"\\\\..\\\\explorer.exe\"));\r\n       else\r\n           lstrcpy(szToRun, TEXT(\"explorer.exe\"));\r\n\r\n       TCHAR szParams[MAXPATHLEN] = { TEXT('\\0') };\r\n\r\n       ret = ExecProgram(szToRun, szDir, szDir, FALSE, FALSE);\r\n       LocalFree(szDir);\r\n   }\r\n   break;\r\n\r\n    case IDM_STARTPOWERSHELL:\r\n       {\r\n           BOOL bRunAs;\r\n           BOOL bDir;\r\n           TCHAR szToRun[MAXPATHLEN];\r\n           LPTSTR szDir;\r\n#define PowerShellParamFormat TEXT(\" -noexit -command \\\"cd \\\\\\\"%s\\\\\\\"\\\"\")\r\n           TCHAR szParams[MAXPATHLEN + COUNTOF(PowerShellParamFormat)];\r\n\r\n           szDir = GetSelection(1 | 4 | 16, &bDir);\r\n           if (!bDir && szDir)\r\n               StripFilespec(szDir);\r\n\r\n           bRunAs = GetKeyState(VK_SHIFT) < 0;\r\n\r\n           if (GetPowershellExePath(szToRun))\r\n           {\r\n               wsprintf(szParams, PowerShellParamFormat, szDir);\r\n\r\n               ret = ExecProgram(szToRun, szParams, szDir, FALSE, bRunAs);\r\n           }\r\n\r\n           LocalFree(szDir);\r\n       }\r\n       break;\r\n\r\n\tcase IDM_STARTBASHSHELL:\r\n\t\t{\r\n\t\t\tBOOL bRunAs;\r\n\t\t\tBOOL bDir;\r\n\t\t\tTCHAR szToRun[MAXPATHLEN];\r\n\t\t\tLPTSTR szDir;\r\n\r\n\t\t\tszDir = GetSelection(1 | 4 | 16, &bDir);\r\n\t\t\tif (!bDir && szDir)\r\n\t\t\t\tStripFilespec(szDir);\r\n\r\n\t\t\tbRunAs = GetKeyState(VK_SHIFT) < 0;\r\n\r\n\t\t\tif (GetBashExePath(szToRun, COUNTOF(szToRun))) {\r\n\t\t\t\tret = ExecProgram(szToRun, NULL, szDir, FALSE, bRunAs);\r\n\t\t\t}\r\n\r\n\t\t\tLocalFree(szDir);\r\n\t\t}\r\n\t\tbreak;\r\n\r\n   case IDM_CLOSEWINDOW:\r\n       {\r\n           HWND      hwndActive;\r\n\r\n           hwndActive = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n           PostMessage(hwndActive, WM_CLOSE, 0, 0L);\r\n       }\r\n       break;\r\n\r\n   case IDM_SELECT:\r\n\r\n      // push the focus to the dir half so when they are done\r\n      // with the selection they can manipulate without undoing the\r\n      // selection.\r\n\r\n      if (hwndT = HasDirWindow(hwndActive))\r\n         SetFocus(hwndT);\r\n\r\n      DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(SELECTDLG), hwndFrame, SelectDlgProc);\r\n      break;\r\n\r\n   case IDM_MOVE:\r\n   case IDM_COPY:\r\n   case IDM_RENAME:\r\n   case IDM_SYMLINK:\r\n   case IDM_HARDLINK:\r\n      dwSuperDlgMode = id;\r\n\r\n      DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(MOVECOPYDLG), hwndFrame, SuperDlgProc);\r\n      break;\r\n\r\n   case IDM_PASTE:\r\n      {\r\n      IDataObject *pDataObj;\r\n\t  FORMATETC fmtetcDrop = { 0, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL };\r\n\t  UINT uFormatEffect = RegisterClipboardFormat(CFSTR_PREFERREDDROPEFFECT);\r\n\t  FORMATETC fmtetcEffect = { uFormatEffect, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL };\r\n\t  STGMEDIUM stgmed;\r\n\t  DWORD dwEffect = DROPEFFECT_COPY;\r\n\t  LPWSTR szFiles = NULL;\r\n\r\n\t  OleGetClipboard(&pDataObj);\t\t// pDataObj == NULL if error\r\n\r\n\t  if(pDataObj != NULL && pDataObj->lpVtbl->GetData(pDataObj, &fmtetcEffect, &stgmed) == S_OK)\r\n\t  {\r\n\t  \tLPDWORD lpEffect = GlobalLock(stgmed.hGlobal);\r\n\t  \tif(*lpEffect & DROPEFFECT_COPY) dwEffect = DROPEFFECT_COPY;\r\n\t\tif(*lpEffect & DROPEFFECT_MOVE) dwEffect = DROPEFFECT_MOVE;\r\n\t\tGlobalUnlock(stgmed.hGlobal);\r\n\t  \tReleaseStgMedium(&stgmed);\r\n\t  }\r\n      \r\n\t  // Try CF_HDROP\r\n\t  if(pDataObj != NULL)\r\n\t\tszFiles = QuotedDropList(pDataObj);\r\n\r\n\t  // Try CFSTR_FILEDESCRIPTOR\r\n\t  if (szFiles == NULL)\r\n\t  {\r\n\t\t\tszFiles = QuotedContentList(pDataObj);\r\n\t\t\tif (szFiles != NULL)\r\n\t\t\t\t// need to move the already copied files\r\n\t\t\t\tdwEffect = DROPEFFECT_MOVE;\r\n\t  }\r\n\r\n\t  // Try \"LongFileNameW\"\r\n\t  fmtetcDrop.cfFormat = RegisterClipboardFormat(TEXT(\"LongFileNameW\"));\r\n\t  if(szFiles == NULL && pDataObj != NULL && pDataObj->lpVtbl->GetData(pDataObj, &fmtetcDrop, &stgmed) == S_OK)\r\n\t  {\r\n\t  \tLPWSTR lpFile = GlobalLock(stgmed.hGlobal);\r\n\t  \tSIZE_T cchFile = wcslen(lpFile);\r\n\t\tszFiles = (LPWSTR)LocalAlloc(LMEM_FIXED, (cchFile+3) * sizeof(WCHAR));\r\n\t\tlstrcpy (szFiles+1, lpFile);\r\n\t\t*szFiles = '\\\"';\r\n\t\t*(szFiles+1+cchFile) = '\\\"';\r\n\t\t*(szFiles+1+cchFile+1) = '\\0';\t\t\r\n\r\n\t\tGlobalUnlock(stgmed.hGlobal);\r\n\t\t\r\n\t\t// release the data using the COM API\r\n\t\tReleaseStgMedium(&stgmed);\r\n\t  }\r\n\r\n\t  if (szFiles != NULL)\r\n\t  {\r\n\t\tWCHAR     szTemp[MAXPATHLEN];\r\n\r\n\t\tSendMessage(hwndActive, FS_GETDIRECTORY, COUNTOF(szTemp), (LPARAM)szTemp);\r\n\r\n\t    AddBackslash(szTemp);\r\n\t    lstrcat(szTemp, szStarDotStar);   // put files in this dir\r\n\r\n\t    CheckEsc(szTemp);\r\n\r\n\t\tDMMoveCopyHelper(szFiles, szTemp, dwEffect == DROPEFFECT_COPY);\r\n\r\n\t\tLocalFree((HLOCAL)szFiles);\t\r\n\t  }\r\n\r\n\t  if (pDataObj != NULL)\r\n\t    pDataObj->lpVtbl->Release(pDataObj);\r\n   \t  }\r\n   \t  break;\r\n   \t  \r\n   case IDM_PRINT:\r\n      dwSuperDlgMode = id;\r\n\r\n      DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(MYPRINTDLG), hwndFrame, SuperDlgProc);\r\n      break;\r\n\r\n   case IDM_DELETE:\r\n      dwSuperDlgMode = id;\r\n\r\n      DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(DELETEDLG), hwndFrame, SuperDlgProc);\r\n      break;\r\n\r\n   case IDM_COPYTOCLIPBOARD:\r\n   case IDM_CUTTOCLIPBOARD:\r\n\t  {\r\n         LPTSTR  pszFiles;\r\n\t\t HANDLE hMemLongW, hMemTextW, hDrop;\r\n\t\t LONG cbMemLong;\r\n\t\t HANDLE hMemDropEffect;\r\n\t\t TCHAR szPathLong[MAXPATHLEN];\r\n\t\t POINT pt;\r\n\t\t INT iMultipleResult;\r\n\r\n\t\t pszFiles=GetSelection(4, NULL);\r\n\t\t if (pszFiles == NULL) {\r\n\t\t\t break;\r\n\t\t }\r\n\r\n\t\t // LongFileNameW (only if one file or directory)\r\n\t\t // This is allocated twice to record a text form also;\r\n\t\t // clipboard requires one handle per format despite them\r\n\t\t // having identical contents\r\n\t\t hMemLongW = NULL;\r\n\t\t hMemTextW = NULL;\r\n\t\t iMultipleResult = CheckMultiple(pszFiles);\r\n\t\t if (iMultipleResult == 2 || iMultipleResult == 0)\r\n\t\t {\r\n\t\t\t GetNextFile(pszFiles, szPathLong, COUNTOF(szPathLong));\r\n\t\t\t cbMemLong = ByteCountOf(lstrlen(szPathLong)+1);\r\n\t\t\t hMemLongW = GlobalAlloc(GPTR|GMEM_DDESHARE, cbMemLong);\r\n\t\t\t if (hMemLongW)\r\n\t\t\t {\r\n\t\t\t\t lstrcpy(GlobalLock(hMemLongW), szPathLong);\r\n\t\t\t\t GlobalUnlock(hMemLongW);\r\n\t\t\t }\r\n\t\t\t hMemTextW = GlobalAlloc(GPTR|GMEM_DDESHARE, cbMemLong);\r\n\t\t\t if (hMemTextW)\r\n\t\t\t {\r\n\t\t\t\t lstrcpy(GlobalLock(hMemTextW), szPathLong);\r\n\t\t\t\t GlobalUnlock(hMemTextW);\r\n\t\t\t }\r\n\t\t }\r\n\r\n\t\t hMemDropEffect = NULL;\r\n\t\t if (id == IDM_CUTTOCLIPBOARD) {\r\n\t\t\t hMemDropEffect = GlobalAlloc(GPTR | GMEM_DDESHARE, sizeof(DWORD));\r\n\t\t\t if (hMemDropEffect) {\r\n\t\t\t\t *(DWORD *)GlobalLock(hMemDropEffect) = DROPEFFECT_MOVE;\r\n\t\t\t\t GlobalUnlock(hMemDropEffect);\r\n\t\t\t }\r\n\t\t }\r\n\r\n\t\t // CF_HDROP\r\n\t\t pt.x = 0; pt.y = 0;\r\n\t\t hDrop = CreateDropFiles(pt, FALSE, pszFiles);\r\n\r\n\t\t if (OpenClipboard(hwndFrame)) \r\n\t\t {\r\n\t\t\tEmptyClipboard();\r\n\r\n\t\t\tif (hMemDropEffect) {\r\n\t\t\t\tSetClipboardData(RegisterClipboardFormat(CFSTR_PREFERREDDROPEFFECT), hMemDropEffect);\r\n\t\t\t}\r\n\r\n\t\t\tSetClipboardData(RegisterClipboardFormat(TEXT(\"LongFileNameW\")), hMemLongW);\r\n\t\t\tSetClipboardData(CF_UNICODETEXT, hMemTextW);\r\n\t\t\tSetClipboardData(CF_HDROP, hDrop);\r\n\r\n\t\t\tCloseClipboard();\r\n\t\t }\r\n\t\t else \r\n\t\t {\r\n\t\t\t  GlobalFree(hMemLongW);\r\n\t\t\t  GlobalFree(hMemTextW);\r\n\t\t\t  GlobalFree(hDrop);\r\n\t\t }\r\n\r\n         LocalFree((HANDLE)pszFiles);\r\n\r\n\t\t UpdateMoveStatus(id == IDM_CUTTOCLIPBOARD ? DROPEFFECT_MOVE : DROPEFFECT_COPY);\r\n\t  }\r\n      break;\r\n\r\n   case IDM_ATTRIBS:\r\n      {\r\n         LPTSTR pSel, p;\r\n         INT count;\r\n\t     TCHAR         szTemp[MAXPATHLEN];\r\n\r\n\r\n         BOOL bDir = FALSE;\r\n\r\n         // should do the multiple or single file properties\r\n\r\n         pSel = GetSelection(0, &bDir);\r\n\r\n         if (!pSel)\r\n            break;\r\n\r\n         count = 0;\r\n         p = pSel;\r\n\r\n         while (p = GetNextFile(p, szTemp, COUNTOF(szTemp))) {\r\n            count++;\r\n         }\r\n\r\n         LocalFree((HANDLE)pSel);\r\n\r\n\t\t if (count == 1)\r\n\t\t {\r\n\t\t\t SHELLEXECUTEINFO sei;\r\n\r\n\t\t\t memset(&sei, 0, sizeof(sei));\r\n\t\t\t sei.cbSize = sizeof(sei);\r\n\t\t\t sei.fMask = SEE_MASK_INVOKEIDLIST;\r\n\t\t\t sei.hwnd = hwndActive;\r\n\t\t\t sei.lpVerb = TEXT(\"properties\");\r\n\t\t\t sei.lpFile = szTemp;\r\n\r\n\t\t\t if (!bDir)\r\n\t\t\t {\r\n\t\t        SendMessage(hwndActive, FS_GETDIRECTORY, COUNTOF(szPath), (LPARAM)szPath);\r\n\t\t\t\tStripBackslash(szPath);\r\n\r\n\t\t\t\tsei.lpDirectory = szPath;\r\n\t\t\t }\r\n\r\n\t\t\t ShellExecuteEx(&sei);\r\n\t\t }\r\n         else if (count > 1)\r\n            DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(MULTIPLEATTRIBSDLG), hwndFrame, AttribsDlgProc);\r\n\r\n#if 0\r\n         else if (bDir)\r\n            DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(ATTRIBSDLGDIR), hwndFrame, AttribsDlgProc);\r\n\r\n         else\r\n            DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(ATTRIBSDLG), hwndFrame, AttribsDlgProc);\r\n#endif \r\n         break;\r\n      }\r\n\r\n   case IDM_COMPRESS:\r\n   case IDM_UNCOMPRESS:\r\n      {\r\n         LPTSTR pSel, p;\r\n         DWORD  dwAttr;\r\n         BOOL bDir = FALSE;\r\n         BOOL bIgnoreAll = FALSE;\r\n\r\n         //\r\n         //  Should do the multiple or single file properties.\r\n         //\r\n         pSel = GetSelection(0, &bDir);\r\n\r\n         if (!pSel)\r\n            break;\r\n\r\n         p = pSel;\r\n\r\n         dwAttr = (id == IDM_COMPRESS) ? ATTR_COMPRESSED : 0x0000;\r\n\r\n         SendMessage(hwndFrame, FS_DISABLEFSC, 0, 0L);\r\n\r\n         while (p = GetNextFile(p, szPath, COUNTOF(szPath)))\r\n         {\r\n            QualifyPath(szPath);\r\n\r\n            if (!WFCheckCompress(hwndActive, szPath, dwAttr, FALSE, &bIgnoreAll))\r\n            {\r\n               //\r\n               //  WFCheckCompress will only be FALSE if the user\r\n               //  chooses to Abort the compression.\r\n               //\r\n               break;\r\n            }\r\n\r\n            //\r\n            //  Clear all the FSC messages from the message queue.\r\n            //\r\n            wfYield();\r\n         }\r\n\r\n         SendMessage(hwndFrame, FS_ENABLEFSC, 0, 0L);\r\n\r\n         LocalFree((HANDLE)pSel);\r\n\r\n         break;\r\n      }\r\n\r\n   case IDM_MAKEDIR:\r\n      DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(MAKEDIRDLG), hwndFrame, MakeDirDlgProc);\r\n      break;\r\n\r\n   case IDM_SELALL:\r\n   case IDM_DESELALL:\r\n   {\r\n      INT  iSave;\r\n      HWND hwndLB;\r\n      HWND hwndDir;\r\n      LPXDTALINK lpStart;\r\n      LPXDTA lpxdta;\r\n\r\n      hwndDir = HasDirWindow(hwndActive);\r\n\r\n      if (!hwndDir)\r\n         break;\r\n\r\n      hwndLB = GetDlgItem(hwndDir, IDCW_LISTBOX);\r\n\r\n      if (!hwndLB)\r\n         break;\r\n\r\n      SendMessage(hwndLB, WM_SETREDRAW, FALSE, 0L);\r\n\r\n      iSave = (INT)SendMessage(hwndLB, LB_GETCURSEL, 0, 0L);\r\n      SendMessage(hwndLB, LB_SETSEL, (id == IDM_SELALL), -1L);\r\n\r\n      if (id == IDM_DESELALL) {\r\n\r\n         SendMessage(hwndLB, LB_SETSEL, TRUE, (LONG)iSave);\r\n\r\n      } else if (hwndActive != hwndSearch) {\r\n\r\n         //\r\n         // Is the first item the [..] directory?\r\n         //\r\n         lpStart = (LPXDTALINK)GetWindowLongPtr(hwndDir, GWL_HDTA);\r\n\r\n         if (lpStart) {\r\n\r\n            lpxdta = MemLinkToHead(lpStart)->alpxdtaSorted[0];\r\n\r\n            if (lpxdta->dwAttrs & ATTR_PARENT)\r\n               SendMessage(hwndLB, LB_SETSEL, 0, 0L);\r\n         }\r\n      }\r\n      SendMessage(hwndLB, WM_SETREDRAW, TRUE, 0L);\r\n      InvalidateRect(hwndLB, NULL, FALSE);\r\n\r\n      //\r\n      // Emulate a SELCHANGE notification.\r\n      //\r\n      SendMessage(hwndDir,\r\n                  WM_COMMAND,\r\n                  GET_WM_COMMAND_MPS(0, hwndLB, LBN_SELCHANGE));\r\n\r\n      break;\r\n   }\r\n\r\n   case IDM_SAVENOW:\r\n\r\n      SaveWindows(hwndFrame);\r\n      break;\r\n\r\n   case IDM_EXIT:\r\n\r\n      // SHIFT Exit saves settings, doesn't exit.\r\n\r\n      if (GetKeyState(VK_SHIFT) < 0) {\r\n         SaveWindows(hwndFrame);\r\n         break;\r\n      }\r\n\r\n      if (iReadLevel) {\r\n         // don't exit now.  setting this variable will force the\r\n         // tree read to terminate and then post a close message\r\n         // when it is safe\r\n         bCancelTree = 2;\r\n         break;\r\n\r\n      }\r\n\r\n      //\r\n      // If disk formatting/copying, ask user if they really want to quit.\r\n      //\r\n\r\n      if (CancelInfo.hThread) {\r\n         DWORD dwIDS;\r\n\r\n         switch(CancelInfo.eCancelType) {\r\n         case CANCEL_FORMAT:\r\n\r\n            dwIDS = IDS_BUSYFORMATQUITVERIFY;\r\n            break;\r\n\r\n         case CANCEL_COPY:\r\n\r\n            dwIDS = IDS_BUSYCOPYQUITVERIFY;\r\n            break;\r\n\r\n         default:\r\n\r\n            //\r\n            // We should never get here\r\n            //\r\n            dwIDS = IDS_BUSYFORMATQUITVERIFY;\r\n            break;\r\n         }\r\n\r\n\r\n         if (MyMessageBox(hwndFrame, IDS_WINFILE, dwIDS,\r\n            MB_ICONEXCLAMATION | MB_OKCANCEL) == IDCANCEL) {\r\n\r\n            break;\r\n         }\r\n      }\r\n\r\n  \t  SetCurrentDirectory(szOriginalDirPath);\r\n\r\n      if (bSaveSettings)\r\n         SaveWindows(hwndFrame);\r\n\r\n      return FALSE;\r\n      break;\r\n\r\n   case IDM_LABEL:\r\n      if (!FmifsLoaded())\r\n         break;\r\n\r\n      DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(DISKLABELDLG), hwndFrame, DiskLabelDlgProc);\r\n      break;\r\n\r\n   case IDM_DISKCOPY:\r\n\r\n      if (CancelInfo.hCancelDlg) {\r\n         SetFocus(CancelInfo.hCancelDlg);\r\n         break;\r\n      }\r\n\r\n      if (CancelInfo.hThread) {\r\n         //\r\n         // Don't create any new worker threads\r\n         // Just create old dialog\r\n         //\r\n\r\n         CreateDialog(hAppInstance, (LPTSTR) MAKEINTRESOURCE(CANCELDLG), hwndFrame, CancelDlgProc);\r\n\r\n         break;\r\n      }\r\n\r\n      if (!FmifsLoaded())\r\n         break;\r\n\r\n      //\r\n      // Initialize CancelInfo structure\r\n      //\r\n      CancelInfo.bCancel = FALSE;\r\n      CancelInfo.dReason = IDS_COPYDISKERRMSG;\r\n      CancelInfo.fmifsSuccess = FALSE;\r\n      CancelInfo.Info.Copy.bFormatDest = FALSE;\r\n      CancelInfo.nPercentDrawn = 0;\r\n      CancelInfo.bModal = FALSE;\r\n\r\n      CancelInfo.eCancelType = CANCEL_COPY;\r\n\r\n      if (nFloppies == 1) {\r\n         INT i;\r\n\r\n         for (i=0; i < cDrives; i++) {\r\n            if (IsRemovableDrive(rgiDrive[i]))\r\n               break;\r\n         }\r\n\r\n         //\r\n         // !! LATER !!\r\n         // Message box with error.\r\n         //\r\n\r\n         if (i == cDrives)\r\n            break;\r\n\r\n         CancelInfo.Info.Copy.iSourceDrive =\r\n            CancelInfo.Info.Copy.iDestDrive = i;\r\n\r\n         if (bConfirmFormat) {\r\n            LoadString(hAppInstance, IDS_DISKCOPYCONFIRMTITLE, szTitle, COUNTOF(szTitle));\r\n            LoadString(hAppInstance, IDS_DISKCOPYCONFIRM, szMessage, COUNTOF(szMessage));\r\n            if (MessageBox(hwndFrame, szMessage, szTitle, MB_ICONEXCLAMATION | MB_YESNO | MB_DEFBUTTON1) != IDYES)\r\n               break;\r\n         }\r\n\r\n         LockFormatDisk(i,i,IDS_DRIVEBUSY_COPY, IDM_FORMAT, TRUE);\r\n\r\n         CreateDialog(hAppInstance, (LPTSTR) MAKEINTRESOURCE(CANCELDLG), hwndFrame, CancelDlgProc);\r\n\r\n      } else {\r\n         dwSuperDlgMode = id;\r\n         ret = (INT)DialogBox(hAppInstance, MAKEINTRESOURCE(CHOOSEDRIVEDLG), hwndFrame, ChooseDriveDlgProc);\r\n      }\r\n\r\n      break;\r\n\r\n   case IDM_FORMAT:\r\n\r\n      if (!hwndFormatSelect)\r\n      {\r\n         hwndFormatSelect = CreateDialog(hAppInstance, (LPTSTR)MAKEINTRESOURCE(FORMATSELECTDLG),\r\n            hwndFrame, FormatSelectDlgProc);\r\n      }\r\n      else\r\n      {\r\n         ShowWindow(hwndFormatSelect, SW_SHOW);\r\n         SetActiveWindow(hwndFormatSelect);\r\n      }\r\n\r\n      break;\r\n\r\n   case IDM_SHAREAS:\r\n\r\n      //\r\n      // Check to see if our delayed loading has finished.\r\n      //\r\n      WAITNET();\r\n\r\n      if (lpfnShowShareFolderUI) {\r\n         LPTSTR szDir;\r\n         HRESULT hr;\r\n         BOOL bDir;\r\n            \r\n         bDir = FALSE;\r\n         szDir = GetSelection(1 | 4 | 16, &bDir);\r\n         hr = ShowShareFolderUI(hwndFrame, szDir);\r\n         if (hr != S_OK) {\r\n            FormatError(TRUE, szMessage, COUNTOF(szMessage), ERROR_INVALID_SHARENAME);\r\n\r\n            LoadString(hAppInstance, IDS_NETERR, szTitle, COUNTOF(szTitle));\r\n            MessageBox(hwndFrame, szMessage, szTitle, MB_OK | MB_ICONSTOP);\r\n         }\r\n         InvalidateAllNetTypes();\r\n      }\r\n      break;\r\n\r\n   case IDM_STOPSHARE:\r\n\r\n      //\r\n      // IDM_STOPSHARE not shown anymore, because there is no way to open then 'Stop Share Dialog' with W7/10/11 \r\n      //\r\n      break;\r\n\r\n#if 0\r\n   case IDM_CONNECTIONS:\r\n\r\n      SwitchToSafeDrive();\r\n\r\n      //\r\n      // Check to see if our delayed loading has finished.\r\n      //\r\n      WAITNET();\r\n\r\n      NotifyPause((UINT)-1, DRIVE_REMOTE);\r\n\r\n      ret = WNetConnectionDialog2(hwndFrame, RESOURCETYPE_DISK,\r\n         wszWinfileHelp, IDH_CONNECTIONS);\r\n\r\n      if (WN_SUCCESS == ret) {\r\n\r\n         UpdateConnections(TRUE);\r\n\r\n      } else if (0xffffffff != ret) {\r\n\r\n         //\r\n         // Report error\r\n         // ret must the error code\r\n         //\r\n         goto DealWithNetError_NotifyResume;\r\n      }\r\n\r\n      NotifyResume((UINT)-1, DRIVE_REMOTE);\r\n\r\n      break;\r\n#endif\r\n\r\n   case IDM_CONNECT:\r\n\r\n      //\r\n      // Check to see if our delayed loading has finished.\r\n      //\r\n      WAITNET();\r\n\r\n      //\r\n      // Remove all network notifications since we don't want\r\n      // the \"do you really want to disconnect; there are active\r\n      // connections\" message to pop up due to our open handle.\r\n      // This occurs when replace z: \\\\popcorn\\public with \\\\kernel\\scratch\r\n      //\r\n      NotifyPause((UINT)-1, DRIVE_REMOTE);\r\n\r\n      ret =  WNetConnectionDialog2(hwndFrame, RESOURCETYPE_DISK,\r\n         wszWinfileHelp, IDH_CONNECT);\r\n\r\n      if (WN_SUCCESS == ret) {\r\n\r\n         ret = UpdateConnectionsOnConnect();\r\n\r\n         if (bNewWinOnConnect && -1 != ret) {\r\n            NewTree(ret, hwndActive);\r\n         }\r\n\r\n         //\r\n         // UpdateDriveList called in UpdateConnectionsOnConnect()\r\n         //\r\n         UpdateConnections(FALSE);\r\n\r\n      } else if (0xffffffff != ret) {\r\n\r\n         //\r\n         // Report error\r\n         //\r\n\r\nDealWithNetError_NotifyResume:\r\n\r\n         FormatError(TRUE, szMessage, COUNTOF(szMessage), ret);\r\n\r\n         LoadString(hAppInstance, IDS_NETERR, szTitle, COUNTOF(szTitle));\r\n         MessageBox(hwndFrame, szMessage, szTitle, MB_OK|MB_ICONSTOP);\r\n\r\n      }\r\n\r\n      //\r\n      // Restart notifications\r\n      //\r\n      NotifyResume((UINT)-1, DRIVE_REMOTE);\r\n\r\n      break;\r\n\r\n   case IDM_DISCONNECT:\r\n\r\n       if (iReadLevel && IsLastWindow())\r\n          break;\r\n\r\n       SwitchToSafeDrive();\r\n\r\n       //\r\n       // Remove all network notifications since we don't want\r\n       // the \"do you really want to disconnect; there are active\r\n       // connections\" message to pop up due to our open handle.\r\n       //\r\n       NotifyPause((UINT)-1, DRIVE_REMOTE);\r\n\r\n       //\r\n       // Check to see if our delayed loading has finished.\r\n       //\r\n       WAITNET();\r\n\r\n       ret = WNetDisconnectDialog2(hwndFrame, RESOURCETYPE_DISK,\r\n          wszWinfileHelp, IDH_DISCONNECT);\r\n\r\n       if (WN_SUCCESS == ret) {\r\n\r\n          UpdateConnections(TRUE);\r\n\r\n       } else if (0xffffffff != ret) {\r\n\r\n          //\r\n          // Report error\r\n          // ret must the error code\r\n          //\r\n          goto DealWithNetError_NotifyResume;\r\n       }\r\n\r\n       //\r\n       // Restart notifications\r\n       //\r\n       NotifyResume((UINT)-1, DRIVE_REMOTE);\r\n\r\n       break;\r\n\r\n    case IDM_EXPONE:\r\n       if (hwndT = HasTreeWindow(hwndActive))\r\n          SendMessage(hwndT, TC_EXPANDLEVEL, FALSE, 0L);\r\n       break;\r\n\r\n    case IDM_EXPSUB:\r\n       if (hwndT = HasTreeWindow(hwndActive))\r\n          SendMessage(hwndT, TC_EXPANDLEVEL, TRUE, 0L);\r\n       break;\r\n\r\n    case IDM_EXPALL:\r\n       if (hwndT = HasTreeWindow(hwndActive))\r\n          SendMessage(hwndT, TC_SETDRIVE, MAKEWORD(TRUE, 0), 0L);\r\n       break;\r\n\r\n    case IDM_COLLAPSE:\r\n       if (hwndT = HasTreeWindow(hwndActive))\r\n          SendMessage(hwndT, TC_COLLAPSELEVEL, 0, 0L);\r\n       break;\r\n\r\n    case IDM_VNAME:\r\n       CheckTBButton(id);\r\n\r\n       dwFlags = VIEW_NAMEONLY | (GetWindowLongPtr(hwndActive, GWL_VIEW) & VIEW_NOCHANGE);\r\n       id = CD_VIEW;\r\n       goto ChangeDisplay;\r\n\r\n    case IDM_VDETAILS:\r\n\r\n       CheckTBButton(id);\r\n\r\n       dwFlags = VIEW_EVERYTHING | (GetWindowLongPtr(hwndActive, GWL_VIEW) & VIEW_NOCHANGE);\r\n       id = CD_VIEW;\r\n       goto ChangeDisplay;\r\n\r\n    case IDM_VOTHER:\r\n       DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(OTHERDLG), hwndFrame, OtherDlgProc);\r\n\r\n       dwFlags = GetWindowLongPtr(hwndActive, GWL_VIEW) & VIEW_EVERYTHING;\r\n       if (dwFlags != VIEW_NAMEONLY && dwFlags != VIEW_EVERYTHING)\r\n          CheckTBButton(id);\r\n\r\n       break;\r\n\r\n    case IDM_BYNAME:\r\n    case IDM_BYTYPE:\r\n    case IDM_BYSIZE:\r\n    case IDM_BYDATE:\r\n    case IDM_BYFDATE:\r\n\r\n       CheckTBButton(id);\r\n\r\n       dwFlags = (id - IDM_BYNAME) + IDD_NAME;\r\n       id = CD_SORT;\r\n\r\nChangeDisplay:\r\n\r\n       if (hwndT = HasDirWindow(hwndActive)) {\r\n          SendMessage(hwndT, FS_CHANGEDISPLAY, id, MAKELONG(LOWORD(dwFlags), 0));\r\n       } else if (hwndActive == hwndSearch) {\r\n          SetWindowLongPtr(hwndActive, GWL_VIEW, dwFlags);\r\n          SendMessage(hwndSearch, FS_CHANGEDISPLAY, CD_VIEW, 0L);\r\n//        InvalidateRect(hwndActive, NULL, TRUE);\r\n       }\r\n\r\n          break;\r\n\r\n    case IDM_VINCLUDE:\r\n       DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(INCLUDEDLG), hwndFrame, IncludeDlgProc);\r\n       break;\r\n\r\n    case IDM_CONFIRM:\r\n       DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(CONFIRMDLG), hwndFrame, ConfirmDlgProc);\r\n       break;\r\n\r\n    case IDM_PREF:\r\n       DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(PREFDLG), hwndFrame, PrefDlgProc);\r\n       break;\r\n\r\n    case IDM_STATUSBAR:\r\n       bTemp = bStatusBar = !bStatusBar;\r\n       WritePrivateProfileBool(szStatusBar, bStatusBar);\r\n\r\n       ShowWindow(hwndStatus, bStatusBar ? SW_SHOW : SW_HIDE);\r\n       MDIClientSizeChange(hwndActive,TOOLBAR_FLAG|DRIVEBAR_FLAG);\r\n\r\n       goto CHECK_OPTION;\r\n       break;\r\n\r\n    case IDM_DRIVEBAR:\r\n       bTemp = bDriveBar = !bDriveBar;\r\n       WritePrivateProfileBool(szDriveBar, bDriveBar);\r\n\r\n       ShowWindow(hwndDriveBar, bDriveBar ? SW_SHOW : SW_HIDE);\r\n       MDIClientSizeChange(hwndActive,DRIVEBAR_FLAG|TOOLBAR_FLAG);\r\n\r\n       goto CHECK_OPTION;\r\n       break;\r\n\r\n    case IDM_TOOLBAR:\r\n       bTemp = bToolbar = !bToolbar;\r\n       WritePrivateProfileBool(szToolbar, bToolbar);\r\n\r\n       ShowWindow(hwndToolbar, bToolbar ? SW_SHOW : SW_HIDE);\r\n       MDIClientSizeChange(hwndActive,TOOLBAR_FLAG|DRIVEBAR_FLAG);\r\n\r\n       goto CHECK_OPTION;\r\n       break;\r\n\r\n    case IDM_TOOLBARCUST:\r\n    {\r\n       DWORD dwSave;\r\n\r\n       dwSave = dwContext;\r\n       dwContext = IDH_CTBAR;\r\n       SendMessage(hwndToolbar, TB_CUSTOMIZE, 0, 0L);\r\n       dwContext = dwSave;\r\n\r\n       break;\r\n    }\r\n\r\n    case IDM_NEWWINONCONNECT:\r\n       bTemp = bNewWinOnConnect = !bNewWinOnConnect;\r\n       WritePrivateProfileBool(szNewWinOnNetConnect, bNewWinOnConnect);\r\n       goto CHECK_OPTION;\r\n       break;\r\n\r\n    case IDM_DRIVELISTJUMP:\r\n\r\n      if (!bToolbar)\r\n         break;\r\n\r\n      if (SendMessage(hwndDriveList, CB_GETDROPPEDSTATE, 0, 0L)) {\r\n         SendMessage(hwndDriveList, CB_SHOWDROPDOWN, FALSE, 0L);\r\n      } else {\r\n         SetFocus(hwndDriveList);\r\n         SendMessage(hwndDriveList, CB_SHOWDROPDOWN, TRUE, 0L);\r\n      }\r\n\r\n      break;\r\n\r\n    case IDM_FONT:\r\n       dwContext = IDH_FONT;\r\n       NewFont();\r\n       break;\r\n\r\n    case IDM_ADDPLUSES:\r\n\r\n       if (!(hwndT = HasTreeWindow(hwndActive)))\r\n          break;\r\n\r\n       // toggle pluses view bit\r\n\r\n       dwFlags = (DWORD)(GetWindowLongPtr(hwndActive, GWL_VIEW) ^ VIEW_PLUSES);\r\n\r\n       SetWindowLongPtr(hwndActive, GWL_VIEW, dwFlags);\r\n\r\n       if (dwFlags & VIEW_PLUSES) {\r\n          // need to reread the tree to do this\r\n\r\n          SendMessage(hwndActive, FS_GETDIRECTORY, COUNTOF(szPath), (LPARAM)szPath);\r\n          SendMessage(hwndT, TC_SETDRIVE, MAKEWORD(FALSE, 0), (LPARAM)szPath);\r\n       } else {\r\n\r\n          //\r\n          // repaint only\r\n          //\r\n          hwndT = GetDlgItem(hwndT, IDCW_TREELISTBOX);\r\n          InvalidateRect(hwndT, NULL, FALSE);\r\n       }\r\n\r\n       bTemp = dwFlags & VIEW_PLUSES;\r\n       goto CHECK_OPTION;\r\n\r\n    case IDM_SAVESETTINGS:\r\n       bTemp = bSaveSettings = !bSaveSettings;\r\n       WritePrivateProfileBool(szSaveSettings, bSaveSettings);\r\n       goto CHECK_OPTION;\r\n\r\n    case IDM_MINONRUN:\r\n       bTemp = bMinOnRun = !bMinOnRun;\r\n       WritePrivateProfileBool(szMinOnRun, bMinOnRun);\r\n       goto CHECK_OPTION;\r\n\r\n    case IDM_INDEXONLAUNCH:\r\n       bTemp = bIndexOnLaunch = !bIndexOnLaunch;\r\n       WritePrivateProfileBool(szIndexOnLaunch, bIndexOnLaunch);\r\n       goto CHECK_OPTION;\r\n\r\nCHECK_OPTION:\r\n       //\r\n       // Check/Uncheck the menu item.\r\n       //\r\n       hMenu = GetSubMenu(GetMenu(hwndFrame), MapIDMToMenuPos(IDM_OPTIONS));\r\n       CheckMenuItem(hMenu, id, (bTemp ? MF_CHECKED : MF_UNCHECKED));\r\n       break;\r\n\r\n    case IDM_NEWWINDOW:\r\n       NewTree((INT)SendMessage(hwndActive, FS_GETDRIVE, 0, 0L) - CHAR_A, hwndActive);\r\n       break;\r\n\r\n    case IDM_CASCADE:\r\n       SendMessage(hwndMDIClient, WM_MDICASCADE, 0L, 0L);\r\n       break;\r\n\r\n    case IDM_TILE:\r\n       SendMessage(hwndMDIClient, WM_MDITILE, 0, 0L);\r\n       break;\r\n\r\n    case IDM_TILEHORIZONTALLY:\r\n       SendMessage(hwndMDIClient, WM_MDITILE, 1, 0L);\r\n       break;\r\n\r\n    case IDM_ARRANGE:\r\n       SendMessage(hwndMDIClient, WM_MDIICONARRANGE, 0L, 0L);\r\n       break;\r\n\r\n    case IDM_REFRESH:\r\n       {\r\n          INT i;\r\n\r\n#define NUMDRIVES (sizeof(rgiDrive)/sizeof(rgiDrive[0]))\r\n          INT rgiSaveDrives[NUMDRIVES];\r\n\r\n          if (WAITNET_LOADED) {\r\n\r\n             //\r\n             // Refresh net status\r\n             //\r\n             WNetStat(NS_REFRESH);\r\n\r\n             AddNetMenuItems();\r\n          }\r\n\r\n          for (i=0; i<NUMDRIVES; ++i)\r\n             rgiSaveDrives[i] = rgiDrive[i];\r\n\r\n          for (i = 0; i < iNumExtensions; i++) {\r\n             (extensions[i].ExtProc)(hwndFrame, FMEVENT_USER_REFRESH, 0L);\r\n          }\r\n\r\n          RefreshWindow(hwndActive, TRUE, TRUE);\r\n\r\n          // If any drive has changed, then we must resize all drive windows\r\n          // (done by sending the WM_SIZE below) and invalidate them so that\r\n          // they will reflect the current status\r\n\r\n          for (i=0; i<NUMDRIVES; ++i) {\r\n             if (rgiDrive[i] != rgiSaveDrives[i]) {\r\n\r\n                // RedoDriveWindows no longer calls\r\n                // updatedrivelist or initdrivebitmaps;\r\n                // they are called in RefreshWindow above\r\n                // (nix, above!), so don't duplicate.\r\n                // (a speed hack now that updatedrivelist /\r\n                // initdrivebitmaps are s-l-o-w.\r\n\r\n                RedoDriveWindows(hwndActive);\r\n                break; /* Break out of the for loop */\r\n             }\r\n          }\r\n\r\n          //\r\n          // update free space\r\n          // (We invalidated the aDriveInfo cache, so this is enough)\r\n          //\r\n          SPC_SET_INVALID(qFreeSpace);\r\n          UpdateStatus(hwndActive);\r\n\r\n          EnableDisconnectButton();\r\n\r\n\t\t  StartBuildingDirectoryTrie();\r\n\r\n          break;\r\n       }\r\n\r\n    case IDM_HELPINDEX:\r\n       dwFlags = HELP_INDEX;\r\n       goto ACPCallHelp;\r\n\r\n    case IDM_HELPKEYS:\r\n       dwFlags = HELP_PARTIALKEY;\r\n       goto ACPCallHelp;\r\n\r\n    case IDM_HELPHELP:\r\n       dwFlags = HELP_HELPONHELP;\r\n       goto ACPCallHelp;\r\n\r\nACPCallHelp:\r\n   \t   SetCurrentDirectory(szOriginalDirPath);\r\n       if (!WinHelp(hwndFrame, szWinfileHelp, dwFlags, (ULONG_PTR)szNULL))\r\n          MyMessageBox(hwndFrame, IDS_WINFILE, IDS_WINHELPERR, MB_OK | MB_ICONEXCLAMATION | MB_SYSTEMMODAL);\r\n       break;\r\n\r\n    case IDM_ABOUT:\r\n       DialogBox(hAppInstance, (LPTSTR)MAKEINTRESOURCE(ABOUTDLG), hwndFrame, AboutDlgProc);\r\n       break;\r\n\r\n    case IDM_DRIVESMORE:\r\n       DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(DRIVEDLG), hwndFrame, DrivesDlgProc);\r\n       break;\r\n\r\n    default:\r\n       {\r\n          INT i;\r\n\r\n          for (i = 0; i < iNumExtensions; i++) {\r\n             WORD delta = extensions[i].Delta;\r\n\r\n             if ((id >= delta) && (id < (WORD)(delta + 100))) {\r\n                (extensions[i].ExtProc)(hwndFrame, (WORD)(id - delta), 0L);\r\n                break;\r\n             }\r\n          }\r\n\r\n       }\r\n       return FALSE;\r\n    }\r\n\r\n   return TRUE;\r\n}\r\n\r\n// SwitchToSafeDrive:\r\n// Used when on a network drive and disconnecting: must switch to\r\n// a \"safe\" drive so that we don't prevent disconnect.\r\n// IN: VOID\r\n// OUT: VOID\r\n// Precond: System directory is on a safe hard disk\r\n//          szMessage not being used\r\n// Postcond: Switch to this directory.\r\n//          szMessage trashed.\r\n\r\nVOID\r\nSwitchToSafeDrive(VOID)\r\n{\r\n   WCHAR szSafePath[MAXPATHLEN];\r\n\r\n   GetSystemDirectory(szSafePath, COUNTOF(szSafePath));\r\n   SetCurrentDirectory(szSafePath);\r\n}\r\n\r\n\r\nVOID\r\nAddNetMenuItems(VOID)\r\n{\r\n   HMENU hMenu;\r\n\r\n   hMenu = GetMenu(hwndFrame);\r\n\r\n   // add only if net menuitems do not already exist\r\n   if ((GetMenuState(hMenu, IDM_CONNECT, MF_BYCOMMAND) == -1) &&\r\n      (GetMenuState(hMenu, IDM_CONNECTIONS, MF_BYCOMMAND) == -1)) {\r\n\r\n      InitNetMenuItems();\r\n   }\r\n}\r\n\r\n\r\nVOID\r\nInitNetMenuItems(VOID)\r\n{\r\n   HMENU hMenu;\r\n   TCHAR szValue[MAXPATHLEN];\r\n\r\n   hMenu = GetMenu(hwndFrame);\r\n\r\n   // No. Now add net items if net has been started.\r\n   // use submenu because we are doing this by position\r\n\r\n   hMenu = GetSubMenu(hMenu, MapIDMToMenuPos(IDM_DISK));\r\n\r\n   if (WNetStat(NS_CONNECTDLG)) {\r\n\r\n      InsertMenu(hMenu, 5, MF_BYPOSITION | MF_SEPARATOR, 0, NULL);\r\n\r\n      LoadString(hAppInstance, IDS_CONNECT, szValue, COUNTOF(szValue));\r\n      InsertMenu(hMenu, 6, MF_BYPOSITION | MF_STRING, IDM_CONNECT, szValue);\r\n\r\n      LoadString(hAppInstance, IDS_DISCONNECT, szValue, COUNTOF(szValue));\r\n      InsertMenu(hMenu, 7, MF_BYPOSITION | MF_STRING, IDM_DISCONNECT, szValue);         // our style\r\n   }\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     UpdateConnectionsOnConnect\r\n//\r\n// Synopsis: This handles updating connections after a new connection\r\n//           is created.  It only invalidates aWNetGetCon[i] for the\r\n//           new drive.  If there is no new drive (i.e., a replaced\r\n//           connection), then all are invalidated.\r\n//\r\n//           If you want everything to update always, just modify\r\n//           this routine to always set all bValids to FALSE.\r\n//\r\n//\r\n// Return:   INT      >= 0 iDrive that is new\r\n//                    = -1 if no detected new drive letter\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:    Updates drive list by calling worker thread.\r\n//\r\n// Rev:      216 1.22\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nINT\r\nUpdateConnectionsOnConnect(VOID)\r\n{\r\n   INT rgiOld[MAX_DRIVES];\r\n\r\n   BOOL abRemembered[MAX_DRIVES];\r\n   PDRIVEINFO pDriveInfo;\r\n   DRIVE drive;\r\n\r\n   DRIVEIND i;\r\n\r\n   //\r\n   // save old drive map so that we can compare it against the\r\n   // current map for new drives.\r\n   //\r\n   for (i=0; i<MAX_DRIVES; i++)\r\n      rgiOld[i] = rgiDrive[i];\r\n\r\n   //\r\n   // save a list of what's remembered\r\n   //\r\n   for (pDriveInfo=&aDriveInfo[0], i=0; i<MAX_DRIVES; i++, pDriveInfo++)\r\n      abRemembered[i] = pDriveInfo->bRemembered;\r\n\r\n   //\r\n   // Now update the drive list\r\n   //\r\n   UpdateDriveList();\r\n\r\n   //\r\n   // !! BUGBUG !!\r\n   //\r\n   // This will fail if the user add/deletes drives from cmd then\r\n   // attempts to add a connection using winfile without refreshing first.\r\n   //\r\n   for (i=0; i<MAX_DRIVES; i++) {\r\n\r\n      drive = rgiDrive[i];\r\n\r\n      if (rgiOld[i] != drive ||\r\n         (abRemembered[drive] && !aDriveInfo[drive].bRemembered)) {\r\n\r\n         break;\r\n      }\r\n   }\r\n\r\n   if (i < MAX_DRIVES) {\r\n      I_NetCon(rgiDrive[i]);\r\n      return rgiDrive[i];\r\n   } else {\r\n      return -1;\r\n   }\r\n}\r\n\r\nDWORD \r\nReadMoveStatus()\r\n{\r\n\tIDataObject *pDataObj;\r\n\tFORMATETC fmtetcDrop = { 0, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL };\r\n\tUINT uFormatEffect = RegisterClipboardFormat(CFSTR_PREFERREDDROPEFFECT);\r\n\tFORMATETC fmtetcEffect = { uFormatEffect, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL };\r\n\tSTGMEDIUM stgmed;\r\n\tDWORD dwEffect = DROPEFFECT_COPY;\r\n\r\n\tOleGetClipboard(&pDataObj);\t\t// pDataObj == NULL if error\r\n\r\n\tif (pDataObj != NULL && pDataObj->lpVtbl->GetData(pDataObj, &fmtetcEffect, &stgmed) == S_OK && stgmed.hGlobal != NULL)\r\n\t{\r\n\t\tLPDWORD lpEffect = GlobalLock(stgmed.hGlobal);\r\n\t\tif (*lpEffect & DROPEFFECT_COPY) dwEffect = DROPEFFECT_COPY;\r\n\t\tif (*lpEffect & DROPEFFECT_MOVE) dwEffect = DROPEFFECT_MOVE;\r\n\t\tGlobalUnlock(stgmed.hGlobal);\r\n\t\tReleaseStgMedium(&stgmed);\r\n\t}\r\n\r\n\treturn dwEffect;\r\n}\r\n\r\nVOID \r\nUpdateMoveStatus(DWORD dwEffect)\r\n{\r\n\tSendMessage(hwndStatus, SB_SETTEXT, 2, (LPARAM)(dwEffect == DROPEFFECT_MOVE ? TEXT(\"MOVE PENDING\") : NULL));\r\n}\r\n"
  },
  {
    "path": "src/wfcopy.c",
    "content": "/********************************************************************\r\n\r\n   wfcopy.c\r\n\r\n   Windows File System File Copying Routines\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n#include \"lfn.h\"\r\n#include \"wfcopy.h\"\r\n\r\n\r\nBOOL *pbConfirmAll;\r\nBOOL *pbConfirmReadOnlyAll;\r\n\r\nINT ManySource;\r\n\r\nVOID wfYield(VOID);\r\n\r\nINT   CopyMoveRetry(LPTSTR, INT, PBOOL);\r\nDWORD CopyError(LPTSTR, LPTSTR, DWORD, DWORD, INT, BOOL, BOOL);\r\nBOOL IsRootDirectory(LPTSTR pPath);\r\n\r\nDWORD ConfirmDialog(\r\n   HWND hDlg, DWORD dlg,\r\n   LPTSTR pFileDest, PLFNDTA pDTADest,\r\n   LPTSTR pFileSource, PLFNDTA pDTASource,\r\n   BOOL bConfirmByDefault, BOOL *pbAll,\r\n   BOOL bConfirmReadOnlyByDefault, BOOL *pbReadOnlyAll);\r\n\r\nDWORD IsInvalidPath(LPTSTR pPath);\r\nDWORD GetNextPair(PCOPYROOT pcr, LPTSTR pFrom, LPTSTR pToPath, LPTSTR pToSpec, DWORD dwFunc, PDWORD pdwError, BOOL bIsLFNDriveDest);\r\nINT  CheckMultiple(LPTSTR pInput);\r\nVOID DialogEnterFileStuff(HWND hwnd);\r\nDWORD SafeFileRemove(LPTSTR szFileOEM);\r\nBOOL IsWindowsFile(LPTSTR szFileOEM);\r\n\r\nINT_PTR CALLBACK ReplaceDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\n\r\n\r\nBOOL\r\nIsValidChar(TUCHAR ch, BOOL fPath, BOOL bLFN)\r\n{\r\n   switch (ch) {\r\n   case CHAR_SEMICOLON:   // terminator\r\n   case CHAR_COMMA:       // terminator\r\n      return bLFN;\r\n\r\n   case CHAR_PIPE:       // pipe\r\n   case CHAR_GREATER:    // redir\r\n   case CHAR_LESS:       // redir\r\n   case CHAR_DQUOTE:     // quote\r\n      return FALSE;\r\n\r\n   case CHAR_QUESTION:    // wc           we only do wilds here because they're\r\n   case CHAR_STAR:        // wc           legal for qualifypath\r\n   case CHAR_BACKSLASH:   // path separator\r\n   case CHAR_COLON:       // drive colon\r\n   case CHAR_SLASH:       // path sep\r\n   case CHAR_SPACE:       // space: valid on NT FAT, but winball can't use.\r\n      return fPath;\r\n   }\r\n\r\n   //\r\n   // cannot be a control character or space\r\n   //\r\n   return ch > CHAR_SPACE;\r\n}\r\n\r\n\r\n\r\n//--------------------------------------------------------------------------\r\n//\r\n// StripColon() -\r\n//\r\n// removes trailing colon if not a drive letter.\r\n// this is to support DOS character devices (CON:, COM1: LPT1:).  DOS\r\n// can't deal with these things having a colon on the end (so we strip it).\r\n//\r\n//--------------------------------------------------------------------------\r\n\r\nLPTSTR\r\nStripColon(LPTSTR pPath)\r\n{\r\n   INT cb = lstrlen(pPath);\r\n\r\n   if (cb > 2 && pPath[cb-1] == CHAR_COLON)\r\n      pPath[cb-1] = CHAR_NULL;\r\n\r\n   return pPath;\r\n}\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  FindFileName() -                                                        */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n/* Returns a pointer to the last component of a path string. */\r\n\r\nLPTSTR\r\nFindFileName(LPTSTR pPath)\r\n{\r\n   LPTSTR pT;\r\n\r\n   for (pT=pPath; *pPath; pPath++) {\r\n      if ((pPath[0] == CHAR_BACKSLASH || pPath[0] == CHAR_COLON) && pPath[1])\r\n         pT = pPath+1;\r\n   }\r\n\r\n   return(pT);\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  AppendToPath() -                                                        */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n/* Appends a filename to a path.  Checks the \\ problem first\r\n *  (which is why one can't just use lstrcat())\r\n * Also don't append a \\ to : so we can have drive-relative paths...\r\n * this last bit is no longer appropriate since we qualify first!\r\n *\r\n * is this relative junk needed anymore?  if not this can be\r\n * replaced with AddBackslash(); lstrcat()\r\n */\r\n\r\nVOID\r\nAppendToPath(LPTSTR pPath, LPCTSTR pMore)\r\n{\r\n\r\n  /* Don't append a \\ to empty paths. */\r\n  if (*pPath)\r\n    {\r\n      while (*pPath)\r\n          pPath++;\r\n\r\n      if (pPath[-1]!=CHAR_BACKSLASH)\r\n          *pPath++=CHAR_BACKSLASH;\r\n    }\r\n\r\n  /* Skip any initial terminators on input. */\r\n  while (*pMore == CHAR_BACKSLASH)\r\n      pMore++;\r\n\r\n  lstrcpy(pPath, pMore);\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  RemoveLast() -                                                          */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n// Deletes the last component of a filename in a string.\r\n//\r\n\r\n// Warning: assumes BACKSLASH or : exists in string\r\n\r\nUINT\r\nRemoveLast(LPTSTR pFile)\r\n{\r\n  LPTSTR pT;\r\n  UINT uChars = 0;\r\n\r\n  for (pT=pFile; *pFile; pFile++) {\r\n\r\n     if (*pFile == CHAR_BACKSLASH) {\r\n\r\n        pT = pFile;\r\n        uChars = 0;\r\n\r\n     } else if (*pFile == CHAR_COLON) {\r\n\r\n        if (pFile[1] ==CHAR_BACKSLASH) {\r\n\r\n           pFile++;\r\n\r\n        }\r\n\r\n        pT = pFile + 1;\r\n\r\n        uChars = 0;\r\n        continue;\r\n     }\r\n     uChars++;\r\n  }\r\n\r\n  *pT = CHAR_NULL;\r\n  return uChars;\r\n}\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     QualifyPath\r\n//\r\n// Synopsis: Qualify a DOS/LFN file name based on current window\r\n//\r\n// INOUT     lpszPath   --  Filename to qualify: turns into path\r\n// INC       bClearDots --  When set, clears trailing dots/spaces\r\n//\r\n// Return:   BOOL   T/F  Valid/Invalid path\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:    Drive based on current active window\r\n//\r\n//\r\n// BUGBUG !!!\r\n//\r\n// Almost all of this code can be replaced with one call to\r\n// the Win32 GetFullPathName() api!\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nQualifyPath(LPTSTR lpszPath)\r\n{\r\n    INT cb, nSpaceLeft, i, j;\r\n    TCHAR szTemp[MAXPATHLEN];\r\n    DRIVE drive = 0;\r\n    LPTSTR pOrig, pT;\r\n    BOOL flfn = FALSE;\r\n    BOOL fQuote = FALSE;\r\n\r\n    TCHAR szDrive[] = SZ_ACOLONSLASH;\r\n\r\n    LPTSTR lpszDot;\r\n    UINT uLen;\r\n\r\nJAPANBEGIN\r\n    //\r\n    // Adapted from [#1743 28-Aug-93 v-katsuy]\r\n    //\r\n    // We must do a conversion to DBCS for FAT and HPFS since they\r\n    // store characters as DBCS.  Since a character may be 2 bytes,\r\n    // an 8.3 name that the user types in may actually take more space.\r\n    //\r\n    // Therefore, we must do nSpaceLeft calculations based on DBCS\r\n    // sizing.  We can still do copying using UNICODE since the conversion\r\n    // will be done later also.\r\n    //\r\n    // !! BUGBUG !!\r\n    // 1. We really don't know when we're using HPFS, so this case isn't\r\n    // handled.\r\n    //\r\n    // 2. We don't correctly handle the case \"\\joker\\..\\doc.foo\" where\r\n    // \"joker\" takes > lstrlen(\"joker\").  This is because RemoveLast\r\n    // calculates size using lstrlen, and doesn't consider DBCS.\r\n    //\r\n    // Allocate enough space for 8.3 conversion to DBCS here (each\r\n    // part done individually, so 8 chars is enough).\r\n    //\r\n    LPSTR pOrigA = NULL;\r\n    CHAR szOrigA[8*2];\r\nJAPANEND\r\n\r\n    //\r\n    // Save it away.\r\n    //\r\n    StrNCpy(szTemp, lpszPath, COUNTOF(szTemp));\r\n    CheckSlashes(szTemp);\r\n    StripColon(szTemp);\r\n\r\n    nSpaceLeft = MAXPATHLEN - 1;\r\n\r\n    //\r\n    // Strip off Surrounding Quotes\r\n    //\r\n    for( pT = pOrig = szTemp; *pOrig; pOrig++ ) {\r\n       if (*pOrig != CHAR_DQUOTE) {\r\n          *pT++ = *pOrig;\r\n       } else {\r\n          fQuote = TRUE;\r\n       }\r\n    }\r\n\r\n\r\n    pOrig = szTemp;\r\n\r\n    if (ISUNCPATH(pOrig)) {\r\n\r\n       //\r\n       // Stop at\"\\\\foo\\bar\"\r\n       //\r\n       for (i=0, j=2, pOrig+=2; *pOrig && i<2; pOrig++, j++) {\r\n\r\n          if (CHAR_BACKSLASH == *pOrig)\r\n             i++;\r\n       }\r\n\r\n       //\r\n       // \"\\\\foo\" is an invalid path, but \"\\\\foo\\bar\" is ok\r\n       //\r\n\r\n       if (!i)\r\n          return FALSE;\r\n\r\n\r\n       flfn = IsLFNDrive(lpszPath);\r\n\r\n       //\r\n       // If i == 2, then we found the trailing \\, axe it off\r\n       //\r\n       if (2 == i) {\r\n          j--;\r\n          lpszPath[j] = CHAR_NULL;\r\n       }\r\n\r\n       nSpaceLeft -= j;\r\n\r\n       goto GetComps;\r\n    }\r\n\r\n    if (pOrig[0] && CHAR_COLON == pOrig[1]) {\r\n\r\n       //\r\n       // Check for valid pOrig[1]!\r\n       // Else seg fault off of search window\r\n       //\r\n\r\n       if ( !(pOrig[0] >= CHAR_A && pOrig[0] <= CHAR_Z) &&\r\n          !(pOrig[0] >= CHAR_a && pOrig[0] <= TEXT('z')) ) {\r\n\r\n          //\r\n          // Invalid drive string; return FALSE!\r\n          //\r\n\r\n          return FALSE;\r\n       }\r\n\r\n       drive = DRIVEID(pOrig);\r\n\r\n       //\r\n       // Skip over the drive letter.\r\n       //\r\n       pOrig += 2;\r\n\r\n    } else {\r\n\r\n        drive = GetSelectedDrive();\r\n    }\r\n\r\n    DRIVESET(szDrive,drive);\r\n\r\n    flfn = IsLFNDrive(szDrive);\r\n\r\n    //\r\n    // on FAT _AND_ lfn devices, replace any illegal chars with underscores\r\n    //\r\n\r\n    for (pT = pOrig; *pT; pT++) {\r\n       if (!IsValidChar(*pT,TRUE, flfn))\r\n          *pT = CHAR_UNDERSCORE;\r\n    }\r\n\r\n\r\n    if (fQuote) {\r\n        lpszPath[0] = CHAR_DQUOTE;\r\n        lpszPath++;\r\n    }\r\n\r\n    if (CHAR_BACKSLASH == pOrig[0]) {\r\n      lpszPath[0] = (TCHAR)drive + (TCHAR)'A';\r\n      lpszPath[1] = CHAR_COLON;\r\n      lpszPath[2] = CHAR_BACKSLASH;\r\n      lpszPath[3] = CHAR_NULL;\r\n      nSpaceLeft -= 3;\r\n      pOrig++;\r\n\r\n    } else {\r\n\r\n       //\r\n       // Get current dir of drive in path.  Also returns drive.\r\n       //\r\n       GetSelectedDirectory(drive+1, lpszPath);\r\n       nSpaceLeft -= lstrlen(lpszPath);\r\n    }\r\n\r\nGetComps:\r\n\r\n    while (*pOrig && nSpaceLeft > 0) {\r\n       //\r\n       // If the component is parent dir, go up one dir.\r\n       // If its the current dir, skip it, else add it normally\r\n       //\r\n       if (CHAR_DOT == pOrig[0]) {\r\n\r\n          if (CHAR_DOT == pOrig[1]) {\r\n\r\n             if (CHAR_BACKSLASH == pOrig[2] || !pOrig[2]) {\r\n                nSpaceLeft += RemoveLast(lpszPath);\r\n             } else {\r\n                goto AddComponent;\r\n             }\r\n\r\n          } else if (pOrig[1] && CHAR_BACKSLASH != pOrig[1])\r\n             goto AddComponent;\r\n\r\n          while (*pOrig && CHAR_BACKSLASH != *pOrig)\r\n             pOrig++;\r\n\r\n          if (*pOrig)\r\n             pOrig++;\r\n\r\n       } else {\r\n\r\n          LPTSTR pT, pTT = NULL;\r\n\r\nAddComponent:\r\n          uLen = AddBackslash(lpszPath);\r\n          nSpaceLeft = MAXPATHLEN - 1 - uLen;\r\n\r\n          pT = lpszPath + uLen;\r\n\r\n          if (flfn) {\r\n\r\n             lpszDot = NULL;\r\n\r\n             //\r\n             // copy the component\r\n             //\r\n             while (*pOrig && CHAR_BACKSLASH != *pOrig && nSpaceLeft > 0) {\r\n\r\n                //\r\n                // Keep track of last dot here.\r\n                //\r\n\r\n                if (\r\n#ifdef KEEPTRAILSPACE\r\n#else\r\n                   CHAR_SPACE == *pOrig ||\r\n#endif\r\n                   CHAR_DOT == *pOrig) {\r\n\r\n                   //\r\n                   // Let this be a dot only if there isn't one\r\n                   // already, and the previous character wasn't\r\n                   // a \"*\"\r\n                   //\r\n                   if (!lpszDot && CHAR_STAR != pT[-1])\r\n                      lpszDot = pT;\r\n                } else {\r\n\r\n                   lpszDot = NULL;\r\n                }\r\n\r\n                *pT++ = *pOrig++;\r\n                nSpaceLeft--;\r\n             }\r\n\r\n             //\r\n             // If the last character was a {dot|space}+, then axe them\r\n             // off and restore nSpaceLeft.\r\n             //\r\n             if (lpszDot) {\r\n\r\n                nSpaceLeft += (INT)(pT-lpszDot);\r\n                pT = lpszDot;\r\n             }\r\n\r\n          } else {\r\n\r\n             if (bJAPAN) {\r\n                if (!WideCharToMultiByte(CP_ACP,\r\n                                         0,\r\n                                         pOrig,\r\n                                         8,\r\n                                         szOrigA,\r\n                                         sizeof(szOrigA),\r\n                                         NULL,\r\n                                         NULL)) {\r\n                   return FALSE;\r\n                }\r\n                pOrigA = szOrigA;\r\n             }\r\n\r\n             //\r\n             // copy the filename (up to 8 chars)\r\n             //\r\n             for (cb = 0;\r\n                *pOrig && CHAR_BACKSLASH != *pOrig &&\r\n                CHAR_DOT != *pOrig && nSpaceLeft > 0;\r\n                pOrig++) {\r\n\r\n                if (bJAPAN && IsDBCSLeadByte(*pOrigA)) {\r\n\r\n                   if (cb < 7) {\r\n\r\n                      cb+=2;\r\n                      *pT++ = *pOrig;\r\n                      nSpaceLeft-=2;\r\n                   }\r\n                   pOrigA+=2;\r\n\r\n                } else {\r\n\r\n                   if (cb < 8) {\r\n                      cb++;\r\n                      *pT++ = *pOrig;\r\n                      nSpaceLeft--;\r\n                   }\r\n                   pOrigA++;\r\n                }\r\n             }\r\n\r\n             //\r\n             // if there's an extension, copy it, up to 3 chars\r\n             //\r\n             if (CHAR_DOT == *pOrig && nSpaceLeft > 0) {\r\n\r\n                *pT++ = CHAR_DOT;\r\n                nSpaceLeft--;\r\n                pOrig++;\r\n\r\n                if (bJAPAN) {\r\n                   if (!WideCharToMultiByte(CP_ACP,\r\n                                            0,\r\n                                            pOrig,\r\n                                            3,\r\n                                            szOrigA,\r\n                                            sizeof(szOrigA),\r\n                                            NULL,\r\n                                            NULL)) {\r\n                      return FALSE;\r\n                   }\r\n                   pOrigA = szOrigA;\r\n                }\r\n\r\n                for (cb = 0;\r\n                   *pOrig && CHAR_BACKSLASH != *pOrig && nSpaceLeft > 0;\r\n                   pOrig++) {\r\n\r\n                   if (CHAR_DOT == *pOrig)\r\n                      cb = 3;\r\n\r\n                   if (bJAPAN && IsDBCSLeadByte(*pOrigA)) {\r\n\r\n                      if (cb < 2) {\r\n\r\n                         cb+=2;\r\n                         *pT++ = *pOrig;\r\n                         nSpaceLeft-=2;\r\n                      }\r\n                      pOrigA+=2;\r\n\r\n                   } else {\r\n\r\n                      if (cb < 3) {\r\n                         cb++;\r\n                         *pT++ = *pOrig;\r\n                         nSpaceLeft--;\r\n                      }\r\n                      pOrigA++;\r\n                   }\r\n                }\r\n\r\n                //\r\n                // Get rid of extra dots\r\n                //\r\n                if (CHAR_DOT == pT[-1] && CHAR_STAR != pT[-2]) {\r\n\r\n                   nSpaceLeft++;\r\n                   pT--;\r\n                }\r\n             }\r\n          }\r\n\r\n          //\r\n          // skip the backslash\r\n          //\r\n          if (*pOrig)\r\n             pOrig++;\r\n\r\n          //\r\n          // null terminate for next pass...\r\n          //\r\n          *pT = CHAR_NULL;\r\n\r\n       }\r\n    }\r\n\r\n    StripBackslash(lpszPath);\r\n\r\n    if (fQuote) {\r\n        lpszPath--;\r\n        pOrig = lpszPath + lstrlen(lpszPath);\r\n        *(pOrig++) = CHAR_DQUOTE;\r\n        *pOrig = CHAR_NULL;\r\n    }\r\n\r\n    return TRUE;\r\n}\r\n\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  IsRootDirectory() -                                                     */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nBOOL\r\nIsRootDirectory(LPTSTR pPath)\r\n{\r\n  if (!lstrcmpi(pPath+1, TEXT(\":\\\\\")))\r\n      return(TRUE);\r\n  if (!lstrcmpi(pPath, SZ_BACKSLASH))\r\n      return(TRUE);\r\n  if (!lstrcmpi(pPath+1, SZ_COLON))\r\n      return(TRUE);\r\n\r\n   // checking unc!\r\n\r\n  if (*pPath == CHAR_BACKSLASH && *(pPath+1) == CHAR_BACKSLASH) {   /* some sort of UNC name */\r\n    LPTSTR p;\r\n    int cBackslashes=0;\r\n\r\n    for (p=pPath+2; *p; ) {\r\n      if (*p == CHAR_BACKSLASH && (++cBackslashes > 1))\r\n   return FALSE;  /* not a bare UNC name, therefore not a root dir */\r\n\r\n   p++;\r\n\r\n    }\r\n    return TRUE;  /* end of string with only 1 more backslash */\r\n                  /* must be a bare UNC, which looks like a root dir */\r\n  }\r\n\r\n  return(FALSE);\r\n}\r\n\r\n// returns:\r\n//  TRUE    if pPath is a directory, including the root and\r\n//      relative paths \".\" and \"..\"\r\n//  FALSE   not a dir\r\n\r\nBOOL\r\nIsDirectory(LPTSTR pPath)\r\n{\r\n  LPTSTR pT;\r\n  TCHAR szTemp[MAXPATHLEN];\r\n\r\n  if (IsRootDirectory(pPath))\r\n      return TRUE;\r\n\r\n  // check for \".\" and \"..\"\r\n  pT = FindFileName(pPath);\r\n\r\n  if (ISDOTDIR(pT)) {\r\n     return TRUE;\r\n  }\r\n\r\n  lstrcpy(szTemp, pPath);\r\n\r\n  //\r\n  // QualifyPath\r\n  //\r\n  QualifyPath(szTemp);\r\n\r\n  return WFIsDir(szTemp);\r\n}\r\n\r\n\r\n//\r\n// note: this has the side effect of setting the\r\n// current drive to the new disk if it is successful\r\n//\r\n// Return values:\r\n//  0 = fail (general)\r\n//  1 = succeed\r\n\r\nBOOL \r\nIsTheDiskReallyThere(\r\n   HWND hwnd,\r\n   LPTSTR pPath,\r\n   DWORD dwFunc,\r\n   BOOL bModal)\r\n{\r\n   DRIVE drive;\r\n   TCHAR szTemp[MAXMESSAGELEN];\r\n   TCHAR szMessage[MAXMESSAGELEN];\r\n   TCHAR szTitle[128];\r\n   INT err = 0;\r\n   DWORD dwError;\r\n\r\n   BOOL bTriedRoot = FALSE;\r\n   TCHAR szDrive[] = SZ_ACOLONSLASH;\r\n   HCURSOR hCursor;\r\n\r\n   STKCHK();\r\n\r\n   if (pPath[1]==CHAR_COLON)\r\n      drive = DRIVEID(pPath);\r\n   else\r\n      return 1;\r\n\r\n   // First chance error if drive is busy (format/diskcopy)\r\n\r\n   if (aDriveInfo[drive].iBusy) {\r\n\r\n      LoadString(hAppInstance, aDriveInfo[drive].iBusy, szTemp, COUNTOF(szTemp));\r\n      LoadString(hAppInstance, IDS_COPYERROR + FUNC_SETDRIVE, szTitle,\r\n         COUNTOF(szTitle));\r\n\r\n      wsprintf(szMessage, szTemp, drive + CHAR_A);\r\n      MessageBox(hwnd, szMessage, szTitle, MB_ICONHAND);\r\n\r\n      return 0;\r\n   }\r\n\r\nRetry:\r\n\r\n   // Put up the hourglass cursor since this\r\n   // could take a long time\r\n\r\n   hCursor = LoadCursor(NULL, IDC_WAIT);\r\n\r\n   if (hCursor)\r\n      hCursor = SetCursor(hCursor);\r\n   ShowCursor(TRUE);\r\n\r\n   err = !GetDriveDirectory(drive + 1, szTemp);\r\n   \r\n   if (hCursor)\r\n      SetCursor(hCursor);\r\n   ShowCursor(FALSE);\r\n\r\n   if (err) {\r\n      goto DiskNotThere;\r\n   }\r\n\r\n   return 1;\r\n\r\nDiskNotThere:\r\n   dwError = GetLastError();\r\n\r\n   switch (dwError) {\r\n\r\n   case ERROR_PATH_NOT_FOUND:\r\n   case ERROR_FILE_NOT_FOUND:\r\n\r\n      if (bTriedRoot)\r\n         break;\r\n\r\n      //\r\n      // The directory may have been removed.\r\n      // Go to the root directory and try once.\r\n      //\r\n      bTriedRoot = TRUE;\r\n      DRIVESET(szDrive, drive);\r\n\r\n      SetCurrentDirectory(szDrive);\r\n\r\n      goto Retry;\r\n\r\n   case ERROR_INVALID_PARAMETER:\r\n\r\n      // Handle INVALID PARAMETER from GetDriveDirectory from GetFileAttributes\r\n      dwError = ERROR_NOT_READY;\r\n      break;\r\n\r\n\r\n   case ERROR_ACCESS_DENIED:\r\n\r\n      //\r\n      // If failed due to security, return 2\r\n      // (this is non-zero which means sorta error)\r\n      //\r\n      // old: return 2;\r\n      break;\r\n\r\n   case ERROR_NOT_READY:\r\n\r\n      //\r\n      // WAS ERROR_NO_MEDIA_IN_DRIVE, but changed back due to\r\n      // wow incompatibilities.\r\n      //\r\n      // drive not ready (no disk in the drive)\r\n      //\r\n      LoadString(hAppInstance, IDS_COPYERROR + dwFunc, szTitle, COUNTOF(szTitle));\r\n      LoadString(hAppInstance, IDS_DRIVENOTREADY, szTemp, COUNTOF(szTemp));\r\n      wsprintf(szMessage, szTemp, drive + CHAR_A);\r\n      if (MessageBox(hwnd, szMessage, szTitle, MB_ICONEXCLAMATION | MB_RETRYCANCEL) == IDRETRY)\r\n         goto Retry;\r\n      else\r\n         return 0;\r\n   case ERROR_BAD_NET_NAME:\r\n\r\n      MyMessageBox(hwnd, IDS_BADNETNAMETITLE, IDS_BADNETNAME, MB_OK|MB_ICONEXCLAMATION);\r\n      return 0;\r\n\r\n   case ERROR_UNRECOGNIZED_VOLUME:              // 0x1F  huh?  What's this?\r\n\r\n      // general failure (disk not formatted)\r\n\r\n      LoadString(hAppInstance, IDS_COPYERROR + dwFunc, szTitle, COUNTOF(szTitle));\r\n\r\n      // If NOT copying or formatting now,\r\n      // AND we are removable, then put up format dlg\r\n\r\n      if (!CancelInfo.hCancelDlg && IsRemovableDrive(drive)) {\r\n         LoadString(hAppInstance, IDS_UNFORMATTED, szTemp, COUNTOF(szTemp));\r\n         wsprintf(szMessage, szTemp, drive + CHAR_A);\r\n\r\n         if (MessageBox(hwnd, szMessage, szTitle, MB_ICONEXCLAMATION| MB_YESNO) == IDYES) {\r\n\r\n            // No more hwndSave stuff since format no longer uses the same\r\n            // dialog box (ala hdlgProgress).  There IS a global CancelInfo,\r\n            // but it is shared only between disk:copy and disk:format.\r\n            // Neither of these routines will call FormatDiskette()\r\n            // after they have started (naturally, disk:format will call it once).\r\n            //\r\n            // nLastDriveInd is replaced by CancelInfo\r\n\r\n            CancelInfo.Info.Format.fFlags = FF_PRELOAD | FF_ONLYONE;  // do preload\r\n            CancelInfo.Info.Format.iFormatDrive = drive;   // present drive\r\n            CancelInfo.Info.Format.fmMediaType = -1;       // no premedia selection\r\n            CancelInfo.Info.Format.szLabel[0] = CHAR_NULL; // no label\r\n\r\n            FormatDiskette(hwnd, bModal);\r\n\r\n            // If we were modal, let us retry.\r\n\r\n            if (bModal && CancelInfo.fmifsSuccess)\r\n               goto Retry;\r\n\r\n            // No matter what, return 0.\r\n            // originally checked CancelInfo.fmifsSuccess and\r\n            // goto'd Retry on success, but since it's now modeless,\r\n            // return error to abort copy or disk change\r\n            // If we returned success, the would confuse the user.\r\n\r\n            return 0;\r\n\r\n         } else {\r\n\r\n            //\r\n            // Tweak: no extra error dialog\r\n            //\r\n            return 0;\r\n         }\r\n      }\r\n\r\n      // Either already formatting/copying or not removable!\r\n      // put up error & ret 0.\r\n\r\n      FormatError(TRUE, szTemp, COUNTOF(szTemp), ERROR_UNRECOGNIZED_VOLUME);\r\n      MessageBox(hwnd, szTemp, szTitle, MB_OK | MB_ICONSTOP);\r\n\r\n      return 0;\r\n\r\n   default:\r\n      break;\r\n\r\n   }\r\n\r\n   LoadString(hAppInstance, IDS_COPYERROR + dwFunc, szTitle, COUNTOF(szTitle));\r\n\r\n   FormatError(TRUE, szTemp, COUNTOF(szTemp), dwError);\r\n   MessageBox(hwnd, szTemp, szTitle, MB_OK | MB_ICONSTOP);\r\n\r\n   return 0;\r\n}\r\n\r\n\r\n\r\nVOID\r\nBuildDateLine(LPTSTR szTemp, PLFNDTA plfndta)\r\n{\r\n   wsprintf(szTemp, szBytes, plfndta->fd.nFileSizeLow);\r\n   lstrcat(szTemp, szSpace);\r\n   PutDate(&plfndta->fd.ftLastWriteTime, szTemp + lstrlen(szTemp));\r\n   lstrcat(szTemp, szSpace);\r\n   PutTime(&plfndta->fd.ftLastWriteTime, szTemp + lstrlen(szTemp));\r\n}\r\n\r\n\r\ntypedef struct {\r\n   LPTSTR pFileDest;\r\n   LPTSTR pFileSource;\r\n   PLFNDTA plfndtaDest;\r\n   PLFNDTA plfndtaSrc;\r\n   INT bWriteProtect;\r\n   BOOL bNoAccess;\r\n} PARAM_REPLACEDLG, FAR *LPPARAM_REPLACEDLG;\r\n\r\n\r\nVOID\r\nSetDlgItemPath(HWND hDlg, INT id, LPTSTR pszPath)\r\n{\r\n   RECT rc;\r\n   HDC hdc;\r\n   HFONT hFont;\r\n   TCHAR szPath[MAXPATHLEN+1];      // can have one extra TCHAR\r\n   HWND hwnd;\r\n\r\n   hwnd = GetDlgItem(hDlg, id);\r\n\r\n   if (!hwnd)\r\n      return;\r\n\r\n   lstrcpy(szPath, pszPath);\r\n\r\n   GetClientRect(hwnd, &rc);\r\n\r\n   hdc = GetDC(hDlg);\r\n\r\n   if (bJAPAN) {\r\n\r\n      CompactPath(hdc, szPath, rc.right);\r\n\r\n   } else {\r\n\r\n      hFont = (HANDLE)SendMessage(hwnd, WM_GETFONT, 0, 0L);\r\n      if (hFont = SelectObject(hdc, hFont)) {\r\n         CompactPath(hdc, szPath, rc.right);\r\n         SelectObject(hdc, hFont);\r\n      }\r\n   }\r\n\r\n   ReleaseDC(hDlg, hdc);\r\n   SetWindowText(hwnd, szPath);\r\n}\r\n\r\n\r\n\r\nINT_PTR\r\nCALLBACK\r\nReplaceDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n   WCHAR szMessage[MAXMESSAGELEN];\r\n\r\n   switch (wMsg) {\r\n   case WM_INITDIALOG:\r\n      {\r\n         LPPARAM_REPLACEDLG lpdlgparams = (LPPARAM_REPLACEDLG)lParam;\r\n\r\n         if (lpdlgparams->bWriteProtect) {\r\n            LoadString(hAppInstance, IDS_WRITEPROTECTFILE, szMessage, COUNTOF(szMessage));\r\n            SetDlgItemText(hDlg, IDD_STATUS, szMessage);\r\n\r\n            LoadString(hAppInstance, IDS_ALLFILES, szMessage, COUNTOF(szMessage));\r\n            SetDlgItemText(hDlg, IDD_OTHER, szMessage);\r\n         }\r\n\r\n         EnableWindow(GetDlgItem(hDlg, IDD_YESALL),\r\n            !lpdlgparams->bNoAccess && ManySource);\r\n\r\n         EnableWindow(GetDlgItem(hDlg, IDCANCEL), !lpdlgparams->bNoAccess);\r\n\r\n         lstrcpy(szMessage, lpdlgparams->pFileSource);\r\n         lstrcat(szMessage, SZ_QUESTION);\r\n         SetDlgItemPath(hDlg, IDD_FROM, szMessage);\r\n\r\n         if (lpdlgparams->pFileDest) {\r\n            BuildDateLine(szMessage, lpdlgparams->plfndtaSrc);\r\n            SetDlgItemText(hDlg, IDD_DATE2, szMessage);\r\n\r\n            SetDlgItemPath(hDlg, IDD_TO, lpdlgparams->pFileDest);\r\n            BuildDateLine(szMessage, lpdlgparams->plfndtaDest);\r\n            SetDlgItemText(hDlg, IDD_DATE1, szMessage);\r\n         }\r\n\r\n         SetWindowLongPtr(hDlg, GWLP_USERDATA, (LPARAM)lpdlgparams);\r\n         break;\r\n      }\r\n\r\n   case WM_COMMAND:\r\n      {\r\n         WORD id;\r\n\r\n         id = GET_WM_COMMAND_ID(wParam, lParam);\r\n         switch (id) {\r\n#if 0\r\n         case IDD_HELP:\r\n            goto DoHelp;\r\n#endif\r\n         case IDD_FLAGS:\r\n            break;\r\n\r\n         case IDD_YESALL:\r\n            *pbConfirmAll = TRUE;\r\n\r\n            if (((LPPARAM_REPLACEDLG)GetWindowLongPtr(hDlg, GWLP_USERDATA))->bWriteProtect) {\r\n               *pbConfirmReadOnlyAll = TRUE;\r\n            }\r\n            id = IDYES;\r\n            // fall through\r\n         case IDYES:\r\n            // fall through\r\n         default:        // this is IDNO and IDCANCEL\r\n            EndDialog(hDlg, id);\r\n            return FALSE;\r\n         }\r\n      }\r\n      break;\r\n\r\n   default:\r\n#if 0\r\n      if (wMsg == wHelpMessage) {\r\nDoHelp:\r\n         WFHelp(hDlg);\r\n\r\n         return TRUE;\r\n      } else\r\n#endif\r\n         return FALSE;\r\n   }\r\n   return TRUE;\r\n}\r\n\r\n\r\n\r\n\r\n\r\nDWORD\r\nConfirmDialog(\r\n   HWND hDlg, DWORD dlg,\r\n   LPTSTR pFileDest, PLFNDTA plfndtaDest,\r\n   LPTSTR pFileSource, PLFNDTA plfndtaSrc,\r\n   BOOL bConfirmByDefault,\r\n   BOOL *pbAll,\r\n   BOOL bConfirmReadOnlyByDefault,\r\n   BOOL *pbReadOnlyAll)\r\n{\r\n   INT nRetVal;\r\n   PARAM_REPLACEDLG params;\r\n   WCHAR szMessage[MAXMESSAGELEN];\r\n\r\n   DWORD dwSave = dwContext;\r\n\r\n   dwContext = 0;\r\n\r\n   params.pFileDest = pFileDest;\r\n   params.pFileSource = pFileSource;\r\n   params.plfndtaDest = plfndtaDest;\r\n   params.plfndtaSrc = plfndtaSrc;\r\n   params.bWriteProtect = FALSE;\r\n   params.bNoAccess = FALSE;\r\n   pbConfirmAll = pbAll;         // set global for dialog box\r\n\r\n   pbConfirmReadOnlyAll = pbReadOnlyAll;\r\n\r\n   if ( CONFIRMNOACCESS == dlg || CONFIRMNOACCESSDEST == dlg) {\r\n      params.bNoAccess = TRUE;\r\n      nRetVal = (INT)DialogBoxParam(hAppInstance, (LPTSTR)MAKEINTRESOURCE(dlg), hDlg, ReplaceDlgProc, (LPARAM)(LPPARAM_REPLACEDLG)&params);\r\n\r\n   } else if (plfndtaDest->fd.dwFileAttributes & (ATTR_READONLY | ATTR_SYSTEM | ATTR_HIDDEN)) {\r\n\r\n      if ((!bConfirmReadOnlyByDefault && !bConfirmByDefault) ||\r\n         *pbConfirmReadOnlyAll) {\r\n\r\n         nRetVal = IDYES;\r\n      } else {\r\n         params.bWriteProtect = TRUE;\r\n         nRetVal = (INT)DialogBoxParam(hAppInstance, (LPTSTR)MAKEINTRESOURCE(dlg), hDlg, ReplaceDlgProc, (LPARAM)(LPPARAM_REPLACEDLG)&params);\r\n      }\r\n\r\n      if (nRetVal == IDYES) {\r\n\r\n         if (!(plfndtaDest->fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {\r\n            lstrcpy(szMessage, pFileDest ? pFileDest : pFileSource);\r\n\r\n            WFSetAttr(szMessage, plfndtaDest->fd.dwFileAttributes & ~(ATTR_READONLY|ATTR_HIDDEN|ATTR_SYSTEM));\r\n         }\r\n      }\r\n\r\n   } else if (!bConfirmByDefault || *pbConfirmAll) {\r\n      nRetVal = IDYES;\r\n   } else {\r\n\r\n      nRetVal = (INT)DialogBoxParam(hAppInstance, (LPTSTR) MAKEINTRESOURCE(dlg), hDlg, ReplaceDlgProc, (LPARAM)(LPPARAM_REPLACEDLG)&params);\r\n   }\r\n\r\n   if (nRetVal == -1)\r\n      nRetVal = DE_INSMEM;\r\n\r\n   dwContext = dwSave;\r\n\r\n   return (DWORD)nRetVal;\r\n}\r\n\r\n\r\n#ifdef NETCHECK\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  NetCheck() -                                                            */\r\n/*                                                                          */\r\n/* check rmdirs and mkdirs with the net driver                              */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nDWORD\r\nNetCheck(LPTSTR pPath, DWORD dwType)\r\n{\r\n   DWORD err;\r\n   TCHAR szT[MAXSUGGESTLEN];\r\n   TCHAR szProvider[128];\r\n   TCHAR szTitle[128];\r\n\r\n   //\r\n   // we will notify the winnet driver on all directory operations\r\n   // so we can implement cool net stuff on a local drives\r\n   //\r\n\r\n   WAITNET();\r\n\r\n   if (!lpfnWNetDirectoryNotifyW)\r\n      return WN_SUCCESS;\r\n\r\n\r\n   err = WNetDirectoryNotifyW(hdlgProgress, pPath, dwType);\r\n   switch (err) {\r\n   case WN_SUCCESS:\r\n   case WN_CONTINUE:\r\n   case WN_CANCEL:\r\n      return err;\r\n   case WN_NOT_SUPPORTED:\r\n      return WN_SUCCESS;\r\n   }\r\n\r\n   WNetGetLastError(&err, szT, COUNTOF(szT), szProvider, COUNTOF(szProvider));\r\n\r\n   LoadString(hAppInstance, IDS_NETERR, szTitle, COUNTOF(szTitle));\r\n   MessageBox(hdlgProgress, szT, szTitle, MB_OK|MB_ICONEXCLAMATION);\r\n\r\n   return WN_CANCEL;\r\n}\r\n#endif\r\n\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  IsInvalidPath() -                                                       */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n/* Checks to see if a file spec is an evil character device or if it is\r\n * too long...\r\n */\r\n\r\nDWORD\r\nIsInvalidPath(LPTSTR pPath)\r\n{\r\n  TCHAR  sz[9];\r\n  INT   n = 0;\r\n\r\n  if (lstrlen(pPath) >= MAXPATHLEN)\r\n      return ERROR_FILENAME_EXCED_RANGE;\r\n\r\n  pPath = FindFileName(pPath);\r\n\r\n  while (*pPath && *pPath != CHAR_DOT && *pPath != CHAR_COLON && n < 8)\r\n      sz[n++] = *pPath++;\r\n\r\n  sz[n] = CHAR_NULL;\r\n\r\n  if (!lstrcmpi(sz,TEXT(\"CON\")))\r\n      return ERROR_INVALID_NAME;\r\n\r\n  if (!lstrcmpi(sz,TEXT(\"MS$MOUSE\")))\r\n      return ERROR_INVALID_NAME;\r\n\r\n  if (!lstrcmpi(sz,TEXT(\"EMMXXXX0\")))\r\n      return ERROR_INVALID_NAME;\r\n\r\n  if (!lstrcmpi(sz,TEXT(\"CLOCK$\")))\r\n      return ERROR_INVALID_NAME;\r\n\r\n  return ERROR_SUCCESS;\r\n}\r\n\r\n\r\nPLFNDTA\r\nCurPDTA(PCOPYROOT pcr)\r\n{\r\n   if (pcr->cDepth) {\r\n      return (pcr->rgDTA + pcr->cDepth - 1);\r\n   } else {\r\n      return pcr->rgDTA;\r\n   }\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  GetNextCleanup() -                                                      */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nVOID\r\nGetNextCleanup(PCOPYROOT pcr)\r\n{\r\n   while (pcr->cDepth) {\r\n      WFFindClose(CurPDTA(pcr));\r\n      pcr->cDepth--;\r\n   }\r\n}\r\n\r\n\r\n#if 0\r\n\r\n/* GetNameDialog\r\n *\r\n *  Runs the dialog box to prompt the user for a new filename when copying\r\n *  or moving from HPFS to FAT.\r\n */\r\n\r\nDWORD GetNameDialog(DWORD, LPTSTR, LPTSTR);\r\nBOOL  GetNameDlgProc(HWND,UINT,WPARAM,LONG);\r\n\r\nLPTSTR pszDialogFrom;\r\nLPTSTR pszDialogTo;\r\n\r\nBOOL\r\nGetNameDlgProc(\r\n   HWND hwnd,\r\n   UINT wMsg,\r\n   WPARAM wParam,\r\n   LPARAM lParam)\r\n{\r\n    TCHAR szT[14];\r\n    LPTSTR p;\r\n    INT i, j, cMax, fDot;\r\n\r\n    UNREFERENCED_PARAMETER(lParam);\r\n\r\n    switch (wMsg)\r\n      {\r\n    case WM_INITDIALOG:\r\n        // inform the user of the old name\r\n        SetDlgItemText(hwnd, IDD_FROM, pszDialogFrom);\r\n\r\n        // generate a guess for the new name\r\n    p = FindFileName(pszDialogFrom);\r\n        for (i = j = fDot = 0, cMax = 8; *p; p++)\r\n          {\r\n            if (*p == CHAR_DOT)\r\n              {\r\n                // if there was a previous dot, step back to it\r\n                // this way, we get the last extension\r\n                if (fDot)\r\n                    i -= j+1;\r\n\r\n                // set number of chars to 0, put the dot in\r\n                j = 0;\r\n                szT[i++] = CHAR_DOT;\r\n\r\n                // remember we saw a dot and set max 3 chars.\r\n                fDot = TRUE;\r\n                cMax = 3;\r\n              }\r\n            else if (j < cMax && IsValidChar(*p,FALSE, FALSE))\r\n              {\r\n                j++;\r\n                szT[i++] = *p;\r\n              }\r\n          }\r\n        szT[i] = CHAR_NULL;\r\n        SetDlgItemText(hwnd, IDD_TO, szT);\r\n        SendDlgItemMessage(hwnd,IDD_TO,EM_LIMITTEXT,COUNTOF(szT) - 1, 0L);\r\n\r\n        // directory the file will go into\r\n        RemoveLast(pszDialogTo);\r\n        SetDlgItemText(hwnd, IDD_DIR, pszDialogTo);\r\n        break;\r\n\r\n    case WM_COMMAND:\r\n        switch (GET_WM_COMMAND_ID(wParam, lParam)) {\r\n        case IDOK:\r\n            GetDlgItemText(hwnd,IDD_TO,szT,COUNTOF(szT));\r\n            AppendToPath(pszDialogTo,szT);\r\n            QualifyPath(pszDialogTo);\r\n            EndDialog(hwnd,IDOK);\r\n            break;\r\n\r\n        case IDCANCEL:\r\n            EndDialog(hwnd,IDCANCEL);\r\n            break;\r\n\r\n        case IDD_HELP:\r\n            goto DoHelp;\r\n\r\n        case IDD_TO:\r\n            GetDlgItemText(hwnd,IDD_TO,szT,COUNTOF(szT));\r\n            for (p = szT; *p; p++)\r\n              {\r\n                if (!IsValidChar(*p,FALSE, FALSE))\r\n                    break;\r\n              }\r\n\r\n            EnableWindow(GetDlgItem(hwnd,IDOK),((!*p) && (p != szT)));\r\n            break;\r\n\r\n        default:\r\n            return FALSE;\r\n          }\r\n        break;\r\n\r\n    default:\r\n        if (wMsg == wHelpMessage)\r\n          {\r\nDoHelp:\r\n            WFHelp(hwnd);\r\n            return TRUE;\r\n          }\r\n        return FALSE;\r\n      }\r\n\r\n    return TRUE;\r\n}\r\n\r\nDWORD\r\nGetNameDialog(DWORD dwOp, LPTSTR pFrom, LPTSTR pTo)\r\n{\r\n   DWORD dwRet = (DWORD)-1;\r\n   DWORD dwSave;\r\n\r\n   dwSave = dwContext;\r\n   dwContext = IDH_DLG_LFNTOFATDLG;\r\n\r\n   pszDialogFrom = pFrom;\r\n   pszDialogTo = pTo;\r\n\r\n   dwRet = (DWORD)DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(LFNTOFATDLG),\r\n      hdlgProgress, GetNameDlgProc);\r\n\r\n   dwContext = dwSave;\r\n   return dwRet;\r\n}\r\n\r\n#endif\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     GetNextPair\r\n//\r\n// Synopsis: Gets next pair of files to copy/rename/move/delete\r\n//\r\n// INOUTC  pcr       -- Pointer to structure of recursing dir tree\r\n// OUTC    pFrom     -- Source file/dir to copy\r\n// OUTC    pToPath   -- path to dest file or dir\r\n//         pToSpec   -- Raw dest file or dir name\r\n// INC     dwFunc    -- operation (Any combo):\r\n//\r\n//           FUNC_DELETE - Delete files in pFrom\r\n//           FUNC_RENAME - Rename files (same directory)\r\n//           FUNC_MOVE   - Move files in pFrom to pTo (different disk)\r\n//           FUNC_COPY   - Copy files in pFrom to pTo\r\n//\r\n// OUTC pdwError         -- If error, this holds the err code else 0\r\n// INC  bIsLFNDriveDest  -- Is the dest drive lfn?\r\n//\r\n// Return:   DWORD:\r\n//\r\n//           OPER_ERROR  - Error processing filenames\r\n//           OPER_DOFILE - Go ahead and copy, rename, or delete file\r\n//           OPER_MKDIR  - Make a directory specified in pTo\r\n//           OPER_RMDIR  - Remove directory\r\n//           0           - No more files left\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:    If pcr->bMoveFast is true, then pretend the entire directory\r\n//           is empty since it was successfully moved.\r\n//\r\n// Modified by C. Stevens, August, 1991.  Added logic so that we would call\r\n// IsTheDiskReallyThere only once per drive.  Also changed some of the code\r\n// to minimize the number of calls which access the disk.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nDWORD\r\nGetNextPair(PCOPYROOT pcr, LPTSTR pFrom,\r\n   LPTSTR pToPath, LPTSTR pToSpec,\r\n   DWORD dwFunc, PDWORD pdwError,\r\n   BOOL bIsLFNDriveDest)\r\n{\r\n   LPTSTR pT;                     // Temporary pointer\r\n   DWORD dwOp;                    // Return value (operation to perform\r\n   PLFNDTA pDTA;                  // Pointer to file DTA data\r\n\r\n   STKCHK();\r\n   *pFrom = CHAR_NULL;\r\n   *pdwError = 0 ;\r\n   pDTA = NULL;\r\n\r\n   //\r\n   // Keep recursing directory structure until we get to the bottom\r\n   //\r\n   while (TRUE) {\r\n      if (pcr->cDepth) {\r\n\r\n         //\r\n         // The directory we returned last call needs to be recursed.\r\n         //\r\n         pDTA = pcr->rgDTA + pcr->cDepth - 1;   // use this DTA below\r\n\r\n         if (pcr->fRecurse && pcr->cDepth == 1 && !pcr->rgDTA[0].fd.cFileName[0])\r\n\r\n            //\r\n            // The last one was the recursion root.\r\n            //\r\n            goto BeginDirSearch;\r\n\r\n         if (pcr->cDepth >= (MAXDIRDEPTH - 1)) {    // reached the limit?\r\n            dwOp = OPER_ERROR;\r\n            *pdwError = ERROR_FILENAME_EXCED_RANGE;\r\n            goto ReturnPair;\r\n         }\r\n\r\n         if (pcr->fRecurse && (pDTA->fd.dwFileAttributes & ATTR_DIR) &&\r\n            !(pDTA->fd.dwFileAttributes & ATTR_RETURNED)) {\r\n\r\n            //\r\n            // Was returned on last call, begin search.\r\n            //\r\n            pDTA->fd.dwFileAttributes |= ATTR_RETURNED;\r\n\r\n#ifdef FASTMOVE\r\n            if (pcr->bFastMove)\r\n               goto FastMoveSkipDir;\r\n#endif\r\n            // Check if we should skip an entry because it was e.g. an reparse point\r\n            if (pDTA->fd.dwFileAttributes & ( ATTR_SYMBOLIC | ATTR_JUNCTION) ) {\r\n               RemoveLast(pcr->szDest);\r\n               dwOp = OPER_RMDIR;\r\n               goto ReturnPair;\r\n            }\r\n\r\n            pcr->cDepth++;\r\n            pDTA++;\r\n\r\nBeginDirSearch:\r\n\r\n            //\r\n            // Search for all subfiles in directory.\r\n            //\r\n            AppendToPath (pcr->sz,szStarDotStar);\r\n            goto BeginSearch;\r\n         }\r\n\r\nSkipThisFile:\r\n\r\n         //\r\n         // Search for the next matching file.\r\n         //\r\n         if (!WFFindNext (pDTA)) {\r\n            WFFindClose (pDTA);\r\n\r\nLeaveDirectory:\r\n\r\n            //\r\n            // This spec has been exhausted...\r\n            //\r\n            pcr->cDepth--;\r\n\r\n            //\r\n            // Remove the child file spec.\r\n            //\r\n            RemoveLast (pcr->sz);\r\n\r\n#ifdef FASTMOVE\r\nFastMoveSkipDir:\r\n#endif\r\n\r\n            RemoveLast (pcr->szDest);\r\n\r\n#ifdef FASTMOVE\r\n            if (pcr->fRecurse && !pcr->bFastMove) {\r\n#else\r\n            if (pcr->fRecurse) {\r\n#endif\r\n\r\n               //\r\n               // Tell the move/copy driver it can now delete\r\n               // the source directory if necessary.\r\n               //\r\n               // (Don't do on a fast move since the directory was\r\n               // removed on the move.)\r\n\r\n               dwOp = OPER_RMDIR;\r\n               goto ReturnPair;\r\n            }\r\n\r\n#ifdef FASTMOVE\r\n            pcr->bFastMove = FALSE;\r\n#endif\r\n\r\n            //\r\n            // Not recursing, get more stuff.\r\n            //\r\n            continue;\r\n         }\r\n\r\nProcessSearchResult:\r\n\r\n#ifndef UNICODE\r\n         if (pDTA->fd.cAlternateFileName[0] && StrChr(pDTA->fd.cFileName, CHAR_DEFAULT)) {\r\n            lstrcpy(pDTA->fd.cFileName, pDTA->fd.cAlternateFileName);\r\n         }\r\n#endif\r\n         //\r\n         // Got a file or dir in the DTA which matches the wild card\r\n         // originally passed in...\r\n         //\r\n         if (pDTA->fd.dwFileAttributes & ATTR_DIR) {\r\n\r\n            //\r\n            // Ignore directories if we're not recursing.\r\n            //\r\n            if (!pcr->fRecurse)\r\n               goto SkipThisFile;\r\n\r\n            //\r\n            // Skip the current and parent directories.\r\n            //\r\n            if (ISDOTDIR(pDTA->fd.cFileName)) {\r\n               goto SkipThisFile;\r\n            }\r\n\r\n            // We need to create this directory, and then begin searching\r\n            // for subfiles.\r\n\r\n            dwOp = OPER_MKDIR;\r\n            RemoveLast (pcr->sz);\r\n            AppendToPath (pcr->sz,pDTA->fd.cFileName);\r\n            AppendToPath (pcr->szDest,pDTA->fd.cFileName);\r\n            goto ReturnPair;\r\n         }\r\n\r\n         if (pcr->fRecurse || !(pDTA->fd.dwFileAttributes & ATTR_DIR)) {\r\n\r\n            /* Remove the original spec. */\r\n\r\n            RemoveLast (pcr->sz);\r\n\r\n            /* Replace it. */\r\n\r\n            AppendToPath (pcr->sz,pDTA->fd.cFileName);\r\n\r\n            /* Convert to ANSI. */\r\n\r\n            pT = FindFileName (pcr->sz);\r\n\r\n            // If its a dir, tell the driver to create it\r\n            // otherwise, tell the driver to \"operate\" on the file.\r\n\r\n            dwOp = (pDTA->fd.dwFileAttributes & ATTR_DIR) ? OPER_RMDIR : OPER_DOFILE;\r\n            goto ReturnPair;\r\n         }\r\n         continue;\r\n      } else {\r\n\r\n         //\r\n         // Read the next source spec out of the raw source string.\r\n         //\r\n         pcr->fRecurse = FALSE;\r\n         pcr->pSource = GetNextFile (pcr->pSource,pcr->sz,COUNTOF(pcr->sz));\r\n\r\n         pcr->szDest[0] = CHAR_NULL;\r\n\r\n         if (!pcr->pSource)\r\n            return (0);\r\n\r\n         //\r\n         // Fully qualify the path\r\n         //\r\n         QualifyPath(pcr->sz);\r\n\r\n         // Ensure the source disk really exists before doing anything.\r\n         // Only call IsTheDiskReallyThere once for each drive letter.\r\n         // Set pcr->cIsDiskThereCheck[DRIVEID] after disk has been\r\n         // checked.  Modified by C. Stevens, August 1991\r\n\r\n         if (pcr->sz[1]==CHAR_COLON && !pcr->cIsDiskThereCheck[DRIVEID (pcr->sz)]) {\r\n            if (!IsTheDiskReallyThere(hdlgProgress, pcr->sz, dwFunc, FALSE))\r\n               return(0);\r\n            pcr->cIsDiskThereCheck[DRIVEID (pcr->sz)] = 1;\r\n         }\r\n\r\n         //\r\n         // Classify the input string.\r\n         //\r\n         if (IsWild (pcr->sz)) {\r\n\r\n            //\r\n            // Wild card... operate on all matches but not recursively.\r\n            //\r\n            pcr->cDepth = 1;\r\n            pDTA = pcr->rgDTA;\r\n            pcr->pRoot = NULL;\r\n\r\nBeginSearch:\r\n            //\r\n            // Quit if pcr->sz gets too big.\r\n            //\r\n            if (lstrlen (pcr->sz) - lstrlen (FindFileName (pcr->sz)) >= MAXPATHLEN)\r\n               goto SearchStartFail;\r\n\r\n            //\r\n            // Search for the wildcard spec in pcr->sz.\r\n            //\r\n            if (!WFFindFirst(pDTA, pcr->sz, ATTR_ALL)) {\r\n\r\nSearchStartFail:\r\n\r\n               if (pcr->fRecurse) {\r\n\r\n                  // We are inside a recursive directory delete, so\r\n                  // instead of erroring out, go back a level\r\n\r\n                  goto LeaveDirectory;\r\n               }\r\n               lstrcpy (pFrom,pcr->sz);\r\n\r\n               //\r\n               // Back up as if we completed a search.\r\n               //\r\n               RemoveLast (pcr->sz);\r\n               pcr->cDepth--;\r\n\r\n               //\r\n               // Find First returned an error.  Return FileNotFound.\r\n               //\r\n               dwOp = OPER_ERROR;\r\n               *pdwError = ERROR_FILE_NOT_FOUND;\r\n\r\n               goto ReturnPair;\r\n            }\r\n            goto ProcessSearchResult;\r\n         } else {\r\n\r\n            // This could be a file or a directory.  Fill in the DTA\r\n            // structure for attrib check\r\n\r\n            if (!IsRootDirectory(pcr->sz)) {\r\n\r\n               if (!WFFindFirst(pcr->rgDTA, pcr->sz, ATTR_ALL)) {\r\n\r\n                  dwOp = OPER_ERROR;\r\n                  *pdwError = GetLastError();\r\n\r\n                  goto ReturnPair;\r\n               }\r\n               WFFindClose(pcr->rgDTA);\r\n\r\n               // Mega hack fix by adding else clause\r\n\r\n            } else {\r\n               pcr->rgDTA->hFindFile = INVALID_HANDLE_VALUE;\r\n            }\r\n\r\n            //\r\n            // Now determine if its a file or a directory\r\n            //\r\n            pDTA = pcr->rgDTA;\r\n            if (IsRootDirectory(pcr->sz) || (pDTA->fd.dwFileAttributes & ATTR_DIR)) {\r\n\r\n               //\r\n               // Process directory\r\n               //\r\n               if (dwFunc == FUNC_RENAME) {\r\n                  if (IsRootDirectory (pcr->sz)) {\r\n\r\n                     dwOp = OPER_ERROR;\r\n                     *pdwError = DE_ROOTDIR;\r\n                  }\r\n                  else\r\n                     dwOp = OPER_DOFILE;\r\n                  goto ReturnPair;\r\n               }\r\n\r\n               // Return reparse point and delete it via OPER_RMDIR\r\n               if (dwFunc == FUNC_DELETE && pDTA->fd.dwFileAttributes & (ATTR_SYMBOLIC | ATTR_JUNCTION)) {\r\n                  pcr->fRecurse = FALSE;\r\n                  dwOp = OPER_RMDIR;\r\n                  goto ReturnPair;\r\n               }\r\n\r\n               //\r\n               // Directory: operation is recursive, but not for junctions and symlinks\r\n               //\r\n               if (pDTA->fd.dwFileAttributes & (ATTR_SYMBOLIC | ATTR_JUNCTION))\r\n                  pcr->fRecurse = FALSE;\r\n               else\r\n                  pcr->fRecurse = TRUE;\r\n\r\n               pcr->cDepth = 1;\r\n               pDTA->fd.cFileName[0] = CHAR_NULL;\r\n               pcr->pRoot = FindFileName (pcr->sz);\r\n\r\n               lstrcpy (pcr->szDest,pcr->pRoot);\r\n\r\n               dwOp = OPER_MKDIR;\r\n               goto ReturnPair;\r\n            } else {\r\n\r\n               //\r\n               // Process file\r\n               //\r\n               pcr->pRoot = NULL;\r\n               dwOp = OPER_DOFILE;\r\n               goto ReturnPair;\r\n            }\r\n         }\r\n      }\r\n   }\r\n\r\nReturnPair:\r\n\r\n   // The source filespec has been derived into pcr->sz\r\n   // that is copied to pFrom.  pcr->sz and pToSpec are merged into pTo.\r\n\r\n   if (!*pFrom)\r\n      lstrcpy(pFrom,pcr->sz);\r\n   QualifyPath(pFrom);\r\n\r\n   if (dwFunc != FUNC_DELETE) {\r\n      if (dwFunc == FUNC_RENAME && !*pToPath) {\r\n         lstrcpy(pToPath, pFrom);\r\n         RemoveLast(pToPath);\r\n         AppendToPath(pToPath, pToSpec);\r\n      } else {\r\n\r\n         AppendToPath(pToPath,pcr->szDest);\r\n         if (dwOp == OPER_MKDIR)\r\n            RemoveLast(pToPath);\r\n\r\n         AppendToPath(pToPath,pToSpec);\r\n      }\r\n\r\n\r\n      if ((dwOp == OPER_MKDIR || dwOp == OPER_DOFILE) &&\r\n\r\n         (!bIsLFNDriveDest) &&\r\n         IsLFN (FindFileName (pFrom)) &&\r\n         (IsWild(pToSpec) || IsLFN(pToSpec))) {\r\n\r\n         //\r\n         // Don't check if ntfs, just if has altname!\r\n         //\r\n         if (pDTA->fd.cAlternateFileName[0]) {\r\n\r\n            RemoveLast(pToPath);\r\n            AppendToPath(pToPath,pDTA->fd.cAlternateFileName);\r\n            QualifyPath(pToPath);\r\n\r\n            if (dwOp == OPER_MKDIR) {\r\n               RemoveLast(pcr->szDest);\r\n               AppendToPath(pcr->szDest, pDTA->fd.cAlternateFileName);\r\n            }\r\n\r\n         } else {\r\n#if 0\r\n            // This has been turned off since\r\n            // it's a strange feature for HPFS only\r\n\r\n            if (GetNameDialog(dwOp, pFrom, pToPath) != IDOK)\r\n               return 0;   // User cancelled the operation, return failure\r\n\r\n            // Update the \"to\" path with the FAT name chosen by the user.\r\n\r\n            if (dwOp == OPER_MKDIR) {\r\n               RemoveLast(pcr->szDest);\r\n               AppendToPath(pcr->szDest, FindFileName(pToPath));\r\n            }\r\n#else\r\n         goto MergeNames;\r\n#endif\r\n         }\r\n      } else {\r\n\r\nMergeNames:\r\n         if (IsWild(pToPath)) {\r\n            LFNMergePath(pToPath, FindFileName(pFrom));\r\n         }\r\n      }\r\n   }\r\n\r\n   if (dwOp == OPER_MKDIR) {\r\n\r\n      //\r\n      // For a directory copy to the same name, append the \"- Copy\", \"- Symlink\", \"-Hardlink\" suffix\r\n      // to both the target of this operation, and the target directory for\r\n      // recursive operations.  Unlike the regular file case, this does not\r\n      // consider file name extensions, since it is specific to directories.\r\n      //\r\n\r\n      if (!_wcsicmp(pFrom, pToPath)) {\r\n         switch (dwFunc) {\r\n         case FUNC_COPY:\r\n            lstrcat(pToPath, L\" - Copy\");\r\n            lstrcat(pcr->szDest, L\" - Copy\");\r\n            break;\r\n\r\n         case FUNC_LINK:\r\n            lstrcat(pToPath, L\" - Symlink\");\r\n            lstrcat(pcr->szDest, L\" - Symlink\");\r\n            break;\r\n\r\n         case FUNC_HARD:\r\n            lstrcat(pToPath, L\" - Junction\");\r\n            lstrcat(pcr->szDest, L\" - Junction\");\r\n            break;\r\n         }\r\n      } else {\r\n         //\r\n         // Make sure the new directory is not a subdir of the original...\r\n         // Assumes case insensitivity.\r\n         //\r\n         pT = pToPath;\r\n\r\n         while (*pFrom &&\r\n            CharUpper((LPTSTR)(TUCHAR)*pFrom) == CharUpper((LPTSTR)(TUCHAR)*pT)) {\r\n\r\n            pFrom++;\r\n            pT++;\r\n         }\r\n         if (!*pFrom && (!*pT || *pT == CHAR_BACKSLASH)) {\r\n\r\n            // The two fully qualified strings are equal up to the end of the\r\n            //   source directory ==> the destination is a subdir.Must return\r\n            //   an error.\r\n\r\n            dwOp = OPER_ERROR;\r\n            *pdwError = DE_DESTSUBTREE;\r\n         }\r\n      }\r\n   }\r\n\r\n   return dwOp;\r\n}\r\n\r\n\r\nVOID\r\nCdDotDot (LPTSTR szOrig)\r\n{\r\n   TCHAR szTemp[MAXPATHLEN];\r\n\r\n   lstrcpy(szTemp, szOrig);\r\n   StripFilespec(szTemp);\r\n   SetCurrentDirectory(szTemp);\r\n}\r\n\r\n/* p is a fully qualified ANSI string. */\r\nBOOL\r\nIsCurrentDirectory (LPTSTR p)\r\n{\r\n   TCHAR szTemp[MAXPATHLEN];\r\n\r\n   GetDriveDirectory(DRIVEID(p) + 1, szTemp);\r\n\r\n   return (lstrcmpi(szTemp, p) == 0);\r\n}\r\n\r\n\r\n//\r\n// test input for \"multiple\" filespec\r\n//\r\n// examples:\r\n//  0   foo.bar         (single non directory file)\r\n//  1   *.exe           (wild card)\r\n//  1   foo.bar bletch.txt  (multiple files)\r\n//  2   c:\\         (directory)\r\n//\r\n// note: this may hit the disk in the directory check\r\n//\r\n\r\nINT\r\nCheckMultiple(LPTSTR pInput)\r\n{\r\n  LPTSTR pT;\r\n  TCHAR szTemp[MAXPATHLEN];\r\n\r\n  /* Wildcards imply multiple files. */\r\n  if (IsWild(pInput))\r\n      return 1;     // wild card\r\n\r\n  /* More than one thing implies multiple files. */\r\n  pT = GetNextFile(pInput, szTemp, COUNTOF(szTemp));\r\n  if (!pT)\r\n      return 0;     // blank string\r\n\r\n  StripBackslash(szTemp);\r\n\r\n  if (IsDirectory(szTemp))\r\n      return 2;     // directory\r\n\r\n  pT = GetNextFile(pT, szTemp, COUNTOF(szTemp));\r\n\r\n  return pT ? 1 : 0;    // several files, or just one\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  DialogEnterFileStuff() -                                                */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n/* Prevents the user from diddling anything other than the cancel button. */\r\n\r\nVOID\r\nDialogEnterFileStuff(HWND hwnd)\r\n{\r\n   HWND hwndT;\r\n\r\n   //\r\n   // set the focus to the cancel button so the user can hit space or esc\r\n   //\r\n   if (hwndT = GetDlgItem(hwnd, IDCANCEL)) {\r\n      SetFocus(hwndT);\r\n      SendMessage(hwnd,DM_SETDEFID,IDCANCEL,0L);\r\n   }\r\n\r\n   //\r\n   // disable the ok button and the edit controls\r\n   //\r\n   if (hwndT = GetDlgItem(hwnd, IDOK))\r\n      EnableWindow(hwndT, FALSE);\r\n\r\n   if (hwndT = GetDlgItem(hwnd, IDD_TO))\r\n      EnableWindow(hwndT, FALSE);\r\n\r\n   if (hwndT = GetDlgItem(hwnd, IDD_FROM))\r\n      EnableWindow(hwndT, FALSE);\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  Notify() -                                                              */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n/* Sets the status dialog item in the modeless status dialog box. */\r\n\r\n// used for both the drag drop status dialogs and the manual user\r\n// entry dialogs so be careful what you change\r\n\r\nVOID\r\nNotify(HWND hDlg, WORD idMessage, LPTSTR szFrom, LPTSTR szTo)\r\n{\r\n   TCHAR szTemp[40];\r\n\r\n   if (idMessage) {\r\n      LoadString(hAppInstance, idMessage, szTemp, COUNTOF(szTemp));\r\n      SetDlgItemText(hDlg, IDD_STATUS, szTemp);\r\n      SetDlgItemPath(hDlg, IDD_NAME, szFrom);\r\n   } else {\r\n      SetDlgItemText(hDlg, IDD_STATUS, szNULL);\r\n      SetDlgItemText(hDlg, IDD_NAME, szNULL);\r\n   }\r\n\r\n   // is this the drag/drop status dialog or the move/copy dialog\r\n\r\n   SetDlgItemPath(hDlg, IDD_TONAME, szTo);\r\n\r\n}\r\n\r\n//\r\n// BOOL IsWindowsFile(LPTSTR szFileOEM)\r\n//\r\n// this is a bit strange.  kernel strips off the path info so he\r\n// will match only on the base name of the file.  so if the base\r\n// name matches a currently open windows file we get the full\r\n// path string and compare against that.  that will tell\r\n// us that we have a file that kernel has open.\r\n//\r\n// LFN: detect long names and ignore them?\r\n\r\nBOOL\r\nIsWindowsFile(LPTSTR szFileOEM)\r\n{\r\n   HANDLE hMod;\r\n   TCHAR szModule[MAXPATHLEN];\r\n\r\n   //\r\n   // kernel can't load an lfn...\r\n   //\r\n   if (GetNameType(szFileOEM) == FILE_LONG)\r\n      return FALSE;\r\n\r\n\r\n   // kernel won't accept long paths\r\n\r\n   lstrcpy(szModule, szFileOEM);\r\n   StripPath(szModule);\r\n\r\n   hMod = GetModuleHandle(szModule);\r\n\r\n   // check for one cause that's what's returned if its MSDOS\r\n   // but it isn't really loaded because of xl 2.1c kernel hack\r\n   if (!hMod || hMod == (HANDLE)1)\r\n      return FALSE;\r\n\r\n   GetModuleFileName(hMod, szModule, COUNTOF(szModule));\r\n\r\n   if (!lstrcmpi(szFileOEM, szModule))     // they are both OEM & we\r\n      return TRUE;                    // just care about equality\r\n   else\r\n      return FALSE;\r\n}\r\n\r\n\r\nDWORD\r\nSafeFileRemove(LPTSTR szFileOEM)\r\n{\r\n   if (IsWindowsFile(szFileOEM))\r\n      return DE_WINDOWSFILE;\r\n   else\r\n      return WFRemove(szFileOEM);\r\n}\r\n\r\n#ifdef NETCHECK\r\n//\r\n// !! BUGBUG !!\r\n// Should do a NetCheck on all MKDirs.\r\n//\r\n#endif\r\n\r\n\r\nDWORD\r\nWF_CreateDirectory(HWND hwndParent, LPTSTR szDest, LPTSTR szSrc)\r\n{\r\n   DWORD ret = 0;\r\n   TCHAR szTemp[MAXPATHLEN + 1];    // +1 for AddBackslash()\r\n   LPTSTR p, pLastSpecEnd;\r\n\r\n   LFNDTA DTAHack;\r\n   BOOL bLastExists;\r\n\r\n   //\r\n   // now create the full dir tree on the destination\r\n   //\r\n   StrNCpy(szTemp, szDest, COUNTOF(szTemp)-1);\r\n   pLastSpecEnd = szTemp + AddBackslash(szTemp)-1;\r\n\r\n   p = SkipPathHead(szTemp);\r\n\r\n   if (!p)\r\n      return ERROR_INVALID_NAME;\r\n\r\n   //\r\n   // create each part of the dir in order\r\n   //\r\n   while (*p) {\r\n\r\n      //\r\n      // Keep track if the last component exists already\r\n      // so that when we reach the very last one, we know if we need\r\n      // to return the error \"Entire dir path exists.\"\r\n      //\r\n      bLastExists = FALSE;\r\n\r\n      while (*p && *p != CHAR_BACKSLASH)\r\n         p++;\r\n\r\n\r\n      if (*p) {\r\n\r\n         *p = CHAR_NULL;\r\n\r\n         if (WFFindFirst(&DTAHack, szTemp, ATTR_ALL)) {\r\n\r\n            WFFindClose(&DTAHack);\r\n\r\n            if (!(DTAHack.fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY))\r\n               return DE_DIREXISTSASFILE;\r\n\r\n            bLastExists = TRUE;\r\n\r\n         } else {\r\n\r\n            //\r\n            // When we reach the last spec, create the directory\r\n            // using the template.\r\n            //\r\n            if (ret = MKDir(szTemp, (p == pLastSpecEnd) ? szSrc : NULL)) {\r\n\r\n               //\r\n               // Here we must also ignore the ERROR_ALREADY_EXISTS error.\r\n               // Even though we checked for existence above, on NTFS, we\r\n               // may only have WX privilege so it was not found by\r\n               // FindFirstFile.\r\n               //\r\n               if (ERROR_ALREADY_EXISTS == ret)\r\n                  ret = ERROR_SUCCESS;\r\n               else\r\n                  return ret;\r\n\r\n            } else {\r\n\r\n               wfYield();\r\n            }\r\n         }\r\n\r\n         *p++ = CHAR_BACKSLASH;\r\n      }\r\n   }\r\n   if (bLastExists)\r\n      ret = ERROR_ALREADY_EXISTS;\r\n\r\n   return ret;   // return the last error code\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     WFMoveCopyDriver\r\n//\r\n// Synopsis: Sets up thread then returns.\r\n//\r\n// INOUT pCopyInfo  Copy information: MUST BE ALL MALLOC'D!\r\n//\r\n//\r\n//\r\n//\r\n// Return:   DWORD 0=success else error code\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nDWORD\r\nWFMoveCopyDriver(PCOPYINFO pCopyInfo)\r\n{\r\n   HANDLE hThreadCopy;\r\n   DWORD dwIgnore;\r\n\r\n   //\r\n   // Move/Copy things.\r\n   //\r\n   hThreadCopy = CreateThread( NULL,\r\n      0L,\r\n      WFMoveCopyDriverThread,\r\n      pCopyInfo,\r\n      0L,\r\n      &dwIgnore);\r\n\r\n   if (!hThreadCopy) {\r\n\r\n      //\r\n      // Must free everything\r\n      //\r\n      LocalFree(pCopyInfo->pFrom);\r\n      LocalFree(pCopyInfo->pTo);\r\n      LocalFree(pCopyInfo);\r\n\r\n      return GetLastError();\r\n   }\r\n\r\n\r\n   CloseHandle(hThreadCopy);\r\n\r\n   return 0;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     WFMoveCopyDriverThread\r\n//\r\n// Synopsis: The following function is the mainline function for\r\n//           COPYing, RENAMEing, DELETing, and MOVEing single/multiple files.\r\n//\r\n// pFrom - String containing list of source specs\r\n// pTo   - String containing destination specs\r\n// dwFunc - Operation to be performed.  Possible values are:\r\n//         FUNC_DELETE - Delete files in pFrom\r\n//         FUNC_RENAME - Rename files (same directory)\r\n//         FUNC_MOVE   - Move files in pFrom to pTo (different disk)\r\n//         FUNC_COPY   - Copy files in pFrom to pTo\r\n//\r\n//\r\n// Return: VOID\r\n//\r\n//         On finish, sends FS_COPYDONE back.\r\n//            wParam == error code\r\n//            lParam == pCopyInfo identifier (to prevent previous aborted\r\n//                      copies from aborting current copy)\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:  Needs to check for pathnames that are too large!\r\n//         HWND hDlg, LPTSTR pFrom, LPTSTR pTo, DWORD dwFunc)\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nDWORD\r\nWINAPI\r\nWFMoveCopyDriverThread(LPVOID lpParameter)\r\n{\r\n   PCOPYINFO pCopyInfo = lpParameter;\r\n   DWORD ret = 0;                     // Return value from WFMoveCopyDriver\r\n   LPWSTR pSpec = NULL;               // Pointer to file spec\r\n   DWORD dwAttr;                      // File attributes\r\n   DWORD dwResponse;                  // Response from ConfirmDialog call\r\n   DWORD oper = 0;                    // Disk operation being performed\r\n   TCHAR szDestSpec[MAXFILENAMELEN+1]; // Dest file spec\r\n   TCHAR szDest[2*MAXPATHLEN];         // Dest file (ANSI string)\r\n\r\n   TCHAR szTemp[MAXPATHLEN];\r\n\r\n   TCHAR szSource[MAXPATHLEN];         // Source file (ANSI string)\r\n   LFNDTA DTADest;                    // DTA block for reporting dest errors\r\n   PLFNDTA pDTA = NULL;               // DTA pointer for source errors\r\n   PCOPYROOT pcr;                     // Structure for searching source tree\r\n   BOOL bReplaceAll = FALSE;          // Replace all flag\r\n   BOOL bSubtreeDelAll = FALSE;       // Delete entire subtree flag\r\n   BOOL bDeleteAll = FALSE;           // Delete all files flag\r\n\r\n   BOOL bReplaceReadOnlyAll = FALSE;          // Replace all flag\r\n   BOOL bSubtreeDelReadOnlyAll = FALSE;       // Delete entire subtree flag\r\n   BOOL bDeleteReadOnlyAll = FALSE;           // Delete all files flag\r\n\r\n   BOOL bNoAccessAll = FALSE;\r\n   BOOL bDirNotEmpty = FALSE;\r\n\r\n   BOOL bFalse = FALSE;               // For cases that aren't disableable\r\n   INT CurIDS = 0;                    // Current string displayed in status\r\n\r\n   BOOL bErrorOnDest = FALSE;\r\n   BOOL bIsLFNDriveDest = FALSE;\r\n\r\n   BOOL bSameFile;                    // Source, dest same file?\r\n   BOOL bDoMoveRename;                // OPER_DOFILE and FUNC_{RENAME,MOVE}\r\n\r\n   BOOL bConfirmed;\r\n   BOOL bFatalError = FALSE;\r\n   BOOL bErrorOccured = FALSE;\r\n\r\n#ifdef NETCHECK\r\n   BOOL fInvalidate = FALSE;          // whether to invalidate net types\r\n#endif\r\n\r\n   // Initialization stuff.  Disable all file system change processing until\r\n   // we're all done\r\n\r\n   SwitchToSafeDrive();\r\n\r\n   szDest[0] = szSource[0] = CHAR_NULL;\r\n   SendMessage(hwndFrame, FS_DISABLEFSC, 0, 0L);\r\n\r\n   //\r\n   // Change all '/' characters to '\\' characters in dest spec\r\n   //\r\n   CheckSlashes(pCopyInfo->pFrom);\r\n\r\n   //\r\n   // Check for multiple source files\r\n   //\r\n   ManySource = CheckMultiple(pCopyInfo->pFrom);\r\n\r\n   //\r\n   // Allocate buffer for searching the source tree\r\n   //\r\n   pcr = (PCOPYROOT)LocalAlloc(LPTR, sizeof(COPYROOT));\r\n   if (!pcr) {\r\n      ret = DE_INSMEM;\r\n      goto ShowMessageBox;\r\n   }\r\n\r\n   // Skip destination specific processing if we are deleting files\r\n\r\n   if (pCopyInfo->dwFunc != FUNC_DELETE) {\r\n\r\n      // it is an error condition if there are multiple files\r\n      // specified as the dest (but not a single directory)\r\n\r\n      pSpec = GetNextFile(pCopyInfo->pTo, szTemp, COUNTOF(szTemp));\r\n\r\n      if (GetNextFile(pSpec, szTemp, MAXPATHLEN) != NULL) {\r\n         // move, copy specified with multiple destinations\r\n         // not allowed, error case\r\n\r\n         ret = DE_MANYDEST;\r\n         goto ShowMessageBox;\r\n      }\r\n\r\n      lstrcpy(pCopyInfo->pTo, szTemp);\r\n\r\n      QualifyPath(pCopyInfo->pTo);\r\n\r\n      if (pCopyInfo->dwFunc == FUNC_RENAME) {\r\n         // don't let them rename multiple files to one single file\r\n\r\n         if ((ManySource == 1) && !IsWild(pCopyInfo->pTo)) {\r\n            ret = DE_MANYSRC1DEST;\r\n            goto ShowMessageBox;\r\n         }\r\n\r\n      } else {\r\n\r\n         // We are either executing FUNC_COPY or FUNC_MOVE at this point.\r\n         // Check that the destination disk is there.  NOTE: There's a disk\r\n         // access here slowing us down.\r\n\r\n         //\r\n         // Change this from IsTheDiskReallyThere to CheckDrive to handle\r\n         // restoring connections.\r\n         //\r\n         if (CHAR_COLON == pCopyInfo->pTo[1]) {\r\n            if (!CheckDrive(hdlgProgress,DRIVEID(pCopyInfo->pTo),pCopyInfo->dwFunc))\r\n               goto CancelWholeOperation;\r\n         }\r\n\r\n         // deal with case where directory is implicit in source\r\n         // move/copy: *.* -> c:\\windows, c:\\windows -> c:\\temp\r\n         // or foo.bar -> c:\\temp\r\n         // do this not for junction or symlinks\r\n\r\n         if (!IsWild(pCopyInfo->pTo) && (ManySource || IsDirectory(pCopyInfo->pTo)) && pCopyInfo->dwFunc != FUNC_LINK && pCopyInfo->dwFunc != FUNC_HARD) {\r\n            AddBackslash(pCopyInfo->pTo);\r\n            lstrcat(pCopyInfo->pTo, szStarDotStar);\r\n         }\r\n      }\r\n\r\n      // FUNC_RENAME or FUNC_MOVE FUNC_COPY with a file name dest\r\n      // (possibly including wildcards).  Save the filespec and the path\r\n      // part of the destination\r\n\r\n      pSpec = FindFileName(pCopyInfo->pTo);\r\n      lstrcpy(szDestSpec,pSpec);\r\n      lstrcpy(szDest,pCopyInfo->pTo);\r\n      RemoveLast(szDest);\r\n\r\n      pSpec = szDest + lstrlen(szDest);\r\n\r\n      bIsLFNDriveDest = IsLFNDrive(pCopyInfo->pTo);\r\n   }\r\n   pcr->pSource = pCopyInfo->pFrom;\r\n\r\n   //\r\n   // Set up arguments for queued copy commands\r\n   //\r\n\r\n   while (pcr) {\r\n\r\n      // Allow the user to abort the operation\r\n\r\n      if (pCopyInfo->bUserAbort)\r\n         goto CancelWholeOperation;\r\n\r\n      // Clean off the last filespec for multiple file copies\r\n\r\n      if (pCopyInfo->dwFunc != FUNC_DELETE) {\r\n         *pSpec = CHAR_NULL;\r\n      }\r\n\r\n      oper = GetNextPair(pcr,szSource,szDest,szDestSpec,pCopyInfo->dwFunc,&ret, bIsLFNDriveDest);\r\n\r\n#ifdef FASTMOVE\r\n      pcr->bFastMove = FALSE;\r\n#endif\r\n\r\n\r\n      // Check for no operation or error\r\n\r\n      if (!oper) {\r\n         LocalFree((HANDLE)pcr);\r\n         pcr = NULL;\r\n         break;\r\n      }\r\n      if ((oper & OPER_MASK) == OPER_ERROR) {\r\n         oper = OPER_DOFILE;\r\n         bFatalError = TRUE;\r\n         goto ShowMessageBox;\r\n      }\r\n\r\n      pDTA = CurPDTA(pcr);\r\n\r\n\r\n      if (pCopyInfo->bUserAbort)\r\n         goto CancelWholeOperation;\r\n\r\n      // Don't MKDIR on the root.\r\n      // This is the one anomaly of winfile's drag/drop copy.\r\n      // Dragging a folder usually creates the dragged folder in\r\n      // the destination (drag directory \"foo\" to \"bar\" and the\r\n      // directory \"foo\" appears in \"bar\").  But when dragging the\r\n      // root directory, there is no directory \"root\" or \"\\\\\".\r\n      // Instead, the roots contents are placed directly in the\r\n      // destination folder.\r\n\r\n      // On other OSs, dragging a root (i.e., the entire disk) to\r\n      // another folder creates a new folder named after the source\r\n      // disk.\r\n\r\n      if ((oper == OPER_MKDIR) && (szSource[lstrlen(szSource) - 1] == CHAR_BACKSLASH)) {\r\n         continue;\r\n      }\r\n\r\n      // Fix up source spec\r\n\r\n      if (ret = IsInvalidPath(szSource)) {\r\n         goto ShowMessageBox;\r\n      }\r\n\r\n      // Moved up for the wacky case of copy to floppy,\r\n      // disk full, swap in new disk, new disk already has\r\n      // the same file on it --> now it will put up the confirm\r\n      // dialog (again).\r\n\r\n      bConfirmed = FALSE;\r\n\r\n   TRY_COPY_AGAIN:\r\n\r\n      if (pCopyInfo->dwFunc != FUNC_DELETE) {\r\n\r\n         //\r\n         // If same name and copying, attempt to add a \"- Copy\" suffix.\r\n         //\r\n         bSameFile = !lstrcmpi(szSource, szDest);\r\n         if (bSameFile &&\r\n            (pCopyInfo->dwFunc == FUNC_COPY || pCopyInfo->dwFunc == FUNC_LINK || pCopyInfo->dwFunc == FUNC_HARD) &&\r\n            (oper != OPER_RMDIR)) {\r\n\r\n            // Source and destination are exactly the same\r\n            WCHAR szDestAlt[MAXPATHLEN + 2] = { 0 };\r\n            WCHAR szExtension[MAXPATHLEN + 2] = { 0 };\r\n            LPTSTR pExt;\r\n\r\n            lstrcpy(szDestAlt, szDest);\r\n\r\n            // Lets try to apply the 'Copy' pattern, e.g. 'file.ext' -> 'file - Copy.ext'\r\n            pExt = PathFindExtension(szDestAlt);\r\n            if (*pExt) {\r\n               // Split of extension if available\r\n               lstrcpy(szExtension, pExt);\r\n               *pExt = '\\0';\r\n            }\r\n\r\n            // Postfix the operation\r\n            switch (pCopyInfo->dwFunc) {\r\n            case FUNC_COPY:\r\n               lstrcat(szDestAlt, L\" - Copy\");\r\n               break;\r\n\r\n            case FUNC_LINK:\r\n               lstrcat(szDestAlt, L\" - Symlink\");\r\n               break;\r\n\r\n            case FUNC_HARD:\r\n               lstrcat(szDestAlt, L\" - Hardlink\");\r\n               break;\r\n            }\r\n\r\n            lstrcat(szDestAlt, szExtension);\r\n\r\n            // We only do a one level '- Copy' postfixing, and do intentionally not go for a '- Copy (n)' postfix\r\n            if (INVALID_FILE_ATTRIBUTES == GetFileAttributes(szDestAlt)) {\r\n               lstrcpy(szDest, szDestAlt);\r\n               bSameFile = FALSE;\r\n            } else {\r\n               // If one already used this '- Copy' postfix, bail out. Just one level.\r\n               ret = DE_RENAMREPLACE;\r\n               goto ShowMessageBox;\r\n            }\r\n\r\n         }\r\n         if (ret = IsInvalidPath(szDest)) {\r\n\r\n            bErrorOnDest = TRUE;\r\n            goto ShowMessageBox;\r\n         }\r\n\r\n         //\r\n         // Check to see if we are overwriting an existing file.  If so,\r\n         // better confirm.\r\n         //\r\n         bDoMoveRename = OPER_DOFILE == oper &&\r\n            (FUNC_RENAME == pCopyInfo->dwFunc || FUNC_MOVE == pCopyInfo->dwFunc);\r\n         if (oper == OPER_DOFILE && !(bSameFile && bDoMoveRename)) {\r\n\r\n            if (WFFindFirst(&DTADest, szDest, ATTR_ALL)) {\r\n\r\n               WCHAR szShortSource[MAXPATHLEN];\r\n               WCHAR szShortDest[MAXPATHLEN];\r\n\r\n               WFFindClose(&DTADest);\r\n\r\n               //\r\n               // We may be renaming a lfn to its shortname or backwards\r\n               // (e.g., \"A Long Filename.txt\" to \"alongf~1.txt\")\r\n               // Only put up the dialog if this _isn't_ the case.\r\n               //\r\n               // We are actually hosed since the any directory\r\n               // in the path could be a longname/shortname pair.\r\n               // The only \"correct\" way of doing this is to use\r\n               // GetShortPathName.\r\n               //\r\n\r\n               GetShortPathName(szDest, szShortDest, COUNTOF(szShortDest));\r\n\r\n               GetShortPathName(szSource, szShortSource, COUNTOF(szShortSource));\r\n\r\n               if (!lstrcmpi(szShortSource, szShortDest)) {\r\n\r\n                  ret = DE_SAMEFILE;\r\n                  goto ShowMessageBox;\r\n               }\r\n\r\n               if (pCopyInfo->dwFunc == FUNC_RENAME) {\r\n                  ret = DE_RENAMREPLACE;\r\n                  goto ShowMessageBox;\r\n               }\r\n\r\n               //\r\n               //  Save the attributes, since ConfirmDialog may change them.\r\n               //\r\n               dwAttr = GetFileAttributes(szDest);\r\n\r\n               // we need to check if we are trying to copy a file\r\n               // over a directory and give a reasonable error message\r\n\r\n               dwResponse = bConfirmed ?\r\n                  IDYES :\r\n                  ConfirmDialog(hdlgProgress,CONFIRMREPLACE,\r\n                     szDest,&DTADest,szSource,\r\n                     pDTA,bConfirmReplace,\r\n                     &bReplaceAll,\r\n                     bConfirmReadOnly,\r\n                     &bReplaceReadOnlyAll);\r\n\r\n               switch (dwResponse) {\r\n\r\n               case IDYES:       // Perform the delete\r\n\r\n                  if ((pCopyInfo->dwFunc == FUNC_MOVE) || (pCopyInfo->dwFunc == FUNC_HARD) || (pCopyInfo->dwFunc == FUNC_LINK)) {\r\n\r\n                     // For FUNC_MOVE/FUNC_HARD/FUNC_LINK we need to delete the\r\n                     // destination first.  Do that now.\r\n\r\n                     if (DTADest.fd.dwFileAttributes & ATTR_DIR) {\r\n                        if (IsCurrentDirectory(szDest))\r\n                           CdDotDot(szDest);\r\n\r\n                        // Remove directory\r\n#ifdef NETCHECK\r\n                        fInvalidate = TRUE;  // following may delete share\r\n\r\n                        ret = bConfirmed ?\r\n                           WN_SUCCESS :\r\n                           NetCheck(szDest, WNDN_RMDIR);\r\n\r\n                        switch (ret) {\r\n\r\n                        case WN_SUCCESS:\r\n#endif\r\n                           //\r\n                           // Remove directory\r\n                           //\r\n\r\n                           ret = RMDir(szDest);\r\n\r\n                           if (ERROR_SHARING_VIOLATION == ret) {\r\n\r\n                              //\r\n                              // We could have been watching this\r\n                              // with the notify system\r\n                              //\r\n\r\n                              //\r\n                              // Only do this for non-UNC\r\n                              //\r\n                              if (CHAR_COLON == szSource[1]) {\r\n\r\n                                 NotifyPause(DRIVEID(szSource),(UINT)-1);\r\n                                 ret = RMDir(szSource);\r\n                              }\r\n                           }\r\n#ifdef NETCHECK\r\n                           break;\r\n\r\n                        case WN_CONTINUE:\r\n                           break;\r\n\r\n                        case WN_CANCEL:\r\n                           goto CancelWholeOperation;\r\n                        }\r\n#endif\r\n                     } else {\r\n\r\n                         //\r\n                         // On move, must delete destination file\r\n                         // on copy, the fs does this for us.\r\n                         //\r\n                         ret = SafeFileRemove (szDest);\r\n\r\n                         //\r\n                         //  Reset the file attributes that may have been\r\n                         //  changed in the ConfirmDialog call.\r\n                         //\r\n                         //  This only happens in the ID_YES case for a\r\n                         //  file (directories are not affected).\r\n                         //\r\n                         if (ret)\r\n                         {\r\n                             SetFileAttributes(szDest, dwAttr);\r\n                         }\r\n                     }\r\n\r\n                     if (ret) {\r\n                        bErrorOnDest = TRUE;\r\n                        goto ShowMessageBox;\r\n                     }\r\n\r\n                     //\r\n                     // no need to:\r\n                     // else  ret = SafeFileRemove (szDest);\r\n                     //\r\n                     // since the dest will be handled by the fs.\r\n                     // (Note that the \"if (ret)\" is moved into the\r\n                     // upper if clause since we don't set ret to\r\n                     // the SafeFileRemove return value.\r\n                     //\r\n                  }\r\n                  break;\r\n\r\n               case IDNO:\r\n\r\n                  // Don't perform operation on current file\r\n\r\n                  continue;\r\n\r\n               case IDCANCEL:\r\n                  goto CancelWholeOperation;\r\n\r\n               default:\r\n                  ret = dwResponse;\r\n                  goto ShowMessageBox;\r\n               }\r\n            }\r\n         }\r\n      }\r\n\r\n      // Now determine which operation to perform\r\n\r\n      switch (oper | pCopyInfo->dwFunc) {\r\n\r\n      case OPER_MKDIR | FUNC_COPY:  // Create destination directory\r\n      case OPER_MKDIR | FUNC_MOVE:  // Create dest, verify source delete\r\n\r\n         CurIDS = IDS_CREATINGMSG;\r\n         Notify(hdlgProgress, IDS_CREATINGMSG, szDest, szNULL);\r\n\r\n#ifdef NETCHECK\r\n\r\n         if (!bConfirmed) {\r\n\r\n            switch (NetCheck(szDest, WNDN_MKDIR)) {\r\n            case WN_SUCCESS:\r\n               break;\r\n\r\n            case WN_CONTINUE:\r\n               goto SkipMKDir;\r\n\r\n            case WN_CANCEL:\r\n               goto CancelWholeOperation;\r\n            }\r\n         }\r\n#endif\r\n\r\n         if (pCopyInfo->dwFunc == FUNC_MOVE) {\r\n\r\n#ifdef NETCHECK\r\n            if (!bConfirmed)  {\r\n\r\n               fInvalidate = TRUE;  // following may delete share\r\n\r\n               switch (NetCheck(szSource, WNDN_MVDIR)) {\r\n               case WN_SUCCESS:\r\n                  break;\r\n\r\n               case WN_CONTINUE:\r\n                  goto SkipMKDir;\r\n\r\n               case WN_CANCEL:\r\n                  goto CancelWholeOperation;\r\n               }\r\n            }\r\n#endif\r\n\r\n#ifdef FASTMOVE\r\n            if ((CHAR_COLON == pcr->sz[1]) &&\r\n               (CHAR_COLON == szDest[1]) &&\r\n               (DRIVEID(pcr->sz) == DRIVEID(szDest))) {\r\n\r\n               //\r\n               // Warning: This will not work on winball drives!\r\n               // There is a problem here: if this is winball,\r\n               // then we get an ERROR_ACCESS_DENIED when we try to do\r\n               // the fastmove.  We could continue normally with the\r\n               // slowmove.  However, in the case of moving NTFS directories,\r\n               // we may get ERROR_ACCESS_DENIED because we don't have\r\n               // write permission on the directory.  In this case, we\r\n               // want to ignore the entire directory.\r\n               //\r\n               // For now, this works because DTAFast.err is neither\r\n               // ERROR_PATH_NOT_FOUND ERROR_FILE_NOT_FOUND, do we're\r\n               // ok by accident.\r\n               //\r\n\r\n               pcr->bFastMove = TRUE;\r\n               goto DoMove;\r\n            }\r\n#endif\r\n         }\r\n\r\n#ifdef FASTMOVE\r\nDoMkDir:\r\n#endif\r\n\r\n         ret = WF_CreateDirectory(hdlgProgress, szDest, szSource);\r\n\r\n         if (!ret)\r\n            //\r\n            // set attributes of dest to source (not including the\r\n            // subdir and vollabel bits)\r\n            //\r\n            WFSetAttr(szDest, pDTA->fd.dwFileAttributes & ~(ATTR_DIR|ATTR_VOLUME));\r\n\r\n         //\r\n         // If it already exists ignore the error return\r\n         // as long as it is a directory and not a file.\r\n         //\r\n         if (ret == ERROR_ALREADY_EXISTS) {\r\n\r\n            ret = WFIsDir(szDest) ?\r\n               ERROR_SUCCESS :\r\n               DE_DIREXISTSASFILE;\r\n         }\r\n\r\n         if (ret)\r\n            bErrorOnDest = TRUE;\r\n\r\n         // set attributes of new directory to those of the source\r\n\r\n#ifdef NETCHECK\r\nSkipMKDir:\r\n#endif\r\n         break;\r\n\r\n      // FUNC_HARD is here, because one can select a directory in the file-pane and have SHIFT+CTRL+ALT pressed to \r\n      // create a junction. In this very case we get a Junction creation 'disguised' as FUNC_HARD\r\n      case OPER_MKDIR | FUNC_HARD: \r\n      case OPER_MKDIR | FUNC_LINK:  \r\n      {\r\n         // Create symbolic link or junction\r\n         if (WFFindFirst(&DTADest, szDest, ATTR_ALL)) {\r\n            WFFindClose(&DTADest);\r\n\r\n            dwResponse = ConfirmDialog(hdlgProgress, CONFIRMREPLACE,\r\n               szDest, &DTADest, szSource, pDTA,\r\n               bConfirmSubDel,\r\n               &bSubtreeDelAll,\r\n               bConfirmReadOnly,\r\n               &bSubtreeDelReadOnlyAll);\r\n\r\n            switch (dwResponse) {\r\n            case IDYES:       // Perform the delete\r\n               RMDir(szDest);\r\n               break;\r\n\r\n            case IDNO:\r\n               continue;\r\n\r\n            case IDCANCEL:\r\n               goto CancelWholeOperation;\r\n            }\r\n         }\r\n         CurIDS = IDS_CREATINGMSG;\r\n         Notify(hdlgProgress, IDS_CREATINGMSG, szDest, szNULL);\r\n         switch (pCopyInfo->dwFunc) {\r\n         case FUNC_LINK:\r\n            ret = WFSymbolicLink(szSource, szDest, SYMBOLIC_LINK_FLAG_DIRECTORY);\r\n            break;\r\n\r\n         case FUNC_HARD:\r\n            ret = WFJunction(szDest, szSource);\r\n            break;\r\n         }\r\n\r\n         //\r\n         // If symlink dir already exists ignore the error. return\r\n         // as long as it is a directory and not a file.\r\n         //\r\n         if (ERROR_ALREADY_EXISTS == ret) {\r\n\r\n            ret = WFIsDir(szDest) ?\r\n               ERROR_SUCCESS :\r\n               DE_DIREXISTSASFILE;\r\n         }\r\n\r\n         // Don't follow a reparse point in the source. Stop recursion of GetNextPair for this entry\r\n         pcr->cDepth = 0;\r\n\r\n         if (ret != ERROR_SUCCESS)\r\n            bErrorOnDest = TRUE;\r\n      }\r\n      break;\r\n\r\n      case OPER_MKDIR | FUNC_DELETE:\r\n\r\n         // Confirm removal of directory on this pass.  The directories\r\n         // are actually removed on the OPER_RMDIR pass\r\n\r\n         // We can't delete the root directory, so don't bother\r\n         // confirming it\r\n\r\n         if (IsRootDirectory(szSource))\r\n            break;\r\n\r\n         if (bConfirmed)\r\n            break;\r\n\r\n         dwResponse = ConfirmDialog (hdlgProgress,CONFIRMRMDIR,\r\n            NULL,pDTA,szSource, NULL,\r\n            bConfirmSubDel,\r\n            &bSubtreeDelAll,\r\n            bConfirmReadOnly,\r\n            &bSubtreeDelReadOnlyAll);\r\n\r\n         switch (dwResponse) {\r\n         case IDYES:\r\n\r\n#ifdef NETCHECK\r\n            fInvalidate = TRUE;  // following may delete share\r\n            switch (NetCheck(szSource,WNDN_RMDIR)) {\r\n            case WN_SUCCESS:\r\n               break;\r\n            case WN_CANCEL:\r\n            default:\r\n               goto CancelWholeOperation;\r\n            }\r\n#endif\r\n            break;\r\n\r\n         case IDNO:\r\n         case IDCANCEL:\r\n            goto CancelWholeOperation;\r\n\r\n         default:\r\n            ret = dwResponse;\r\n            goto ShowMessageBox;\r\n         }\r\n         break;\r\n\r\n      case OPER_RMDIR | FUNC_MOVE:\r\n      case OPER_RMDIR | FUNC_DELETE:\r\n\r\n         CurIDS = IDS_REMOVINGDIRMSG;\r\n         Notify(hdlgProgress, IDS_REMOVINGDIRMSG, szSource, szNULL);\r\n         if (IsRootDirectory (szSource))\r\n            break;\r\n         if (IsCurrentDirectory (szSource))\r\n            CdDotDot (szSource);\r\n\r\n         //\r\n         // We already confirmed the delete at MKDIR time, so attempt\r\n         // to delete the directory\r\n         //\r\n\r\n         //\r\n         // Tuck away the attribs in case we fail.\r\n         //\r\n         dwAttr = GetFileAttributes(szSource);\r\n\r\n         WFSetAttr(szSource, FILE_ATTRIBUTE_NORMAL);\r\n\r\n         ret = RMDir(szSource);\r\n\r\n         if (ERROR_SHARING_VIOLATION == ret) {\r\n\r\n            //\r\n            // We could have been watching this with the notify system\r\n            //\r\n\r\n            //\r\n            // Only do this for non-UNC\r\n            //\r\n            if (CHAR_COLON == szSource[1]) {\r\n\r\n               NotifyPause(DRIVEID(szSource),(UINT)-1);\r\n               ret = RMDir(szSource);\r\n            }\r\n         }\r\n         //\r\n         // On failure, restore attributes\r\n         //\r\n         if (ret && INVALID_FILE_ATTRIBUTES != dwAttr)\r\n            WFSetAttr(szSource, dwAttr);\r\n\r\n         break;\r\n\r\n      case OPER_RMDIR | FUNC_COPY:\r\n         break;\r\n\r\n      case OPER_DOFILE | FUNC_HARD:\r\n      case OPER_DOFILE | FUNC_LINK:\r\n      case OPER_DOFILE | FUNC_COPY:\r\n\r\n\r\n         if (IsWindowsFile(szDest)) {\r\n\r\n            ret = DE_WINDOWSFILE;\r\n            bErrorOnDest = TRUE;\r\n            break;\r\n         }\r\n\r\n         //\r\n         // Now try to process the file.  Do extra error processing only\r\n         //      in 2 cases:\r\n         //\r\n         //  1) If a floppy is full let the user stick in a new disk\r\n         //  2) If the path doesn't exist (the user typed in\r\n         //     an explicit path that doesn't exist) ask if\r\n         //     we should create it.\r\n\r\n         // NOTE:  This processing is normally done by WFCopy.  But in\r\n         //              the case where LFN copy support is invoked, we have\r\n         //              to support this error condition here.  Modified by\r\n         //    C. Stevens, August 1991\r\n\r\n         switch (pCopyInfo->dwFunc) {\r\n         case FUNC_COPY:\r\n            ret = WFCopy(szSource, szDest);\r\n            break;\r\n\r\n         case FUNC_LINK:\r\n            ret = WFSymbolicLink(szSource, szDest, 0);\r\n            break;\r\n\r\n         case FUNC_HARD:\r\n            ret = WFHardLink(szSource, szDest);\r\n            break;\r\n         }\r\n\r\n         if (pCopyInfo->bUserAbort)\r\n            goto CancelWholeOperation;\r\n\r\n         if (((ret == ERROR_DISK_FULL) && IsRemovableDrive(DRIVEID(szDest))) ||\r\n            (ret == ERROR_PATH_NOT_FOUND))\r\n         {\r\n            //\r\n            // There was an error, so delete the file that was just written\r\n            // incorrectly.\r\n            //\r\n            // NOTE:  Must first make sure the attributes are clear so that\r\n            //        the delete will always succeed.\r\n            //\r\n            SetFileAttributes(szDest, FILE_ATTRIBUTE_NORMAL);\r\n            DeleteFile(szDest);\r\n\r\n            //\r\n            // Show retry popup.\r\n            //\r\n            ret = CopyMoveRetry(szDest, ret, &bErrorOnDest);\r\n            if (!ret)\r\n               goto TRY_COPY_AGAIN;\r\n\r\n            else if (DE_OPCANCELLED == ret)\r\n               goto CancelWholeOperation;\r\n         }\r\n\r\n         break;\r\n\r\n      case OPER_DOFILE | FUNC_RENAME:\r\n         {\r\n            TCHAR save1,save2;\r\n            LPTSTR p;\r\n\r\n            if (CurIDS != IDS_RENAMINGMSG) {\r\n               CurIDS = IDS_RENAMINGMSG;\r\n               Notify(hdlgProgress, IDS_RENAMINGMSG, szNULL, szNULL);\r\n            }\r\n\r\n            // Get raw source and dest paths.  Check to make sure the\r\n            // paths are the same\r\n\r\n            p = FindFileName(szSource);\r\n            save1 = *p;\r\n            *p = CHAR_NULL;\r\n            p = FindFileName(szDest);\r\n            save2 = *p;\r\n            *p = CHAR_NULL;\r\n            ret = lstrcmpi(szSource, szDest);\r\n            szSource[lstrlen(szSource)] = save1;\r\n            szDest[lstrlen(szDest)] = save2;\r\n            if (ret)  {\r\n               ret = DE_DIFFDIR;\r\n               break;\r\n            }\r\n            goto DoMoveRename;\r\n         }\r\n\r\n      case OPER_DOFILE | FUNC_MOVE:\r\n\r\nDoMove:\r\n\r\n         if (CurIDS != IDS_MOVINGMSG) {\r\n            CurIDS = IDS_MOVINGMSG;\r\n            Notify(hdlgProgress, IDS_MOVINGMSG, szNULL, szNULL);\r\n         }\r\nDoMoveRename:\r\n\r\n         // Don't allow the user to rename from or to the root\r\n         // directory\r\n\r\n         if (IsRootDirectory(szSource)) {\r\n            ret = DE_ROOTDIR;\r\n            break;\r\n         }\r\n         if (IsRootDirectory(szDest)) {\r\n\r\n            ret = DE_ROOTDIR;\r\n            bErrorOnDest = TRUE;\r\n            break;\r\n         }\r\n\r\n         if (IsCurrentDirectory(szSource))\r\n            CdDotDot(szSource);\r\n\r\n         //\r\n         //  Save the attributes, since ConfirmDialog may change them.\r\n         //\r\n         dwAttr = GetFileAttributes(szSource);\r\n\r\n         // Confirm the rename\r\n\r\n         if (!bConfirmed) {\r\n\r\n            dwResponse = ConfirmDialog (hdlgProgress,\r\n                  (pCopyInfo->dwFunc == FUNC_MOVE ?\r\n                  CONFIRMMOVE : CONFIRMRENAME),\r\n                  NULL,pDTA,szSource,NULL,\r\n                  FALSE,\r\n                  &bFalse,\r\n                  bConfirmReadOnly,\r\n                  &bReplaceReadOnlyAll);\r\n\r\n            switch (dwResponse) {\r\n            case IDYES:\r\n               break;\r\n\r\n            case IDNO:\r\n               continue;\r\n\r\n            case IDCANCEL:\r\n               goto CancelWholeOperation;\r\n\r\n            default:\r\n               ret = dwResponse;\r\n               goto ShowMessageBox;\r\n            }\r\n\r\n#ifdef NETCHECK\r\n            if (IsDirectory(szSource)) {\r\n\r\n               fInvalidate = TRUE;  // following may delete share\r\n               switch (NetCheck (szSource,WNDN_MVDIR)) {\r\n               case WN_SUCCESS:\r\n                  break;\r\n\r\n               case WN_CONTINUE:\r\n                  goto RenameMoveDone;\r\n\r\n               case WN_CANCEL:\r\n                  goto CancelWholeOperation;\r\n               }\r\n            }\r\n#endif\r\n         }\r\n\r\n         if (IsWindowsFile(szSource)) {\r\n            ret = DE_WINDOWSFILE;\r\n         } else {\r\n\r\n            //\r\n            // always do move!  Even across partitions!\r\n            //\r\n            ret = WFMove(szSource, szDest, &bErrorOnDest, pcr->bFastMove);\r\n\r\n            if (ERROR_SHARING_VIOLATION == ret &&\r\n               pDTA->fd.dwFileAttributes & ATTR_DIR) {\r\n\r\n               //\r\n               // We could have been watching this with the notify system\r\n               //\r\n\r\n               //\r\n               // Only do this for non-UNC\r\n               //\r\n               if (CHAR_COLON == szSource[1]) {\r\n\r\n                  NotifyPause(DRIVEID(szSource),(UINT)-1);\r\n                  ret = WFMove(szSource, szDest, &bErrorOnDest, pcr->bFastMove);\r\n               }\r\n            }\r\n\r\n            if (ret == DE_OPCANCELLED)\r\n               goto CancelWholeOperation;\r\n\r\n#ifdef FASTMOVE\r\n\r\n            if (pcr->bFastMove) {\r\n\r\n               //\r\n               // In the case of access denied, don't try and recurse\r\n               // since on NTFS, this will fail also.\r\n               //\r\n\r\n               if (ret) {\r\n\r\n                  //\r\n                  // We failed.\r\n                  //\r\n                  // Go back to MkDir.  We are no longer doing a fast move.\r\n                  //\r\n\r\n                  pcr->bFastMove = FALSE;\r\n                  goto DoMkDir;\r\n               }\r\n            }\r\n#endif\r\n\r\n            if (!ret)\r\n            {\r\n               // set attributes of dest to those of the source\r\n               WFSetAttr(szDest, pDTA->fd.dwFileAttributes);\r\n            }\r\n            else\r\n            {\r\n                //\r\n                //  Reset the attributes on the source file, since they\r\n                //  may have been changed by ConfirmDialog.\r\n                //\r\n                SetFileAttributes(szSource, dwAttr);\r\n            }\r\n\r\n            if (pCopyInfo->bUserAbort)\r\n               goto CancelWholeOperation;\r\n         }\r\n\r\n#ifdef NETCHECK\r\nRenameMoveDone:\r\n#endif\r\n         break;\r\n\r\n      case OPER_DOFILE | FUNC_DELETE:\r\n\r\n         if (CurIDS != IDS_DELETINGMSG) {\r\n            CurIDS = IDS_DELETINGMSG;\r\n            Notify(hdlgProgress,IDS_DELETINGMSG,szNULL, szNULL);\r\n         }\r\n\r\n         //\r\n         //  Save the attributes, since ConfirmDialog may change them.\r\n         //\r\n         dwAttr = GetFileAttributes(szSource);\r\n\r\n         // Confirm the delete first\r\n\r\n         if (!bConfirmed) {\r\n            dwResponse = ConfirmDialog (hdlgProgress,CONFIRMDELETE,\r\n                  NULL,pDTA,szSource,NULL,\r\n                  bConfirmDelete,&bDeleteAll,\r\n                  bConfirmReadOnly,\r\n                  &bDeleteReadOnlyAll);\r\n\r\n            switch (dwResponse) {\r\n\r\n            case IDYES:\r\n               break;\r\n\r\n            case IDNO:\r\n\r\n               // Set flag: not all deleted!\r\n               bDirNotEmpty = TRUE;\r\n\r\n               continue;\r\n\r\n            case IDCANCEL:\r\n               goto CancelWholeOperation;\r\n\r\n            default:\r\n               ret = dwResponse;\r\n               goto ShowMessageBox;\r\n            }\r\n         }\r\n\r\n         // make sure we don't delete any open windows\r\n         // apps or dlls (lets hope this isn't too slow)\r\n\r\n         ret = SafeFileRemove(szSource);\r\n\r\n         //\r\n         //  Reset the file attributes, since ConfirmDialog may have\r\n         //  changed them.\r\n         //\r\n         if (ret)\r\n         {\r\n             SetFileAttributes(szSource, dwAttr);\r\n         }\r\n\r\n         break;\r\n\r\n      default:\r\n         ret = DE_HOWDIDTHISHAPPEN;   // internal error\r\n         break;\r\n      }\r\n\r\n      // Report any errors which have occurred\r\n\r\n      if (ret) {\r\n\r\nShowMessageBox:\r\n\r\n         //\r\n         // Currently, deleting a non-empty dir does NOT\r\n         // return an error if an error occurred before.\r\n         // This is allowed because the user may have chose\r\n         // ignore.\r\n         //\r\n         if (ERROR_DIR_NOT_EMPTY == ret) {\r\n\r\n            bDirNotEmpty = TRUE;\r\n\r\n            if (bErrorOccured)\r\n               continue;\r\n         }\r\n\r\n         if ( ERROR_ACCESS_DENIED == ret ) {\r\n            if ( IDYES == ConfirmDialog (hdlgProgress,\r\n               bErrorOnDest ? CONFIRMNOACCESSDEST : CONFIRMNOACCESS,\r\n               NULL,pDTA,szSource,NULL,\r\n               FALSE,&bNoAccessAll,\r\n               FALSE, &bFalse)) {\r\n\r\n               // Put up message after finishing that\r\n               // the dir is not empty (all files/dirs where\r\n               // not deleted!)\r\n\r\n               bDirNotEmpty = TRUE;\r\n               bErrorOccured = TRUE;\r\n\r\n               ret = 0;\r\n               bErrorOnDest = FALSE;\r\n\r\n               pcr->bFastMove = TRUE;\r\n\r\n               continue;\r\n\r\n            } else {\r\n               goto ExitLoop;\r\n            }\r\n         }\r\n\r\n         INT errorIndex = pCopyInfo->dwFunc;\r\n         if (errorIndex == FUNC_HARD && IsDirectory(szSource))\r\n           errorIndex = FUNC_JUNC;\r\n         ret = CopyError(szSource, szDest, ret, errorIndex, oper, bErrorOnDest, bFatalError);\r\n\r\n         switch (ret) {\r\n         case DE_RETRY:\r\n            bConfirmed = TRUE;\r\n            goto TRY_COPY_AGAIN;\r\n\r\n         case DE_OPCANCELLED:\r\n\r\n            //\r\n            // Since we are cancelling an op, we definitely know that\r\n            // an error occurred.\r\n            //\r\n            bErrorOccured = TRUE;\r\n            ret = 0;\r\n\r\n            break;\r\n\r\n         default:\r\n\r\nCancelWholeOperation:\r\n\r\n            // Force a CopyCleanup in case there are any files in the\r\n            // copy queue\r\n\r\n            pCopyInfo->bUserAbort = TRUE;\r\n            goto ExitLoop;\r\n         }\r\n      }\r\n   }\r\n\r\nExitLoop:\r\n\r\n   // Copy any outstanding files in the copy queue\r\n\r\n   // this happens in error cases where we broke out of the pcr loop\r\n   // without hitting the end\r\n\r\n   if (pcr) {\r\n     GetNextCleanup(pcr);\r\n     LocalFree((HANDLE)pcr);\r\n   }\r\n\r\n   //\r\n   // goofy way to make sure we've gotten all the WM_FSC messages\r\n   //\r\n   CleanupMessages();\r\n\r\n   SendMessage(hwndFrame, FS_ENABLEFSC, 0, 0L);\r\n\r\n   //\r\n   // If we left with anything extra, tell user.\r\n   //\r\n   // But not if we the user aborted.\r\n   //\r\n   if (bDirNotEmpty && !pCopyInfo->bUserAbort) {\r\n\r\n      TCHAR szMessage[MAXMESSAGELEN];\r\n      TCHAR szTitle[MAXTITLELEN];\r\n\r\n      LoadString( hAppInstance, IDS_COPYMOVENOTCOMPLETED, szTitle, COUNTOF( szTitle ));\r\n      LoadString( hAppInstance, IDS_DIRREMAINS, szMessage, COUNTOF (szMessage));\r\n\r\n      MessageBox ( hdlgProgress, szMessage, szTitle, MB_ICONSTOP );\r\n   }\r\n\r\n   NotifyResume(-1, (UINT)-1);\r\n\r\n#ifdef NETCHECK\r\n   if (fInvalidate)\r\n      InvalidateAllNetTypes();   /* update special icons */\r\n#endif\r\n\r\n   SendMessage(hdlgProgress, FS_COPYDONE, ret, (LPARAM)pCopyInfo);\r\n\r\n   LocalFree(pCopyInfo->pFrom);\r\n   LocalFree(pCopyInfo->pTo);\r\n   LocalFree(pCopyInfo);\r\n\r\n   return 0;\r\n}\r\n\r\n\r\n//--------------------------------------------------------------------------*/\r\n//\r\n//  DMMoveCopyHelper() -\r\n//\r\n//--------------------------------------------------------------------------*/\r\n\r\n// Used by Danger Mouse to do moves and copies.\r\n\r\nDWORD\r\nDMMoveCopyHelper(\r\n   LPTSTR pFrom,\r\n   LPTSTR pTo,\r\n   INT iOperation)\r\n{\r\n   DWORD       dwStatus;\r\n   LPWSTR      pTemp;\r\n   PCOPYINFO   pCopyInfo;\r\n\r\n   WCHAR      szConfirmFile[MAXPATHLEN+1];\r\n   HDC hDC;\r\n\r\n   //\r\n   //  If either pointer is null, then return.\r\n   //\r\n   if (!pFrom || !pTo)\r\n       return(0);\r\n\r\n   //\r\n   // Confirm mouse operations.\r\n   //\r\n   if (bConfirmMouse) {\r\n      INT iConfirmMsg = IDS_MOVEMOUSECONFIRM;\r\n      switch (iOperation) {\r\n      case DROP_COPY:\r\n         iConfirmMsg = IDS_COPYMOUSECONFIRM;\r\n         break;\r\n      case DROP_LINK:\r\n      case DROP_HARD:\r\n         iConfirmMsg = IDS_LINKMOUSECONFIRM;\r\n         break;\r\n\r\n      default:\r\n      case DROP_MOVE:\r\n         iConfirmMsg = IDS_MOVEMOUSECONFIRM;\r\n      }\r\n      LoadString(hAppInstance, iConfirmMsg, szTitle, COUNTOF(szTitle));\r\n\r\n      lstrcpy(szConfirmFile,pTo);\r\n      pTemp = FindFileName(szConfirmFile);\r\n\r\n      // Kill trailing backslash if not to the root directory.\r\n      if ((pTemp - szConfirmFile) > 3)\r\n         pTemp--;\r\n\r\n      // Do check by look at end...\r\n      // ( for \"\\\"f:\\\\this is\\\\a\\\"\\\\test\" string  (  \"f:\\this is\\a\"\\test  )\r\n      // A better test would be to see if pTemp has an odd number of quotes\r\n      if ( CHAR_DQUOTE == pTemp[lstrlen( pTemp ) -1] ) {\r\n\r\n         *pTemp = CHAR_DQUOTE;\r\n         *(pTemp+1) = CHAR_NULL;\r\n      } else {\r\n         *pTemp = CHAR_NULL;\r\n      }\r\n\r\n      hDC = GetDC(NULL);\r\n      CompactPath(hDC, szConfirmFile, GetSystemMetrics(SM_CXSCREEN)/4*3);\r\n      ReleaseDC(NULL, hDC);\r\n      wsprintf(szMessage, szTitle, szConfirmFile);\r\n\r\n      LoadString(hAppInstance, IDS_MOUSECONFIRM, szTitle, COUNTOF(szTitle));\r\n\r\n      if (MessageBox(hwndFrame, szMessage, szTitle, MB_YESNO | MB_ICONEXCLAMATION | MB_SETFOREGROUND) != IDYES)\r\n         return DE_OPCANCELLED;\r\n   }\r\n\r\n\r\n   pCopyInfo = (PCOPYINFO) LocalAlloc(LPTR, sizeof(COPYINFO));\r\n\r\n   if (!pCopyInfo) {\r\n\r\nError:\r\n\r\n      FormatError(TRUE, szMessage, COUNTOF(szMessage), GetLastError());\r\n      LoadString(hAppInstance, IDS_WINFILE, szTitle, COUNTOF(szTitle));\r\n\r\n      MessageBox(hwndFrame, szMessage, szTitle, MB_OK | MB_ICONEXCLAMATION);\r\n\r\n      //\r\n      // return error message\r\n      //\r\n      return ERROR_OUTOFMEMORY;\r\n   }\r\n\r\n   pCopyInfo->pFrom = (LPTSTR) LocalAlloc(LMEM_FIXED,\r\n                                          ByteCountOf(lstrlen(pFrom)+1));\r\n\r\n   pCopyInfo->pTo = (LPTSTR) LocalAlloc(LMEM_FIXED,\r\n                                        ByteCountOf(lstrlen(pTo)+1));\r\n\r\n   if (!pCopyInfo->pFrom || !pCopyInfo->pTo) {\r\n\r\n      if (pCopyInfo->pFrom)\r\n         LocalFree(pCopyInfo->pFrom);\r\n\r\n      if (pCopyInfo->pTo)\r\n         LocalFree(pCopyInfo->pTo);\r\n\r\n      goto Error;\r\n   }\r\n\r\n   switch (iOperation) {\r\n   case DROP_COPY:\r\n      pCopyInfo->dwFunc = FUNC_COPY;\r\n      break;\r\n   case DROP_LINK:\r\n      pCopyInfo->dwFunc = FUNC_LINK;\r\n      break;\r\n   case DROP_HARD:\r\n      pCopyInfo->dwFunc = FUNC_HARD;\r\n      break;\r\n\r\n   default:\r\n   case DROP_MOVE:\r\n      pCopyInfo->dwFunc = FUNC_MOVE;\r\n      break;\r\n   }\r\n   pCopyInfo->bUserAbort = FALSE;\r\n\r\n   lstrcpy(pCopyInfo->pFrom, pFrom);\r\n   lstrcpy(pCopyInfo->pTo, pTo);\r\n\r\n   dwStatus = (DWORD)DialogBoxParam(hAppInstance,\r\n                                    (LPTSTR) MAKEINTRESOURCE(DMSTATUSDLG),\r\n                                    hwndFrame,\r\n                                    ProgressDlgProc,\r\n                                    (LPARAM)pCopyInfo);\r\n\r\n   return dwStatus;\r\n}\r\n\r\nDWORD\r\nFileRemove(LPTSTR pSpec)\r\n{\r\n   if (DeleteFile(pSpec))\r\n      return (DWORD)0;\r\n   else\r\n      return GetLastError();\r\n}\r\n\r\n\r\nDWORD\r\nFileMove(LPTSTR pFrom, LPTSTR pTo, PBOOL pbErrorOnDest, BOOL bSilent)\r\n{\r\n   DWORD result;\r\n   BOOL bTried = FALSE;\r\n   LPTSTR pTemp;\r\n\r\n   *pbErrorOnDest = FALSE;\r\n\r\nTryAgain:\r\n    if (MoveFile((LPTSTR)pFrom, (LPTSTR)pTo))\r\n        result = 0;\r\n    else\r\n        result = GetLastError();\r\n\r\n    // try to create the destination if it is not there\r\n\r\n    if (result == ERROR_PATH_NOT_FOUND) {\r\n\r\n       if (bSilent) {\r\n\r\n          if (!bTried) {\r\n\r\n             //\r\n             // Silently create the directory\r\n             //\r\n             pTemp = FindFileName(pTo) - 1;\r\n             *pTemp = CHAR_NULL;\r\n\r\n             result = WF_CreateDirectory(hdlgProgress, pTo, NULL);\r\n\r\n             *pTemp = CHAR_BACKSLASH;\r\n             bTried = TRUE;\r\n\r\n             if (!result)\r\n                goto TryAgain;\r\n          }\r\n          return result;\r\n       }\r\n\r\n       result = CopyMoveRetry(pTo, (INT)result, pbErrorOnDest);\r\n       if (!result)\r\n          goto TryAgain;\r\n       else\r\n          return result;\r\n    }\r\n   return(result);\r\n}\r\n\r\n\r\n\r\n/*============================================================================\r\n;\r\n; CopyError\r\n;\r\n; The following function reports an error during a file copy operation\r\n;\r\n; Parameters\r\n;\r\n; lpszSource - Source file name\r\n; lpszDest   - Destination file name\r\n; nError     - dos (or our extended) error code\r\n;\r\n; dwFunc      - Operation being performed during error.  Can be one of:\r\n;              FUNC_DELETE - Delete files in pFrom\r\n;              FUNC_RENAME - Rename files (same directory)\r\n;              FUNC_MOVE   - Move files in pFrom to pTo (different disk)\r\n;              FUNC_COPY   - Copy files in pFrom to pTo\r\n; nOper      - Operation being performed.  Can be one of:\r\n;              OPER_ERROR  - Error processing filenames\r\n;              OPER_DOFILE - Go ahead and copy, rename, or delete file\r\n;              OPER_MKDIR  - Make a directory specified in pTo\r\n;              OPER_RMDIR  - Remove directory\r\n;              0           - No more files left\r\n;\r\n;\r\n; GLOBAL:      ManySource  - many source files?\r\n;\r\n; Return Value: None\r\n;\r\n; Written by C. Stevens, August 1991\r\n;\r\n============================================================================*/\r\n\r\nDWORD\r\nCopyError(LPTSTR pszSource,\r\n   LPTSTR pszDest,\r\n   DWORD dwError,\r\n   DWORD dwFunc,\r\n   INT nOper,\r\n   BOOL bErrorOnDest,\r\n   BOOL bFatalError)\r\n{\r\n   TCHAR szVerb[MAXERRORLEN];          /* Verb describing error */\r\n   TCHAR szReason[MAXERRORLEN];        /* Reason for error */\r\n   TCHAR szFile[MAXPATHLEN+1];\r\n   TCHAR szTitle[MAXTITLELEN];\r\n   TCHAR szMessage[MAXMESSAGELEN];\r\n   HDC hDC;\r\n\r\n   if (dwError == DE_OPCANCELLED)    // user abort\r\n      return DE_OPCANCELLED;\r\n\r\n   // Make sure the whole path name fits on the screen\r\n\r\n   StrCpyN(szFile, bErrorOnDest ? pszDest : pszSource, COUNTOF(szFile));\r\n   hDC = GetDC(NULL);\r\n   CompactPath(hDC, szFile, GetSystemMetrics(SM_CXSCREEN)/4*3);\r\n   ReleaseDC(NULL, hDC);\r\n\r\n   LoadString(hAppInstance, IDS_COPYERROR + dwFunc, szTitle, COUNTOF(szTitle));\r\n\r\n   // get the verb string\r\n\r\n   if (nOper == OPER_DOFILE || !nOper) {\r\n\r\n      if (bErrorOnDest)\r\n         // this is bogus, this could be IDS_CREATING as well...\r\n         LoadString(hAppInstance, IDS_REPLACING, szVerb, COUNTOF(szVerb));\r\n      else\r\n         LoadString(hAppInstance, IDS_VERBS + dwFunc, szVerb, COUNTOF(szVerb));\r\n\r\n   } else {\r\n      LoadString(hAppInstance, IDS_ACTIONS + (nOper >> 8), szVerb, COUNTOF(szVerb));\r\n   }\r\n\r\n   // get the reason string\r\n\r\n   FormatError(TRUE, szReason, COUNTOF(szReason), dwError);\r\n\r\n   // use the files names or \"Selected files\" if file list too long\r\n\r\n   if (!nOper && (lstrlen(pszSource) > 64))\r\n      LoadString(hAppInstance, IDS_SELECTEDFILES, pszSource, 64);\r\n\r\n   wsprintf(szMessage, szVerb, szFile, szReason);\r\n\r\n   switch (MessageBox(hdlgProgress, szMessage, szTitle,\r\n      bFatalError || !ManySource ?\r\n         MB_ICONSTOP | MB_OK :\r\n         MB_ABORTRETRYIGNORE | MB_ICONSTOP | MB_DEFBUTTON2)) {\r\n\r\n   case IDRETRY:\r\n      return DE_RETRY;\r\n   case IDIGNORE:\r\n      return DE_OPCANCELLED;\r\n   case IDABORT:\r\n   case IDOK:\r\n   default:\r\n      return dwError;\r\n   }\r\n}\r\n\r\n\r\n/*============================================================================\r\n;\r\n; CopyMoveRetry\r\n;\r\n; The following function is used to retry failed move/copy operations\r\n; due to out of disk situations or path not found errors\r\n; on the destination.\r\n;\r\n; NOTE: the destination drive must be removable or this function\r\n;   does not make a whole lot of sense\r\n;\r\n; Parameters:\r\n;\r\n; pszDest   - Fully qualified path to destination file\r\n; nError    - Type of error which occurred: DE_NODISKSPACE or DE_PATHNOTFOUND\r\n;\r\n; returns:\r\n;   0   success (destination path has been created)\r\n;   != 0    dos error code including DE_OPCANCELLED\r\n;\r\n============================================================================*/\r\n\r\nINT\r\nCopyMoveRetry(LPTSTR pszDest, INT nError, PBOOL pbErrorOnDest)\r\n{\r\n   TCHAR szReason[128]; /* Error message string */\r\n   LPTSTR pTemp;         /* Pointer into filename */\r\n   WORD wFlags;        /* Message box flags */\r\n   INT  result;        /* Return from MessageBox call */\r\n   WCHAR szMessage[MAXMESSAGELEN];\r\n   WCHAR szTitle[128];\r\n\r\n   do {     // until the destination path has been created\r\n\r\n      *pbErrorOnDest = FALSE;\r\n\r\n      GetWindowText(hdlgProgress, szTitle, COUNTOF(szTitle));\r\n\r\n      if (nError == ERROR_PATH_NOT_FOUND) {\r\n\r\n         LoadString(hAppInstance, IDS_PATHNOTTHERE, szReason, COUNTOF(szReason));\r\n\r\n         // Note the -1 below here is valid in both SBCS and DBCS because\r\n         // pszDest is fully qualified and the character preceding the\r\n         // file name must be a backslash\r\n\r\n         pTemp = FindFileName(pszDest) - 1;\r\n         *pTemp = CHAR_NULL;\r\n         wsprintf(szMessage, szReason, pszDest);\r\n\r\n         *pTemp = CHAR_BACKSLASH;\r\n         wFlags = MB_ICONEXCLAMATION | MB_YESNO;\r\n\r\n      } else {\r\n         wFlags = MB_ICONEXCLAMATION | MB_OKCANCEL;\r\n         LoadString(hAppInstance, IDS_DESTFULL, szMessage, COUNTOF(szMessage));\r\n      }\r\n\r\n      result = MessageBox(hdlgProgress,szMessage,szTitle,wFlags);\r\n\r\n      if (result == IDOK || result == IDYES) {\r\n\r\n         // Allow the disk to be formatted\r\n         // BOOL bModal added (TRUE)\r\n         if (!IsTheDiskReallyThere(hdlgProgress, pszDest, FUNC_COPY, TRUE))\r\n            return DE_OPCANCELLED;\r\n\r\n         pTemp = FindFileName(pszDest) - 1;\r\n         *pTemp = CHAR_NULL;\r\n\r\n         //\r\n         // Is there a problem with this?\r\n         //\r\n         result = WF_CreateDirectory(hdlgProgress, pszDest, NULL);\r\n         *pTemp = CHAR_BACKSLASH;\r\n\r\n         // only as once if creating the destination failed\r\n\r\n         if (result == DE_OPCANCELLED)\r\n            return DE_OPCANCELLED;\r\n\r\n         if (result && (nError == ERROR_PATH_NOT_FOUND)) {\r\n\r\n            *pbErrorOnDest = TRUE;\r\n            return result;\r\n         }\r\n      } else\r\n         return DE_OPCANCELLED;\r\n\r\n      // If it already exists, that's ok too.\r\n\r\n      if ( ERROR_ALREADY_EXISTS == result )\r\n         result = 0;\r\n\r\n   } while (result);\r\n\r\n   return 0;        // success\r\n}\r\n"
  },
  {
    "path": "src/wfcopy.h",
    "content": "/********************************************************************\r\n\r\n   wfcopy.h\r\n\r\n   Include for WINFILE's File Copying Routines\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#define FIND_DIRS       0x0010\r\n\r\n#define CNF_DIR_EXISTS      0x0001\r\n#define CNF_ISDIRECTORY     0x0002\r\n\r\n#define BUILD_TOPLEVEL      0\r\n#define BUILD_RECURSING     1\r\n#define BUILD_NORECURSE     2\r\n\r\n#define OPER_MASK       0x0F00\r\n#define OPER_MKDIR      0x0100\r\n#define OPER_RMDIR      0x0200\r\n#define OPER_DOFILE     0x0300\r\n#define OPER_ERROR      0x0400\r\n\r\n#define CCHPATHMAX      260\r\n#define MAXDIRDEPTH     CCHPATHMAX/2\r\n\r\n#define ATTR_ATTRIBS      0x200 /* Flag indicating we have file attributes */\r\n#define ATTR_COPIED       0x400 /* we have copied this file */\r\n#define ATTR_DELSRC       0x800 /* delete the source when done */\r\n\r\ntypedef struct _copyroot {\r\n#ifdef FASTMOVE\r\n   BOOL    fRecurse  : 1;\r\n#endif\r\n   BOOL    bFastMove : 1;\r\n   WORD    cDepth;\r\n   LPTSTR  pSource;\r\n   LPTSTR  pRoot;\r\n   TCHAR   cIsDiskThereCheck[26];\r\n   TCHAR   sz[MAXPATHLEN];\r\n   TCHAR   szDest[MAXPATHLEN];\r\n   LFNDTA  rgDTA[MAXDIRDEPTH];\r\n} COPYROOT, *PCOPYROOT;\r\n\r\n\r\nDWORD FileMove(LPTSTR, LPTSTR, PBOOL, BOOL);\r\nDWORD FileRemove(LPTSTR);\r\nDWORD MKDir(LPTSTR, LPTSTR);\r\nDWORD RMDir(LPTSTR);\r\nBOOL WFSetAttr(LPTSTR lpFile, DWORD dwAttr);\r\n\r\nVOID AppendToPath(LPTSTR,LPCTSTR);\r\nUINT RemoveLast(LPTSTR pFile);\r\nVOID Notify(HWND,WORD,LPTSTR,LPTSTR);\r\n\r\nLPTSTR FindFileName(LPTSTR pPath);\r\n\r\n"
  },
  {
    "path": "src/wfdir.c",
    "content": "/********************************************************************\r\n\r\n   wfdir.c\r\n\r\n   Implements view for directories and search windows\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n#include \"lfn.h\"\r\n#include \"wfcopy.h\"\r\n#include \"numfmt.h\"\r\n#include <commctrl.h>\r\n\r\n#include \"wfdrop.h\"\r\n\r\nWCHAR   szAttr[]        = L\"RHSACE\";\r\n\r\ntypedef struct _SELINFO {\r\n   LPWSTR pSel;\r\n   BOOL bSelOnly;\r\n   INT iTop;\r\n   INT iLastSel;\r\n   WCHAR szCaret[MAXFILENAMELEN];\r\n   WCHAR szAnchor[MAXFILENAMELEN];\r\n   WCHAR szTopIndex[MAXFILENAMELEN];\r\n} SELINFO;\r\n\r\n\r\nVOID RightTabbedTextOut(HDC hdc, INT x, INT y, LPWSTR pLine, WORD *pTabStops, INT x_offset, DWORD dwAlternateFileNameExtent);\r\nLRESULT ChangeDisplay(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam);\r\nINT CompareDTA(LPXDTA lpItem1, LPXDTA lpItem2, DWORD dwSort);\r\nBOOL SetDirFocus(HWND hwndDir);\r\nVOID DirGetAnchorFocus(HWND hwndLB, LPXDTALINK lpStart, PSELINFO pSelInfo);\r\nBOOL SetSelection(HWND hwndLB, LPXDTALINK lpStart, LPWSTR pszSel);\r\nINT DirFindIndex(HWND hwndLB, LPXDTALINK lpStart, LPTSTR lpszFile);\r\nVOID SortDirList(HWND hwndDir, LPXDTALINK lpStart, DWORD count, LPXDTA* lplpxdta);\r\nVOID GetDirStatus(HWND hwnd, LPWSTR szMessage1, LPWSTR szMessage2);\r\nVOID FreeSelInfo(PSELINFO pSelInfo);\r\nBOOL SetSelInfo(HWND hwndLB, LPXDTALINK lpStart, PSELINFO pSelInfo);\r\n\r\n\r\nVOID\r\nDrawItem(\r\n   HWND hwnd,\r\n   DWORD dwViewOpts,\r\n   LPDRAWITEMSTRUCT lpLBItem,\r\n   BOOL bHasFocus)\r\n{\r\n   INT x, y, i;\r\n   BOOL bDrawSelected;\r\n   HWND hwndLB;\r\n   RECT rc;\r\n   DWORD rgbText, rgbBackground;\r\n   WCHAR szBuf[MAXFILENAMELEN * 2];\r\n\r\n   LPWSTR pszLine = szBuf;\r\n   INT iError;\r\n\r\n#define dyHeight dyFileName\r\n\r\n   LPXDTA lpxdta  = (LPXDTA)lpLBItem->itemData;\r\n   LPXDTALINK lpStart = (LPXDTALINK)GetWindowLongPtr(hwnd, GWL_HDTA);\r\n\r\n   HDC hDC = lpLBItem->hDC;\r\n\r\n   PreserveBitmapInRTL(hDC);\r\n\r\n   HWND hwndListParms = (HWND)GetWindowLongPtr(hwnd, GWL_LISTPARMS);\r\n   BOOL bLower;\r\n\r\n   //\r\n   // Print out any errors\r\n   //\r\n   iError = (INT)GetWindowLongPtr(hwnd, GWL_IERROR);\r\n\r\n   if (iError) {\r\n\r\n      if (LoadString(hAppInstance,\r\n                     iError,\r\n                     szBuf,\r\n                     COUNTOF(szBuf))) {\r\n\r\n         WCHAR szError[MAXSUGGESTLEN];\r\n\r\n         wsprintf(szError,\r\n                  szBuf,\r\n                  (WCHAR)SendMessage(hwnd, FS_GETDRIVE, 0, 0L));\r\n\r\n         TextOut(hDC,\r\n                 lpLBItem->rcItem.left,\r\n                 lpLBItem->rcItem.top,\r\n                 szError,\r\n                 lstrlen(szError));\r\n      }\r\n\r\n      return;\r\n   }\r\n\r\n   hwndLB = lpLBItem->hwndItem;\r\n   bDrawSelected = (lpLBItem->itemState & ODS_SELECTED);\r\n\r\n   if (bHasFocus && bDrawSelected)\r\n   {\r\n      rgbText = SetTextColor(hDC, GetSysColor(COLOR_HIGHLIGHTTEXT));\r\n      rgbBackground = SetBkColor(hDC, GetSysColor(COLOR_HIGHLIGHT));\r\n   }\r\n   else\r\n   {\r\n      //\r\n      //  Set Text color of Compressed items to BLUE and Encrypted items\r\n      //  to GREEN.\r\n      //\r\n      //  LATER:\r\n      //  Should allow for User selection in the future.\r\n      //\r\n      if ((lpxdta) && (lpxdta->dwAttrs & ATTR_COMPRESSED))\r\n      {\r\n         rgbText = SetTextColor(hDC, RGB(0, 0, 255));\r\n      }\r\n      else if ((lpxdta) && (lpxdta->dwAttrs & ATTR_ENCRYPTED))\r\n      {\r\n         rgbText = SetTextColor(hDC, RGB(0, 192, 0));\r\n      }\r\n      else\r\n      {\r\n         rgbText = SetTextColor(hDC, GetSysColor(COLOR_WINDOWTEXT));\r\n      }\r\n      rgbBackground = SetBkColor(hDC, GetSysColor(COLOR_WINDOW));\r\n   }\r\n\r\n   if (lpLBItem->itemID == -1 || !lpStart || !lpxdta) {\r\n\r\n      if (bHasFocus)\r\n         goto FocusOnly;\r\n\r\n      return;\r\n   }\r\n\r\n   if (lpLBItem->itemAction == ODA_FOCUS) {\r\n      goto FocusOnly;\r\n   }\r\n\r\n   //\r\n   // Draw the black/white background.\r\n   //\r\n   ExtTextOut(hDC, 0, 0, ETO_OPAQUE, &lpLBItem->rcItem, NULL, 0, NULL);\r\n\r\n   x = lpLBItem->rcItem.left + 1;\r\n   y = lpLBItem->rcItem.top + (dyHeight/2);\r\n\r\n\r\n   bLower = ((wTextAttribs & TA_LOWERCASE) &&\r\n            (lpxdta->dwAttrs & ATTR_LOWERCASE) ||\r\n            wTextAttribs & TA_LOWERCASEALL);\r\n\r\n   if (lpxdta->byBitmap == BM_IND_DIRUP) {\r\n\r\n      szBuf[0] = CHAR_NULL;\r\n\r\n   } else {\r\n\r\n      if (bLower) {\r\n\r\n         lstrcpy(szBuf, MemGetFileName(lpxdta));\r\n         CharLower(szBuf);\r\n\r\n      } else {\r\n\r\n         //\r\n         // We should copy lpxdta->cFileName into szBuf,\r\n         // but will just shortcut by renaming pszLine.\r\n         //\r\n         pszLine = MemGetFileName(lpxdta);\r\n      }\r\n   }\r\n\r\n   if (iShowSourceBitmaps || (hwndDragging != hwndLB) || !bDrawSelected) {\r\n\r\n         HICON hIcon = DocGetIcon(lpxdta->pDocB);\r\n\r\n         if (hIcon != NULL)\r\n         {\r\n             DrawIconEx(hDC,\r\n                    x + dyBorder,\r\n                    y-(dyFolder/2),\r\n                    hIcon,\r\n                    dxFolder,\r\n                    dyFolder,\r\n                    0,\r\n                    NULL,\r\n                    DI_NORMAL);\r\n         }\r\n         else\r\n         {\r\n             i = lpxdta->byBitmap;\r\n\r\n             BitBlt(hDC,\r\n                    x + dyBorder,\r\n                    y-(dyFolder/2),\r\n                    dxFolder,\r\n                    dyFolder,\r\n                    hdcMem,\r\n                    i * dxFolder,\r\n                    (bHasFocus && bDrawSelected) ? dyFolder : 0,\r\n                    SRCCOPY);\r\n         }\r\n   }\r\n\r\n   if (dwViewOpts & VIEW_EVERYTHING) {\r\n\r\n      //\r\n      // We want to display the entire line\r\n      //\r\n\r\n      // SetBkMode(hDC, TRANSPARENT);\r\n\r\n      CreateLBLine(dwViewOpts, lpxdta, szBuf);\r\n\r\n      if (bLower)\r\n         CharLower(szBuf);\r\n\r\n      x += dxFolder + dyBorderx2 + dyBorder;\r\n\r\n      RightTabbedTextOut(hDC,\r\n                         x,\r\n                         y-(dyText/2),\r\n                         szBuf,\r\n                         (WORD *)GetWindowLongPtr(hwnd, GWL_TABARRAY),\r\n                         x,\r\n                         dwViewOpts & VIEW_DOSNAMES ?\r\n                            MemLinkToHead(lpStart)->dwAlternateFileNameExtent :\r\n                            0);\r\n\r\n      // SetBkMode(hDC, OPAQUE);\r\n\r\n   } else {\r\n\r\n      ExtTextOut(hDC,\r\n                 x + dxFolder + dyBorderx2 + dyBorder,\r\n                 y-(dyText/2),\r\n                 0,\r\n                 NULL,\r\n                 pszLine,\r\n                 lstrlen(pszLine),\r\n                 NULL);\r\n   }\r\n\r\n\r\n   if (lpLBItem->itemState & ODS_FOCUS) {\r\n\r\nFocusOnly:\r\n\r\n      //\r\n      // toggles focus (XOR)\r\n      //\r\n      DrawFocusRect(hDC, &lpLBItem->rcItem);\r\n   }\r\n\r\n   //\r\n   // Restore the normal drawing colors.\r\n   //\r\n   if (bDrawSelected) {\r\n\r\n      if (!bHasFocus) {\r\n\r\n         HBRUSH hbr;\r\n\r\n         if (hbr = CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT))) {\r\n            rc = lpLBItem->rcItem;\r\n            rc.right = max(rc.right,\r\n                           rc.left +\r\n                           (INT)SendMessage(hwndLB, LB_GETHORIZONTALEXTENT, 0, 0)) -\r\n                       dyBorder;\r\n            rc.left += dyBorder;\r\n\r\n            if (lpLBItem->itemID > 0 &&\r\n               SendMessage(hwndLB, LB_GETSEL, lpLBItem->itemID - 1, 0L))\r\n\r\n               rc.top -= dyBorder;\r\n\r\n            FrameRect(hDC, &rc, hbr);\r\n            DeleteObject(hbr);\r\n         }\r\n      }\r\n   }\r\n\r\n   SetTextColor(hDC, rgbText);\r\n   SetBkColor(hDC, rgbBackground);\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     CreateLBLine\r\n//\r\n// Synopsis: Creates a string with all details in a file\r\n//\r\n// Return:\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nCreateLBLine(DWORD dwLineFormat, LPXDTA lpxdta, LPWSTR szBuffer)\r\n{\r\n   LPWSTR pch;\r\n   DWORD dwAttr;\r\n\r\n   pch = szBuffer;\r\n\r\n   dwAttr = lpxdta->dwAttrs;\r\n\r\n   if (BM_IND_DIRUP == lpxdta->byBitmap) {\r\n\r\n      szBuffer[0] = CHAR_NULL;\r\n      return;\r\n   }\r\n\r\n   //\r\n   // Copy the file name.\r\n   //\r\n   lstrcpy(pch, MemGetFileName(lpxdta));\r\n\r\n   pch += lstrlen(pch);\r\n\r\n   if (dwLineFormat & VIEW_DOSNAMES) {\r\n\r\n      *pch++ = CHAR_TAB;\r\n\r\n      //\r\n      // Copy the file name\r\n      //\r\n      lstrcpy(pch, MemGetAlternateFileName(lpxdta));\r\n\r\n      //\r\n      // Upper or Lowercase it as necessary\r\n      //\r\n      if (wTextAttribs & TA_LOWERCASE || wTextAttribs & TA_LOWERCASEALL)\r\n         CharLower(pch);\r\n      else\r\n         CharUpper(pch);\r\n\r\n      pch += lstrlen(pch);\r\n   }\r\n\r\n   //\r\n   // Should we show the size?\r\n   //\r\n   if (dwLineFormat & VIEW_SIZE) {\r\n      *pch++ = CHAR_TAB;\r\n      if (dwAttr & ATTR_DIR)\r\n      {\r\n          if (dwAttr & ATTR_JUNCTION)\r\n              lstrcpy(pch, TEXT(\"<JUNCTION>\"));\r\n          else if (dwAttr & ATTR_SYMBOLIC)\r\n              lstrcpy(pch, TEXT(\"<SYMLINKD>\"));\r\n          else\r\n              lstrcpy(pch, TEXT(\"<DIR>\"));\r\n        pch += lstrlen(pch);\r\n      }\r\n      else \r\n      {\r\n         if (dwAttr & ATTR_SYMBOLIC) \r\n         {\r\n            lstrcpy(pch, TEXT(\"<SYMLINK>\"));\r\n            pch += lstrlen(pch);\r\n         } \r\n         else \r\n         {\r\n            pch += PutSize(&lpxdta->qFileSize, pch);\r\n         }\r\n      }\r\n   }\r\n\r\n   //\r\n   // Should we show the date?\r\n   //\r\n   if (dwLineFormat & VIEW_DATE) {\r\n      *pch++ = CHAR_TAB;\r\n      pch += PutDate(&lpxdta->ftLastWriteTime, pch);\r\n   }\r\n\r\n   //\r\n   // Should we show the time?\r\n   //\r\n   if (dwLineFormat & VIEW_TIME) {\r\n      *pch++ = CHAR_TAB;\r\n      pch += PutTime(&lpxdta->ftLastWriteTime, pch);\r\n   }\r\n\r\n   //\r\n   // Should we show the attributes?\r\n   //\r\n   if (dwLineFormat & VIEW_FLAGS) {\r\n      *pch++ = CHAR_TAB;\r\n      pch += PutAttributes(dwAttr, pch);\r\n   }\r\n\r\n   *pch = CHAR_NULL;\r\n}\r\n\r\n\r\nLRESULT CALLBACK DirListBoxWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n    switch (wMsg)\r\n    {\r\n    case WM_RBUTTONDOWN:\r\n        MessageBeep(1);\r\n        break;\r\n    }\r\n    return 0;\r\n}\r\n\r\nLRESULT\r\nCALLBACK\r\nDirWndProc(\r\n   HWND hwnd,\r\n   UINT uMsg,\r\n   WPARAM wParam,\r\n   LPARAM lParam)\r\n{\r\n   INT iSel, i;\r\n   HWND hwndLB;\r\n   LPXDTA lpxdta;\r\n   WCHAR szTemp[MAXPATHLEN * 2];\r\n   HWND hwndParent = GetParent(hwnd);\r\n\r\n   static HWND   hwndOwnerDraw = NULL;\r\n\r\n#ifdef PROGMANHSCROLL\r\n   //\r\n   // If  the window is different and uMsg == WM_DRAWITEM   _OR_\r\n   //     the window is the same and uMsg != WM_DRAWITEM\r\n   // then we are drawing on a new window\r\n   //\r\n   if (hwndOwnerDraw != hwnd && uMsg == WM_DRAWITEM) {\r\n      hwndOwnerDraw = NULL;\r\n\r\n   }\r\n\r\n   if (uMsg == WM_DRAWITEM && hwndOwnerDraw != hwnd) {\r\n\r\n      IconHScroll(hwndParent, ((LPDRAWITEMSTRUCT)lParam)->hwndItem);\r\n      hwndOwnerDraw = hwnd;\r\n   }\r\n#endif\r\n\r\n   hwndLB = GetDlgItem(hwnd, IDCW_LISTBOX);\r\n\r\n   switch (uMsg) {\r\n\r\n   case FS_DIRREADDONE:\r\n   {\r\n      LPXDTALINK lpStart;\r\n      PSELINFO pSelInfo;\r\n\r\n      //\r\n      // wParam => iError\r\n      // lParam => lpxdta\r\n      //\r\n      SendMessage(hwndLB, WM_SETREDRAW, FALSE, 0L);\r\n\r\n      lpStart = DirReadDone(hwnd, (LPXDTALINK)lParam, (INT)wParam);\r\n\r\n      if (lpStart) {\r\n\r\n         //\r\n         // Now set the selections\r\n         //\r\n         pSelInfo = (PSELINFO)GetWindowLongPtr(hwnd, GWL_SELINFO);\r\n\r\n         SetSelInfo(hwndLB, lpStart, pSelInfo);\r\n\r\n         FreeSelInfo(pSelInfo);\r\n         SetWindowLongPtr(hwnd, GWL_SELINFO, 0L);\r\n      }\r\n\r\n      SendMessage(hwndLB, WM_SETREDRAW, TRUE, 0L);\r\n      InvalidateRect(hwndLB, NULL, TRUE);\r\n\r\n      SetDirFocus(hwnd);\r\n      UpdateStatus(hwndParent);\r\n\r\n      return (LRESULT)lpStart;\r\n   }\r\n\r\n   case FS_GETDIRECTORY:\r\n\r\n      GetMDIWindowText(hwndParent, (LPWSTR)lParam, (INT)wParam);\r\n\r\n      //\r\n      // get the string\r\n      //\r\n      StripFilespec((LPWSTR)lParam); // Remove the trailing extension\r\n\r\n      AddBackslash((LPWSTR)lParam);  // terminate with a backslash\r\n      break;\r\n\r\n   case FS_GETDRIVE:\r\n\r\n      //\r\n      // Returns the letter of the corresponding directory\r\n      //\r\n      return (LRESULT) CHAR_A + GetWindowLongPtr(hwndParent, GWL_TYPE);\r\n\r\n   case FS_GETFILESPEC:\r\n\r\n      //\r\n      // returns the current filespec (from View.Include...).  this is\r\n      // an uppercase ANSI string\r\n      //\r\n      GetMDIWindowText(hwndParent, (LPWSTR)lParam, (INT)wParam);\r\n      StripPath((LPWSTR)lParam);\r\n\r\n      break;\r\n\r\n   case FS_SETSELECTION:\r\n      //\r\n      // wParam is the select(TRUE)/deselect(FALSE) param\r\n      // lParam is the filespec to match against\r\n      //\r\n      SendMessage(hwndLB, WM_SETREDRAW, FALSE, 0L);\r\n      DSSetSelection(hwndLB, wParam != 0, (LPWSTR)lParam, FALSE);\r\n\r\n      SendMessage(hwndLB, WM_SETREDRAW, TRUE, 0L);\r\n      InvalidateRect(hwndLB, NULL, TRUE);\r\n\r\n      break;\r\n\r\n   case FS_GETSELECTION:\r\n\r\n      //\r\n      // return = pszDir\r\n      //\r\n      return (LRESULT)DirGetSelection(hwnd,\r\n                                   hwnd,\r\n                                   hwndLB,\r\n                                   (INT)wParam,\r\n                                   (BOOL*)lParam,\r\n                                   NULL);\r\n   case FS_TESTEMPTY:\r\n      {\r\n         HWND hwndNext;\r\n\r\n         SendMessage(hwndLB, LB_GETTEXT, 0, (LPARAM) &lpxdta);\r\n         if (!lpxdta && GetFocus() == hwndLB)\r\n         {\r\n            hwndNext = (HWND)lParam;\r\n            if (hwndNext && IsWindow(hwndNext))\r\n            {\r\n               SetFocus(hwndNext);\r\n            }\r\n            else\r\n            {\r\n                hwndNext = HasTreeWindow(hwndParent);\r\n                if (!hwndNext && bDriveBar)\r\n                {\r\n                    hwndNext = hwndDriveBar;\r\n                }\r\n                SetFocus(hwndNext);\r\n            }\r\n         }\r\n\r\n         break;\r\n      }\r\n\r\n   case WM_CREATE:\r\n   case WM_FSC:\r\n   case FS_CHANGEDISPLAY:\r\n\r\n      return ChangeDisplay(hwnd, uMsg, wParam, lParam);\r\n\r\n   case WM_DESTROY:\r\n   {\r\n      HANDLE hMem;\r\n      HWND hwndTree;\r\n\r\n      //\r\n      // Remove from Change Notify Loop\r\n      //\r\n      ModifyWatchList(hwndParent, NULL, 0);\r\n\r\n      if (hwndLB == GetFocus())\r\n         if (hwndTree = HasTreeWindow(hwndParent))\r\n            SetFocus(hwndTree);\r\n\r\n      if (hMem = (HANDLE)GetWindowLongPtr(hwnd, GWL_TABARRAY))\r\n         LocalFree(hMem);\r\n\r\n      FreeSelInfo((PSELINFO)GetWindowLongPtr(hwnd, GWL_SELINFO));\r\n\r\n      {\r\n      IDropTarget *pDropTarget;\r\n      \r\n      pDropTarget = (IDropTarget *)GetWindowLongPtr(hwnd, GWL_OLEDROP);\r\n      UnregisterDropWindow(hwnd, pDropTarget);\r\n      }\r\n\r\n      break;\r\n   }\r\n   case WM_CHARTOITEM:\r\n   {\r\n      UINT  i, j;\r\n      WCHAR ch;\r\n      UINT  cItems;\r\n      LPWSTR szItem;\r\n      WCHAR rgchMatch[MAXPATHLEN];\r\n      SIZE_T cchMatch;\r\n      UINT pos;\r\n\r\n      if ((ch = LOWORD(wParam)) <= CHAR_SPACE || !GetWindowLongPtr(hwnd, GWL_HDTA))\r\n         return(-1L);\r\n\r\n      i = GET_WM_CHARTOITEM_POS(wParam, lParam);\r\n      cItems = (INT)SendMessage(hwndLB, LB_GETCOUNT, 0, 0L);\r\n\r\n        // if more that one character to match, start at current position; else next position\r\n      if (TypeAheadString(ch, rgchMatch))\r\n          j = 0;\r\n      else\r\n          j = 1;\r\n\r\n      for (; j < cItems; j++) {\r\n\r\n         if (SendMessage(hwndLB, LB_GETTEXT, (i + j) % cItems, (LPARAM)&lpxdta)\r\n            == LB_ERR) {\r\n\r\n            return -2L;\r\n         }\r\n\r\n          szItem = (LPWSTR)MemGetFileName(lpxdta);\r\n         if (szItem[0] == '\\0')\r\n                szItem = L\"..\";\r\n         cchMatch = wcslen(rgchMatch);\r\n         if (cchMatch > wcslen(szItem))\r\n                cchMatch = wcslen(szItem);\r\n\r\n         if (CompareString( LOCALE_USER_DEFAULT, NORM_IGNORECASE, \r\n             rgchMatch, (int)cchMatch, szItem, (int)cchMatch) == 2)\r\n            break;\r\n\r\n      }\r\n\r\n      if (j == cItems)\r\n         return -2L;\r\n\r\n      pos = (i + j) % cItems;\r\n\r\n      // There is a weird behavior in listbox which selects all between anchor an caret\r\n      // if SHIFT is pressed. Since we return the position here and thus caret will be \r\n      // updated, anchor is behind, and pressing shift selects all between anchor and caret\r\n      // To overcome this we select the current position, and bring anchor and cart in sync.\r\n      SendMessage(hwndLB, LB_SETSEL, 1, pos);\r\n\r\n      return pos;\r\n   }\r\n   case WM_COMPAREITEM:\r\n\r\n#define lpci ((LPCOMPAREITEMSTRUCT)lParam)\r\n\r\n      return (LONG)CompareDTA((LPXDTA)lpci->itemData1,\r\n                              (LPXDTA)lpci->itemData2,\r\n                              (DWORD)GetWindowLongPtr(hwndParent, GWL_SORT));\r\n#undef lpci\r\n\r\n   case WM_NCDESTROY:\r\n\r\n      DirReadDestroyWindow(hwnd);\r\n      break;\r\n\r\n   case WM_DRAGLOOP:\r\n\r\n      // WM_DRAGLOOP is sent to the source window as the object is moved.\r\n      //\r\n      //    wParam: TRUE if the object is currently over a droppable sink\r\n      //    lParam: LPDROPSTRUCT\r\n\r\n      // based on current drop location scroll the sink up or down\r\n      DSDragScrollSink((LPDROPSTRUCT)lParam);\r\n\r\n      // DRAGLOOP is used to turn the source bitmaps on/off as we drag.\r\n      DSDragLoop(hwndLB, wParam, (LPDROPSTRUCT)lParam);\r\n      break;\r\n\r\n   case WM_DRAGSELECT:\r\n\r\n      // WM_DRAGSELECT is sent to a sink whenever an new object is dragged\r\n      // inside of it.\r\n      //\r\n      //    wParam: TRUE if the sink is being entered, FALSE if it's being\r\n      //            exited.\r\n      //    lParam: LPDROPSTRUCT\r\n      //\r\n\r\n      // DRAGSELECT is used to turn our selection rectangle on or off.\r\n      // Turn on/off status bar\r\n\r\n      SendMessage(hwndStatus,\r\n                  SB_SETTEXT,\r\n                  SBT_NOBORDERS|255,\r\n                  (LPARAM)szNULL);\r\n\r\n      SendMessage(hwndStatus,\r\n                  SB_SIMPLE,\r\n                  (wParam ? 1 : 0),\r\n                  0L);\r\n\r\n      UpdateWindow(hwndStatus);\r\n\r\n#define lpds ((LPDROPSTRUCT)lParam)\r\n\r\n      iSelHighlight = lpds->dwControlData;\r\n      DSRectItem(hwndLB, iSelHighlight, (BOOL)wParam, FALSE);\r\n      break;\r\n\r\n#undef lpds\r\n\r\n   case WM_DRAGMOVE:\r\n\r\n      {\r\n         static INT iOldShowSourceBitmaps = 0;\r\n\r\n         // WM_DRAGMOVE is sent to a sink as the object is being dragged\r\n         // within it.\r\n         //\r\n         //    wParam: Unused\r\n         //   lParam: LPDROPSTRUCT\r\n\r\n         // DRAGMOVE is used to move our selection rectangle among sub-items.\r\n\r\n         LPDROPSTRUCT lpds = (LPDROPSTRUCT)lParam;\r\n\r\n         // Get the subitem we are over.\r\n         iSel = lpds->dwControlData;\r\n\r\n         // Is it a new one?\r\n\r\n         if (iSel == iSelHighlight && iOldShowSourceBitmaps == iShowSourceBitmaps)\r\n            break;\r\n\r\n         iOldShowSourceBitmaps = iShowSourceBitmaps;\r\n\r\n         // Yup, un-select the old item.\r\n         DSRectItem(hwndLB, iSelHighlight, FALSE, FALSE);\r\n\r\n         // Select the new one.\r\n         iSelHighlight = iSel;\r\n         DSRectItem(hwndLB, iSel, TRUE, FALSE);\r\n         break;\r\n      }\r\n\r\n   case WM_DRAWITEM:\r\n\r\n      DrawItem(hwnd,\r\n               (DWORD)GetWindowLongPtr(hwndParent, GWL_VIEW),\r\n               (LPDRAWITEMSTRUCT)lParam,\r\n               ((LPDRAWITEMSTRUCT)lParam)->hwndItem == GetFocus());\r\n      break;\r\n\r\n   case WM_DROPOBJECT:\r\n\r\n      //\r\n      // WM_DROPOBJECT is sent to a sink when the user releases an\r\n      // acceptable object over it\r\n      //\r\n      //    wParam: TRUE if over the non-client area, FALSE if over the\r\n      //            client area.\r\n      //    lParam: LPDROPSTRUCT\r\n      //\r\n      if (DSDropObject(hwnd, hwndLB, (LPDROPSTRUCT)lParam, FALSE))\r\n         return TRUE;\r\n\r\n   case WM_LBTRACKPOINT:\r\n      return DSTrackPoint(hwnd, hwndLB, wParam, lParam, FALSE);\r\n\r\n   case WM_MEASUREITEM:\r\n\r\n#define pLBMItem ((LPMEASUREITEMSTRUCT)lParam)\r\n\r\n      pLBMItem->itemHeight =\r\n            dyFileName;    // the same as in SetLBFont()\r\n#undef pLBMItem\r\n      break;\r\n\r\n   case WM_QUERYDROPOBJECT:\r\n   {\r\n      // lParam LPDROPSTRUCT\r\n      //\r\n      // return values:\r\n      //    0       don't accept (use ghost buster)\r\n      //    1       accept, use cursor from DragObject()\r\n      //    hCursor accept, change to this cursor\r\n      //\r\n\r\n      //\r\n      // Ensure that we are dropping on the client area of the listbox.\r\n      //\r\n      LPDROPSTRUCT lpds = (LPDROPSTRUCT)lParam;\r\n\r\n      //\r\n      // Ensure that we can accept the format.\r\n      //\r\n      switch (lpds->wFmt) {\r\n      case DOF_EXECUTABLE:\r\n      case DOF_DIRECTORY:\r\n      case DOF_DOCUMENT:\r\n      case DOF_MULTIPLE:\r\n         if (lpds->hwndSink == hwnd)\r\n            lpds->dwControlData = (DWORD)-1L;\r\n\r\n          return TRUE;\r\n      }\r\n      return FALSE;\r\n   }\r\n\r\n   case WM_SETFOCUS:\r\n      {\r\n         UpdateStatus(hwndParent);\r\n\r\n         SetWindowLongPtr(hwnd, GWL_NEXTHWND, 0L);\r\n      }\r\n\r\n      //\r\n      // Fall through\r\n      //\r\n   case WM_LBUTTONDOWN:\r\n      if (hwndLB != GetFocus())\r\n         SetFocus(hwndLB);\r\n\r\n      break;\r\n\r\n   case WM_COMMAND:\r\n      switch (GET_WM_COMMAND_CMD(wParam, lParam)) {\r\n      case LBN_DBLCLK:\r\n         /* Double-click... Open the blasted thing. */\r\n         SendMessage(hwndFrame, WM_COMMAND, GET_WM_COMMAND_MPS(IDM_OPEN, 0, 0));\r\n         break;\r\n\r\n      case LBN_SELCHANGE:\r\n\r\n         ExtSelItemsInvalidate();\r\n\r\n         for (i = 0; i < iNumExtensions; i++) {\r\n            (extensions[i].ExtProc)(hwndFrame, FMEVENT_SELCHANGE, 0L);\r\n         }\r\n         UpdateStatus(hwndParent);\r\n         break;\r\n\r\n      case LBN_SETFOCUS:\r\n\r\n         //\r\n         // Make sure there are files in this window.  If not, set\r\n         // the focus to the tree or drives window.  Note:  This\r\n         // message was caused by a mouse click and not an\r\n         // accelerator, because these were handled in the window\r\n         // routine that was losing the focus.\r\n         //\r\n         if (SetDirFocus(hwnd)) {\r\n            SetWindowLongPtr(hwndParent, GWL_LASTFOCUS, (LPARAM)GET_WM_COMMAND_HWND(wParam, lParam));\r\n            UpdateSelection(GET_WM_COMMAND_HWND(wParam, lParam));\r\n         }\r\n         UpdateStatus(hwndParent);\r\n         break;\r\n\r\n      case LBN_KILLFOCUS:\r\n         SetWindowLongPtr(hwndParent, GWL_LASTFOCUS, 0L);\r\n         UpdateSelection(GET_WM_COMMAND_HWND(wParam, lParam));\r\n         SetWindowLongPtr(hwndParent,\r\n                       GWL_LASTFOCUS,\r\n                       (LPARAM)GET_WM_COMMAND_HWND(wParam, lParam));\r\n         break;\r\n      }\r\n      break;\r\n\r\n   case WM_CONTEXTMENU:\r\n      ActivateCommonContextMenu(hwnd, hwndLB, lParam);\r\n         break;\r\n\r\n   case WM_VKEYTOITEM:\r\n      switch (GET_WM_VKEYTOITEM_CODE(wParam, lParam)) {\r\n      case VK_ESCAPE:\r\n         bCancelTree = TRUE;\r\n         TypeAheadString('\\0', NULL);\r\n         return -2L;\r\n\r\n      case 'A':         /* Ctrl-A */\r\n         if (GetKeyState(VK_CONTROL) >= 0)\r\n            break;\r\n      case 0xBF:        /* Ctrl-/ */\r\n         TypeAheadString('\\0', NULL);\r\n         SendMessage(hwndFrame, WM_COMMAND, GET_WM_COMMAND_MPS(IDM_SELALL, 0, 0));\r\n         return -2;\r\n\r\n      case 0xDC:        /* Ctrl-\\ */\r\n         TypeAheadString('\\0', NULL);\r\n         SendMessage(hwndFrame, WM_COMMAND, GET_WM_COMMAND_MPS(IDM_DESELALL, 0, 0));\r\n         return -2;\r\n\r\n      case VK_F6:       // like excel\r\n      case VK_TAB:\r\n         {\r\n            HWND hwndTree, hwndDrives;\r\n\r\n            hwndTree = HasTreeWindow(hwndParent);\r\n\r\n            hwndDrives = bDriveBar ? hwndDriveBar : (hwndTree ? hwndTree : hwnd);\r\n\r\n            if (GetKeyState(VK_SHIFT) < 0)\r\n               SetFocus(hwndTree ? hwndTree : hwndDrives);\r\n            else\r\n               SetFocus(hwndDrives);\r\n\r\n            TypeAheadString('\\0', NULL);\r\n            break;\r\n         }\r\n\r\n      case VK_BACK:\r\n         SendMessage(hwnd, FS_GETDIRECTORY, COUNTOF(szTemp), (LPARAM)szTemp);\r\n\r\n         // are we already at the root?\r\n         if (lstrlen(szTemp) <= 3)\r\n            return -1;\r\n\r\n         StripBackslash(szTemp);\r\n         StripFilespec(szTemp);\r\n\r\n         CreateDirWindow(szTemp, GetKeyState(VK_SHIFT) >= 0, hwndParent);\r\n         TypeAheadString('\\0', NULL);\r\n         return -2;\r\n\r\n      default:\r\n        // Select disc by pressing CTRL + ALT + letter\r\n        if ((GetKeyState(VK_CONTROL) < 0) && (GetKeyState(VK_MENU) < 0) && hwndDriveBar)\r\n              return SendMessage(hwndDriveBar, uMsg, wParam, lParam);\r\n        break;\r\n      }\r\n      return -1;\r\n\r\n   case WM_SIZE:\r\n      if (!IsIconic(hwndParent)) {\r\n         INT iMax;\r\n\r\n         MoveWindow(hwndLB, 0, 0, LOWORD(lParam), HIWORD(lParam), TRUE);\r\n\r\n\r\n         iMax = (INT)SendMessage(hwndLB, LB_GETCARETINDEX, 0, 0L);\r\n         if (iMax >= 0) // scroll item into view\r\n            /* SETCARETINDEX will scroll item into view */\r\n            SendMessage(hwndLB, LB_SETCARETINDEX, iMax, 0L);\r\n            //MakeItemVisible(iMax, hwndLB);\r\n\r\n      }\r\n      break;\r\n\r\n   default:\r\n      return DefWindowProc(hwnd, uMsg, wParam, lParam);\r\n   }\r\n\r\n   return 0L;\r\n}\r\n\r\n\r\n// Handles WM_CREATE, WM_FSC and FS_CHANGEDISPLAY for DirectoryWndProc\r\n// for WM_CREATE, wParam and lParam are ignored\r\n// for WM_FSC, wParam is FSC_* and lParam depends on the function (but the cases handled here are limited)\r\n// for FS_CHANGEDISPLAY, wParam is one of CD_* values; \r\n//  for CD_SORT, LOWORD(lParam) == sort value\r\n//  for CD_VIEW, LOWORD(lParam) == view bits and HIWORD(lParam) == TRUE means always refresh\r\n//  for CD_PATH and CD_PATH_FORCE, lParam is the new path; if NULL, use MDI window text\r\n\r\nLRESULT\r\nChangeDisplay(\r\n   HWND hwnd,\r\n   UINT uMsg,\r\n   WPARAM wParam,\r\n   LPARAM lParam)\r\n{\r\n   //\r\n   // Enough space for path and filter\r\n   //\r\n   WCHAR         szPath[2 * MAXFILENAMELEN];\r\n\r\n   HCURSOR  hCursor;\r\n   HWND     hwndLB, hwndT;\r\n   DWORD ws;\r\n   RECT  rc;\r\n   WORD *pwTabs;\r\n   BOOL bDontSteal = FALSE;\r\n   HWND hwndListParms;\r\n   LPXDTALINK lpStart;\r\n   BOOL bDirFocus;\r\n   BOOL bResetFocus= FALSE;\r\n\r\n   PSELINFO pSelInfo;\r\n   PSELINFO pSelInfoOld;\r\n   LONG lRetval = 0;\r\n   BOOL bCreateDTABlock = TRUE;\r\n\r\n   pSelInfo = (PSELINFO)LocalAlloc(LMEM_FIXED, sizeof(SELINFO));\r\n\r\n   if (!pSelInfo)\r\n      return -1;\r\n\r\n   pSelInfo->pSel = NULL;\r\n   pSelInfo->bSelOnly = FALSE;\r\n\r\n   hwndListParms = (HWND)GetWindowLongPtr(hwnd, GWL_LISTPARMS);\r\n   hwndLB = GetDlgItem(hwnd, IDCW_LISTBOX);\r\n\r\n   switch (uMsg) {\r\n\r\n   case WM_FSC:\r\n\r\n      //\r\n      // If FSC is disabled and we are NOT refreshing, then defer.\r\n      // The FSC_REFRESH was added because this is only sent by\r\n      // EnableFSC and WM_DROPOBJECT.\r\n      //\r\n      if (cDisableFSC && wParam != FSC_REFRESH) {\r\n\r\n         //\r\n         // I need to be updated\r\n         //\r\n         SetWindowLongPtr(hwndListParms, GWL_FSCFLAG, TRUE);\r\n         break;\r\n      }\r\n      wParam = CD_PATH;\r\n      lParam = 0L;\r\n\r\n      //\r\n      // No need to clear out pending change notifications\r\n      // here since they will be reset below when the new\r\n      // listbox is filled.\r\n      //\r\n\r\n      /*** FALL THROUGH ***/\r\n\r\n   case FS_CHANGEDISPLAY:\r\n\r\n      if (GetWindowLongPtr(hwndListParms, GWL_FSCFLAG)) {\r\n         if (wParam == CD_PATH) {\r\n            wParam = CD_PATH_FORCE;\r\n            bDontSteal = TRUE;\r\n         }\r\n      }\r\n\r\n      SetWindowLongPtr(hwndListParms, GWL_FSCFLAG, FALSE);\r\n\r\n      hCursor = SetCursor(LoadCursor(NULL, IDC_WAIT));\r\n      ShowCursor(TRUE);\r\n\r\n      bResetFocus = (GetFocus() == hwndLB);\r\n\r\n      lpStart = (LPXDTALINK)GetWindowLongPtr(hwnd, GWL_HDTA);\r\n\r\n      //\r\n      // parse wParam immediately since CD_DONTSTEAL added\r\n      //\r\n      bDontSteal = ((wParam & CD_DONTSTEAL) != 0);\r\n      wParam &= ~CD_DONTSTEAL;\r\n\r\n      switch (wParam) {\r\n      case CD_SORT:\r\n\r\n         //\r\n         // change the sort order of the listbox\r\n         //\r\n         // we want to save the current selection and things here\r\n         // and restore them once the listbox has been rebuilt\r\n         //\r\n         // But first, save a list of the selected items\r\n         //\r\n         // change 0 to 8 to get unqualified directory names\r\n         //\r\n         pSelInfo->pSel = DirGetSelection(hwnd,\r\n                                          hwnd,\r\n                                          hwndLB,\r\n                                          8,\r\n                                          NULL,\r\n                                          &pSelInfo->iLastSel);\r\n\r\n         pSelInfo->iTop = (INT)SendMessage(hwndLB, LB_GETTOPINDEX, 0, 0L);\r\n\r\n         DirGetAnchorFocus(hwndLB, lpStart, pSelInfo);\r\n\r\n         SetWindowLongPtr(hwndListParms, GWL_SORT, LOWORD(lParam));\r\n         SendMessage(hwndLB, LB_RESETCONTENT, 0, 0L);\r\n\r\n         SendMessage(hwndLB, WM_SETREDRAW, FALSE, 0L);\r\n         FillDirList(hwnd, lpStart);\r\n\r\n         goto ResetSelection;\r\n\r\n      case CD_VIEW:\r\n      {\r\n         DWORD dwCurView;\r\n\r\n         //\r\n         // change the view type (name only, vs full details)\r\n         // Warning! Convoluted Code!  We want to destroy the\r\n         // listbox only if we are going between Name Only view\r\n         // and Details view.\r\n         //\r\n         dwNewView = LOWORD(lParam);\r\n         dwCurView = (DWORD)GetWindowLongPtr(hwndListParms, GWL_VIEW);\r\n\r\n         //\r\n         // hiword lParam == TRUE means always refresh\r\n         //\r\n         if (dwNewView == dwCurView && !HIWORD(lParam))\r\n            break;\r\n\r\n         //\r\n         // special case the long and partial view change\r\n         // this doesn't require us to recreate the listbox\r\n         //\r\n         if ((VIEW_EVERYTHING & dwNewView) && (VIEW_EVERYTHING & dwCurView)) {\r\n\r\n            SetWindowLongPtr(hwndListParms, GWL_VIEW, dwNewView);\r\n\r\n            FixTabsAndThings(hwndLB,\r\n                             (WORD *)GetWindowLongPtr(hwnd, GWL_TABARRAY),\r\n                             GetMaxExtent(hwndLB, lpStart, FALSE),\r\n                             GetMaxExtent(hwndLB, lpStart, TRUE),\r\n                             dwNewView);\r\n\r\n            InvalidateRect(hwndLB, NULL, TRUE);\r\n\r\n            break;\r\n         }\r\n\r\n         //\r\n         // Things are a changing radically.  Destroy the listbox.\r\n         // But first, save a list of the selected items\r\n         // Again 0 changed to 8\r\n         //\r\n\r\n         pSelInfo->pSel = DirGetSelection(hwnd,\r\n                                          hwnd,\r\n                                          hwndLB,\r\n                                          8,\r\n                                          NULL,\r\n                                          &pSelInfo->iLastSel);\r\n\r\n         pSelInfo->iTop = (INT)SendMessage(hwndLB, LB_GETTOPINDEX, 0, 0L);\r\n         DirGetAnchorFocus(hwndLB, lpStart, pSelInfo);\r\n\r\n         lstrcpy(pSelInfo->szTopIndex, pSelInfo->szCaret);\r\n\r\n         bDirFocus = (HWND)GetWindowLongPtr(hwndListParms,\r\n                                         GWL_LASTFOCUS) == hwndLB;\r\n\r\n         DestroyWindow(hwndLB);\r\n\r\n         if (bDirFocus)\r\n            SetWindowLongPtr(hwndListParms, GWL_LASTFOCUS, 0L);\r\n\r\n         //\r\n         // Create a new one (preserving the Sort setting).\r\n         //\r\n         dwNewSort = (DWORD)GetWindowLongPtr(hwndListParms, GWL_SORT);\r\n         dwNewAttribs = (DWORD)GetWindowLongPtr(hwndListParms, GWL_ATTRIBS);\r\n         SetWindowLongPtr(hwndListParms, GWL_VIEW, dwNewView);\r\n\r\n         bCreateDTABlock = FALSE;   // and szPath is NOT set\r\n\r\n         goto CreateLB;\r\n      }\r\n\r\n      case CD_PATH | CD_ALLOWABORT:\r\n      case CD_PATH:\r\n      case CD_PATH_FORCE:\r\n\r\n         //\r\n         // bad stuff happens if we change the path\r\n         // while we are reading the tree.  bounce this\r\n         // in that case.  this causes the steal data\r\n         // code in the tree to crash because we would\r\n         // free the hDTA while it is being traversed\r\n         // (very bad thing)\r\n         //\r\n         hwndT = HasTreeWindow(hwndListParms);\r\n         if (hwndT && GetWindowLongPtr(hwndT, GWL_READLEVEL)) {\r\n            SetWindowLongPtr(hwndListParms, GWL_FSCFLAG, TRUE);\r\n            break;\r\n         }\r\n\r\n         //\r\n         // change the path of the current directory window (basically\r\n         // recreate the whole thing)\r\n         //\r\n         // if lParam == NULL this is a refresh, otherwise\r\n         // check for short circuit case to avoid rereading\r\n         // the directory\r\n         //\r\n         GetMDIWindowText(hwndListParms, szPath, COUNTOF(szPath));\r\n\r\n         if (lParam) {\r\n\r\n            //\r\n            // get out early if this is a NOP\r\n            //\r\n            // lpStart added\r\n            //\r\n\r\n#ifdef DBCS\r\n//fix kksuzuka: #2852\r\n//DBCS dirname should not be compared ..\r\n       if( (wParam != CD_PATH_FORCE) && lpStart ) {\r\n      INT aLen = lstrlen(szPath);\r\n      INT bLen = lstrlen((LPTSTR)lParam);\r\n\r\n      if ( (WideCharToMultiByte(CP_ACP,0L,szPath,aLen,NULL,0L,NULL, NULL) == aLen) &&\r\n           (WideCharToMultiByte(CP_ACP,0L,(LPTSTR)lParam,bLen,NULL,0L, NULL,NULL) == bLen ) ) {\r\n         if( !lstrcmpi(szPath, (LPTSTR)lParam) )\r\n             break;\r\n          }\r\n          else {\r\n         if( !lstrcmp(szPath, (LPTSTR)lParam) )\r\n             break;\r\n          }\r\n       }\r\n#else\r\n       if ((wParam != CD_PATH_FORCE) && lpStart &&\r\n          !lstrcmpi(szPath, (LPTSTR)lParam)) {\r\n\r\n          break;\r\n       }\r\n#endif\r\n\r\n            lstrcpy(szPath, (LPTSTR)lParam);\r\n\r\n            pSelInfo->iLastSel = -1;          // invalidate the last selection\r\n\r\n            //\r\n            // We are changing selections,\r\n            // Free GWL_SELINFO.\r\n            //\r\n            FreeSelInfo((PSELINFO)GetWindowLongPtr(hwnd, GWL_SELINFO));\r\n\r\n            SetWindowLongPtr(hwnd, GWL_SELINFO, 0L);\r\n\r\n         } else {\r\n\r\n            //\r\n            // if this is a refresh save the current selection,\r\n            // anchor stuff, etc.\r\n            //\r\n\r\n            //\r\n            // If GWL_SELINFO is already set, then we are in the act\r\n            // of refreshing already.  So don't try and read an empty\r\n            // listbox, just use GWL_SELINFO\r\n            //\r\n            pSelInfoOld = (PSELINFO)GetWindowLongPtr(hwnd, GWL_SELINFO);\r\n\r\n            if (!pSelInfoOld) {\r\n\r\n               pSelInfo->pSel = DirGetSelection(hwnd,\r\n                                                hwnd,\r\n                                                hwndLB,\r\n                                                8,\r\n                                                NULL,\r\n                                                &pSelInfo->iLastSel);\r\n\r\n               pSelInfo->iTop = (INT)SendMessage(hwndLB,\r\n                                                 LB_GETTOPINDEX,\r\n                                                 0,\r\n                                                 0L);\r\n\r\n               DirGetAnchorFocus(hwndLB, lpStart, pSelInfo);\r\n\r\n               pSelInfo->bSelOnly = FALSE;\r\n\r\n            } else {\r\n\r\n               //\r\n               // We have old info we want to save.\r\n               // Clear the current GWL_SELINFO\r\n               // and replace the \"new\" pSelInfo with the\r\n               // old one.\r\n               //\r\n               SetWindowLongPtr(hwnd, GWL_SELINFO, 0L);\r\n\r\n               LocalFree(pSelInfo);\r\n               pSelInfo = pSelInfoOld;\r\n            }\r\n         }\r\n\r\n         //\r\n         // Create a new one (preserving the Sort setting)\r\n         //\r\n         dwNewSort = (DWORD)GetWindowLongPtr(hwndListParms, GWL_SORT);\r\n         dwNewView = (DWORD)GetWindowLongPtr(hwndListParms, GWL_VIEW);\r\n         dwNewAttribs = (DWORD)GetWindowLongPtr(hwndListParms, GWL_ATTRIBS);\r\n\r\n         SetWindowLongPtr(hwnd, GWLP_USERDATA, 1);\r\n         SendMessage(hwndLB, LB_RESETCONTENT, 0, 0L);\r\n\r\n         // bCreateDTABlock is TRUE and szPath is set\r\n\r\n         goto CreateNewPath;\r\n      }\r\n\r\n      SetCursor(hCursor);\r\n      ShowCursor(FALSE);\r\n      break;\r\n\r\n   case WM_CREATE:\r\n\r\n      lpStart = NULL;\r\n\r\n      //\r\n      // dwNewView, dwNewSort and dwNewAttribs define the viewing\r\n      // parameters of the new window (GLOBALS)\r\n      // the window text of the parent window defines the\r\n      // filespec and the directory to open up\r\n      //\r\n      hCursor = SetCursor(LoadCursor(NULL, IDC_WAIT));\r\n      ShowCursor(TRUE);\r\n\r\n      wParam = 0;           // don't allow abort in CreateDTABlock()\r\n      lParam = 1L;          // allow DTA steal optimization\r\n\r\n      bDontSteal = FALSE;\r\n      hwndListParms = GetParent(hwnd);\r\n\r\n      if ((pwTabs = (WORD *)LocalAlloc(LPTR,\r\n                                       sizeof(WORD) * MAX_TAB_COLUMNS)) == NULL) {\r\n\r\n         lRetval = -1L;\r\n         goto Done;\r\n      }\r\n\r\n      SetWindowLongPtr(hwnd, GWL_LISTPARMS, (LPARAM)hwndListParms);\r\n      SetWindowLongPtr(hwnd, GWL_TABARRAY, (LPARAM)pwTabs);\r\n      SetWindowLongPtr(hwnd, GWL_SELINFO, 0L);\r\n\r\n      {\r\n      WF_IDropTarget *pDropTarget;\r\n      \r\n      RegisterDropWindow(hwnd, &pDropTarget);\r\n      SetWindowLongPtr(hwnd, GWL_OLEDROP, (LPARAM)pDropTarget);\r\n      }\r\n      \r\n      //\r\n      // get the dir to open from our parent window text\r\n      //\r\n      GetMDIWindowText(hwndListParms, szPath, COUNTOF(szPath));\r\n\r\n      // bCreateDTABlock == TRUE and szPath just set\r\n\r\nCreateLB:\r\n\r\n      if ((dwNewView & VIEW_EVERYTHING) == VIEW_NAMEONLY)\r\n         ws = WS_DIRSTYLE | LBS_MULTICOLUMN | WS_HSCROLL | WS_VISIBLE | WS_BORDER | LBS_DISABLENOSCROLL;\r\n      else\r\n         ws = WS_DIRSTYLE | WS_HSCROLL | WS_VSCROLL |  WS_VISIBLE | WS_BORDER | LBS_DISABLENOSCROLL;\r\n\r\n      GetClientRect(hwnd, &rc);\r\n\r\n      //\r\n      // the border parameters are for the non initial create case\r\n      // I don't know why\r\n      //\r\n      hwndLB = CreateWindowEx(0L,\r\n                              szListbox, // atomDirListBox,\r\n                              NULL,\r\n                              ws,\r\n                              dyBorder,\r\n                              dyBorder,\r\n                              rc.right - 2*dyBorder,\r\n                              rc.bottom - 2*dyBorder,\r\n                              hwnd,\r\n                              (HMENU)IDCW_LISTBOX,\r\n                              hAppInstance,\r\n                              NULL);\r\n\r\n      if (!hwndLB) {\r\n\r\n         FreeDTA(hwnd);\r\n\r\n         if (uMsg != WM_CREATE)\r\n            SendMessage(hwnd, WM_SYSCOMMAND, SC_CLOSE, 0L);\r\n\r\n         ShowCursor(FALSE);\r\n         SetCursor(hCursor);\r\n\r\n         lRetval = -1L;\r\n         goto Done;\r\n      }\r\n\r\n      if (!dwNewAttribs)\r\n         dwNewAttribs = ATTR_DEFAULT;\r\n\r\n      //\r\n      //  Set all the view/sort/include parameters if they haven't\r\n      //  already been set.\r\n      //\r\n      //  NOTE: A value of 0 in GWL_SORT is invalid, so check this\r\n      //        to see if the values have been initialized yet.\r\n      //\r\n      if (!GetWindowLongPtr(hwndListParms, GWL_SORT))\r\n      {\r\n         SetWindowLongPtr(hwndListParms, GWL_VIEW, dwNewView);\r\n         SetWindowLongPtr(hwndListParms, GWL_SORT, dwNewSort);\r\n         SetWindowLongPtr(hwndListParms, GWL_ATTRIBS, dwNewAttribs);\r\n      }\r\n\r\n      //\r\n      // restore the last focus stuff if we are recreating here\r\n      //\r\n      if (!GetWindowLongPtr(hwndListParms, GWL_LASTFOCUS)) {\r\n         SetWindowLongPtr(hwndListParms, GWL_LASTFOCUS, (LPARAM)hwndLB);\r\n      }\r\n\r\n  CreateNewPath:\r\n\r\n      if (bCreateDTABlock) {\r\n\r\n         //\r\n         // at this point szPath has the directory to read.  this\r\n         // either came from the WM_CREATE case or the\r\n         // FS_CHANGEDISPLAY (CD_PATH) directory reset\r\n         //\r\n\r\n         CharUpperBuff(szPath, 1);     // make sure\r\n\r\n         SetWindowLongPtr(hwndListParms, GWL_TYPE, szPath[0] - TEXT('A'));\r\n\r\n         SetMDIWindowText(hwndListParms, szPath);\r\n\r\n         lpStart = CreateDTABlock(hwnd,\r\n                                  szPath,\r\n                                  dwNewAttribs,\r\n                                  (lParam == 0L) || bDontSteal);\r\n\r\n\r\n         if (hwnd != hwndListParms)\r\n         {\r\n            //\r\n            // For non search windows, reset notification\r\n            //\r\n            ModifyWatchList(hwndListParms,\r\n                            NULL,\r\n                            FILE_NOTIFY_CHANGE_FLAGS);\r\n\r\n            if (lpStart)\r\n            {\r\n                GetMDIWindowText(hwndListParms, szPath, COUNTOF(szPath));\r\n                StripFilespec(szPath);\r\n\r\n                ModifyWatchList(hwndListParms,\r\n                                szPath,\r\n                                FILE_NOTIFY_CHANGE_FLAGS);\r\n            }\r\n         }\r\n\r\n         //\r\n         // We still need to indicate that space may be out of date.\r\n         //\r\n         // Moved to wfdirrd.c, right before SendMessage of FS_DIRREADDONE\r\n         //      R_Space(DRIVEID(szPath));\r\n         //\r\n      }\r\n\r\n      SendMessage(hwndLB, WM_SETREDRAW, FALSE, 0L);\r\n      FillDirList(hwnd, lpStart);\r\n\r\n      //\r\n      // set the font and dimensions here\r\n      //\r\n      SetLBFont(hwnd,\r\n                hwndLB,\r\n                hFont,\r\n                (DWORD)GetWindowLongPtr(hwndListParms, GWL_VIEW),\r\n                lpStart);\r\n\r\n\r\n      if (pszInitialDirSel) {\r\n\r\n         //\r\n         // ASSUME: pSelInfo->pSel needn't be freed.\r\n         // This should be true since in WM_CREATE (the only time\r\n         // which pszInitialDirSel is != NULL), pSel not initialized.\r\n         //\r\n         pSelInfo->pSel = pszInitialDirSel;\r\n         pSelInfo->bSelOnly = TRUE;\r\n         pszInitialDirSel = NULL;\r\n      }\r\n\r\nResetSelection:\r\n\r\n      if (lpStart) {\r\n\r\n         SetSelInfo(hwndLB, lpStart, pSelInfo);\r\n\r\n      } else {\r\n\r\n         //\r\n         // Wasn't used immediately; save it.\r\n         //\r\n         pSelInfoOld = (PSELINFO)GetWindowLongPtr(hwnd, GWL_SELINFO);\r\n\r\n         if (pSelInfoOld != pSelInfo) {\r\n\r\n            FreeSelInfo(pSelInfoOld);\r\n            SetWindowLongPtr(hwnd, GWL_SELINFO, (LPARAM)pSelInfo);\r\n         }\r\n         pSelInfo = NULL;\r\n      }\r\n\r\n      if (bResetFocus)\r\n         if (SetDirFocus(hwnd))\r\n                SetFocus(hwnd);\r\n\r\n      SendMessage(hwndLB, WM_SETREDRAW, TRUE, 0L);\r\n\r\n      InvalidateRect(hwndLB, NULL, TRUE);\r\n\r\n      ShowCursor(FALSE);\r\n      SetCursor(hCursor);\r\n      break;\r\n   }\r\n\r\nDone:\r\n\r\n   FreeSelInfo(pSelInfo);\r\n   return lRetval;\r\n}\r\n\r\nVOID\r\nFreeSelInfo(\r\n   PSELINFO pSelInfo)\r\n{\r\n   if (pSelInfo) {\r\n\r\n      if (pSelInfo->pSel)\r\n         LocalFree((HLOCAL)pSelInfo->pSel);\r\n\r\n      LocalFree((HLOCAL)pSelInfo);\r\n   }\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     SetSelInfo\r\n//\r\n// Synopsis: Sets selection in dir based on pSelInfo\r\n//\r\n// hwndLB    list box to select\r\n// lpStart   Directory Information  MUST BE VALID (non-NULL)\r\n// pSelInfo  Selection info (if NULL, first item selected)\r\n//\r\n//\r\n// Return:   BOOL, T=Used selection, F=selected first\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nSetSelInfo(\r\n   HWND hwndLB,\r\n   LPXDTALINK lpStart,\r\n   PSELINFO pSelInfo)\r\n{\r\n   INT iSel;\r\n   INT iLBCount;\r\n   LPXDTA lpxdta;\r\n   INT iTop;\r\n\r\n   iLBCount = (INT)SendMessage(hwndLB, LB_GETCOUNT, 0, 0L);\r\n\r\n   if (!pSelInfo) {\r\n      goto SelectFirst;\r\n   }\r\n\r\n   iTop = pSelInfo->iTop;\r\n\r\n   if (pSelInfo->pSel && pSelInfo->pSel[0]) {\r\n\r\n      //\r\n      // Give the selected item the focus rect and anchor pt.\r\n      //\r\n      if (SetSelection(hwndLB, lpStart, pSelInfo->pSel)) {\r\n\r\n         if (pSelInfo->bSelOnly)\r\n            return TRUE;\r\n\r\n         iSel = DirFindIndex(hwndLB, lpStart, pSelInfo->szTopIndex);\r\n\r\n         if (iSel == -1)\r\n            iSel = 0;\r\n\r\n         SendMessage(hwndLB, LB_SETTOPINDEX, iSel, 0L);\r\n\r\n         iSel = DirFindIndex(hwndLB, lpStart, pSelInfo->szAnchor);\r\n\r\n         if (iSel == -1)\r\n            iSel = 0;\r\n\r\n         SendMessage(hwndLB, LB_SETANCHORINDEX, iSel, 0L);\r\n\r\n         iSel = DirFindIndex(hwndLB, lpStart, pSelInfo->szCaret);\r\n\r\n         if (iSel == -1)\r\n            iSel = 0;\r\n\r\n         //\r\n         // SETCARETINDEX will scroll item into view\r\n         //\r\n         SendMessage(hwndLB, LB_SETCARETINDEX, iSel, 0L);\r\n\r\n         return TRUE;\r\n      }\r\n\r\n      //\r\n      // If the latest top selection disappeared, then just select the\r\n      // same index (but different file).\r\n      //\r\n      if (pSelInfo->iLastSel != -1 && (pSelInfo->iLastSel <= iLBCount)) {\r\n\r\n         iSel = pSelInfo->iLastSel;\r\n\r\n         //\r\n         // check the case of the last item being deleted\r\n         //\r\n         if (iSel == iLBCount)\r\n            iSel--;\r\n\r\n         SendMessage(hwndLB, LB_SETSEL, TRUE, (DWORD)iSel);\r\n\r\n      } else {\r\n         goto SelectFirst;\r\n      }\r\n\r\n   } else {\r\n\r\nSelectFirst:\r\n\r\n      //\r\n      // Select the first non-directory item\r\n      //\r\n      iSel = 0;\r\n      while (iSel < iLBCount) {\r\n\r\n         if (SendMessage(hwndLB,\r\n                         LB_GETTEXT,\r\n                         iSel,\r\n                         (LPARAM)&lpxdta) == LB_ERR || !lpxdta) {\r\n            break;\r\n         }\r\n\r\n         if (!(lpxdta->dwAttrs & ATTR_PARENT)) {\r\n            iTop = iSel;\r\n            break;\r\n         }\r\n         iSel++;\r\n      }\r\n\r\n      if (iSel == iLBCount)\r\n         iSel = 0;\r\n   }\r\n\r\n   SendMessage(hwndLB, LB_SETTOPINDEX, iTop, 0L);\r\n\r\n   //\r\n   // and select this item if no tree window\r\n   //\r\n   if (!HasTreeWindow(GetParent(GetParent(hwndLB))))\r\n      SendMessage(hwndLB, LB_SETSEL, TRUE, (DWORD)iSel);\r\n\r\n   SendMessage(hwndLB, LB_SETANCHORINDEX, iSel, 0L);\r\n\r\n   //\r\n   // SETCARETINDEX will scroll item into view\r\n   //\r\n   SendMessage(hwndLB, LB_SETCARETINDEX, iSel, 0L);\r\n\r\n   return FALSE;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     GetPict\r\n//\r\n// Synopsis: Returns the number of consecutive chars of same kind.\r\n//\r\n// ch        Char to find\r\n// pszStr    string to search\r\n//\r\n// Return:\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nUINT\r\nGetPict(\r\n   WCHAR ch,\r\n   LPCWSTR pszStr)\r\n{\r\n   UINT  count;\r\n\r\n   count = 0;\r\n   while (ch == *pszStr++)\r\n      count++;\r\n\r\n   return count;\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     CreateDate\r\n//\r\n// Synopsis: Converts a local time to a localized string\r\n//\r\n// IN        lpst       LPSYSTEMTIME  local system time\r\n// INOUT     lpszOutStr --            string of date\r\n//\r\n// Return:   INT   length of date\r\n//\r\n// Assumes:  lpszOutStr is large enough for the date string.\r\n//           Separator is one character long\r\n//\r\n// Effects:  lpszOutStr modified.\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nINT\r\nCreateDate(\r\n   LPSYSTEMTIME lpst,\r\n   LPWSTR szOutStr)\r\n{\r\n    /*\r\n     *  Need to subtract one from the return from GetDateFormatW\r\n     *  to exclude the null terminator.\r\n     */\r\n    return ( GetDateFormatW( lcid,\r\n                             DATE_SHORTDATE,\r\n                             lpst,\r\n                             NULL,\r\n                             szOutStr,\r\n                             MAXPATHLEN ) - 1 );\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     CreateTime\r\n//\r\n// Synopsis: Creates a localized time string for local time\r\n//\r\n// IN    lpst       LPSYSTEMTIME  local time\r\n// INOUT lpszOutStr --            String\r\n//\r\n// Return:   INT  length of string\r\n//\r\n//\r\n// Assumes:   lpszOutStr is big enough for all times\r\n//\r\n// Effects:   lpszOutStr modified.\r\n//            Separator is 1 character\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nINT\r\nCreateTime(\r\n   LPSYSTEMTIME lpst,\r\n   LPWSTR szOutStr)\r\n{\r\n    /*\r\n     *  Need to subtract one from the return from GetTimeFormatW\r\n     *  to exclude the null terminator.\r\n     */\r\n    return ( (bJapan) ? ( GetTimeFormatW( lcid,\r\n                                          TIME_FORCE24HOURFORMAT | TIME_NOTIMEMARKER,\r\n                                          lpst,\r\n                                          NULL,\r\n                                          szOutStr,\r\n                                          MAXPATHLEN ) - 1 )\r\n                      : ( GetTimeFormatW( lcid,\r\n                                          0,\r\n                                          lpst,\r\n                                          NULL,\r\n                                          szOutStr,\r\n                                          MAXPATHLEN ) - 1 ) );\r\n\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     PutSize\r\n//\r\n// Synopsis: puts large integer into string\r\n//\r\n// Return:\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nINT\r\nPutSize(\r\n    PLARGE_INTEGER pqSize,\r\n    LPWSTR szOutStr)\r\n{\r\n    INT Size;\r\n    WCHAR szBuffer[MAXFILENAMELEN];\r\n    NUMBERFMT NumFmt;\r\n\r\n    /*\r\n     *  Convert it into a string.\r\n     */\r\n    wsprintf(szBuffer, TEXT(\"%I64u\"), pqSize->QuadPart);\r\n\r\n    /*\r\n     *  Format the string.\r\n     */\r\n    NumFmt.NumDigits = 0;\r\n    NumFmt.LeadingZero = 0;\r\n    NumFmt.Grouping = 3;\r\n    NumFmt.lpDecimalSep = szDecimal;\r\n    NumFmt.lpThousandSep = szComma;\r\n    NumFmt.NegativeOrder = 1;\r\n\r\n    if ( Size = GetNumberFormatW( GetUserDefaultLCID(),\r\n                                  0,\r\n                                  szBuffer,\r\n                                  &NumFmt,\r\n                                  szOutStr,\r\n                                  MAXFILENAMELEN ) )\r\n    {\r\n        /*\r\n         *  Return the size (without the null terminator).\r\n         */\r\n        return (Size - 1);\r\n    }\r\n\r\n    /*\r\n     *  GetNumberFormat call failed, so just return the number string\r\n     *  unformatted.\r\n     */\r\n    lstrcpy(szOutStr, szBuffer);\r\n    return ((INT)wcslen(szOutStr));\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     PutDate\r\n//\r\n// Synopsis: Puts the date into a string\r\n//\r\n// Return:   Size of added string\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nINT\r\nPutDate(\r\n   LPFILETIME lpftDate,\r\n   LPWSTR szStr)\r\n{\r\n   SYSTEMTIME st;\r\n   FILETIME ftNew;\r\n\r\n   FileTimeToLocalFileTime(lpftDate, &ftNew);\r\n   FileTimeToSystemTime(&ftNew, &st);\r\n\r\n   return CreateDate(&st, szStr);\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     PutTime\r\n//\r\n// Synopsis:\r\n//\r\n// Return:\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nINT\r\nPutTime(\r\n   LPFILETIME lpftTime,\r\n   LPWSTR szStr)\r\n{\r\n   SYSTEMTIME st;\r\n   FILETIME ftNew;\r\n\r\n   FileTimeToLocalFileTime(lpftTime, &ftNew);\r\n   FileTimeToSystemTime(&ftNew, &st);\r\n\r\n   return(CreateTime(&st, szStr));\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     PutAttributes\r\n//\r\n// Synopsis:\r\n//\r\n// Return:\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nINT\r\nPutAttributes(\r\n   DWORD dwAttribute,\r\n   LPWSTR pszStr)\r\n{\r\n   INT   cch = 0;\r\n\r\n   if (dwAttribute & ATTR_READONLY)\r\n   {\r\n      *pszStr++ = szAttr[0];\r\n      cch++;\r\n   }\r\n\r\n   if (dwAttribute & ATTR_HIDDEN)\r\n   {\r\n      *pszStr++ = szAttr[1];\r\n      cch++;\r\n   }\r\n\r\n   if (dwAttribute & ATTR_SYSTEM)\r\n   {\r\n      *pszStr++ = szAttr[2];\r\n      cch++;\r\n   }\r\n\r\n   if (dwAttribute & ATTR_ARCHIVE)\r\n   {\r\n      *pszStr++ = szAttr[3];\r\n      cch++;\r\n   }\r\n\r\n   if (dwAttribute & ATTR_COMPRESSED)\r\n   {\r\n      *pszStr++ = szAttr[4];\r\n      cch++;\r\n   }\r\n\r\n   if (dwAttribute & ATTR_ENCRYPTED)\r\n   {\r\n      *pszStr++ = szAttr[5];\r\n      cch++;\r\n   }\r\n\r\n   *pszStr = CHAR_NULL;\r\n   return(cch);\r\n}\r\n\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     GetMaxExtent\r\n//\r\n// Synopsis: Compute the max ext of all files in this DTA block\r\n//           and update the case to match (wTextAttribs & TA_LOWERCASE)\r\n//\r\n// Return:\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n// Notes:\r\n//\r\n//        !! Called by UI and worker thread !!\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nINT\r\nGetMaxExtent(HWND hwndLB, LPXDTALINK lpLink, BOOL bNTFS)\r\n{\r\n   HDC hdc;\r\n   DWORD dwItems;\r\n   INT maxWidth = 0;\r\n   SIZE size;\r\n   HFONT hOld;\r\n   WCHAR szPath[MAXPATHLEN];\r\n   LPWSTR pszName;\r\n   LPXDTA lpxdta;\r\n\r\n   if (!lpLink)\r\n      goto NoDTA;\r\n\r\n   hdc = GetDC(hwndLB);\r\n   hOld = SelectObject(hdc, hFont);\r\n\r\n   for (dwItems = MemLinkToHead(lpLink)->dwEntries, lpxdta = MemFirst(lpLink);\r\n        dwItems;\r\n        dwItems--, lpxdta = MemNext(&lpLink, lpxdta))\r\n   {\r\n      if (bNTFS)\r\n      {\r\n         pszName = MemGetAlternateFileName(lpxdta);\r\n\r\n         if (pszName[0])\r\n         {\r\n            lstrcpy(szPath, pszName);\r\n\r\n            //\r\n            // ALWAYS AnsiUpper/Lower based on TA_LOWERCASE\r\n            // since this is a dos style name for ntfs.\r\n            //\r\n            if (wTextAttribs & TA_LOWERCASE ||\r\n                wTextAttribs & TA_LOWERCASEALL)\r\n            {\r\n               CharLower(szPath);\r\n            }\r\n            else\r\n            {\r\n               CharUpper(szPath);\r\n            }\r\n\r\n            GetTextExtentPoint32(hdc, szPath, lstrlen(szPath), &size);\r\n\r\n            maxWidth = max(size.cx, maxWidth);\r\n         }\r\n      }\r\n      else\r\n      {\r\n         lstrcpy(szPath, MemGetFileName(lpxdta));\r\n\r\n         //\r\n         // set the case of the file names here!\r\n         //\r\n         if ( ( (lpxdta->dwAttrs & ATTR_LOWERCASE) &&\r\n                (wTextAttribs & TA_LOWERCASE) ) ||\r\n              (wTextAttribs & TA_LOWERCASEALL) )\r\n         {\r\n            CharLower(szPath);\r\n         }\r\n\r\n         GetTextExtentPoint32(hdc, szPath, lstrlen(szPath), &size);\r\n\r\n         maxWidth = max(size.cx, maxWidth);\r\n      }\r\n   }\r\n\r\n   if (hOld)\r\n       SelectObject(hdc, hOld);\r\n\r\n   ReleaseDC(hwndLB, hdc);\r\n\r\nNoDTA:\r\n   return maxWidth + 4; // pad it out\r\n}\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     FixTabsAndThings\r\n//\r\n// Synopsis: Sets tabstops array for TabbedTextOut() calls\r\n//\r\n//\r\n// Return:   Total extent of \"File Details\" view.\r\n//           Used to set scroll extents\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n//        !! Called by UI and worker thread !!\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nINT\r\nFixTabsAndThings(\r\n   HWND hwndLB,\r\n   WORD *pwTabs,\r\n   INT iMaxWidthFileName,\r\n   INT iMaxWidthNTFSFileName,\r\n   DWORD dwViewOpts)\r\n{\r\n   INT i;\r\n   HDC hdc;\r\n   HFONT hOld;\r\n   TCHAR szBuf[30];\r\n   SIZE size;\r\n\r\n   //\r\n   // Max extent time/date\r\n   //\r\n   static SYSTEMTIME st = {\r\n      9999,\r\n      12,\r\n      3,\r\n      30,\r\n      12,\r\n      59,\r\n      59,\r\n      999\r\n   };\r\n\r\n   i = iMaxWidthFileName;  // the widest filename\r\n\r\n   if (pwTabs == NULL)\r\n      return i;\r\n\r\n   hdc = GetDC(NULL);\r\n   hOld = SelectObject(hdc, hFont);\r\n\r\n   //\r\n   //  Only if flag is set...\r\n   //  Don't check if fIsNTFS\r\n   //  Don't do if this is a search window\r\n   //\r\n   if (dwViewOpts & VIEW_DOSNAMES) {\r\n\r\n      //\r\n      // We have a 8.3 name to display\r\n      //\r\n      i += iMaxWidthNTFSFileName + dxText;\r\n      *pwTabs++ = (WORD)i;  // Size\r\n   }\r\n\r\n   //\r\n   // max size digits field  (allow for large integer - 2 dwords)\r\n   //\r\n   if (dwViewOpts & VIEW_SIZE)\r\n   {\r\n      GetTextExtentPoint32(hdc, TEXT(\"999,999,999,999\"), 15, &size);\r\n      i += size.cx + dxText;\r\n      *pwTabs++ = (WORD)i;  // Size\r\n   }\r\n\r\n   if (dwViewOpts & VIEW_DATE) {\r\n\r\n      //\r\n      // Bypass UTC by using Create Date!\r\n      //\r\n\r\n      CreateDate(&st, szBuf);\r\n\r\n      //\r\n      // max date digits\r\n      //\r\n      GetTextExtentPoint32(hdc, szBuf, lstrlen(szBuf), &size);\r\n      i += size.cx + dxText;\r\n      *pwTabs++ = (WORD)i;  // Date\r\n   }\r\n\r\n   //\r\n   // max time digits\r\n   //\r\n   if (dwViewOpts & VIEW_TIME) {\r\n\r\n      CreateTime(&st, szBuf);\r\n\r\n      GetTextExtentPoint32(hdc, szBuf, lstrlen(szBuf), &size);\r\n      i += size.cx + dxText;\r\n      *pwTabs++ = (WORD)i;  // Time\r\n   }\r\n\r\n   //\r\n   // max attribute digits\r\n   //\r\n   if (dwViewOpts & VIEW_FLAGS) {\r\n      PutAttributes(ATTR_ALL, szBuf);\r\n      GetTextExtentPoint32(hdc, szBuf, lstrlen(szBuf), &size);\r\n      i += size.cx + dxText;\r\n      *pwTabs++ = (WORD)i;  // Attributes\r\n   }\r\n\r\n   if (hOld)\r\n      SelectObject(hdc, hOld);\r\n\r\n   ReleaseDC(NULL, hdc);\r\n\r\n   SendMessage(hwndLB,\r\n               LB_SETHORIZONTALEXTENT,\r\n               i + dxFolder + 4 * dyBorderx2,\r\n               0L);\r\n   //\r\n   // total extent\r\n   //\r\n   return i;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     SetLBFont\r\n//\r\n// Synopsis: Sets font and adjust dimension parms for the new font\r\n//\r\n//    hwnd      hwnd of dir window\r\n//    hwndLB    it's listbox\r\n//    hNewFont  new font\r\n//\r\n// Return:\r\n//\r\n//\r\n// Assumes:\r\n//\r\n//    alpxdtaSorted initialized and filled\r\n//\r\n//    dyFileName  GLOBAL; set based on new font height\r\n//    GWL_VIEW    view definition\r\n//    GWL_HDTA    data\r\n//\r\n// Effects:\r\n//\r\n//    Listbox tabs array\r\n//       LB_SETCOLUMNWIDTH\r\n//       or\r\n//       LB_SETHORIZONTALEXTENT\r\n//\r\n// Notes: Must not have any dependency on GWL_HDTA state\r\n//\r\n//        !! Called by UI and worker thread !!\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nVOID\r\nSetLBFont(\r\n   HWND hwnd,\r\n   HWND hwndLB,\r\n   HANDLE hNewFont,\r\n   DWORD dwViewFlags,\r\n   LPXDTALINK lpStart)\r\n{\r\n   INT dxMaxExtent;\r\n   LPXDTAHEAD lpHead;\r\n\r\n\r\n   SendMessage(hwndLB, WM_SETFONT, (WPARAM)hNewFont, MAKELPARAM(TRUE, 0));\r\n\r\n   if (!lpStart)\r\n      return;\r\n\r\n   //\r\n   // this is needed when changing the font. when creating\r\n   // the return from WM_MEASUREITEM will set the cell height\r\n   //\r\n   SendMessage(hwndLB,\r\n               LB_SETITEMHEIGHT,\r\n               0,\r\n               (LONG)dyFileName);\r\n\r\n   lpHead = MemLinkToHead(lpStart);\r\n\r\n   dxMaxExtent = GetMaxExtent(hwndLB, lpStart, FALSE);\r\n\r\n   //\r\n   // if we are in name only view we change the width\r\n   //\r\n   if ((VIEW_EVERYTHING & dwViewFlags) == VIEW_NAMEONLY) {\r\n\r\n      SendMessage(hwndLB,\r\n                  LB_SETCOLUMNWIDTH,\r\n                  dxMaxExtent + dxFolder + dyBorderx2,\r\n                  0L);\r\n\r\n   } else {\r\n\r\n      lpHead->dwAlternateFileNameExtent = GetMaxExtent(hwndLB,\r\n                                                       lpStart,\r\n                                                       TRUE);\r\n\r\n      FixTabsAndThings(hwndLB,\r\n                       (WORD *)GetWindowLongPtr(hwnd, GWL_TABARRAY),\r\n                       dxMaxExtent,\r\n                       lpHead->dwAlternateFileNameExtent,\r\n                       dwViewFlags);\r\n   }\r\n}\r\n\r\n\r\nINT\r\nCharCountToTab(LPWSTR pszStr)\r\n{\r\n   LPWSTR pszTmp = pszStr;\r\n\r\n   while (*pszStr && *pszStr != CHAR_TAB) {\r\n      pszStr++;\r\n   }\r\n\r\n   return (INT)(pszStr-pszTmp);\r\n}\r\n\r\n\r\nVOID\r\nRightTabbedTextOut(\r\n   HDC hdc,\r\n   INT x, INT y,\r\n   LPWSTR pLine,\r\n   WORD *pTabStops,\r\n   INT x_offset,\r\n   DWORD dwAlternateFileNameExtent)\r\n{\r\n   INT len, cch;\r\n   INT count = 0;\r\n   SIZE size;\r\n\r\n   len = lstrlen(pLine);\r\n\r\n   cch = CharCountToTab(pLine);\r\n   GetTextExtentPoint32(hdc, pLine, cch, &size);\r\n\r\n   // first position is left aligned so bias initial x value\r\n   x += size.cx;\r\n\r\n   //\r\n   // NOTE: on NTFS volumes, the second field is also left aligned.\r\n   //\r\n   while (len) {\r\n\r\n      len -= cch + 1;\r\n\r\n      ExtTextOut(hdc, x - size.cx, y, 0, NULL, pLine, cch, NULL);\r\n\r\n      if (len <= 0)\r\n         return;\r\n\r\n      pLine += cch + 1;\r\n\r\n      cch = CharCountToTab(pLine);\r\n      GetTextExtentPoint32(hdc, pLine, cch, &size);\r\n\r\n      x = *pTabStops++ + x_offset;\r\n\r\n      if (++count == 1 && dwAlternateFileNameExtent)\r\n         x += size.cx - dwAlternateFileNameExtent;\r\n   }\r\n}\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     FillDirList\r\n//\r\n// Synopsis: Fills the directory window listbox with entries from hDTA\r\n//\r\n// INOUT     hwnd    hwnd ListBox to add strings to\r\n// INOUT     lpStart handle to DTA block to get files from\r\n// IN        iError\r\n//\r\n// Return:   VOID\r\n//\r\n// Assumes:  hDTA->head.alpxdtaSorted is NULL _or_\r\n//           holds valid previously malloc'd array of pointers\r\n//\r\n// Effects:  mallocs hDTA->head.alpxdtaSorted if it was NULL\r\n//           In-place sorts alpxdtaSorted also\r\n//\r\n// Notes:    Can be called by either worker or UI thread, therefore\r\n//           must be reentrant.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nFillDirList(\r\n   HWND hwndDir,\r\n   LPXDTALINK lpStart)\r\n{\r\n   DWORD count;\r\n   UINT   i;\r\n   LPXDTAHEAD lpHead;\r\n   INT iError;\r\n   HWND hwndLB = GetDlgItem(hwndDir, IDCW_LISTBOX);\r\n\r\n   //\r\n   // Filling dir list; invalidate cache!\r\n   //\r\n   ExtSelItemsInvalidate();\r\n\r\n   iError = (INT)GetWindowLongPtr(hwndDir, GWL_IERROR);\r\n\r\n   lpHead = MemLinkToHead(lpStart);\r\n\r\n   if (!lpStart || iError) {\r\n\r\nError:\r\n      // token for no items\r\n      SendMessage(hwndLB, LB_INSERTSTRING, 0, 0L);\r\n      return;\r\n   }\r\n\r\n   count = lpHead->dwEntries;\r\n\r\n   if (count == 0) {\r\n\r\n      //\r\n      // Now always set 0L since string is in lpxdta->byBitmap!\r\n      // token for no items\r\n      //\r\n      goto Error;\r\n\r\n   } else {\r\n\r\n      if (!lpHead->alpxdtaSorted) {\r\n         lpHead->alpxdtaSorted = (LPXDTA *)LocalAlloc(LMEM_FIXED,\r\n            sizeof(LPXDTA) * count);\r\n      }\r\n\r\n      if (lpHead->alpxdtaSorted) {\r\n\r\n         SortDirList(hwndDir, lpStart, count, lpHead->alpxdtaSorted);\r\n\r\n         for (i = 0; i < count; i++) {\r\n            SendMessage(hwndLB,\r\n                        LB_INSERTSTRING,\r\n                        (WPARAM)-1,\r\n                        (LPARAM)lpHead->alpxdtaSorted[i]);\r\n         }\r\n      }\r\n   }\r\n}\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     CompareDTA\r\n//\r\n// Synopsis:\r\n//\r\n// Return:\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nINT\r\nCompareDTA(\r\n   LPXDTA lpItem1,\r\n   LPXDTA lpItem2,\r\n   DWORD dwSort)\r\n{\r\n   INT  ret;\r\n\r\n   if (!lpItem1 || !lpItem2)\r\n      return lpItem1 ? 1 : -1;\r\n\r\n   if (lpItem1->dwAttrs & ATTR_PARENT) {\r\n      ret = -1;\r\n      goto CDDone;\r\n   }\r\n\r\n   if (lpItem2->dwAttrs & ATTR_PARENT) {\r\n      ret = 1;\r\n      goto CDDone;\r\n   }\r\n\r\n   if ((lpItem1->dwAttrs & ATTR_DIR) > (lpItem2->dwAttrs & ATTR_DIR)) {\r\n      ret = -1;\r\n      goto CDDone;\r\n   } else if ((lpItem1->dwAttrs & ATTR_DIR) < (lpItem2->dwAttrs & ATTR_DIR)) {\r\n      ret = 1;\r\n      goto CDDone;\r\n   }\r\n\r\n\r\n   switch (dwSort) {\r\n   case IDD_TYPE:\r\n      {\r\n         LPWSTR ptr1;\r\n         LPWSTR ptr2;\r\n\r\n         ptr1 = GetExtension(MemGetFileName(lpItem1));\r\n         ptr2 = GetExtension(MemGetFileName(lpItem2));\r\n\r\n         ret = lstrcmpi(ptr1, ptr2);\r\n\r\n         if (ret == 0) {\r\n\r\n            if (*ptr1) {\r\n               *--ptr1 = CHAR_NULL;\r\n            } else {\r\n               ptr1 = NULL;\r\n            }\r\n\r\n            if (*ptr2) {\r\n               *--ptr2 = CHAR_NULL;\r\n            } else {\r\n               ptr2 = NULL;\r\n            }\r\n\r\n            ret = lstrcmpi(MemGetFileName(lpItem1), MemGetFileName(lpItem2));\r\n\r\n            if (ptr1) {\r\n               *ptr1 = CHAR_DOT;\r\n            }\r\n\r\n            if (ptr2) {\r\n               *ptr2 = CHAR_DOT;\r\n            }\r\n         }\r\n\r\n         break;\r\n      }\r\n\r\n   case IDD_SIZE:\r\n\r\n      if (lpItem1->qFileSize.HighPart == lpItem2->qFileSize.HighPart) {\r\n         if (lpItem1->qFileSize.LowPart > lpItem2->qFileSize.LowPart)\r\n            ret = -1;\r\n         else if (lpItem1->qFileSize.LowPart < lpItem2->qFileSize.LowPart)\r\n            ret = 1;\r\n         else\r\n            goto CompareNames;\r\n      } else {\r\n         if (lpItem1->qFileSize.HighPart > lpItem2->qFileSize.HighPart)\r\n            ret = -1;\r\n         else if (lpItem1->qFileSize.HighPart < lpItem2->qFileSize.HighPart)\r\n            ret = 1;\r\n         else\r\n            goto CompareNames;\r\n      }\r\n      break;\r\n\r\n   case IDD_DATE:\r\n   case IDD_FDATE:\r\n      {\r\n         DWORD d1High, d1Low;\r\n         DWORD d2High, d2Low;\r\n\r\n         d1High = lpItem1->ftLastWriteTime.dwHighDateTime;\r\n         d2High = lpItem2->ftLastWriteTime.dwHighDateTime;\r\n\r\n         if (d1High > d2High) {\r\n            ret = -1;\r\n         }\r\n         else if (d1High < d2High) {\r\n            ret = 1;\r\n         }\r\n         else {\r\n            d1Low = lpItem1->ftLastWriteTime.dwLowDateTime;\r\n            d2Low = lpItem2->ftLastWriteTime.dwLowDateTime;\r\n\r\n            if (d1Low > d2Low)\r\n               ret = -1;\r\n            else if (d1Low < d2Low)\r\n               ret = 1;\r\n            else\r\n               goto CompareNames;\r\n\r\n         }\r\n         if (dwSort == IDD_FDATE)\r\n             ret = -ret;\r\n         break;\r\n      }\r\n\r\n   case IDD_NAME:\r\n\r\nCompareNames:\r\n      ret = lstrcmpi(MemGetFileName(lpItem1), MemGetFileName(lpItem2));\r\n      break;\r\n   }\r\n\r\nCDDone:\r\n  return ret;\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DirGetSelection()\r\n//\r\n// Synopsis:\r\n//\r\n// Takes a Listbox and returns a string containing the names of the selected\r\n// files separated by spaces.\r\n//\r\n// iSelType == 0 return all files: dirs fully qualified, rest filespec only\r\n// iSelType == 1 return only the first file (filter out the rest)\r\n// iSelType == 2 test for LFN files in the selection, doesn't return string\r\n// iSelType == 4 return fully qualified names\r\n// iSelType == 8 return filespec (fully UNqualified; only last part)\r\n// iSelType & 16 (bitfield) don't call CheckEsc!  Use with care!\r\n// iSelType & 32 (bitfield) use short name when possible.\r\n// iSelType & 64 (bitfield) check for compression attributes.\r\n//\r\n//\r\n// Return:\r\n//\r\n//      if (iSelType == 2)\r\n//              TRUE/FALSE if LFN is in the selection\r\n//      else if (iSelType == 64)\r\n//              1 - found uncompressed file\r\n//              2 - found compressed file\r\n//              3 - found both compressed and uncompressed file\r\n//      else\r\n//              pointer to the list of names (ANSI strings)\r\n//              (must be freed by caller!)\r\n//              *pfDir -> bool indicating directories are\r\n//              contained in the selection (or that LFN names are present)\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes: The caller must free the returned pointer!\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nLPWSTR\r\nDirGetSelection(\r\n   HWND hwndDir,\r\n   HWND hwndView,\r\n   HWND hwndLB,\r\n   INT  iSelType,\r\n   BOOL *pfDir,\r\n   PINT piLastSel)\r\n{\r\n   LPWSTR p = NULL, pT;\r\n   INT i;\r\n   INT cch;\r\n   INT iMac;\r\n   LPXDTA lpxdta;\r\n   LPXDTALINK lpStart;\r\n   LPXDTA* alpxdta;\r\n   WCHAR szFile[MAXPATHLEN];\r\n   WCHAR szPath[MAXPATHLEN];\r\n   WCHAR szTemp[MAXPATHLEN];\r\n   BOOL bDir;\r\n   LPINT lpSelItems;\r\n   BOOL bLFNTest;\r\n   LPWSTR pszName;\r\n   BOOL bCompressTest;\r\n   UINT uiAttr = 0;\r\n\r\n\r\n   if (hwndDir) {\r\n      SendMessage(hwndDir,\r\n                  FS_GETDIRECTORY,\r\n                  COUNTOF(szPath),\r\n                  (LPARAM)szPath);\r\n   }\r\n\r\n   if ((bLFNTest = (iSelType & 2)) && hwndDir) {\r\n\r\n      //\r\n      // determine if the directory itself is long...\r\n      //\r\n      lstrcpy(szTemp, szPath);\r\n\r\n      StripBackslash(szTemp);\r\n\r\n      if (IsLFN(szTemp))\r\n         if (pfDir) {\r\n            *pfDir = TRUE;\r\n         }\r\n\r\n      return (NULL);\r\n   }\r\n\r\n   bDir = FALSE;\r\n\r\n   if (!bLFNTest) {\r\n      cch = 1;\r\n\r\n      //\r\n      // +2 for checkesc safety\r\n      //\r\n      p = (LPTSTR)LocalAlloc(LPTR, ByteCountOf(cch + 2));\r\n      if (!p)\r\n         return (NULL);\r\n      *p = CHAR_NULL;\r\n   }\r\n\r\n   lpStart = (LPXDTALINK)GetWindowLongPtr(hwndView, GWL_HDTA);\r\n   if (!lpStart) {\r\n\r\nFail:\r\n      if (p)\r\n         LocalFree(p);\r\n\r\n      return (NULL);\r\n   }\r\n\r\n   bCompressTest = (iSelType & 64);\r\n\r\n   iMac = (INT) SendMessage(hwndLB, LB_GETSELCOUNT, 0, 0L);\r\n   if (iMac == 0)\r\n   {\r\n       if (p)\r\n       {\r\n           LocalFree(p);\r\n           p = NULL;\r\n       }\r\n       goto GDSDone;\r\n   }\r\n\r\n   lpSelItems = (LPINT) LocalAlloc(LMEM_FIXED, sizeof(INT) * iMac);\r\n   if (lpSelItems == NULL)\r\n      goto Fail;\r\n\r\n   alpxdta = MemLinkToHead(lpStart)->alpxdtaSorted;\r\n\r\n   iMac = (INT)SendMessage(hwndLB,\r\n                           LB_GETSELITEMS,\r\n                           (WPARAM)iMac,\r\n                           (LPARAM)lpSelItems);\r\n\r\n   if (piLastSel) {\r\n      if (iMac != -1)\r\n         *piLastSel = lpSelItems[0];\r\n      else\r\n         *piLastSel = -1;\r\n   }\r\n\r\n   for (i = 0; i < iMac; i++) {\r\n\r\n      //\r\n      // !! LATER !!\r\n      //\r\n      // Sorting not implemented for search (yet), so\r\n      // just read off of itemdata\r\n      //\r\n      if (!hwndDir) {\r\n\r\n         lpxdta = (LPXDTA)SendMessage(hwndLB, LB_GETITEMDATA, lpSelItems[i], 0L);\r\n\r\n      } else {\r\n\r\n         lpxdta = alpxdta[lpSelItems[i]];\r\n      }\r\n\r\n      if (!lpxdta)\r\n         break;\r\n\r\n      if (iSelType & 32) {\r\n\r\n         pszName = MemGetAlternateFileName(lpxdta);\r\n\r\n         if (pszName[0]) {\r\n            lstrcpy(szFile, pszName);\r\n            goto UsedAltname;\r\n         }\r\n      }\r\n\r\n      lstrcpy(szFile, MemGetFileName(lpxdta));\r\n\r\nUsedAltname:\r\n\r\n      //\r\n      // is this a dir?\r\n      //\r\n      if (lpxdta->dwAttrs & ATTR_DIR) {\r\n\r\n         if (hwndDir) {\r\n\r\n            // reparse point; szFile is filename only\r\n            if (lpxdta->dwAttrs & (ATTR_JUNCTION | ATTR_SYMBOLIC))\r\n            {\r\n               if (iSelType & 8) \r\n               {\r\n                  // if filename part, strip path\r\n                  StripPath(szFile);\r\n               }\r\n               else\r\n               {\r\n                 // reparse points also need fully qualified path as return\r\n                 lstrcpy(szTemp, szPath);\r\n\r\n                 lstrcat(szTemp, szFile);\r\n                 lstrcpy(szFile, szTemp);\r\n               }\r\n            }\r\n            //\r\n            // parent dir?\r\n            //\r\n            else if (lpxdta->dwAttrs & ATTR_PARENT) {\r\n\r\n               //\r\n               // if we are getting a full selection don't\r\n               // return the parent \"..\" entry (avoid deleting\r\n               // and other nasty operations on the parent)\r\n               //\r\n               // was: if (!iSelType).  continue on 0,2,4  Don't cont on 1\r\n               //\r\n               if (!(iSelType & 1))      // Continue on iSel 2 or 4 or 8 or 0\r\n                  continue;\r\n\r\n               lstrcpy(szTemp, szPath);\r\n\r\n               StripBackslash(szTemp);       // trim it down\r\n               StripFilespec(szTemp);\r\n\r\n               lstrcpy(szFile, szTemp);\r\n\r\n            } else {\r\n\r\n               if (!(iSelType & 8)) {\r\n\r\n                  lstrcpy(szTemp, szPath);\r\n\r\n                  lstrcat(szTemp, szFile);      // fully qualified\r\n                  lstrcpy(szFile, szTemp);\r\n               }\r\n            }\r\n         }\r\n\r\n         if ((bCompressTest) && !(lpxdta->dwAttrs & ATTR_PARENT))\r\n         {\r\n             uiAttr = 3;\r\n             goto GDSExit;\r\n         }\r\n\r\n         bDir = TRUE;\r\n      }\r\n      else if (bCompressTest)\r\n      {\r\n          uiAttr |= ((lpxdta->dwAttrs & ATTR_COMPRESSED) ? 2 : 1);\r\n          if (uiAttr == 3)\r\n          {\r\n              goto GDSExit;\r\n          }\r\n      }\r\n\r\n      if (iSelType & 4)\r\n         QualifyPath(szFile);\r\n\r\n      if (bLFNTest && lpxdta->dwAttrs & ATTR_LFN) {\r\n         return ( (LPWSTR)TRUE );\r\n      }\r\n\r\n      if (!(iSelType & 16))\r\n         CheckEsc(szFile);\r\n\r\n      if (!bLFNTest) {\r\n         cch += lstrlen(szFile) + 1;\r\n\r\n         //\r\n         // +2 for checkesc safety\r\n         //\r\n         pT = (LPWSTR)LocalReAlloc((HANDLE)p, ByteCountOf(cch + 2), LMEM_MOVEABLE | LMEM_ZEROINIT);\r\n         if (!pT)\r\n            goto GDSExit;\r\n         p = pT;\r\n         lstrcat(p, szFile);\r\n      }\r\n\r\n      if (iSelType & 1)\r\n         goto GDSExit;\r\n\r\n      if ((!bLFNTest) && ((i + 1) < iMac)) {\r\n          if (p)\r\n              lstrcat(p, szBlank);\r\n      }\r\n   }\r\n\r\nGDSExit:\r\n   LocalFree(lpSelItems);\r\n\r\nGDSDone:\r\n   if (bLFNTest) {\r\n      if (pfDir) {\r\n         *pfDir = FALSE;\r\n      }\r\n      return (NULL);\r\n   }\r\n\r\n   if (bCompressTest)\r\n   {\r\n       return ( (LPWSTR)(DWORD_PTR)uiAttr );\r\n   }\r\n\r\n   if (pfDir) {\r\n      *pfDir = bDir;\r\n   }\r\n   return (p);\r\n}\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DirFindIndex\r\n//\r\n// Synopsis: Finds the index of szFile in the list box\r\n//\r\n// IN    hwndLB    list box to search for\r\n// IN    hDTA      DTA to search match strings against\r\n// IN    lpszFile  file to search for\r\n//\r\n// Return:  INT    index, (-1) = not found\r\n//\r\n// Assumes: hDTA->head.alpxdtaSorted is valid and matches listbox\r\n//          structure\r\n//\r\n//          hDTA->head.dwEntries must be < INTMAX since there is\r\n//          a conversion from dword to int.  blech.\r\n//\r\n// Effects:\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nINT\r\nDirFindIndex(HWND hwndLB, LPXDTALINK lpStart, LPWSTR lpszFile)\r\n{\r\n   INT i;\r\n   DWORD dwSel;\r\n   LPXDTA lpxdta;\r\n\r\n   if (!lpStart)\r\n      return -1;\r\n\r\n   dwSel = MemLinkToHead(lpStart)->dwEntries;\r\n\r\n   for (i = 0; i < (INT) dwSel; i++) {\r\n\r\n      if (SendMessage(hwndLB, LB_GETTEXT, i, (LPARAM)&lpxdta) == LB_ERR)\r\n         return -1;\r\n\r\n      if (lpxdta && !lstrcmpi(lpszFile, MemGetFileName(lpxdta)))\r\n         return i;\r\n   }\r\n\r\n   return -1;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DirGetAnchorFocus\r\n//\r\n// Synopsis:\r\n// Return:\r\n// Assumes:\r\n// Effects:\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nDirGetAnchorFocus(\r\n   HWND hwndLB,\r\n   LPXDTALINK lpStart,\r\n   PSELINFO pSelInfo)\r\n{\r\n   INT iSel, iCount;\r\n   LPXDTA   lpxdta;\r\n\r\n   iSel = (INT)SendMessage(hwndLB, LB_GETANCHORINDEX, 0, 0L);\r\n   iCount = (INT)SendMessage(hwndLB, LB_GETCOUNT, 0, 0L);\r\n\r\n   pSelInfo->szAnchor[0] = CHAR_NULL;\r\n   pSelInfo->szCaret[0] = CHAR_NULL;\r\n   pSelInfo->szTopIndex[0] = CHAR_NULL;\r\n\r\n   if (!lpStart)\r\n      return;\r\n\r\n   if (iCount == 1) {\r\n      SendMessage(hwndLB, LB_GETTEXT, (WPARAM)iSel, (LPARAM)&lpxdta);\r\n\r\n      if (!lpxdta) {\r\n         return;\r\n      }\r\n   }\r\n   if (iSel >= 0 && iSel < iCount) {\r\n      SendMessage(hwndLB, LB_GETTEXT, (WPARAM)iSel, (LPARAM)&lpxdta);\r\n\r\n      lstrcpy(pSelInfo->szAnchor, MemGetFileName(lpxdta));\r\n   }\r\n\r\n   iSel = (INT)SendMessage(hwndLB, LB_GETCARETINDEX, 0, 0L);\r\n\r\n   if (iSel >= 0 && iSel < iCount) {\r\n      SendMessage(hwndLB, LB_GETTEXT, (WPARAM)iSel, (LPARAM)&lpxdta);\r\n      lstrcpy(pSelInfo->szCaret, MemGetFileName(lpxdta));\r\n   }\r\n\r\n   iSel = (INT)SendMessage(hwndLB, LB_GETTOPINDEX, 0, 0L);\r\n\r\n   if (iSel >= 0 && iSel < iCount) {\r\n      SendMessage(hwndLB, LB_GETTEXT, (WPARAM)iSel, (LPARAM)&lpxdta);\r\n      lstrcpy(pSelInfo->szTopIndex, MemGetFileName(lpxdta));\r\n   }\r\n}\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     SetSelection\r\n//\r\n// Synopsis:\r\n//\r\n//\r\n//\r\n//\r\n//\r\n//\r\n// Return:\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nSetSelection(\r\n   HWND hwndLB,\r\n   LPXDTALINK lpStart,\r\n   LPWSTR pszSel)\r\n{\r\n   INT i;\r\n   WCHAR szFile[MAXPATHLEN];\r\n   BOOL bDidSomething = FALSE;\r\n\r\n   while (pszSel = GetNextFile(pszSel, szFile, COUNTOF(szFile))) {\r\n\r\n      i = DirFindIndex(hwndLB, lpStart, szFile);\r\n\r\n      if (i != -1) {\r\n         SendMessage(hwndLB, LB_SETSEL, TRUE, (DWORD)i);\r\n         bDidSomething = TRUE;\r\n      }\r\n   }\r\n   return bDidSomething;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     UpdateStatus\r\n//\r\n// Synopsis: Load the status buffers and repaint it\r\n//\r\n//\r\n//\r\n//\r\n//\r\n//\r\n// Return:\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nUpdateStatus(HWND hwnd)\r\n{\r\n   WCHAR szNumBuf1[40];\r\n   WCHAR szNumBuf2[40];\r\n   DRIVE drive;\r\n   HWND hwndDir;\r\n\r\n   if (!bStatusBar)\r\n      return;\r\n\r\n   if (hwnd != (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L))\r\n      return;\r\n\r\n   if (HasTreeWindow(hwnd)) {\r\n\r\n      drive = (DRIVE)GetWindowLongPtr(hwnd, GWL_TYPE);\r\n\r\n      if (SPC_IS_NOTREE(qFreeSpace)) {\r\n\r\n         SetStatusText(0,\r\n                       SST_RESOURCE,\r\n                       (LPWSTR) MAKEINTRESOURCE(IDS_TREEABORT));\r\n\r\n      } else {\r\n\r\n         //\r\n         // cache free disk space for update status only\r\n         // Now lFreeSpace == -3 means do a refresh (hit disk!)\r\n         //\r\n         if (SPC_REFRESH(qFreeSpace)) {\r\n\r\n            if (SPC_IS_HITDISK(qFreeSpace)) {\r\n\r\n               R_Space(drive);\r\n            }\r\n\r\n            U_Space(drive);\r\n\r\n         }\r\n\r\n         qFreeSpace=aDriveInfo[drive].qFreeSpace;\r\n         qTotalSpace=aDriveInfo[drive].qTotalSpace;\r\n\r\n         SetStatusText(0, SST_RESOURCE|SST_FORMAT,\r\n            (LPWSTR) MAKEINTRESOURCE(IDS_DRIVEFREE),\r\n            L'A' + drive,\r\n            ShortSizeFormatInternal(szNumBuf1, qFreeSpace),\r\n            ShortSizeFormatInternal(szNumBuf2, qTotalSpace));\r\n      }\r\n   } else\r\n      SetStatusText(0, 0L, szNULL);\r\n\r\n\r\n   hwndDir = HasDirWindow(hwnd);\r\n\r\n   if (hwndDir)\r\n   {\r\n      GetDirStatus(hwndDir, szStatusTree, szStatusDir);\r\n   }\r\n   else\r\n   {\r\n      SetStatusText(1, 0L, szNULL);\r\n   }\r\n}\r\n\r\n\r\nHWND\r\nGetDirSelData(\r\n   HWND hwnd,\r\n   LARGE_INTEGER *pqSelSize,\r\n   INT *piSelCount,\r\n   LARGE_INTEGER* pqTotalSize,\r\n   INT *piTotalCount,\r\n   LPFILETIME *ppftLastWrite,\r\n   BOOL *pisDir,\r\n   BOOL *pisNet,\r\n   LPWSTR pszName)\r\n{\r\n   INT i;\r\n   LPXDTA lpxdta;\r\n   LPXDTALINK lpStart;\r\n   HWND hwndLB;\r\n   INT iMac;\r\n   LPXDTAHEAD lpHead;\r\n   LPINT lpSelItems;\r\n\r\n   *pszName = CHAR_NULL;\r\n\r\n   if (!(hwndLB = GetDlgItem(hwnd, IDCW_LISTBOX))) {       // fast scroll\r\n      return NULL;\r\n   }\r\n\r\n   LARGE_INTEGER_NULL(*pqSelSize);\r\n   *piSelCount = 0;\r\n\r\n   lpStart = (LPXDTALINK)GetWindowLongPtr(hwnd, GWL_HDTA);\r\n\r\n   if (!lpStart) {\r\n\r\n      LARGE_INTEGER_NULL(*pqTotalSize);\r\n      *piTotalCount = 0;\r\n      *pisDir = FALSE;\r\n      *pisNet = FALSE;\r\n\r\n      return NULL;\r\n   }\r\n\r\n   lpHead = MemLinkToHead(lpStart);\r\n\r\n   *pqTotalSize = lpHead->qTotalSize;\r\n   *piTotalCount = (INT)lpHead->dwTotalCount;\r\n\r\n   iMac = (INT) SendMessage(hwndLB, LB_GETSELCOUNT, 0, 0L);\r\n\r\n   if (iMac == LB_ERR)\r\n      return NULL;\r\n\r\n   lpSelItems = (LPINT) LocalAlloc(LMEM_FIXED, sizeof(INT) * iMac);\r\n\r\n   if (lpSelItems == NULL)\r\n      return NULL;\r\n\r\n   iMac = (INT)SendMessage(hwndLB, LB_GETSELITEMS, (WPARAM)iMac, (LPARAM)lpSelItems);\r\n\r\n   for (i=0; i < iMac; i++) {\r\n\r\n      SendMessage(hwndLB, LB_GETTEXT, lpSelItems[i], (LPARAM)(LPTSTR)&lpxdta);\r\n\r\n      if (!lpxdta)\r\n         break;\r\n\r\n      if (lpxdta->dwAttrs & ATTR_PARENT)\r\n         continue;\r\n\r\n      (*piSelCount)++;\r\n\r\n\r\n      (*pqSelSize).QuadPart = (*pqSelSize).QuadPart + (lpxdta->qFileSize).QuadPart;\r\n      *ppftLastWrite = &(lpxdta->ftLastWriteTime);\r\n\r\n      *pisDir = (lpxdta->dwAttrs & ATTR_DIR) != 0;\r\n      *pisNet = lpxdta->byBitmap == BM_IND_CLOSEDFS;\r\n      if (*pszName == CHAR_NULL)\r\n         lstrcpy(pszName, MemGetFileName(lpxdta));\r\n   }\r\n\r\n   LocalFree(lpSelItems);\r\n\r\n   return hwndLB;\r\n}\r\n\r\n\r\n\r\nVOID\r\nGetDirStatus(\r\n   HWND hwnd,\r\n   LPWSTR szMessage1,\r\n   LPWSTR szMessage2)\r\n{\r\n   INT iSelCount, iCount;\r\n   LARGE_INTEGER qSelSize, qSize;\r\n   WCHAR szNumBuf[40];\r\n   HWND hwndLB;\r\n   LPFILETIME lpftLastWrite;\r\n   BOOL isDir, isNet;\r\n   WCHAR szName[MAXPATHLEN];\r\n\r\n   if (!GetWindowLongPtr(hwnd, GWL_HDTA) &&\r\n      !GetWindowLongPtr(hwnd, GWL_IERROR)) {\r\n\r\n      SetStatusText(1,\r\n                    SST_RESOURCE,\r\n                    (LPWSTR) MAKEINTRESOURCE(IDS_READING));\r\n      return;\r\n   }\r\n\r\n   hwndLB = GetDirSelData(hwnd,\r\n                          &qSelSize,\r\n                          &iSelCount,\r\n                          &qSize,\r\n                          &iCount,\r\n                          &lpftLastWrite,\r\n                          &isDir,\r\n                          &isNet,\r\n                          szName);\r\n\r\n   SetStatusText(1,\r\n                 SST_RESOURCE|SST_FORMAT,\r\n                 (LPWSTR) MAKEINTRESOURCE(IDS_STATUSMSG),\r\n                 iCount,\r\n                 ShortSizeFormatInternal(szNumBuf, qSize));\r\n\r\n   if (hwndLB == (HWND)GetWindowLongPtr((HWND)GetWindowLongPtr(hwnd,\r\n                                                         GWL_LISTPARMS),\r\n                                     GWL_LASTFOCUS)) {\r\n\r\n      SetStatusText(0,\r\n                    SST_RESOURCE|SST_FORMAT,\r\n                    (LPWSTR) MAKEINTRESOURCE(IDS_STATUSMSG2),\r\n                    iSelCount,\r\n                    ShortSizeFormatInternal(szNumBuf, qSelSize));\r\n\r\n      if (iSelCount == 1) {\r\n         LPWSTR pch;\r\n\r\n         if (isDir) {\r\n#ifdef TBCUSTSHOWSHARE\r\n            if (isNet) {\r\n               GetDirUNCName(szName, COUNTOF(szName), hwnd, szName);\r\n               SetStatusText(2, NULL, szName);\r\n            } else\r\n               SetStatusText(2, SST_RESOURCE, (LPTSTR) MAKEINTRESOURCE(IDS_NOTSHARED));\r\n#endif\r\n         } else if (LoadString(hAppInstance, IDS_STATUSMSGSINGLE,\r\n            szMessage, COUNTOF(szMessage))) {\r\n\r\n            ShortSizeFormatInternal(szNumBuf, qSelSize);\r\n            wsprintf(szName, szMessage, szNumBuf);\r\n\r\n            pch = szName + lstrlen(szName);\r\n\r\n            pch += PutDate(lpftLastWrite, pch);\r\n            *(pch++) = CHAR_SPACE;\r\n            pch += PutTime(lpftLastWrite, pch);\r\n            *pch = CHAR_NULL;\r\n\r\n            SetStatusText(0, 0L, szName);\r\n         }\r\n      } else {\r\n#ifdef TBCUSTSHOWSHARE\r\n         SetStatusText(2, SST_RESOURCE, (LPTSTR) MAKEINTRESOURCE(IDS_NOTSHARED));\r\n#endif\r\n         SetStatusText(0, SST_RESOURCE|SST_FORMAT, (LPTSTR) MAKEINTRESOURCE(IDS_STATUSMSG2),\r\n            iSelCount, ShortSizeFormatInternal(szNumBuf, qSelSize));\r\n      }\r\n   }\r\n}\r\n\r\n\r\n// given a descendant of an MDI child (or an MDI child) return\r\n// the MDI child in the descendant chain.  returns NULL if not\r\n// found.\r\n\r\n\r\nHWND\r\nGetMDIChildFromDescendant(HWND hwnd)\r\n{\r\n   HWND hwndT;\r\n\r\n   while (hwnd && ((hwndT = GetParent(hwnd)) != hwndMDIClient))\r\n      hwnd = hwndT;\r\n\r\n   return hwnd;\r\n}\r\n\r\n\r\n\r\nVOID\r\nUpdateSelection(HWND hwndLB)\r\n{\r\n   INT iMac, i;\r\n   RECT rc;\r\n   LPINT lpSelItems;\r\n\r\n   iMac = (INT) SendMessage(hwndLB, LB_GETSELCOUNT, 0, 0L);\r\n   lpSelItems = (LPINT) LocalAlloc(LMEM_FIXED, sizeof(INT) * iMac);\r\n\r\n   if (lpSelItems == NULL)\r\n      return;\r\n\r\n   i = (INT)SendMessage(hwndLB,\r\n                        LB_GETSELITEMS,\r\n                        (WPARAM)iMac,\r\n                        (LPARAM)lpSelItems);\r\n\r\n   for (i=0; i < iMac; i++) {\r\n\r\n      SendMessage(hwndLB, LB_GETITEMRECT, lpSelItems[i], (LPARAM)&rc);\r\n      InvalidateRect(hwndLB, &rc, TRUE);\r\n   }\r\n\r\n   LocalFree((HLOCAL)lpSelItems);\r\n}\r\n\r\n\r\nVOID\r\nSortDirList(\r\n   HWND hwndDir,\r\n   LPXDTALINK lpStart,\r\n   DWORD count,\r\n   LPXDTA* lplpxdta)\r\n{\r\n   INT i, j;\r\n   DWORD dwSort;\r\n   INT iMax, iMin, iMid;\r\n   LPXDTA lpxdta;\r\n\r\n   dwSort = (DWORD)GetWindowLongPtr((HWND)GetWindowLongPtr(hwndDir,\r\n                                                           GWL_LISTPARMS),\r\n                                    GWL_SORT);\r\n\r\n   lpxdta = MemFirst(lpStart);\r\n\r\n   lplpxdta[0] = lpxdta;\r\n\r\n   for (i = 1; i < (INT)count; i++) {\r\n\r\n      //\r\n      // advance to next\r\n      //\r\n      lpxdta = MemNext(&lpStart, lpxdta);\r\n\r\n      //\r\n      // Quick hack for NTFS/HPFS\r\n      //\r\n      // Since they sort already (excepting strange chars/localization)\r\n      // do a quick check if it goes at the end of the list (name sort only).\r\n      //\r\n\r\n      if (IDD_NAME == dwSort && CompareDTA(lpxdta, lplpxdta[i-1], IDD_NAME) >= 0) {\r\n\r\n         lplpxdta[i] = lpxdta;\r\n         continue;\r\n      }\r\n\r\n      //\r\n      // do a binary insert\r\n      //\r\n      iMin = 0;\r\n      iMax = i-1;       // last index\r\n\r\n      do {\r\n         iMid = (iMax + iMin) / 2;\r\n         if (CompareDTA(lpxdta, lplpxdta[iMid], dwSort) > 0)\r\n            iMin = iMid + 1;\r\n         else\r\n            iMax = iMid - 1;\r\n\r\n      } while (iMax > iMin);\r\n\r\n      if (iMax < 0)\r\n         iMax = 0;\r\n\r\n      //\r\n      // insert after this one\r\n      //\r\n      if (CompareDTA(lpxdta, lplpxdta[iMax], dwSort) > 0)\r\n         iMax++;\r\n\r\n      if (i != iMax) {\r\n         for (j = i; j > iMax; j--)\r\n            lplpxdta[j] = lplpxdta[j-1];\r\n      }\r\n      lplpxdta[iMax] = lpxdta;\r\n   }\r\n}\r\n\r\n\r\n\r\n// Set the focus to whoever deserves it if not the directory window.\r\n// Return whether focus needs to be set to directory window.\r\n\r\nBOOL\r\nSetDirFocus(HWND hwndDir)\r\n{\r\n   HWND hwndLB = GetDlgItem(hwndDir, IDCW_LISTBOX);\r\n\r\n   HWND hwndFocus;\r\n   HWND hwndTree;\r\n   HWND hwndParent = GetParent(hwndDir);\r\n\r\n   //\r\n   // We want to bounce the focus if there is an error case in\r\n   // the directory side (No files\\access denied).\r\n   //\r\n   if (GetWindowLongPtr(hwndDir, GWL_IERROR)) {\r\n\r\n      GetTreeWindows(hwndParent, &hwndTree, NULL);\r\n\r\n      //\r\n      // don't move if no tree, no drives (BUGBUG?)\r\n      //\r\n      if (!bDriveBar)\r\n         return TRUE;\r\n\r\n      if ((hwndFocus = GetTreeFocus(hwndParent)) == hwndDir)\r\n         SetFocus(hwndTree ? hwndTree : hwndDriveBar);\r\n      else\r\n         SetFocus(hwndFocus);\r\n\r\n      return FALSE;\r\n   }\r\n   else\r\n      return TRUE;\r\n}\r\n\r\n"
  },
  {
    "path": "src/wfdirrd.c",
    "content": "/********************************************************************\r\n\r\n   wfDirRd.c\r\n\r\n   Background directory read support\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n#include \"lfn.h\"\r\n#include \"wfcopy.h\"\r\n\r\ntypedef enum {\r\n   EDIRABORT_NULL        = 0,\r\n   EDIRABORT_READREQUEST = 1,\r\n   EDIRABORT_WINDOWCLOSE = 2,\r\n} EDIRABORT;\r\n\r\ntypedef struct _EXT_LOCATION {\r\n   HKEY hk;\r\n   LPTSTR lpszNode;\r\n} EXTLOCATION, *PEXTLOCATION;\r\n\r\nEXTLOCATION aExtLocation[] = {\r\n   { HKEY_CLASSES_ROOT, L\"\" },\r\n#ifdef ASSOC\r\n   { HKEY_CURRENT_USER, L\"Software\\\\Microsoft\\\\Windows NT\\\\CurrentVersion\\\\Extensions\" },\r\n#endif\r\n   { (HKEY)0, NULL }\r\n};\r\n\r\n\r\nHANDLE hEventDirRead;\r\nHANDLE hThreadDirRead;\r\nBOOL bDirReadRun;\r\n\r\nBOOL bDirReadAbort;\r\nBOOL bDirReadRebuildDocString;\r\n\r\nCRITICAL_SECTION CriticalSectionDirRead;\r\n\r\n//\r\n// Prototypes\r\n//\r\nDWORD WINAPI DirReadServer(LPVOID lpvParm);\r\nLPXDTALINK CreateDTABlockWorker(HWND hwnd, HWND hwndDir);\r\nLPXDTALINK StealDTABlock(HWND hwndCur, LPWSTR pPath, DWORD dwAttribs);\r\nBOOL IsNetDir(LPWSTR pPath, LPWSTR pName);\r\nVOID DirReadAbort(HWND hwnd, LPXDTALINK lpStart, EDIRABORT eDirAbort);\r\n\r\nBOOL\r\nInitDirRead(VOID)\r\n{\r\n   DWORD dwIgnore;\r\n\r\n   bDirReadRun = TRUE;\r\n   InitializeCriticalSection(&CriticalSectionDirRead);\r\n\r\n   hEventDirRead = CreateEvent(NULL, FALSE, FALSE, NULL);\r\n\r\n   if (!hEventDirRead) {\r\n\r\nError:\r\n\r\n      bDirReadRun = FALSE;\r\n      DeleteCriticalSection(&CriticalSectionDirRead);\r\n\r\n      return FALSE;\r\n   }\r\n\r\n\r\n   hThreadDirRead = CreateThread(NULL,\r\n                                 0L,\r\n                                 DirReadServer,\r\n                                 NULL,\r\n                                 0L,\r\n                                 &dwIgnore);\r\n\r\n   if (!hThreadDirRead) {\r\n\r\n      CloseHandle(hEventDirRead);\r\n      goto Error;\r\n   }\r\n\r\n   return TRUE;\r\n}\r\n\r\n\r\nVOID\r\nDestroyDirRead(VOID)\r\n{\r\n   if (bDirReadRun) {\r\n\r\n      bDirReadRun = FALSE;\r\n\r\n      SetEvent(hEventDirRead);\r\n      WaitForSingleObject(hThreadDirRead, INFINITE);\r\n\r\n      CloseHandle(hEventDirRead);\r\n      CloseHandle(hThreadDirRead);\r\n      DeleteCriticalSection(&CriticalSectionDirRead);\r\n   }\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     CreateDTABlock\r\n//\r\n// Synopsis: Creates a DTA block for the directory window\r\n//\r\n// IN    hwnd        --    window of destination (?)\r\n// IN    pPath       --    Path to search for files from\r\n// IN    dwAttribs   --    files must satisfy these attributes\r\n// IN    bDontSteal  --    TRUE = Always read off disk\r\n//                   --    FALSE = Allow steal from other window\r\n//\r\n// Return:   LPXDTALINK Local memory block\r\n//           NULL if not currently available\r\n//\r\n// Assumes:  pPath fully qualified with leading drive letter\r\n//           Directory set in MDI title before calling\r\n//\r\n// Effects:  Updates GWL_HDTA{,ABORT}\r\n//\r\n// Notes:    The first DTA chunk has a head entry which holds\r\n//           the number of item/size.  See header.\r\n//\r\n//           lpStart->head.alpxdtaSorted is set to NULL\r\n//\r\n//           dwTotal{Count,Size} handles \"real\" files only (no \"..\").\r\n//           They are used for caching.  dwEntries holds the actual number\r\n//           of listbox entries.\r\n//\r\n//           Called from Main thread.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nLPXDTALINK\r\nCreateDTABlock(\r\n   HWND hwnd,\r\n   LPWSTR pPath,\r\n   DWORD dwAttribs,\r\n   BOOL bDontSteal)\r\n{\r\n   LPXDTALINK lpStart;\r\n   MSG msg;\r\n\r\n   SetWindowLongPtr(hwnd, GWL_IERROR, ERROR_SUCCESS);\r\n\r\n   if (!bDontSteal && (lpStart = StealDTABlock(hwnd, pPath, dwAttribs))) {\r\n\r\n      if (PeekMessage(&msg,\r\n                      NULL,\r\n                      WM_KEYDOWN,\r\n                      WM_KEYDOWN,\r\n                      PM_NOREMOVE)) {\r\n\r\n         if (msg.wParam == VK_UP || msg.wParam == VK_DOWN) {\r\n\r\n            MemDelete(lpStart);\r\n            goto Abort;\r\n         }\r\n      }\r\n\r\n      //\r\n      // Abort the dir read, since we have stolen the correct thing.\r\n      // (bAbort must be true to abort us, but the following call sets\r\n      // lpStart to non-null, which prevents re-reading).\r\n      //\r\n      DirReadAbort(hwnd, lpStart, EDIRABORT_NULL);\r\n\r\n      return lpStart;\r\n   }\r\n\r\nAbort:\r\n\r\n   DirReadAbort(hwnd, NULL, EDIRABORT_READREQUEST);\r\n   return NULL;\r\n}\r\n\r\n\r\nVOID\r\nDirReadAbort(\r\n   HWND hwnd,\r\n   LPXDTALINK lpStart,\r\n   EDIRABORT eDirAbort)\r\n{\r\n   //\r\n   // This is the only code that issues the abort!\r\n   //\r\n   EnterCriticalSection(&CriticalSectionDirRead);\r\n\r\n   FreeDTA(hwnd);\r\n\r\n   SetWindowLongPtr(hwnd, GWL_HDTA, (LPARAM)lpStart);\r\n   SetWindowLongPtr(hwnd, GWL_HDTAABORT, eDirAbort);\r\n   bDirReadAbort = TRUE;\r\n\r\n   SetEvent(hEventDirRead);\r\n\r\n   LeaveCriticalSection(&CriticalSectionDirRead);\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     StealDTABlock\r\n//\r\n// Synopsis: Steals a DTA block based on title bar directory\r\n//\r\n// hwnd      hwnd of target steal\r\n// hwndDir   Dir to receive\r\n// dwAttribs Attribs we are going to have\r\n//\r\n// Return:   Copied block or NULL\r\n//\r\n//\r\n// Assumes:  If the title bar is set, the directory has been fully read.\r\n//\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:    Called from Main thread.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nLPXDTALINK\r\nStealDTABlock(\r\n   HWND hwndCur,\r\n   LPWSTR pPath,\r\n   DWORD dwAttribs)\r\n{\r\n   HWND hwndDir;\r\n   HWND hwnd;\r\n   WCHAR szPath[MAXPATHLEN];\r\n\r\n   LPXDTALINK lpStart, lpStartCopy;\r\n   INT iError;\r\n\r\n   for (hwnd = GetWindow(hwndMDIClient, GW_CHILD);\r\n      hwnd;\r\n      hwnd = GetWindow(hwnd, GW_HWNDNEXT)) {\r\n\r\n      if ((hwndDir = HasDirWindow(hwnd)) && (hwndDir != hwndCur)) {\r\n\r\n         GetMDIWindowText(hwnd, szPath, COUNTOF(szPath));\r\n\r\n         if ((dwAttribs == (DWORD)GetWindowLongPtr(hwnd, GWL_ATTRIBS)) &&\r\n            !lstrcmpi(pPath, szPath) &&\r\n            (lpStart = (LPXDTALINK)GetWindowLongPtr(hwndDir, GWL_HDTA))) {\r\n\r\n            iError = (INT)GetWindowLongPtr(hwndDir, GWL_IERROR);\r\n            if (!iError || IDS_NOFILES == iError) {\r\n\r\n               lpStartCopy = MemClone(lpStart);\r\n\r\n               return lpStartCopy;\r\n            }\r\n         }\r\n      }\r\n   }\r\n\r\n   return NULL;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     FreeDTA\r\n//\r\n// Synopsis: Clears the DTA\r\n//\r\n// hwnd      Window to free (either hwndDir or hwndSearch)\r\n//\r\n// Return:   VOID\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:    !! Must not be called from worker thread !!\r\n//           Directory windows assumed to be synchronized by\r\n//           SendMessage to Main UI Thread.  (Search windows ok)\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nVOID\r\nFreeDTA(HWND hwnd)\r\n{\r\n   LPXDTALINK lpxdtaLink;\r\n\r\n   lpxdtaLink = (LPXDTALINK)GetWindowLongPtr(hwnd, GWL_HDTA);\r\n\r\n   SetWindowLongPtr(hwnd, GWL_HDTA, 0L);\r\n\r\n   //\r\n   // Only delete it if it's not in use.\r\n   //\r\n   if (lpxdtaLink) {\r\n\r\n       if (MemLinkToHead(lpxdtaLink)->fdwStatus & LPXDTA_STATUS_READING) {\r\n\r\n           MemLinkToHead(lpxdtaLink)->fdwStatus |= LPXDTA_STATUS_CLOSE;\r\n\r\n       } else {\r\n\r\n           MemDelete(lpxdtaLink);\r\n       }\r\n   }\r\n}\r\n\r\n\r\nVOID\r\nDirReadDestroyWindow(HWND hwndDir)\r\n{\r\n   DirReadAbort(hwndDir, NULL, EDIRABORT_WINDOWCLOSE);\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DirReadDone\r\n//\r\n// Synopsis: Called by main thread (sync'd by SM)\r\n//\r\n// Return:   LRESULT\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:    Main Thread ONLY!\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nLPXDTALINK\r\nDirReadDone(\r\n   HWND hwndDir,\r\n   LPXDTALINK lpStart,\r\n   INT iError)\r\n{\r\n   HWND hwndLB = GetDlgItem(hwndDir, IDCW_LISTBOX);\r\n   HWND hwndParent = GetParent(hwndDir);\r\n   WCHAR szPath[MAXPATHLEN];\r\n   HWND hwndNext;\r\n\r\n\r\n   EDIRABORT eDirAbort;\r\n\r\n   eDirAbort = (EDIRABORT)GetWindowLongPtr(hwndDir, GWL_HDTAABORT);\r\n\r\n   //\r\n   // Last chance check for abort\r\n   //\r\n   if ((eDirAbort & (EDIRABORT_READREQUEST|EDIRABORT_WINDOWCLOSE)) ||\r\n      GetWindowLongPtr(hwndDir, GWL_HDTA)) {\r\n\r\n      //\r\n      // We don't want it\r\n      //\r\n      return NULL;\r\n   }\r\n\r\n   GetMDIWindowText(hwndParent, szPath, COUNTOF(szPath));\r\n   StripFilespec(szPath);\r\n\r\n   ModifyWatchList(hwndParent,\r\n                   szPath,\r\n                   FILE_NOTIFY_CHANGE_FLAGS);\r\n\r\n   SetWindowLongPtr(hwndDir, GWL_IERROR, iError);\r\n   SetWindowLongPtr(hwndDir, GWL_HDTA, (LPARAM)lpStart);\r\n\r\n   //\r\n   // Remove the \"reading\" token\r\n   //\r\n   SendMessage(hwndLB, LB_DELETESTRING, 0, 0);\r\n\r\n   FillDirList(hwndDir, lpStart);\r\n\r\n   SetWindowLongPtr(hwndDir, GWLP_USERDATA, 0);\r\n\r\n   hwndNext = (HWND)GetWindowLongPtr(hwndDir, GWL_NEXTHWND);\r\n   if (hwndNext)\r\n   {\r\n       SendMessage(hwndDir, FS_TESTEMPTY, 0L, (LPARAM)hwndNext);\r\n   }\r\n   SetWindowLongPtr(hwndDir, GWL_NEXTHWND, 0L);\r\n\r\n   //\r\n   // Refresh display, but don't hit disk\r\n   //\r\n   SPC_SET_INVALID(qFreeSpace);\r\n\r\n   return lpStart;\r\n}\r\n\r\n\r\nVOID\r\nBuildDocumentString()\r\n{\r\n   bDirReadRebuildDocString = TRUE;\r\n   SetEvent(hEventDirRead);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     BuildDocumentStringWorker\r\n//\r\n// Synopsis:\r\n//\r\n// Return:\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:    Runs in main thread, but sync'd with worker via SendMessage.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nBuildDocumentStringWorker()\r\n{\r\n   LPTSTR            p;\r\n   INT               uLen;\r\n   TCHAR             szT[EXTSIZ + 1];\r\n   INT               i,j;\r\n   LPTSTR            pszDocuments = NULL;\r\n   HKEY hk;\r\n   BOOL bCloseKey;\r\n\r\n   DWORD dwStatus;\r\n\r\n   //\r\n   // Reinitialize the ppDocBucket struct\r\n   //\r\n   DocDestruct(ppDocBucket);\r\n   ppDocBucket = DocConstruct();\r\n\r\n   if (!ppDocBucket)\r\n      goto Return;\r\n\r\n   FillDocType(ppDocBucket, L\"Documents\", szNULL);\r\n\r\n#ifdef NEC_98\r\n    uLen = 96;      // 96 = 128 - 32.  Trying to match code added to wfinit.c\r\n                    // in FE merge in Win95 source base.  ** for PC-7459 **\r\n#else\r\n    uLen = 0;\r\n#endif\r\n\r\n   do {\r\n\r\n      uLen += 32;\r\n\r\n      if (pszDocuments)\r\n         LocalFree((HLOCAL) pszDocuments);\r\n\r\n      pszDocuments = LocalAlloc(LMEM_FIXED, uLen*sizeof(*pszDocuments));\r\n\r\n      if (!pszDocuments) {\r\n         goto Return;\r\n      }\r\n\r\n   } while (GetProfileString(szExtensions,\r\n                             NULL,\r\n                             szNULL,\r\n                             pszDocuments,\r\n                             uLen) == (DWORD)uLen-2);\r\n\r\n   //\r\n   // Step through each of the keywords in 'szDocuments' changing NULLS into\r\n   // spaces until a double-NULL is found.\r\n   //\r\n   p = pszDocuments;\r\n   while (*p) {\r\n\r\n      DocInsert(ppDocBucket, p, 0);\r\n\r\n      //\r\n      // Find the next NULL.\r\n      //\r\n      while (*p)\r\n         p++;\r\n\r\n      p++;\r\n   }\r\n\r\n   LocalFree((HLOCAL)pszDocuments);\r\n\r\n   for(j=0; aExtLocation[j].lpszNode; j++) {\r\n\r\n      if (aExtLocation[j].lpszNode[0]) {\r\n\r\n         if (RegOpenKey(aExtLocation[j].hk,aExtLocation[j].lpszNode,&hk)) {\r\n            continue;\r\n         }\r\n         bCloseKey = TRUE;\r\n\r\n      } else {\r\n         hk = aExtLocation[j].hk;\r\n         bCloseKey = FALSE;\r\n      }\r\n\r\n      //\r\n      // now enumerate the classes in the registration database and get all\r\n      // those that are of the form *.ext\r\n      //\r\n      for (i=0, dwStatus = 0L; ERROR_NO_MORE_ITEMS!=dwStatus; i++) {\r\n         DWORD cbClass, cbIconFile;\r\n         TCHAR szClass[MAXPATHLEN];\r\n         TCHAR szIconFile[MAXPATHLEN];\r\n\r\n         dwStatus = RegEnumKey(hk, (DWORD)i, szT, COUNTOF(szT));\r\n\r\n         if (dwStatus || szT[0] != '.') {\r\n\r\n            //\r\n            // either the class does not start with . or it has a greater\r\n            // than 3 byte extension... skip it.\r\n            //\r\n            continue;\r\n         }\r\n\r\n         cbClass = sizeof(szClass);\r\n         cbIconFile = 0;\r\n         if (WFRegGetValueW(hk, szT, NULL, RRF_RT_ANY, NULL, szClass, &cbClass) == ERROR_SUCCESS)\r\n         {\r\n            DWORD cbClass2;\r\n            TCHAR szClass2[MAXPATHLEN];\r\n\r\n            cbClass2 = sizeof(szClass2);\r\n            lstrcat(szClass, L\"\\\\CurVer\");\r\n            if (WFRegGetValueW(hk, szClass, NULL, RRF_RT_ANY, NULL, szClass2, &cbClass2) == ERROR_SUCCESS)\r\n            {\r\n               lstrcpy(szClass, szClass2);\r\n            }\r\n            else\r\n            {\r\n               szClass[lstrlen(szClass)-7] = '\\0';\r\n            }\r\n\r\n            cbIconFile = sizeof(szIconFile);\r\n            lstrcat(szClass, L\"\\\\DefaultIcon\");\r\n            if (WFRegGetValueW(hk, szClass, NULL, RRF_RT_ANY, NULL, szIconFile, &cbIconFile) != ERROR_SUCCESS)\r\n            {\r\n               cbIconFile = 0;\r\n            }\r\n         }\r\n\r\n         DocInsert(ppDocBucket, szT+1, cbIconFile != 0 ? szIconFile : NULL);\r\n      }\r\n\r\n      if (bCloseKey)\r\n         RegCloseKey(hk);\r\n   }\r\n\r\nReturn:\r\n\r\n   return;\r\n}\r\n\r\n/********************************************************************\r\n\r\n   The following code will be run in a separate thread!\r\n\r\n********************************************************************/\r\n\r\n\r\nDWORD\r\nWINAPI\r\nDirReadServer(\r\n   LPVOID lpvParm)\r\n{\r\n   HWND hwnd;\r\n   HWND hwndDir;\r\n   BOOL bRead;\r\n\r\n   while (bDirReadRun) {\r\n\r\n      WaitForSingleObject(hEventDirRead, INFINITE);\r\n\r\nRestart:\r\n      //\r\n      // Delete all extra pibs\r\n      //\r\n      if (!bDirReadRun)\r\n         break;\r\n\r\n      if (bDirReadRebuildDocString) {\r\n         bDirReadRebuildDocString = FALSE;\r\n         SendMessage(hwndFrame, FS_REBUILDDOCSTRING, 0, 0L);\r\n      }\r\n\r\n      //\r\n      // bDirReadAbort means that we need to abort the current read\r\n      // and rescan from the beginning.  Since we are here right now, we can\r\n      // clear bDirReadAbort since we are about to rescan anyway.\r\n      //\r\n      bDirReadAbort = FALSE;\r\n\r\n      //\r\n      // Go through z order and update reads.\r\n      //\r\n      for (hwnd = GetWindow(hwndMDIClient, GW_CHILD);\r\n         hwnd;\r\n         hwnd = GetWindow(hwnd, GW_HWNDNEXT)) {\r\n\r\n         if (hwndDir = HasDirWindow(hwnd)) {\r\n\r\n            //\r\n            // Critical section since GWL_HDTA+HDTAABORT reads must\r\n            // be atomic.\r\n            //\r\n            EnterCriticalSection(&CriticalSectionDirRead);\r\n\r\n            bRead = !GetWindowLongPtr(hwndDir, GWL_HDTA) &&\r\n                       EDIRABORT_READREQUEST ==\r\n                          (EDIRABORT)GetWindowLongPtr(hwndDir, GWL_HDTAABORT);\r\n\r\n            LeaveCriticalSection(&CriticalSectionDirRead);\r\n\r\n            if (bRead) {\r\n               CreateDTABlockWorker(hwnd, hwndDir);\r\n               goto Restart;\r\n            }\r\n            SetWindowLongPtr(hwndDir, GWLP_USERDATA, 0);\r\n         }\r\n      }\r\n   }\r\n\r\n   return 0;\r\n}\r\n\r\n\r\nLPXDTALINK\r\nCreateDTABlockWorker(\r\n   HWND hwnd,\r\n   HWND hwndDir)\r\n{\r\n   LPWSTR pName;\r\n   PDOCBUCKET pDoc, pProgram;\r\n\r\n   LFNDTA lfndta;\r\n\r\n   LPXDTALINK lpLinkLast;\r\n   LPXDTAHEAD lpHead;\r\n\r\n   LPXDTA lpxdta;\r\n\r\n   INT iBitmap;\r\n   DRIVE drive;\r\n\r\n   LPWSTR lpTemp;\r\n   HWND hwndTree;\r\n\r\n   BOOL bCasePreserved;\r\n   BOOL bAbort;\r\n\r\n   WCHAR szPath[MAXPATHLEN];\r\n   WCHAR szLinkDest[MAXPATHLEN];\r\n\r\n   DWORD dwAttribs;\r\n   LPXDTALINK lpStart;\r\n\r\n   INT iError = 0;\r\n\r\n   lpStart = MemNew();\r\n\r\n   if (!lpStart) {\r\n      goto CDBMemoryErr;\r\n   }\r\n\r\n   //\r\n   // Checking abort and reading current dir must be atomic,\r\n   // since a directory change causes an abort.\r\n   //\r\n   EnterCriticalSection(&CriticalSectionDirRead);\r\n\r\n   GetMDIWindowText(hwnd, szPath, COUNTOF(szPath));\r\n   SetWindowLongPtr(hwndDir, GWL_HDTAABORT, EDIRABORT_NULL);\r\n\r\n   LeaveCriticalSection(&CriticalSectionDirRead);\r\n\r\n   dwAttribs = (DWORD)GetWindowLongPtr(hwnd, GWL_ATTRIBS);\r\n\r\n   //\r\n   // get the drive index assuming path is\r\n   // fully qualified...\r\n   //\r\n   drive = DRIVEID(szPath);\r\n   bCasePreserved = IsCasePreservedDrive(drive);\r\n\r\n   lpHead = MemLinkToHead(lpStart);\r\n   lpLinkLast = lpStart;\r\n\r\n RestartOverFindFirst:\r\n   if (!WFFindFirst(&lfndta, szPath, dwAttribs & ATTR_ALL)) {\r\n\r\n      //\r\n      // Try again!  But first, see if the directory was invalid!\r\n      //\r\n      if (ERROR_PATH_NOT_FOUND == lfndta.err ||\r\n         ERROR_INVALID_REPARSE_DATA == lfndta.err ||\r\n         ERROR_SYMLINK_CLASS_DISABLED == lfndta.err ||\r\n         ERROR_CANT_ACCESS_FILE == lfndta.err) {\r\n\r\n         iError = IDS_BADPATHMSG;\r\n         goto InvalidDirectory;\r\n      }\r\n\r\n      if (!IsTheDiskReallyThere(hwndDir, szPath, FUNC_EXPAND, FALSE)) {\r\n         if (IsRemoteDrive(drive))\r\n            iError = IDS_DRIVENOTAVAILABLE;\r\n         goto CDBDiskGone;\r\n      }\r\n\r\n      //\r\n      // break out of this loop if we were returned something\r\n      // other than PATHNOTFOUND\r\n      //\r\n      if (!WFFindFirst(&lfndta, szPath, dwAttribs & ATTR_ALL)) {\r\n\r\n         switch (lfndta.err) {\r\n         case ERROR_PATH_NOT_FOUND:\r\n         case ERROR_CANT_ACCESS_FILE:\r\n         case ERROR_INVALID_REPARSE_DATA:\r\n         case ERROR_SYMLINK_CLASS_DISABLED:\r\n\r\nInvalidDirectory:\r\n\r\n            //\r\n            // LATER: fix this so that it comes up only\r\n            // when not switching x: from \\\\x\\x to \\\\y\\y\r\n            //\r\n            // If the path is not found, but the disk is there, then go to\r\n            // the root and try again; if already at the root, then exit\r\n            //\r\n            if (!(lpTemp=StrRChr(szPath, NULL, CHAR_BACKSLASH)) ||\r\n               (lpTemp - szPath <= 2)) {\r\n\r\n               goto CDBDiskGone;\r\n            }\r\n\r\n            if (hwndTree=HasTreeWindow(hwnd)) {\r\n\r\n               // Check if it is a Reparse Point\r\n               lpTemp[0] = '\\0';\r\n               DWORD attr = GetFileAttributes(szPath);\r\n               lpTemp[0] = CHAR_BACKSLASH;\r\n               if (attr & ATTR_REPARSE_POINT) {\r\n                  // For dead Reparse Points just tell that the directory could not be read\r\n                  break;\r\n               } else {\r\n               //\r\n               // If we changed dirs, and there is a tree window, set the\r\n               // dir to the root and collapse it\r\n               // Note that lpTemp-szPath>2, szPath[3] is not in the file spec\r\n               //\r\n               szPath[3] = CHAR_NULL;\r\n               SendMessage(hwndTree, TC_SETDIRECTORY, 0, (LPARAM)szPath);\r\n               SendMessage(hwndTree, TC_COLLAPSELEVEL, 0, 0L);\r\nFail:\r\n               MemDelete(lpStart);\r\n               return NULL;\r\n            }\r\n            }\r\n\r\n            lstrcpy(szPath+3, lpTemp+1);\r\n\r\n            SendMessage(hwndDir,\r\n                        FS_CHANGEDISPLAY,\r\n                        CD_PATH | CD_ALLOWABORT,\r\n                        (LPARAM)szPath);\r\n\r\n            goto Fail;\r\n\r\n         case ERROR_FILE_NOT_FOUND:\r\n         case ERROR_NO_MORE_FILES:\r\n\r\n            break;\r\n\r\n         case ERROR_ACCESS_DENIED:\r\n         {\r\n            // Strip *.*\r\n            WCHAR szTemp[2 * MAXPATHLEN];\r\n            lstrcpy(szTemp, szPath);\r\n            StripFilespec(szTemp);\r\n\r\n            DWORD tag = DecodeReparsePoint(szTemp, szLinkDest, COUNTOF(szLinkDest));\r\n            if (tag != IO_REPARSE_TAG_RESERVED_ZERO)\r\n            {\r\n               lstrcpy(szPath, szLinkDest);\r\n               AppendToPath(szPath, szStarDotStar);\r\n               goto RestartOverFindFirst;\r\n            }\r\n            else\r\n            {\r\n               iError = IDS_NOACCESSDIR;\r\n            }\r\n         }\r\n         break;\r\n\r\n         default:\r\n            {\r\n               WCHAR szText[MAXMESSAGELEN];\r\n               WCHAR szTitle[MAXTITLELEN];\r\n\r\n               iError = IDS_COPYERROR + FUNC_EXPAND;\r\n\r\n               LoadString(hAppInstance,\r\n                          IDS_COPYERROR+FUNC_EXPAND,\r\n                          szTitle,\r\n                          COUNTOF(szTitle));\r\n\r\n               FormatError(TRUE, szText, COUNTOF(szText), lfndta.err);\r\n\r\n               MessageBox(hwndDir,\r\n                          szText,\r\n                          szTitle,\r\n                          MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL);\r\n            }\r\n            break;\r\n         }\r\n      }\r\n   }\r\n\r\n   //\r\n   // Find length of directory and trailing backslash.\r\n   //\r\n   if (!(lpTemp=StrRChr(szPath, NULL, CHAR_BACKSLASH)))\r\n      goto CDBDiskGone;\r\n\r\n   //\r\n   // Always show .. if this is not the root directory.\r\n   //\r\n   if ((lpTemp - szPath > 3) && (dwAttribs & ATTR_DIR)) {\r\n\r\n      //\r\n      // Add a DTA to the list.\r\n      //\r\n      lpHead->dwEntries++;\r\n\r\n      lpxdta = MemAdd(&lpLinkLast, 0, 0);\r\n\r\n      if (!lpxdta)\r\n         goto CDBMemoryErr;\r\n\r\n      //\r\n      // Fill the new DTA with a fudged \"..\" entry.\r\n      //\r\n      lpxdta->dwAttrs = ATTR_DIR | ATTR_PARENT;\r\n      lpxdta->byBitmap = BM_IND_DIRUP;\r\n      lpxdta->pDocB = NULL;\r\n\r\n\r\n      MemGetFileName(lpxdta)[0] = CHAR_NULL;\r\n      MemGetAlternateFileName(lpxdta)[0] = CHAR_NULL;\r\n\r\n      //\r\n      // Date time size name not set since they are ignored\r\n      //\r\n   }\r\n\r\n   if (lfndta.err)\r\n      goto CDBDiskGone;\r\n\r\n   while (TRUE) {\r\n\r\n      pName = lfndta.fd.cFileName;\r\n\r\n      //\r\n      // be safe, zero unused DOS dta bits\r\n      //\r\n      lfndta.fd.dwFileAttributes &= (ATTR_USED | ATTR_JUNCTION | ATTR_SYMBOLIC);\r\n\r\n      //\r\n      // filter unwanted stuff here based on current view settings\r\n      //\r\n      pDoc = NULL;\r\n      pProgram = NULL;\r\n      if (!(lfndta.fd.dwFileAttributes & ATTR_DIR)) {\r\n\r\n         pProgram = IsProgramFile(pName);\r\n         pDoc     = IsDocument(pName);\r\n\r\n         //\r\n         // filter programs and documents\r\n         //\r\n         if (!(dwAttribs & ATTR_PROGRAMS) && pProgram)\r\n            goto CDBCont;\r\n         if (!(dwAttribs & ATTR_DOCS) && pDoc)\r\n            goto CDBCont;\r\n         if (!(dwAttribs & ATTR_OTHER) && !(pProgram || pDoc))\r\n            goto CDBCont;\r\n      }\r\n      else if (lfndta.fd.dwFileAttributes & ATTR_JUNCTION) {\r\n         if (!(dwAttribs & ATTR_JUNCTION)) {\r\n            goto CDBCont;\r\n         }\r\n      }\r\n\r\n      //\r\n      // figure out the bitmap type here\r\n      //\r\n      if (lfndta.fd.dwFileAttributes & ATTR_DIR) {\r\n\r\n         //\r\n         // ignore \".\"  and \"..\" directories\r\n         //\r\n         if (ISDOTDIR(pName)) {\r\n            goto CDBCont;\r\n         }\r\n\r\n        // NOTE: Reparse points are directories\r\n\r\n         if (IsNetDir(szPath,pName))\r\n            iBitmap = BM_IND_CLOSEDFS;\r\n         else\r\n         {\r\n            if (lfndta.fd.dwFileAttributes & (ATTR_SYMBOLIC | ATTR_JUNCTION))\r\n               iBitmap = BM_IND_CLOSEREPARSE;\r\n            else\r\n            iBitmap = BM_IND_CLOSE;\r\n         }\r\n      } else if (lfndta.fd.dwFileAttributes & (ATTR_HIDDEN | ATTR_SYSTEM)) {\r\n         iBitmap = BM_IND_RO;\r\n      } else if (pProgram) {\r\n         iBitmap = BM_IND_APP;\r\n      } else if (pDoc) {\r\n         iBitmap = BM_IND_DOC;\r\n      } else {\r\n         if (lfndta.fd.dwFileAttributes & (ATTR_SYMBOLIC | ATTR_JUNCTION))\r\n            iBitmap = BM_IND_FILREPARSE;\r\n         else\r\n         iBitmap = BM_IND_FIL;\r\n      }\r\n\r\n      lpxdta = MemAdd(&lpLinkLast,\r\n                      lstrlen(pName),\r\n                      lstrlen(lfndta.fd.cAlternateFileName));\r\n\r\n      if (!lpxdta)\r\n         goto CDBMemoryErr;\r\n\r\n      lpHead->dwEntries++;\r\n\r\n      lpxdta->dwAttrs = lfndta.fd.dwFileAttributes;\r\n      lpxdta->ftLastWriteTime = lfndta.fd.ftLastWriteTime;\r\n\r\n      //\r\n      // files > 2^63 will come out negative, so tough.\r\n      // (WIN32_FIND_DATA.nFileSizeHigh is not signed, but\r\n      // LARGE_INTEGER is)\r\n      //\r\n      lpxdta->qFileSize.LowPart = lfndta.fd.nFileSizeLow;\r\n      lpxdta->qFileSize.HighPart = lfndta.fd.nFileSizeHigh;\r\n\r\n      lpxdta->byBitmap = iBitmap;\r\n      lpxdta->pDocB = pDoc;        // even if program, use extension list for icon to display\r\n\r\n      if (IsLFN(pName)) {\r\n         lpxdta->dwAttrs |= ATTR_LFN;\r\n      }\r\n\r\n      if (!bCasePreserved)\r\n         lpxdta->dwAttrs |= ATTR_LOWERCASE;\r\n\r\n      lstrcpy(MemGetFileName(lpxdta), pName);\r\n      lstrcpy(MemGetAlternateFileName(lpxdta), lfndta.fd.cAlternateFileName);\r\n\r\n      lpHead->dwTotalCount++;\r\n      (lpHead->qTotalSize).QuadPart = (lpxdta->qFileSize).QuadPart +\r\n                                      (lpHead->qTotalSize).QuadPart;\r\n\r\nCDBCont:\r\n\r\n      if (bDirReadRebuildDocString) {\r\nAbort:\r\n         WFFindClose(&lfndta);\r\n         MemDelete(lpStart);\r\n\r\n         return NULL;\r\n      }\r\n\r\n\r\n      if (bDirReadAbort) {\r\n\r\n         EnterCriticalSection(&CriticalSectionDirRead);\r\n\r\n         bAbort = ((GetWindowLongPtr(hwndDir,\r\n                                  GWL_HDTAABORT) & (EDIRABORT_WINDOWCLOSE|\r\n                                                    EDIRABORT_READREQUEST)) ||\r\n                   GetWindowLongPtr(hwndDir, GWL_HDTA));\r\n\r\n         LeaveCriticalSection(&CriticalSectionDirRead);\r\n\r\n         if (bAbort)\r\n            goto Abort;\r\n      }\r\n\r\n      if (!WFFindNext(&lfndta)) {\r\n         break;\r\n      }\r\n   }\r\n\r\n   WFFindClose(&lfndta);\r\n\r\nCDBDiskGone:\r\n\r\n   //\r\n   // If no error, but no entries then no files\r\n   //\r\n   if (!iError && !lpHead->dwEntries)\r\n      iError = IDS_NOFILES;\r\n\r\n   goto Done;\r\n\r\nCDBMemoryErr:\r\n\r\n   WFFindClose(&lfndta);\r\n\r\n   MyMessageBox(hwndFrame,\r\n                IDS_OOMTITLE,\r\n                IDS_OOMREADINGDIRMSG,\r\n                MB_OK | MB_ICONEXCLAMATION);\r\n\r\n   //\r\n   // !! BUGBUG !!\r\n   //\r\n   // What should the error code be?\r\n   //\r\n   iError = 0;\r\n\r\nDone:\r\n\r\n   if (iError) {\r\n      MemDelete(lpStart);\r\n      lpStart = NULL;\r\n   }\r\n\r\n   SetLBFont(hwndDir,\r\n             GetDlgItem(hwndDir, IDCW_LISTBOX),\r\n             hFont,\r\n             (DWORD)GetWindowLongPtr(hwnd, GWL_VIEW),\r\n             lpStart);\r\n\r\n   R_Space(drive);\r\n   U_Space(drive);\r\n\r\n   if (SendMessage(hwndDir,\r\n                   FS_DIRREADDONE,\r\n                   (WPARAM)iError,\r\n                   (LPARAM)lpStart) != (LRESULT)lpStart) {\r\n\r\n      MemDelete(lpStart);\r\n      lpStart = NULL;\r\n   }\r\n\r\n   return lpStart;\r\n}\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     IsNetDir\r\n//\r\n// Synopsis:\r\n//\r\n//\r\n//\r\n//\r\n//\r\n//\r\n// Return:\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:    !! BUGBUG !! Check if this is reentrant !!\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nIsNetDir(LPWSTR pPath, LPWSTR pName)\r\n{\r\n   DWORD dwType;\r\n   WCHAR szFullPath[2*MAXPATHLEN];\r\n\r\n   DRIVE drive = DRIVEID(pPath);\r\n\r\n   if (!WAITNET_TYPELOADED)\r\n      return FALSE;\r\n\r\n   lstrcpy(szFullPath, pPath);\r\n   StripFilespec(szFullPath);\r\n\r\n   AddBackslash(szFullPath);\r\n   lstrcat(szFullPath, pName);\r\n\r\n   //\r\n   // Do a Net check, but only if we haven't failed before...\r\n   // This logic is used to speed up share/not-share directory\r\n   // information.  If it has failed before, never call it again\r\n   // for this drive, since the fail is assumed always due to\r\n   // insufficient privilege.\r\n   //\r\n   if (aDriveInfo[drive].bShareChkFail ||\r\n       !(WNetGetDirectoryType(szFullPath, &dwType,\r\n                              !aDriveInfo[drive].bShareChkTried) == WN_SUCCESS))\r\n   {\r\n      dwType = 0;\r\n\r\n      //\r\n      // Remind ourselves that we failed, so don't try again on this drive.\r\n      //\r\n      aDriveInfo[drive].bShareChkFail = TRUE;\r\n   }\r\n\r\n   aDriveInfo[drive].bShareChkTried = TRUE;\r\n   return dwType;\r\n}\r\n\r\n"
  },
  {
    "path": "src/wfdirsrc.c",
    "content": "/********************************************************************\r\n\r\n   wfDirSrc.c\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n#include \"wfdrop.h\"\r\n#include <commctrl.h>\r\n\r\n#define DO_DROPFILE 0x454C4946L\r\n#define DO_PRINTFILE 0x544E5250L\r\n#define DO_DROPONDESKTOP 0x504D42L\r\n\r\nHWND hwndGlobalSink = NULL;\r\n\r\nVOID  SelectItem(HWND hwndLB, WPARAM wParam, BOOL bSel);\r\nVOID  ShowItemBitmaps(HWND hwndLB, INT iShow);\r\nint GetDragStatusText(int iOperation);\r\n\r\nHCURSOR\r\nGetMoveCopyCursor()\r\n{\r\n   switch (iShowSourceBitmaps) {\r\n   case DROP_COPY:\r\n      return LoadCursor(hAppInstance, (LPTSTR)MAKEINTRESOURCE(iCurDrag | 0b0001));\r\n\r\n   case DROP_LINK:\r\n      return LoadCursor(hAppInstance, (LPTSTR)MAKEINTRESOURCE((iCurDrag | 0b0100) & ~0b0001));\r\n\r\n   case DROP_HARD:\r\n      return LoadCursor(hAppInstance, (LPTSTR)MAKEINTRESOURCE((iCurDrag | 0b1000) & ~0b0101));\r\n\r\n   case DROP_MOVE:\r\n   default:\r\n      return LoadCursor(hAppInstance, (LPTSTR)MAKEINTRESOURCE(iCurDrag & ~0b0001));\r\n   }\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     MatchFile\r\n//\r\n// Synopsis: Match dos wildcard spec vs. dos filename\r\n//           Both strings in uppercase\r\n//\r\n// Return:\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nMatchFile(LPWSTR szFile, LPWSTR szSpec)\r\n{\r\n\r\n#define IS_DOTEND(ch)   ((ch) == CHAR_DOT || (ch) == CHAR_NULL)\r\n\r\n   if (!lstrcmp(szSpec, SZ_STAR) ||            // \"*\" matches everything\r\n      !lstrcmp(szSpec, szStarDotStar))         // so does \"*.*\"\r\n      return TRUE;\r\n\r\n   while (*szFile && *szSpec) {\r\n\r\n      switch (*szSpec) {\r\n      case CHAR_QUESTION:\r\n         szFile++;\r\n         szSpec++;\r\n         break;\r\n\r\n      case CHAR_STAR:\r\n\r\n         while (!IS_DOTEND(*szSpec))     // got till a terminator\r\n            szSpec = CharNext(szSpec);\r\n\r\n         if (*szSpec == CHAR_DOT)\r\n            szSpec++;\r\n\r\n         while (!IS_DOTEND(*szFile))     // got till a terminator\r\n            szFile = CharNext(szFile);\r\n\r\n         if (*szFile == CHAR_DOT)\r\n            szFile++;\r\n\r\n         break;\r\n\r\n      default:\r\n         if (*szSpec == *szFile) {\r\n\r\n            szFile++;\r\n            szSpec++;\r\n         } else\r\n            return FALSE;\r\n      }\r\n   }\r\n   return !*szFile && !*szSpec;\r\n}\r\n\r\n\r\nVOID\r\nDSSetSelection(\r\n   HWND hwndLB,\r\n   BOOL bSelect,\r\n   LPWSTR szSpec,\r\n   BOOL bSearch)\r\n{\r\n   INT i;\r\n   INT iMac;\r\n   LPXDTA lpxdta;\r\n   LPXDTALINK lpStart;\r\n   WCHAR szTemp[MAXPATHLEN];\r\n\r\n   CharUpper(szSpec);\r\n\r\n   lpStart = (LPXDTALINK)GetWindowLongPtr(GetParent(hwndLB), GWL_HDTA);\r\n\r\n   if (!lpStart)\r\n      return;\r\n\r\n   iMac = (INT)MemLinkToHead(lpStart)->dwEntries;\r\n\r\n   for (i = 0; i < iMac; i++) {\r\n\r\n      if (SendMessage(hwndLB, LB_GETTEXT, i, (LPARAM)&lpxdta) == LB_ERR)\r\n         return;\r\n\r\n      if (!lpxdta || lpxdta->dwAttrs & ATTR_PARENT)\r\n         continue;\r\n\r\n      lstrcpy(szTemp, MemGetFileName(lpxdta));\r\n\r\n      if (bSearch) {\r\n         StripPath(szTemp);\r\n      }\r\n\r\n      CharUpper(szTemp);\r\n\r\n      if (MatchFile(szTemp, szSpec))\r\n         SendMessage(hwndLB, LB_SETSEL, bSelect, i);\r\n   }\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  ShowItemBitmaps() -                                                     */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nVOID\r\nShowItemBitmaps(HWND hwndLB, INT iShow)\r\n{\r\n   INT i;\r\n   INT iMac;\r\n   INT iFirstSel;\r\n   RECT rc;\r\n   INT dx;\r\n   LPINT lpSelItems;\r\n\r\n   if (iShow == iShowSourceBitmaps)\r\n      return;\r\n\r\n   iShowSourceBitmaps = iShow;\r\n\r\n   dx = dxFolder + dyBorderx2 + dyBorder;\r\n\r\n   //\r\n   // Invalidate the bitmap parts of all visible, selected items.\r\n   //\r\n   iFirstSel = (INT)SendMessage(hwndLB, LB_GETTOPINDEX, 0, 0L);\r\n   iMac = (INT) SendMessage(hwndLB, LB_GETSELCOUNT, 0, 0L);\r\n\r\n   if (iMac == LB_ERR)\r\n      return;\r\n\r\n   lpSelItems = (LPINT) LocalAlloc(LMEM_FIXED, sizeof(INT) * iMac);\r\n\r\n   if (lpSelItems == NULL)\r\n      return;\r\n\r\n   iMac = (INT)SendMessage(hwndLB,\r\n                           LB_GETSELITEMS,\r\n                           (WPARAM)iMac,\r\n                           (LPARAM)lpSelItems);\r\n\r\n   for(i=0; i<iMac; i++) {\r\n\r\n      if (lpSelItems[i] < iFirstSel)\r\n         continue;\r\n\r\n      if (SendMessage(hwndLB,\r\n                      LB_GETITEMRECT,\r\n                      lpSelItems[i],\r\n                      (LPARAM)&rc) == LB_ERR)\r\n         break;\r\n\r\n      //\r\n      // Invalidate the bitmap area.\r\n      //\r\n      rc.right = rc.left + dx;\r\n      InvalidateRect(hwndLB, &rc, FALSE);\r\n   }\r\n   UpdateWindow(hwndLB);\r\n\r\n   LocalFree((HLOCAL)lpSelItems);\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     SelectItem\r\n//\r\n// Synopsis:\r\n//\r\n// Return:\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nSelectItem(HWND hwndLB, WPARAM wParam, BOOL bSel)\r\n{\r\n   //\r\n   // Add the current item to the selection.\r\n   //\r\n   SendMessage(hwndLB, LB_SETSEL, bSel, (DWORD)wParam);\r\n\r\n   //\r\n   // Give the selected item the focus rect and anchor pt.\r\n   //\r\n   SendMessage(hwndLB, LB_SETCARETINDEX, wParam, MAKELONG(TRUE,0));\r\n   SendMessage(hwndLB, LB_SETANCHORINDEX, wParam, 0L);\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DSDragLoop\r\n//\r\n// Synopsis: Called by dir and search drag loops.  Must handle\r\n//           detecting all kinds of different destinations.\r\n//\r\n//      hwndLB  source listbox (either the dir or the sort)\r\n//      wParam  same as sent for WM_DRAGLOOP (TRUE if on a droppable sink)\r\n//      lpds    drop struct sent with the message\r\n//      bSearch TRUE if we are in the search listbox\r\n//\r\n// Return:\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nDSDragLoop(HWND hwndLB, WPARAM wParam, LPDROPSTRUCT lpds)\r\n{\r\n   INT iShowBitmap;\r\n   LPXDTA lpxdta;\r\n   HWND hwndMDIChildSink, hwndDir;\r\n   BOOL bForceMoveCur = FALSE;\r\n\r\n   //\r\n   // bShowBitmap is used to turn the source bitmaps on or off to distinguish\r\n   // between a move and a copy or to indicate that a drop can\r\n   // occur (exec and app)\r\n   //\r\n   // hack: keep around for drop files!\r\n   //\r\n   hwndGlobalSink = lpds->hwndSink;\r\n\r\n   //\r\n   // default to move\r\n   //\r\n   iShowBitmap = DROP_MOVE;\r\n\r\n   //\r\n   // can't drop here\r\n   //\r\n   if (!wParam)\r\n      goto DragLoopCont;\r\n\r\n   //\r\n   // Is the user holding down the CTRL key (which forces a copy)?\r\n   //\r\n   if (GetKeyState(VK_CONTROL) < 0) {\r\n       iShowBitmap = DROP_COPY;\r\n       if (GetKeyState(VK_SHIFT) < 0) {\r\n          iShowBitmap = DROP_LINK;\r\n          if (GetKeyState(VK_MENU) < 0) {\r\n             iShowBitmap = DROP_HARD;\r\n          }\r\n       }\r\n       goto DragLoopCont;\r\n   }\r\n\r\n   //\r\n   // Is the user holding down the ALT or SHIFT key (which forces a move)?\r\n   //\r\n   if (GetKeyState(VK_MENU)<0 || GetKeyState(VK_SHIFT)<0) {\r\n      iShowBitmap = DROP_MOVE;\r\n      goto DragLoopCont;\r\n   }\r\n\r\n   hwndMDIChildSink = GetMDIChildFromDescendant(lpds->hwndSink);\r\n\r\n   //\r\n   // Are we over the source listbox? (sink and source the same)\r\n   //\r\n   if (lpds->hwndSink == hwndLB) {\r\n\r\n      //\r\n      // Are we over a valid listbox entry?\r\n      //\r\n      if (lpds->dwControlData == (DWORD)-1) {\r\n\r\n         //\r\n         // Now force move cursor\r\n         //\r\n         bForceMoveCur = TRUE;\r\n         goto DragLoopCont;\r\n\r\n      } else {\r\n\r\n         //\r\n         // are we over a directory entry?\r\n         //\r\n         SendMessage(hwndLB, LB_GETTEXT, (WPARAM)(lpds->dwControlData), (LPARAM)&lpxdta);\r\n\r\n         if (!(lpxdta && lpxdta->dwAttrs & ATTR_DIR)) {\r\n\r\n            //\r\n            // Now force move cursor\r\n            //\r\n            bForceMoveCur = TRUE;\r\n\r\n            goto DragLoopCont;\r\n         }\r\n      }\r\n   }\r\n\r\n   //\r\n   // Now we need to see if we are over an Executable file.  If so, we\r\n   // need to force the Bitmaps to draw.\r\n   //\r\n\r\n   //\r\n   // Are we over a directory window?\r\n   //\r\n   if (hwndMDIChildSink)\r\n      hwndDir = HasDirWindow(hwndMDIChildSink);\r\n   else\r\n      hwndDir = NULL;\r\n\r\n   if (hwndDir && (hwndDir == GetParent(lpds->hwndSink))) {\r\n\r\n      //\r\n      // Are we over an occupied part of the list box?\r\n      //\r\n      if (lpds->dwControlData != (DWORD)-1) {\r\n\r\n         //\r\n         // Are we over an Executable?\r\n         //\r\n         SendMessage(lpds->hwndSink, LB_GETTEXT, (WORD)(lpds->dwControlData), (LPARAM)(LPTSTR)&lpxdta);\r\n\r\n         if (lpxdta && IsProgramFile(MemGetFileName(lpxdta))) {\r\n            goto DragLoopCont;\r\n         }\r\n      }\r\n   }\r\n\r\n   //\r\n   // Are we dropping into the same drive (check the source and dest drives)\r\n   //\r\n   iShowBitmap = ((INT)SendMessage(GetParent(hwndLB), FS_GETDRIVE, 0, 0L) !=\r\n                  GetDrive(lpds->hwndSink, lpds->ptDrop));\r\n\r\nDragLoopCont:\r\n\r\n   ShowItemBitmaps(hwndLB, iShowBitmap);\r\n\r\n   //\r\n   // hack, set the cursor to match the move/copy state\r\n   //\r\n   if (wParam) {\r\n      if (bForceMoveCur) {\r\n         SetCursor(LoadCursor(hAppInstance, (LPTSTR) MAKEINTRESOURCE(iCurDrag & ~1)));\r\n      } else {\r\n         SetCursor(GetMoveCopyCursor());\r\n      }\r\n   }\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DSRectItem()\r\n//\r\n// Synopsis: Rect the drop sink and update the status bar\r\n//\r\n// Return:     TRUE if the item was highlighted\r\n// Assumes:\r\n// Effects:\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL \r\nDSRectItem(\r\n   HWND hwndLB,\r\n   INT iItem,\r\n   BOOL bFocusOn,\r\n   BOOL bSearch)\r\n{\r\n   RECT      rc;\r\n   RECT      rcT;\r\n   HDC       hDC;\r\n   BOOL      bSel;\r\n   INT       nColor;\r\n   HBRUSH    hBrush;\r\n   LPXDTA    lpxdta;\r\n   WCHAR     szTemp[MAXPATHLEN];\r\n   PDOCBUCKET pIsProgram = NULL;\r\n   LPWSTR    pszFile;\r\n\r\n   //\r\n   // Are we over an unused part of the listbox?\r\n   //\r\n   if (iItem == -1) {\r\n      if (bSearch || hwndDragging == hwndLB) {\r\n         SendMessage(hwndStatus,\r\n                     SB_SETTEXT,\r\n                     SBT_NOBORDERS|255,\r\n                     (LPARAM)szNULL);\r\n\r\n         UpdateWindow(hwndStatus);\r\n\r\n      } else {\r\n\r\n         SendMessage(GetParent(hwndLB),\r\n                     FS_GETDIRECTORY,\r\n                     COUNTOF(szTemp),\r\n                     (LPARAM)szTemp);\r\n\r\n         StripBackslash(szTemp);\r\n\r\n         SetStatusText(SBT_NOBORDERS|255,\r\n                       SST_RESOURCE|SST_FORMAT,\r\n                       (LPWSTR)(DWORD_PTR)(GetDragStatusText(iShowSourceBitmaps)),\r\n                       szTemp);\r\n\r\n         UpdateWindow(hwndStatus);\r\n      }\r\n      return FALSE;\r\n   }\r\n\r\n   //\r\n   // Are we over ourselves? (i.e. a selected item in the source listbox)\r\n   //\r\n   bSel = (BOOL)SendMessage(hwndLB, LB_GETSEL, iItem, 0L);\r\n\r\n   if (bSel && (hwndDragging == hwndLB)) {\r\n\r\nClearStatus:\r\n\r\n      SendMessage(hwndStatus,\r\n                  SB_SETTEXT,\r\n                  SBT_NOBORDERS|255,\r\n                  (LPARAM)szNULL);\r\n\r\n      UpdateWindow(hwndStatus);\r\n      return FALSE;\r\n   }\r\n\r\n   //\r\n   // We only put rectangles around directories and program items.\r\n   //\r\n   if (SendMessage(hwndLB,\r\n                   LB_GETTEXT,\r\n                   iItem,\r\n                   (LPARAM)(LPTSTR)&lpxdta) == LB_ERR || !lpxdta) {\r\n      return FALSE;\r\n   }\r\n\r\n   if (!(lpxdta->dwAttrs & ATTR_DIR)  &&\r\n      !(pIsProgram = IsProgramFile(MemGetFileName(lpxdta)))) {\r\n\r\n      //\r\n      // It's not a directory\r\n      //\r\n\r\n      //\r\n      // If it's the same dir window, or we are dropping to a search\r\n      // window, don't show any text!\r\n      //\r\n      if ((hwndDragging == hwndLB) || bSearch) {\r\n         goto ClearStatus;\r\n      }\r\n\r\n      //\r\n      // We are in a directory window (not search window)\r\n      // but we aren't over a folder, so just use the current directory.\r\n      //\r\n      SendMessage(GetParent(hwndLB), FS_GETDIRECTORY, COUNTOF(szTemp), (LPARAM)szTemp);\r\n      StripBackslash(szTemp);\r\n\r\n      SetStatusText(SBT_NOBORDERS|255,\r\n                    SST_FORMAT | SST_RESOURCE,\r\n                    (LPWSTR)(DWORD_PTR)(GetDragStatusText(iShowSourceBitmaps)),\r\n                    szTemp);\r\n\r\n      UpdateWindow(hwndStatus);\r\n      return FALSE;\r\n   }\r\n\r\n   //\r\n   // At this point, we are over a directory folder,\r\n   // be we could be in a search or directory window.\r\n   //\r\n\r\n   //\r\n   // Turn the item's rectangle on or off.\r\n   //\r\n   if (bSearch || !(lpxdta->dwAttrs & ATTR_PARENT)) {\r\n\r\n      pszFile = MemGetFileName(lpxdta);\r\n\r\n   } else {\r\n\r\n      SendMessage(GetParent(hwndLB), FS_GETDIRECTORY, COUNTOF(szTemp), (LPARAM)szTemp);\r\n      StripBackslash(szTemp);  // trim it down\r\n      StripFilespec(szTemp);\r\n\r\n      pszFile = szTemp;\r\n   }\r\n\r\n   //\r\n   // Else bSearch and szTemp contains the file name\r\n   //\r\n   if (bFocusOn) {\r\n\r\n      SetStatusText(SBT_NOBORDERS|255,\r\n                    SST_FORMAT | SST_RESOURCE,\r\n                    (LPWSTR)(DWORD_PTR)(pIsProgram ?\r\n                       IDS_DRAG_EXECUTING :\r\n                       (GetDragStatusText(iShowSourceBitmaps))),\r\n                   pszFile);\r\n\r\n      UpdateWindow(hwndStatus);\r\n   }\r\n\r\n   SendMessage(hwndLB, LB_GETITEMRECT, iItem, (LPARAM)(LPRECT)&rc);\r\n   GetClientRect(hwndLB,&rcT);\r\n   IntersectRect(&rc,&rc,&rcT);\r\n\r\n   if (bFocusOn) {\r\n      hDC = GetDC(hwndLB);\r\n      if (bSel) {\r\n         nColor = COLOR_WINDOW;\r\n         InflateRect(&rc, -1, -1);\r\n      } else\r\n         nColor = COLOR_WINDOWFRAME;\r\n\r\n      if (hBrush = CreateSolidBrush(GetSysColor(nColor))) {\r\n         FrameRect(hDC, &rc, hBrush);\r\n         DeleteObject(hBrush);\r\n      }\r\n      ReleaseDC(hwndLB, hDC);\r\n   } else {\r\n      InvalidateRect(hwndLB, &rc, FALSE);\r\n      UpdateWindow(hwndLB);\r\n   }\r\n\r\n   return TRUE;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DSDragScrollSink\r\n//\r\n// Synopsis: Called by tree, dir and search drag loops.  \r\n//           Scrolls the target if the point is above or below it\r\n//\r\n//      lpds    drop struct sent with the message\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nDSDragScrollSink(LPDROPSTRUCT lpds)\r\n{\r\n    HWND hwndMDIChildSource;\r\n    HWND hwndMDIChildSink;\r\n\r\n    RECT rcSink;\r\n    RECT rcScroll;\r\n    POINT ptDropScr;\r\n    HWND hwndToScroll;\r\n\r\n    hwndMDIChildSource = GetMDIChildFromDescendant(lpds->hwndSource);\r\n    hwndMDIChildSink = GetMDIChildFromDescendant(lpds->hwndSink);\r\n\r\n    // calculate the screen x/y of the ptDrop\r\n    if (lpds->hwndSink == NULL)\r\n    {\r\n      rcSink.left = rcSink.top = 0;\r\n    }\r\n    else\r\n    {\r\n      GetClientRect(lpds->hwndSink, &rcSink);\r\n      ClientToScreen(lpds->hwndSink, (LPPOINT)&rcSink.left);\r\n      ClientToScreen(lpds->hwndSink, (LPPOINT)&rcSink.right);\r\n    }\r\n\r\n    ptDropScr.x = rcSink.left + lpds->ptDrop.x;\r\n    ptDropScr.y = rcSink.top + lpds->ptDrop.y;\r\n\r\n    // determine which window we will be potentially scrolling; if the sink MDI is null,\r\n    // this means that the mouse is over the frame of this app or outside that;\r\n    // we scroll the source mdi child in that case\r\n    hwndToScroll = hwndMDIChildSink;\r\n    if (hwndToScroll == NULL)\r\n    {\r\n      hwndToScroll = hwndMDIChildSource;\r\n    }\r\n\r\n    GetClientRect(hwndToScroll, &rcScroll);\r\n    ClientToScreen(hwndToScroll, (LPPOINT)&rcScroll.left);\r\n    ClientToScreen(hwndToScroll, (LPPOINT)&rcScroll.right);\r\n\r\n    // if the drop y is above the top of the window to scroll\r\n    if (ptDropScr.y < rcScroll.top || ptDropScr.y > rcScroll.bottom)\r\n    {\r\n      // scroll up/down one line; figure out whether tree or dir list box\r\n      HWND hwndTree = HasTreeWindow(hwndToScroll);\r\n      HWND hwndDir = HasDirWindow(hwndToScroll);\r\n      HWND hwndLB = NULL;\r\n\r\n      if (hwndDir)\r\n      {\r\n        hwndLB = GetDlgItem(hwndDir, IDCW_LISTBOX);\r\n        if (hwndLB)\r\n        {\r\n            RECT rcLB;\r\n            GetClientRect(hwndLB, &rcLB);\r\n            ClientToScreen(hwndLB, (LPPOINT)&rcLB.left);\r\n            // no need: ClientToScreen(hwndLB, (LPPOINT)&rcLB.right);\r\n\r\n            if (ptDropScr.x < rcLB.left)\r\n            {\r\n                // to left of dir list box; switch to tree\r\n                hwndLB = NULL;\r\n            }\r\n        }\r\n      }\r\n\r\n      if (hwndLB == NULL && hwndTree)\r\n      {\r\n          // no dir or point outside of dir list box\r\n          hwndLB = GetDlgItem(hwndTree, IDCW_TREELISTBOX);\r\n      }\r\n\r\n      if (hwndLB)\r\n      {\r\n          SendMessage(hwndLB, WM_VSCROLL, ptDropScr.y < rcScroll.top ? SB_LINEUP : SB_LINEDOWN, 0L);\r\n      }\r\n    }          \r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  DropFilesOnApplication() -                                              */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n/* this function will determine whether the application we are currently\r\n * over is a valid drop point and drop the files\r\n */\r\n\r\nWORD\r\nDropFilesOnApplication(LPTSTR pszFiles)\r\n{\r\n    POINT pt;\r\n    HWND hwnd;\r\n    RECT rc;\r\n    HANDLE hDrop;\r\n\r\n    if (!(hwnd = hwndGlobalSink))\r\n        return 0;\r\n\r\n    hwndGlobalSink = NULL;\r\n\r\n    GetCursorPos(&pt);\r\n    GetClientRect(hwnd,&rc);\r\n    ScreenToClient(hwnd,&pt);\r\n\r\n    hDrop = CreateDropFiles(pt, !PtInRect(&rc,pt), pszFiles);\r\n        \r\n    if (!hDrop)\r\n        return 0;\r\n\r\n    PostMessage(hwnd, WM_DROPFILES, (WPARAM)hDrop, 0L);\r\n\r\n    return 1;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DSTrackPoint\r\n//\r\n// Synopsis:\r\n//\r\n// Return:   0 for normal mouse tracking\r\n//           1 for no mouse single click processing\r\n//           2 for no mouse single- or double-click tracking\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nINT\r\nDSTrackPoint(\r\n   HWND hwnd,\r\n   HWND hwndLB,\r\n   WPARAM wParam,\r\n   LPARAM lParam,\r\n   BOOL bSearch)\r\n{\r\n   UINT      iSel;\r\n   MSG       msg;\r\n   RECT      rc;\r\n   DWORD     dwAnchor;\r\n   DWORD     dwTemp;\r\n   LPWSTR    pch;\r\n   BOOL      bDir;\r\n   BOOL      bSelected;\r\n   BOOL      bSelectOneItem;\r\n   BOOL      bUnselectIfNoDrag;\r\n   LPWSTR    pszFile;\r\n   POINT     pt;\r\n\r\n   bSelectOneItem = FALSE;\r\n   bUnselectIfNoDrag = FALSE;\r\n\r\n   bSelected = (BOOL)SendMessage(hwndLB, LB_GETSEL, wParam, 0L);\r\n\r\n   if (GetKeyState(VK_SHIFT) < 0) {\r\n\r\n      // What is the state of the Anchor point?\r\n      dwAnchor = (DWORD)SendMessage(hwndLB, LB_GETANCHORINDEX, 0, 0L);\r\n      bSelected = (BOOL)SendMessage(hwndLB, LB_GETSEL, dwAnchor, 0L);\r\n\r\n      // If Control is up, turn everything off.\r\n\r\n      if (!(GetKeyState(VK_CONTROL) < 0))\r\n         SendMessage(hwndLB, LB_SETSEL, FALSE, -1L);\r\n\r\n      // Select everything between the Anchor point and the item.\r\n      SendMessage(hwndLB, LB_SELITEMRANGE, bSelected, MAKELONG(wParam, dwAnchor));\r\n\r\n      // Give the selected item the focus rect.\r\n      SendMessage(hwndLB, LB_SETCARETINDEX, wParam, 0L);\r\n\r\n   } else if (GetKeyState(VK_CONTROL) < 0) {\r\n      if (bSelected)\r\n         bUnselectIfNoDrag = TRUE;\r\n      else\r\n         SelectItem(hwndLB, wParam, TRUE);\r\n\r\n   } else {\r\n      if (bSelected)\r\n         bSelectOneItem = TRUE;\r\n      else {\r\n         // Deselect everything.\r\n         SendMessage(hwndLB, LB_SETSEL, FALSE, -1L);\r\n\r\n         // Select the current item.\r\n         SelectItem(hwndLB, wParam, TRUE);\r\n      }\r\n   }\r\n\r\n   if (!bSearch)\r\n      UpdateStatus(GetParent(hwnd));\r\n\r\n   POINTSTOPOINT(pt, lParam);\r\n   ClientToScreen(hwndLB, (LPPOINT)&pt);\r\n   ScreenToClient(hwnd, (LPPOINT)&pt);\r\n\r\n   // See if the user moves a certain number of pixels in any direction\r\n\r\n   SetRect(&rc, pt.x - dxClickRect, pt.y - dyClickRect,\r\n      pt.x + dxClickRect, pt.y + dyClickRect);\r\n\r\n   SetCapture(hwnd);\r\n\r\n   for (;;) {\r\n\r\n      if (GetCapture() != hwnd) {\r\n          msg.message = WM_LBUTTONUP;   // don't proceed below\r\n          break;\r\n      }\r\n\r\n      if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {\r\n          DispatchMessage(&msg);\r\n\r\n          //\r\n          // WM_CANCELMODE messages will unset the capture, in that\r\n          // case I want to exit this loop\r\n\r\n          //\r\n          // Must do explicit check.\r\n          //\r\n      if (msg.message == WM_CANCELMODE || GetCapture() != hwnd) {\r\n              msg.message = WM_LBUTTONUP;   // don't proceed below\r\n\r\n              break;\r\n          }\r\n\r\n          if (msg.message == WM_LBUTTONUP)\r\n              break;\r\n\r\n          POINTSTOPOINT(pt, msg.lParam);\r\n          if ((msg.message == WM_MOUSEMOVE) && !(PtInRect(&rc, pt)))\r\n              break;\r\n      }\r\n    }\r\n    ReleaseCapture();\r\n\r\n    // Did the guy NOT drag anything?\r\n    if (msg.message == WM_LBUTTONUP) {\r\n       if (bSelectOneItem) {\r\n          /* Deselect everything. */\r\n          SendMessage(hwndLB, LB_SETSEL, FALSE, -1L);\r\n\r\n          /* Select the current item. */\r\n          SelectItem(hwndLB, wParam, TRUE);\r\n       }\r\n\r\n      if (bUnselectIfNoDrag)\r\n         SelectItem(hwndLB, wParam, FALSE);\r\n\r\n      // notify the appropriate people\r\n\r\n      SendMessage(hwnd, WM_COMMAND,\r\n         GET_WM_COMMAND_MPS(0, hwndLB, LBN_SELCHANGE));\r\n\r\n      return 1;\r\n   }\r\n\r\n   //\r\n   // Enter Danger Mouse's BatCave.\r\n   //\r\n   if (SendMessage(hwndLB, LB_GETSELCOUNT, 0, 0L) == 1) {\r\n\r\n      LPXDTA lpxdta;\r\n\r\n      //\r\n      // There is only one thing selected.\r\n      //  Figure out which cursor to use.\r\n      //\r\n      // There is only one thing selected.\r\n      //  Figure out which cursor to use.\r\n\r\n      if (SendMessage(hwndLB,\r\n                      LB_GETTEXT,\r\n                      wParam,\r\n                      (LPARAM)&lpxdta) == LB_ERR || !lpxdta) {\r\n         return 1;\r\n      }\r\n\r\n      pszFile = MemGetFileName(lpxdta);\r\n\r\n      bDir = lpxdta->dwAttrs & ATTR_DIR;\r\n\r\n      //\r\n      // avoid dragging the parent dir\r\n      //\r\n      if (lpxdta->dwAttrs & ATTR_PARENT) {\r\n         return 1;\r\n      }\r\n\r\n      if (bDir) {\r\n         iSel = DOF_DIRECTORY;\r\n      } else if (IsProgramFile(pszFile)) {\r\n         iSel = DOF_EXECUTABLE;\r\n      } else if (IsDocument(pszFile)) {\r\n         iSel = DOF_DOCUMENT;\r\n      } else\r\n         iSel = DOF_DOCUMENT;\r\n\r\n      iCurDrag = SINGLECOPYCURSOR;\r\n   } else {\r\n\r\n      // Multiple files are selected.\r\n      iSel = DOF_MULTIPLE;\r\n      iCurDrag = MULTCOPYCURSOR;\r\n   }\r\n\r\n\r\n   // Get the list of selected things.\r\n   pch = (LPTSTR)SendMessage(hwnd, FS_GETSELECTION, FALSE, 0L);\r\n\r\n   // Wiggle things around.\r\n   hwndDragging = hwndLB;\r\n\r\n   dwTemp = DragObject(GetDesktopWindow(), hwnd, (UINT)iSel, (ULONG_PTR)pch, NULL);\r\n\r\n   SetWindowDirectory();\r\n\r\n   if (dwTemp == DO_PRINTFILE) {\r\n      // print these suckers\r\n      hdlgProgress = NULL;\r\n      WFPrint(pch);\r\n   } else if (dwTemp == DO_DROPFILE) {\r\n      // try and drop them on an application\r\n      DropFilesOnApplication(pch);\r\n   }\r\n\r\n   LocalFree((HANDLE)pch);\r\n\r\n   if (IsWindow(hwnd))\r\n      ShowItemBitmaps(hwndLB, TRUE);\r\n\r\n   hwndDragging = NULL;\r\n\r\n   if (!bSearch && IsWindow(hwnd))\r\n      UpdateStatus(GetParent(hwnd));\r\n\r\n   return 2;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     SkipPathHead\r\n//\r\n// Synopsis: Skips \"C:\\\" and \"\\\\foo\\bar\\\"\r\n//\r\n// INC       lpszPath -- path to check\r\n//\r\n// Return:   LPTSTR   pointer to first filespec\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:    If not fully qualified, returns NULL\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nLPTSTR\r\nSkipPathHead(LPTSTR lpszPath)\r\n{\r\n   LPTSTR p = lpszPath;\r\n   INT i;\r\n\r\n   if (ISUNCPATH(p)) {\r\n\r\n      for(i=0, p+=2; *p && i<2; p++) {\r\n\r\n         if (CHAR_BACKSLASH == *p)\r\n            i++;\r\n      }\r\n\r\n      //\r\n      // If we ran out of string, punt.\r\n      //\r\n      if (!*p)\r\n         return NULL;\r\n      else\r\n         return p;\r\n\r\n   } else if (CHAR_COLON == lpszPath[1] && CHAR_BACKSLASH == lpszPath[2]) {\r\n\r\n      //\r\n      // Regular pathname\r\n      //\r\n\r\n      return lpszPath+3;\r\n   }\r\n\r\n   return NULL;\r\n}\r\n\r\n\r\nBOOL\r\nDSDropObject(\r\n   HWND hwndHolder,\r\n   HWND hwndLB,\r\n   LPDROPSTRUCT lpds,\r\n   BOOL bSearch)\r\n{\r\n   DWORD      ret;\r\n   LPWSTR     pFrom;\r\n   DWORD      dwAttrib = 0;       // init this to not a dir\r\n   DWORD      dwSelSink;\r\n   LPWSTR     pSel;\r\n   LPWSTR     pSelNoQuote;\r\n   LPXDTA     lpxdta;\r\n   LPXDTALINK lpStart;\r\n\r\n   WCHAR szTemp[MAXPATHLEN*2];\r\n   WCHAR szSourceFile[MAXPATHLEN+2];\r\n   WCHAR szSourceFileQualified[MAXPATHLEN+2];\r\n\r\n   //\r\n   // Turn off status bar\r\n   //\r\n   SendMessage(hwndStatus, SB_SIMPLE, 0, 0L);\r\n   UpdateWindow(hwndStatus);\r\n\r\n   //\r\n   // this is the listbox index of the destination\r\n   //\r\n   dwSelSink = lpds->dwControlData;\r\n\r\n   //\r\n   // Are we dropping onto ourselves? (i.e. moving a selected item in the\r\n   // source listbox OR an unused area of the source listbox).  If so,\r\n   // no-op the request.\r\n   //\r\n   if (hwndHolder == lpds->hwndSource &&\r\n      iShowSourceBitmaps == FALSE &&\r\n      ((dwSelSink == (DWORD)-1) || SendMessage(hwndLB, LB_GETSEL, dwSelSink, 0L))) {\r\n\r\n      return TRUE;\r\n   }\r\n\r\n   //\r\n   // set the destination, assume move/copy case below (c:\\foo\\)\r\n   //\r\n   SendMessage(hwndHolder, FS_GETDIRECTORY, COUNTOF(szTemp), (LPARAM)szTemp);\r\n\r\n   //\r\n   // Are we dropping on a unused portion of some listbox?\r\n   //\r\n   if (dwSelSink == (DWORD)-1) {\r\n      goto NormalMoveCopy;\r\n   }\r\n\r\n   //\r\n   // check for drop on a directory\r\n   //\r\n   lpStart = (LPXDTALINK)GetWindowLongPtr(hwndHolder, GWL_HDTA);\r\n\r\n   //\r\n   // If dropping on \"No files.\" or \"Access denied.\" then do normal thing.\r\n   //\r\n   if (!lpStart)\r\n      goto NormalMoveCopy;\r\n\r\n   if (SendMessage(hwndLB,\r\n                   LB_GETTEXT,\r\n                   dwSelSink,\r\n                   (LPARAM)&lpxdta) == LB_ERR || !lpxdta) {\r\n      goto NormalMoveCopy;\r\n   }\r\n\r\n   lstrcpy(szSourceFile, MemGetFileName(lpxdta));\r\n   dwAttrib = lpxdta->dwAttrs;\r\n\r\n   if (dwAttrib & ATTR_DIR) {\r\n\r\n      if (bSearch) {\r\n\r\n         lstrcpy(szTemp, szSourceFile);\r\n\r\n      } else {\r\n\r\n         //\r\n         // special case the parent\r\n         //\r\n         if (dwAttrib & ATTR_PARENT) {\r\n            StripBackslash(szTemp);\r\n            StripFilespec(szTemp);\r\n         } else {\r\n            lstrcat(szTemp, szSourceFile);\r\n         }\r\n      }\r\n      goto DirMoveCopy;\r\n   }\r\n\r\n   //\r\n   // dropping on a program?\r\n   //\r\n   if (!IsProgramFile(szSourceFile))\r\n      goto NormalMoveCopy;\r\n\r\n   //\r\n   // directory drop on a file? this is a NOP\r\n   //\r\n   if (lpds->wFmt == DOF_DIRECTORY) {\r\n      DSRectItem(hwndLB, iSelHighlight, FALSE, FALSE);\r\n      return FALSE;\r\n   }\r\n\r\n   //\r\n   // We're dropping a file onto a program.\r\n   // Exec the program using the source file as the parameter.\r\n   //\r\n   // set the directory to that of the program to exec\r\n   //\r\n   SendMessage(hwndHolder, FS_GETDIRECTORY, COUNTOF(szTemp), (LPARAM)szTemp);\r\n   StripBackslash(szTemp);\r\n\r\n   SetCurrentDirectory(szTemp);\r\n\r\n   //\r\n   // We need a fully qualified version of the exe since SheConvertPath\r\n   // doesn't check the current directory if it finds the exe in the path.\r\n   //\r\n   lstrcpy(szSourceFileQualified, szTemp);\r\n   lstrcat(szSourceFileQualified, SZ_BACKSLASH);\r\n   lstrcat(szSourceFileQualified, szSourceFile);\r\n\r\n   //\r\n   // get the selected file\r\n   //\r\n   pSel = (LPWSTR)SendMessage(lpds->hwndSource, FS_GETSELECTION, 1, 0L);\r\n   pSelNoQuote = (LPWSTR)SendMessage(lpds->hwndSource, FS_GETSELECTION, 1|16, 0L);\r\n   if (!pSel || !pSelNoQuote)\r\n   {\r\n      goto DODone;\r\n   }\r\n\r\n   if (lstrlen(pSel) > MAXPATHLEN)   // don't blow up below!\r\n      goto DODone;\r\n\r\n   //\r\n   // Checkesc on target exe\r\n   //\r\n   CheckEsc(szSourceFile);\r\n\r\n   if (bConfirmMouse) {\r\n\r\n      LoadString(hAppInstance, IDS_MOUSECONFIRM, szTitle, COUNTOF(szTitle));\r\n      LoadString(hAppInstance, IDS_EXECMOUSECONFIRM, szTemp, COUNTOF(szTemp));\r\n\r\n      wsprintf(szMessage, szTemp, szSourceFile, pSel);\r\n      if (MessageBox(hwndFrame, szMessage, szTitle, MB_YESNO | MB_ICONEXCLAMATION) != IDYES)\r\n         goto DODone;\r\n   }\r\n\r\n\r\n   //\r\n   // create an absolute path to the argument (search window already\r\n   // is absolute)\r\n   //\r\n   if (lpds->hwndSource == hwndSearch) {\r\n      szTemp[0] = CHAR_NULL;\r\n   } else {\r\n      SendMessage(lpds->hwndSource, FS_GETDIRECTORY, COUNTOF(szTemp), (LPARAM)szTemp);\r\n   }\r\n\r\n   lstrcat(szTemp, pSelNoQuote);     // this is the parameter to the exec\r\n\r\n   //\r\n   // put a \".\" extension on if none found\r\n   //\r\n   if (*GetExtension(szTemp) == 0)\r\n      lstrcat(szTemp, SZ_DOT);\r\n\r\n   //\r\n   // Since it's only 1 filename, checkesc it\r\n   //\r\n   CheckEsc(szTemp);\r\n\r\n   ret = ExecProgram(szSourceFileQualified, szTemp, NULL, FALSE, FALSE);\r\n\r\n   if (ret)\r\n      MyMessageBox(hwndFrame, IDS_EXECERRTITLE, (WORD)ret, MB_OK | MB_ICONEXCLAMATION | MB_SYSTEMMODAL);\r\n\r\nDODone:\r\n   DSRectItem(hwndLB, iSelHighlight, FALSE, FALSE);\r\n   if (pSel)\r\n   {\r\n      LocalFree((HANDLE)pSel);\r\n   }\r\n   if (pSelNoQuote)\r\n   {\r\n      LocalFree((HANDLE)pSelNoQuote);\r\n   }\r\n   return TRUE;\r\n\r\n   // szTemp must not be checkesc'd here.\r\n\r\nNormalMoveCopy:\r\n   //\r\n   // Make sure that we don't move into same dir.\r\n   //\r\n   if (iShowSourceBitmaps == FALSE &&\r\n      GetWindowLongPtr(hwndHolder, GWL_LISTPARMS) == SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L)) {\r\n\r\n      return TRUE;\r\n   }\r\n\r\nDirMoveCopy:\r\n\r\n   //\r\n   // the source filename is in the loword\r\n   //\r\n   pFrom = (LPWSTR)lpds->dwData;\r\n\r\n   AddBackslash(szTemp);\r\n   lstrcat(szTemp, szStarDotStar);   // put files in this dir\r\n\r\n   //\r\n   // again moved here: target is single!\r\n   //\r\n   CheckEsc(szTemp);\r\n\r\n   // iShowSourceBitmaps is either\r\n   // 1 == TRUE  == DROP_COPY\r\n   // 0 == FALSE == DROP_MOVE\r\n   // 2 ==       == DROP_LINK\r\n   // 3 ==       == DROP_HARD\r\n   ret = DMMoveCopyHelper(pFrom, szTemp, iShowSourceBitmaps);\r\n\r\n   DSRectItem(hwndLB, iSelHighlight, FALSE, FALSE);\r\n\r\n   if (ret)\r\n      return TRUE;\r\n\r\n#if 0\r\n   if (!iShowSourceBitmaps)\r\n      SendMessage(lpds->hwndSource, WM_FSC, FSC_REFRESH, 0L);\r\n\r\n   //\r\n   // we got dropped on, but if this is a dir we don't need to refresh\r\n   //\r\n   if (!(dwAttrib & ATTR_DIR))\r\n      SendMessage(hwndHolder, WM_FSC, FSC_REFRESH, 0L);\r\n#endif\r\n\r\n   return TRUE;\r\n}\r\n\r\n\r\n"
  },
  {
    "path": "src/wfdlgs.c",
    "content": "/********************************************************************\r\n\r\n   wfdlgs.c\r\n\r\n   Windows File System Dialog procedures\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n#include <commdlg.h>\r\n#include <dlgs.h>\r\n#include \"lfn.h\"\r\n#include \"wfcopy.h\"\r\n#include \"resize.h\"\r\n\r\nVOID  MDIClientSizeChange(HWND hwndActive, INT iFlags);\r\n\r\nextern INT maxExt;\r\n\r\nVOID\r\nSaveWindows(HWND hwndMain)\r\n{\r\n   // 2* added to both lines\r\n   TCHAR szPath[2*MAXPATHLEN];\r\n   TCHAR buf2[2*MAXPATHLEN + 6*12];\r\n\r\n   TCHAR key[10];\r\n   INT dir_num;\r\n   HWND hwnd;\r\n   BOOL bCounting;\r\n   RECT rcT;\r\n   DWORD view, sort, attribs;\r\n   WINDOWPLACEMENT wp;\r\n\r\n   // save main window position\r\n\r\n   wp.length = sizeof(WINDOWPLACEMENT);\r\n   if (!GetWindowPlacement(hwndMain, &wp))\r\n       return;\r\n\r\n   SystemParametersInfo(SPI_GETWORKAREA, 0, (PVOID)&rcT, 0);\r\n\r\n   // WINDOWPLACEMENT coordinates for top-level windows are in Workspace coordinates;\r\n   // we tranlate this into screen coordinates prior to saving;\r\n   // also, the values saved for the third and fourth values are width and height.\r\n   wsprintf(buf2, TEXT(\"%ld,%ld,%ld,%ld, , ,%u\"), rcT.left + wp.rcNormalPosition.left,\r\n      rcT.top + wp.rcNormalPosition.top,\r\n      wp.rcNormalPosition.right - wp.rcNormalPosition.left,\r\n      wp.rcNormalPosition.bottom - wp.rcNormalPosition.top,\r\n      wp.showCmd);\r\n\r\n   WritePrivateProfileString(szSettings, szWindow, buf2, szTheINIFile);\r\n\r\n   WritePrivateProfileBool(szScrollOnExpand, bScrollOnExpand);\r\n\r\n   // write out dir window strings in reverse order\r\n   // so that when we read them back in we get the same Z order\r\n\r\n   bCounting = TRUE;\r\n   dir_num = 0;\r\n\r\nDO_AGAIN:\r\n\r\n   for (hwnd = GetWindow(hwndMDIClient, GW_CHILD); hwnd; hwnd = GetWindow(hwnd, GW_HWNDNEXT)) {\r\n      HWND ht = HasTreeWindow(hwnd);\r\n      INT nReadLevel = ht ? (INT)GetWindowLongPtr(ht, GWL_READLEVEL) : 0;\r\n\r\n      // don't save MDI icon title windows or search windows,\r\n      // or any dir window which is currently recursing\r\n\r\n      if ((GetWindow(hwnd, GW_OWNER) == NULL) &&\r\n         GetWindowLongPtr(hwnd, GWL_TYPE) != TYPE_SEARCH) /* nReadLevel == 0) */ {\r\n\r\n         if (bCounting) {\r\n            dir_num++;\r\n            continue;\r\n         }\r\n\r\n         wp.length = sizeof(WINDOWPLACEMENT);\r\n         if (!GetWindowPlacement(hwnd, &wp))\r\n             continue;\r\n         view = (DWORD)GetWindowLongPtr(hwnd, GWL_VIEW);\r\n         sort = (DWORD)GetWindowLongPtr(hwnd, GWL_SORT);\r\n         attribs = (DWORD)GetWindowLongPtr(hwnd, GWL_ATTRIBS);\r\n\r\n         GetMDIWindowText(hwnd, szPath, COUNTOF(szPath));\r\n\r\n         wsprintf(key, szDirKeyFormat, dir_num--);\r\n\r\n         // format:\r\n         //   x_win, y_win,\r\n         //   x_win, y_win,\r\n         //   x_icon, y_icon,\r\n         //   show_window, view, sort, attribs, split, directory\r\n\r\n         // NOTE: MDI child windows are in child coordinats; no translation is done.\r\n         wsprintf(buf2, TEXT(\"%ld,%ld,%ld,%ld,%ld,%ld,%u,%lu,%lu,%lu,%d,%s\"),\r\n            wp.rcNormalPosition.left, wp.rcNormalPosition.top,\r\n            wp.rcNormalPosition.right, wp.rcNormalPosition.bottom,\r\n            wp.ptMinPosition.x, wp.ptMinPosition.y,\r\n            wp.showCmd, view, sort, attribs,\r\n            GetSplit(hwnd),\r\n            szPath);\r\n\r\n         // the dir is an ANSI string (?)\r\n\r\n         WritePrivateProfileString(szSettings, key, buf2, szTheINIFile);\r\n      }\r\n   }\r\n\r\n   if (bCounting) {\r\n      bCounting = FALSE;\r\n\r\n      // erase the last dir window so that if they save with\r\n      // fewer dirs open we don't pull in old open windows\r\n\r\n      wsprintf(key, szDirKeyFormat, dir_num + 1);\r\n      WritePrivateProfileString(szSettings, key, NULL, szTheINIFile);\r\n\r\n      goto DO_AGAIN;\r\n   }\r\n\r\n   // Save CachedPath and GotoCachePunctuation\r\n   WritePrivateProfileString(szSettings, szCachedPath, szCachedPathIni, szTheINIFile);\r\n   WritePrivateProfileString(szSettings, szGotoCachePunctuation, szPunctuation, szTheINIFile);\r\n}\r\n\r\n\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  OtherDlgProc() -                                                        */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nINT_PTR\r\nCALLBACK\r\nOtherDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n  DWORD          dwView;\r\n  HWND           hwndActive;\r\n\r\n  UNREFERENCED_PARAMETER(lParam);\r\n\r\n  hwndActive = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n\r\n  switch (wMsg)\r\n    {\r\n      case WM_INITDIALOG:\r\n\r\n          dwView = (DWORD)GetWindowLongPtr(hwndActive, GWL_VIEW);\r\n          CheckDlgButton(hDlg, IDD_SIZE,  dwView & VIEW_SIZE);\r\n          CheckDlgButton(hDlg, IDD_DATE,  dwView & VIEW_DATE);\r\n          CheckDlgButton(hDlg, IDD_TIME,  dwView & VIEW_TIME);\r\n          CheckDlgButton(hDlg, IDD_FLAGS, dwView & VIEW_FLAGS);\r\n\r\n          CheckDlgButton(hDlg, IDD_DOSNAMES, dwView & VIEW_DOSNAMES);\r\n\r\n          break;\r\n\r\n      case WM_COMMAND:\r\n          switch (GET_WM_COMMAND_ID(wParam, lParam))\r\n            {\r\n              case IDD_HELP:\r\n                  goto DoHelp;\r\n\r\n              case IDCANCEL:\r\n                  EndDialog(hDlg, FALSE);\r\n                  break;\r\n\r\n              case IDOK:\r\n                  {\r\n                  HWND hwnd;\r\n\r\n                  dwView = GetWindowLongPtr(hwndActive, GWL_VIEW) & VIEW_PLUSES;\r\n\r\n                  if (IsDlgButtonChecked(hDlg, IDD_SIZE))\r\n                        dwView |= VIEW_SIZE;\r\n                  if (IsDlgButtonChecked(hDlg, IDD_DATE))\r\n                        dwView |= VIEW_DATE;\r\n                  if (IsDlgButtonChecked(hDlg, IDD_TIME))\r\n                        dwView |= VIEW_TIME;\r\n                  if (IsDlgButtonChecked(hDlg, IDD_FLAGS))\r\n                        dwView |= VIEW_FLAGS;\r\n\r\n                  if (IsDlgButtonChecked(hDlg, IDD_DOSNAMES))\r\n                        dwView |= VIEW_DOSNAMES;\r\n\r\n                  EndDialog(hDlg, TRUE);\r\n\r\n                  if (hwnd = HasDirWindow(hwndActive))\r\n                      SendMessage(hwnd, FS_CHANGEDISPLAY, CD_VIEW, dwView);\r\n                  else if (hwndActive == hwndSearch) {\r\n                      SetWindowLongPtr(hwndActive, GWL_VIEW, dwView);\r\n\r\n                  SendMessage(hwndActive, FS_CHANGEDISPLAY, CD_VIEW, 0L);\r\n                  }\r\n\r\n                  break;\r\n                  }\r\n\r\n              default:\r\n                  return FALSE;\r\n            }\r\n          break;\r\n\r\n       default:\r\n\r\n          if (wMsg == wHelpMessage) {\r\nDoHelp:\r\n                WFHelp(hDlg);\r\n\r\n                return TRUE;\r\n          } else\r\n                return FALSE;\r\n     }\r\n  return TRUE;\r\n}\r\n\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  IncludeDlgProc() -                                                      */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nINT_PTR\r\nCALLBACK\r\nIncludeDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n  DWORD dwAttribs;\r\n  HWND hwndActive;\r\n\r\n  // To handle LONG paths with LONG filters (illegal)\r\n  TCHAR szTemp[2*MAXPATHLEN];\r\n  TCHAR szInclude[MAXFILENAMELEN];\r\n  HWND hwndDir;\r\n  HWND hwndTree;\r\n\r\n  UNREFERENCED_PARAMETER(lParam);\r\n\r\n  hwndActive = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n\r\n  switch (wMsg)\r\n    {\r\n      case WM_INITDIALOG:\r\n\r\n          SendMessage(hwndActive, FS_GETFILESPEC, COUNTOF(szTemp), (LPARAM)szTemp);\r\n          SetDlgItemText(hDlg, IDD_NAME, szTemp);\r\n          SendDlgItemMessage(hDlg, IDD_NAME, EM_LIMITTEXT, MAXFILENAMELEN-1, 0L);\r\n\r\n          dwAttribs = (DWORD)GetWindowLongPtr(hwndActive, GWL_ATTRIBS);\r\n\r\n          CheckDlgButton(hDlg, IDD_DIR,        dwAttribs & ATTR_DIR);\r\n          CheckDlgButton(hDlg, IDD_PROGRAMS,   dwAttribs & ATTR_PROGRAMS);\r\n          CheckDlgButton(hDlg, IDD_DOCS,       dwAttribs & ATTR_DOCS);\r\n          CheckDlgButton(hDlg, IDD_OTHER,      dwAttribs & ATTR_OTHER);\r\n          CheckDlgButton(hDlg, IDD_SHOWHIDDEN, dwAttribs & ATTR_HIDDEN);\r\n          CheckDlgButton(hDlg, IDD_SHOWJUNCTION, dwAttribs & ATTR_JUNCTION);\r\n\r\n          break;\r\n\r\n      case WM_COMMAND:\r\n          switch (GET_WM_COMMAND_ID(wParam, lParam))\r\n            {\r\n              case IDD_HELP:\r\n                  goto DoHelp;\r\n\r\n              case IDCANCEL:\r\n                  EndDialog(hDlg, FALSE);\r\n                  break;\r\n\r\n              case IDOK:\r\n\r\n                  GetDlgItemText(hDlg, IDD_NAME, szInclude, COUNTOF(szInclude));\r\n\r\n                  // strip out quotes and trailing spaces\r\n                  KillQuoteTrailSpace(szInclude);\r\n\r\n                  if (szInclude[0] == 0L)\r\n                     lstrcpy(szInclude, szStarDotStar);\r\n\r\n                  dwAttribs = 0;\r\n                  if (IsDlgButtonChecked(hDlg, IDD_DIR))\r\n                      dwAttribs |= ATTR_DIR;\r\n                  if (IsDlgButtonChecked(hDlg, IDD_PROGRAMS))\r\n                      dwAttribs |= ATTR_PROGRAMS;\r\n                  if (IsDlgButtonChecked(hDlg, IDD_DOCS))\r\n                      dwAttribs |= ATTR_DOCS;\r\n                  if (IsDlgButtonChecked(hDlg, IDD_OTHER))\r\n                      dwAttribs |= ATTR_OTHER;\r\n                  if (IsDlgButtonChecked(hDlg, IDD_SHOWHIDDEN))\r\n                      dwAttribs |= ATTR_HS;\r\n                  if (IsDlgButtonChecked(hDlg, IDD_SHOWJUNCTION))\r\n                      dwAttribs |= ATTR_JUNCTION;\r\n\r\n                  if (!dwAttribs)\r\n                        dwAttribs = ATTR_EVERYTHING;\r\n\r\n                  EndDialog(hDlg, TRUE);        // here to avoid excess repaints\r\n\r\n                  if (hwndDir = HasDirWindow(hwndActive)) {\r\n                      SendMessage(hwndDir, FS_GETDIRECTORY, COUNTOF(szTemp), (LPARAM)szTemp);\r\n                      lstrcat(szTemp, szInclude);\r\n\r\n                      SetWindowLongPtr(hwndActive, GWL_ATTRIBS, dwAttribs);\r\n                      SendMessage(hwndDir, FS_CHANGEDISPLAY, CD_PATH_FORCE, (LPARAM)szTemp);\r\n                  }\r\n\r\n                  if (hwndTree = HasTreeWindow(hwndActive)) {\r\n                      SendMessage(hwndTree, TC_SETDRIVE, 0L, 0L);\r\n                  }\r\n\r\n                  break;\r\n\r\n              default:\r\n                  return FALSE;\r\n            }\r\n          break;\r\n\r\n       default:\r\n          if (wMsg == wHelpMessage) {\r\nDoHelp:\r\n                WFHelp(hDlg);\r\n\r\n                return TRUE;\r\n          } else\r\n                return FALSE;\r\n     }\r\n  return TRUE;\r\n}\r\n\r\nINT_PTR\r\nCALLBACK\r\nSelectDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n        HWND hwndActive, hwnd;\r\n        TCHAR szList[128];\r\n        TCHAR szSpec[MAXFILENAMELEN];\r\n        LPTSTR p;\r\n\r\n        if (ResizeDialogProc(hDlg, wMsg, wParam, lParam)) {\r\n            return TRUE;\r\n        }\r\n\r\n        UNREFERENCED_PARAMETER(lParam);\r\n\r\n        switch (wMsg) {\r\n        case WM_INITDIALOG:\r\n                SendDlgItemMessage(hDlg, IDD_NAME, EM_LIMITTEXT, COUNTOF(szList)-1, 0L);\r\n                SetDlgItemText(hDlg, IDD_NAME, szStarDotStar);\r\n                break;\r\n\r\n        case WM_COMMAND:\r\n                switch (GET_WM_COMMAND_ID(wParam, lParam)) {\r\n                case IDD_HELP:\r\n                        goto DoHelp;\r\n\r\n                case IDCANCEL:\r\n                        EndDialog(hDlg, FALSE);\r\n                        break;\r\n\r\n                case IDOK:      // select\r\n                case IDYES:     // deselect\r\n\r\n                        // change \"Cancel\" to \"Close\"\r\n\r\n                        LoadString(hAppInstance, IDS_ANDCLOSE, szSpec, COUNTOF(szSpec));\r\n                        SetDlgItemText(hDlg, IDCANCEL, szSpec);\r\n\r\n                        hwndActive = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n\r\n                        if (!hwndActive)\r\n                            break;\r\n\r\n                        GetDlgItemText(hDlg, IDD_NAME, szList, COUNTOF(szList));\r\n\r\n                        if (hwndActive == hwndSearch)\r\n                            hwnd = hwndSearch;\r\n                        else\r\n                            hwnd = HasDirWindow(hwndActive);\r\n\r\n                        if (hwnd) {\r\n\r\n                            p = szList;\r\n\r\n                            while (p = GetNextFile(p, szSpec, COUNTOF(szSpec)))\r\n                                SendMessage(hwnd, FS_SETSELECTION, (BOOL)(GET_WM_COMMAND_ID(wParam, lParam) == IDOK), (LPARAM)szSpec);\r\n                        }\r\n\r\n                        if (hwnd != hwndSearch)\r\n                            UpdateStatus(hwndActive);\r\n                        break;\r\n\r\n                default:\r\n                        return FALSE;\r\n                }\r\n                break;\r\n\r\n        default:\r\n          if (wMsg == wHelpMessage) {\r\nDoHelp:\r\n                WFHelp(hDlg);\r\n\r\n                return TRUE;\r\n          } else\r\n                return FALSE;\r\n        }\r\n        return TRUE;\r\n}\r\n\r\n\r\nUINT_PTR\r\nCALLBACK\r\nFontHookProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\nKOREAJAPANBEGIN\r\n   // Steal from PBrush source to remove @font in the list - SangilJ\r\n   TCHAR str[LF_FULLFACESIZE], sel[LF_FULLFACESIZE];\r\n   INT index;\r\n   INT cnt;\r\nKOREAJAPANEND\r\n\r\n   UNREFERENCED_PARAMETER(lParam);\r\n\r\n   switch (wMsg) {\r\n   case WM_INITDIALOG:\r\n\r\n      // Delete the Vertical Font Face Name in Font Dialog Box of File Manager  by Sabgilj 01.14.93\r\n\r\n      if (bKOREAJAPAN) {\r\n\r\n         cnt = (INT)SendDlgItemMessage(hDlg, cmb1, CB_GETCOUNT, 0, 0L);\r\n         index = (INT)SendDlgItemMessage(hDlg, cmb1, CB_GETCURSEL, 0, 0L);\r\n         SendDlgItemMessage(hDlg, cmb1, CB_GETLBTEXT, index, (LPARAM)sel);\r\n\r\n         for (index = 0 ; index < cnt ; ) {\r\n            SendDlgItemMessage( hDlg, cmb1, CB_GETLBTEXT, index, (LPARAM)str);\r\n            if (str[0] == TEXT('@'))\r\n               cnt = (INT)SendDlgItemMessage(hDlg,cmb1,CB_DELETESTRING,index,0L);\r\n            else\r\n               index++;\r\n         }\r\n         index = (INT)SendDlgItemMessage(hDlg, cmb1, CB_FINDSTRING, (WPARAM)-1, (LPARAM)sel);\r\n         SendDlgItemMessage(hDlg, cmb1, CB_SETCURSEL, index, 0L);\r\n\r\n      }\r\n      CheckDlgButton(hDlg, chx3, wTextAttribs & TA_LOWERCASE);\r\n\r\n      CheckDlgButton(hDlg, chx4, wTextAttribs & TA_LOWERCASEALL);\r\n      break;\r\n\r\n   case WM_COMMAND:\r\n      switch (wParam) {\r\n      case pshHelp:\r\n         SendMessage(hwndFrame, wHelpMessage, 0, 0L);\r\n         break;\r\n\r\n      case IDOK:\r\n         if (IsDlgButtonChecked(hDlg, chx3))\r\n            wTextAttribs |= TA_LOWERCASE;\r\n         else\r\n            wTextAttribs &= ~TA_LOWERCASE;\r\n\r\n         if (IsDlgButtonChecked(hDlg, chx4))\r\n            wTextAttribs |= TA_LOWERCASEALL;\r\n         else\r\n            wTextAttribs &= ~TA_LOWERCASEALL;\r\n         break;\r\n      }\r\n   }\r\n   return FALSE;\r\n}\r\n\r\nVOID\r\nRepaintDrivesForFontChange(HWND hwndChild)\r\n{\r\n   if (bDriveBar)\r\n      MDIClientSizeChange(hwndChild,DRIVEBAR_FLAG);\r\n}\r\n\r\nVOID\r\nNewFont()\r\n{\r\n   HFONT hOldFont;\r\n   HANDLE hOld;\r\n\r\n   HWND hwnd, hwndT, hwndT2;\r\n   HDC hdc;\r\n   LOGFONT lf;\r\n   CHOOSEFONT cf;\r\n   TCHAR szBuf[10];\r\n   INT res;\r\n   UINT uOld,uNew;\r\n\r\n#define MAX_PT_SIZE 36\r\n\r\n   GetObject(hFont, sizeof(lf), (LPVOID)(LPLOGFONT)&lf);\r\n\r\n   //\r\n   // As we use 'system' font as default, and set initial size 0 for logfont so\r\n   // that we can get default size on system, we may haven't got real font\r\n   // height yet. mskk.\r\n   //\r\n   if (bJAPAN && lf.lfHeight == 0) {\r\n      TEXTMETRIC tm;\r\n\r\n      hdc = GetDC(NULL);\r\n      hOld = SelectObject(hdc, hFont);\r\n      GetTextMetrics(hdc,&tm);\r\n      if (hOld)\r\n         SelectObject(hdc, hOld);\r\n      ReleaseDC(NULL, hdc);\r\n      lf.lfHeight = -(tm.tmHeight-tm.tmInternalLeading);\r\n   }\r\n\r\n   uOld = (UINT)abs(lf.lfHeight);\r\n\r\n   cf.lStructSize    = sizeof(cf);\r\n   cf.hwndOwner      = hwndFrame;\r\n   cf.lpLogFont      = &lf;\r\n   cf.hInstance      = hAppInstance;\r\n   cf.lpTemplateName = (LPTSTR) MAKEINTRESOURCE(FONTDLG);\r\n   cf.lpfnHook       = FontHookProc;\r\n   cf.nSizeMin       = 4;\r\n   cf.nSizeMax       = 36;\r\n\r\n   cf.Flags          = bJAPAN ?\r\n                          CF_SCREENFONTS | CF_SHOWHELP |\r\n                             CF_ENABLEHOOK | CF_ENABLETEMPLATE |\r\n                             CF_INITTOLOGFONTSTRUCT | CF_LIMITSIZE :\r\n                          CF_SCREENFONTS | CF_SHOWHELP |\r\n                             CF_ENABLEHOOK | CF_ENABLETEMPLATE |\r\n                             CF_INITTOLOGFONTSTRUCT | CF_LIMITSIZE |\r\n                             CF_ANSIONLY;\r\n\r\n   if (!LoadComdlg()) {\r\n      return;\r\n   }\r\n\r\n   res = ChooseFontW(&cf);\r\n\r\n   if (!res)\r\n      return;\r\n\r\n   wsprintf(szBuf, SZ_PERCENTD, cf.iPointSize / 10);\r\n\r\n   uNew = (UINT)abs(lf.lfHeight);\r\n\r\n   if (bJAPAN && lf.lfCharSet != SHIFTJIS_CHARSET)\r\n      MyMessageBox(hwndFrame, IDS_WINFILE, IDS_WRNNOSHIFTJIS,\r\n                                             MB_OK|MB_ICONEXCLAMATION);\r\n\r\n   // Set wTextAttribs BOLD and ITALIC flags\r\n\r\n   if (lf.lfItalic != 0)\r\n      wTextAttribs |= TA_ITALIC;\r\n   else\r\n      wTextAttribs &= ~TA_ITALIC;\r\n\r\n   WritePrivateProfileString(szSettings, szFace, lf.lfFaceName, szTheINIFile);\r\n   WritePrivateProfileString(szSettings, szSize, szBuf, szTheINIFile);\r\n   WritePrivateProfileBool(szLowerCase, wTextAttribs);\r\n   WritePrivateProfileBool(szFaceWeight, lf.lfWeight);\r\n\r\n   if (bJAPAN)\r\n      WritePrivateProfileBool(szSaveCharset, lf.lfCharSet);\r\n\r\n   hOldFont = hFont;\r\n\r\n   hFont = CreateFontIndirect(&lf);\r\n\r\n   if (!hFont) {\r\n      DeleteObject(hOldFont);\r\n      return;\r\n   }\r\n\r\n   // recalc all the metrics for the new font\r\n\r\n   hdc = GetDC(NULL);\r\n   hOld = SelectObject(hdc, hFont);\r\n   GetTextStuff(hdc);\r\n   if (hOld)\r\n      SelectObject(hdc, hOld);\r\n   ReleaseDC(NULL, hdc);\r\n\r\n\r\n   RepaintDrivesForFontChange((HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L));\r\n\r\n   // now update all listboxes that are using the old\r\n   // font with the new font\r\n\r\n   for (hwnd = GetWindow(hwndMDIClient, GW_CHILD); hwnd;\r\n      hwnd = GetWindow(hwnd, GW_HWNDNEXT)) {\r\n\r\n      if (GetWindow(hwnd, GW_OWNER))\r\n         continue;\r\n\r\n      if ((INT)GetWindowLongPtr(hwnd, GWL_TYPE) == TYPE_SEARCH) {\r\n         SendMessage((HWND)GetDlgItem(hwnd, IDCW_LISTBOX), WM_SETFONT, (WPARAM)hFont, MAKELPARAM(TRUE, 0));\r\n         SendMessage((HWND)GetDlgItem(hwnd, IDCW_LISTBOX), LB_SETITEMHEIGHT, 0, (LONG)dyFileName);\r\n\r\n         // SearchWin font ext\r\n         // in case font changed, update maxExt\r\n\r\n         SendMessage(hwnd, FS_CHANGEDISPLAY, CD_SEARCHFONT, 0L);\r\n\r\n      } else {\r\n\r\n         if (hwndT = HasDirWindow(hwnd)) {\r\n\r\n            hwndT2 = GetDlgItem(hwndT, IDCW_LISTBOX);\r\n            SetLBFont(hwndT,\r\n                      hwndT2,\r\n                      hFont,\r\n                      (DWORD)GetWindowLongPtr(hwnd, GWL_VIEW),\r\n                      (LPXDTALINK)GetWindowLongPtr(hwndT, GWL_HDTA));\r\n\r\n            InvalidateRect(hwndT2, NULL, TRUE);\r\n         }\r\n\r\n         if (hwndT = HasTreeWindow(hwnd)) {\r\n\r\n            // the tree list box\r\n\r\n            hwndT = GetDlgItem(hwndT, IDCW_TREELISTBOX);\r\n\r\n            SendMessage(hwndT, WM_SETFONT, (WPARAM)hFont, MAKELPARAM(TRUE, 0));\r\n            SendMessage(hwndT, LB_SETITEMHEIGHT, 0, (LONG)dyFileName);\r\n\r\n            /*\r\n             *  Force the recalculation of GWL_XTREEMAX (max text extent).\r\n             */\r\n            SendMessage(HasTreeWindow(hwnd), TC_RECALC_EXTENT, (WPARAM)hwndT, 0L);\r\n         }\r\n      }\r\n   }\r\n   DeleteObject(hOldFont); // done with this now, delete it\r\n}\r\n\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  ConfirmDlgProc() -                                                      */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nINT_PTR\r\nCALLBACK\r\nConfirmDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n  UNREFERENCED_PARAMETER(lParam);\r\n\r\n  switch (wMsg)\r\n    {\r\n      case WM_INITDIALOG:\r\n          CheckDlgButton(hDlg, IDD_DELETE,  bConfirmDelete);\r\n          CheckDlgButton(hDlg, IDD_SUBDEL,  bConfirmSubDel);\r\n          CheckDlgButton(hDlg, IDD_REPLACE, bConfirmReplace);\r\n          CheckDlgButton(hDlg, IDD_MOUSE,   bConfirmMouse);\r\n          CheckDlgButton(hDlg, IDD_CONFIG,  bConfirmFormat);\r\n          CheckDlgButton(hDlg, IDD_READONLY,bConfirmReadOnly);\r\n          break;\r\n\r\n      case WM_COMMAND:\r\n          switch (GET_WM_COMMAND_ID(wParam, lParam))\r\n            {\r\n              case IDD_HELP:\r\n                  goto DoHelp;\r\n\r\n              case IDCANCEL:\r\n                  EndDialog(hDlg, FALSE);\r\n                  break;\r\n\r\n              case IDOK:\r\n                  bConfirmDelete  = IsDlgButtonChecked(hDlg, IDD_DELETE);\r\n                  bConfirmSubDel  = IsDlgButtonChecked(hDlg, IDD_SUBDEL);\r\n                  bConfirmReplace = IsDlgButtonChecked(hDlg, IDD_REPLACE);\r\n                  bConfirmMouse   = IsDlgButtonChecked(hDlg, IDD_MOUSE);\r\n                  bConfirmFormat  = IsDlgButtonChecked(hDlg, IDD_CONFIG);\r\n\r\n                  bConfirmReadOnly= IsDlgButtonChecked(hDlg, IDD_READONLY);\r\n\r\n                  WritePrivateProfileBool(szConfirmDelete,  bConfirmDelete);\r\n                  WritePrivateProfileBool(szConfirmSubDel,  bConfirmSubDel);\r\n                  WritePrivateProfileBool(szConfirmReplace, bConfirmReplace);\r\n                  WritePrivateProfileBool(szConfirmMouse,   bConfirmMouse);\r\n                  WritePrivateProfileBool(szConfirmFormat,  bConfirmFormat);\r\n\r\n                  WritePrivateProfileBool(szConfirmReadOnly,bConfirmReadOnly);\r\n\r\n                  EndDialog(hDlg, TRUE);\r\n                  break;\r\n\r\n              default:\r\n                  return(FALSE);\r\n            }\r\n          break;\r\n\r\n       default:\r\n          if (wMsg == wHelpMessage) {\r\nDoHelp:\r\n                WFHelp(hDlg);\r\n\r\n                return TRUE;\r\n          } else\r\n                return FALSE;\r\n     }\r\n  return TRUE;\r\n}\r\n\r\nINT_PTR CALLBACK PrefDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n    /* Editor prefrence variables*/\r\n    TCHAR szTempEditPath[MAXPATHLEN];\r\n    TCHAR szPath[MAXPATHLEN];\r\n    TCHAR szFilter[MAXPATHLEN] = { 0 };\r\n\r\n    LoadString(hAppInstance, IDS_EDITFILTER, szFilter, MAXPATHLEN);\r\n\r\n    OPENFILENAME ofn;\r\n\r\n    ZeroMemory(&ofn, sizeof(ofn));\r\n    ofn.lStructSize = sizeof(ofn);\r\n    ofn.hwndOwner = hDlg;\r\n    ofn.lpstrFile = szPath;\r\n    ofn.lpstrFile[0] = '\\0';\r\n    ofn.nMaxFile = sizeof(szPath);\r\n    ofn.lpstrFilter = szFilter;\r\n    ofn.nFilterIndex = 1;\r\n    ofn.lpstrFileTitle = NULL;\r\n    ofn.nMaxFileTitle = 0;\r\n    ofn.lpstrInitialDir = NULL;\r\n    ofn.Flags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;\r\n\r\n    /* Language prefrence variables */\r\n    HWND hLangComboBox = GetDlgItem(hDlg, IDC_LANGCB);\r\n\r\n    switch (wMsg)\r\n    {\r\n        case WM_INITDIALOG:\r\n            InitLangList(hLangComboBox);\r\n\r\n            GetPrivateProfileString(szSettings, szEditorPath, NULL, szTempEditPath, MAXPATHLEN, szTheINIFile);\r\n            SetDlgItemText(hDlg, IDD_EDITOR, szTempEditPath);\r\n\r\n            CheckDlgButton(hDlg, IDC_VSTYLE, bDisableVisualStyles);\r\n            CheckDlgButton(hDlg, IDC_GOTO, bIndexOnLaunch);\r\n            CheckDlgButton(hDlg, IDC_MIRROR, bMirrorContent);\r\n            break;\r\n\r\n        case WM_COMMAND:\r\n            switch (GET_WM_COMMAND_ID(wParam, lParam))\r\n            {\r\n                case IDD_HELP:\r\n                    goto DoHelp;\r\n\r\n                case IDC_EDITOR:\r\n                    if (!LoadComdlg())\r\n                        break;\r\n\r\n                    if ((*lpfnGetOpenFileNameW)(&ofn))\r\n                    {\r\n                        wcscpy_s(szPath, MAXPATHLEN, ofn.lpstrFile);\r\n                        SetDlgItemText(hDlg, IDD_EDITOR, szPath);\r\n                    }\r\n                    break;\r\n\r\n                case IDOK:\r\n                    SaveLang(hLangComboBox);\r\n\r\n                    GetDlgItemText(hDlg, IDD_EDITOR, szTempEditPath, MAXPATHLEN);\r\n                    WritePrivateProfileString(szSettings, szEditorPath, szTempEditPath, szTheINIFile);\r\n\r\n                    bDisableVisualStyles = IsDlgButtonChecked(hDlg, IDC_VSTYLE);\r\n                    bIndexOnLaunch       = IsDlgButtonChecked(hDlg, IDC_GOTO);\r\n                    bMirrorContent           = IsDlgButtonChecked(hDlg, IDC_MIRROR);\r\n\r\n                    WritePrivateProfileBool(szDisableVisualStyles, bDisableVisualStyles);\r\n                    WritePrivateProfileBool(szIndexOnLaunch, bIndexOnLaunch);\r\n                    WritePrivateProfileBool(szMirrorContent, bMirrorContent);\r\n\r\n                    EndDialog(hDlg, TRUE);\r\n                    break;\r\n\r\n                case IDCANCEL:\r\n                    EndDialog(hDlg, FALSE);\r\n                    break;\r\n            }\r\n            break;\r\n\r\n        default:\r\n            if (wMsg == wHelpMessage) {\r\nDoHelp:\r\n                WFHelp(hDlg);\r\n\r\n                return TRUE;\r\n            }\r\n            else\r\n                return FALSE;\r\n    }\r\n    return TRUE;\r\n}\r\n\r\n\r\nVOID\r\nKillQuoteTrailSpace( LPTSTR szFile )\r\n{\r\n   LPTSTR pc;\r\n   LPTSTR pcNext;\r\n   LPTSTR pcLastSpace = NULL;\r\n\r\n   // Could reuse szFile, but that's ok,\r\n   // we use it as a register probably anyway.\r\n\r\n   pc = pcNext = szFile;\r\n\r\n   while ( *pcNext ) {\r\n\r\n      if ( CHAR_DQUOTE == *pcNext ) {\r\n         pcNext++;\r\n         continue;\r\n      }\r\n\r\n      if ( CHAR_SPACE == *pcNext ) {\r\n         if ( !pcLastSpace ) {\r\n            pcLastSpace = pc;\r\n         }\r\n      } else {\r\n         pcLastSpace = NULL;\r\n      }\r\n\r\n      *pc++ = *pcNext++;\r\n   }\r\n\r\n   // Delimit!\r\n   *pc = CHAR_NULL;\r\n\r\n   // Now axe trailing spaces;\r\n   if (pcLastSpace)\r\n      *pcLastSpace = CHAR_NULL;\r\n}\r\n\r\nVOID\r\nActivateCommonContextMenu(HWND hwnd, HWND hwndLB, LPARAM lParam)\r\n{\r\n   DWORD cmd, item;\r\n   POINT pt;\r\n\r\n   HMENU hMenu = GetSubMenu(LoadMenu(hAppInstance, TEXT(\"CTXMENU\")), 0);\r\n\r\n   if (lParam == -1)\r\n   {\r\n      RECT rect;\r\n\r\n      item = (DWORD)SendMessage(hwndLB, LB_GETCURSEL, 0, 0);\r\n      SendMessage(hwndLB, LB_GETITEMRECT, (WPARAM)LOWORD(item), (LPARAM)&rect);\r\n      pt.x = rect.left;\r\n      pt.y = rect.bottom;\r\n      ClientToScreen(hwnd, &pt);\r\n      lParam = POINTTOPOINTS(pt);\r\n   }\r\n   else\r\n   {\r\n      POINTSTOPOINT(pt, lParam);\r\n\r\n      ScreenToClient(hwndLB, &pt);\r\n      item = (DWORD)SendMessage(hwndLB, LB_ITEMFROMPOINT, 0, POINTTOPOINTS(pt));\r\n\r\n      if (HIWORD(item) == 0)\r\n      {\r\n         HWND hwndTree, hwndParent;\r\n\r\n         SetFocus(hwnd);\r\n\r\n         hwndParent = GetParent(hwnd);\r\n         hwndTree = HasTreeWindow(hwndParent);\r\n\r\n         // if hwnd is the tree control within the parent window\r\n         if (hwndTree == hwnd) {\r\n            // tree control; do selection differently\r\n            SendMessage(hwndLB, LB_SETCURSEL, (WPARAM)item, 0L);\r\n            SendMessage(hwnd, WM_COMMAND, GET_WM_COMMAND_MPS(0, hwndLB, LBN_SELCHANGE));\r\n         }\r\n         else\r\n         {\r\n            SendMessage(hwndLB, LB_SETSEL, (WPARAM)FALSE, (LPARAM)-1);\r\n            SendMessage(hwndLB, LB_SETSEL, (WPARAM)TRUE, (LPARAM)item);\r\n\r\n            BOOL bDir = FALSE;\r\n            SendMessage(hwnd, FS_GETSELECTION, 5, (LPARAM)&bDir);\r\n            if (bDir)\r\n            {\r\n               EnableMenuItem(hMenu, IDM_EDIT, MF_BYCOMMAND | MF_DISABLED | MF_GRAYED);\r\n            }\r\n         }\r\n      }\r\n   }\r\n\r\n   cmd = TrackPopupMenu(hMenu, TPM_LEFTALIGN | TPM_LEFTBUTTON | TPM_RETURNCMD, GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam), 0, hwnd, NULL);\r\n   if (cmd != 0) {\r\n      PostMessage(hwndFrame, WM_COMMAND, GET_WM_COMMAND_MPS(cmd, 0, 0));\r\n   }\r\n\r\n   DestroyMenu(hMenu);\r\n}\r\n"
  },
  {
    "path": "src/wfdlgs.h",
    "content": "/********************************************************************\r\n\r\n   wfdlgs.h\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#define RUNDLG        10\r\n#define MYPRINTDLG       11\r\n#define ASSOCIATEDLG     12\r\n#define SEARCHDLG     13\r\n#define MOVECOPYDLG      14\r\n#define DELETEDLG     15\r\n#define ATTRIBSDLG       16\r\n#define MAKEDIRDLG       17\r\n#define EXITDLG       18\r\n#define CHOOSEDRIVEDLG      19\r\n#define DISKCOPYDLG      20\r\n#define DISKCOPY2DLG     21\r\n#define DISKCOPYPROGRESSDLG 22\r\n#define DISKLABELDLG     23\r\n#define FORMATDLG     24\r\n#define FORMAT2DLG       25\r\n#define FORMATPROGRESSDLG   26\r\n#define SYSDISKPROGRESSDLG  27\r\n#define CONNECTDLG       28\r\n#define PREVIOUSDLG      29\r\n#define OTHERDLG      30\r\n#define SORTBYDLG     31\r\n#define INCLUDEDLG       32\r\n#define CONFIRMDLG       33\r\n#define PREFDLG          34\r\n#define DMSTATUSDLG      35\r\n#define PRTDLG        36\r\n#define CHOOSENETDRIVEDLG   37\r\n#define MULTIPLEATTRIBSDLG 38\r\n#define CONFIRMREPLACE     39\r\n#define CONFIRMDELETE      40\r\n#define CONFIRMRMDIR    41\r\n#define CONFIRMMOVE     42\r\n#define CONFIRMRENAME      43\r\n#define SELECTDLG    44\r\n#define DRIVEDLG     45\r\n#define LFNTOFATDLG     46\r\n#define CHOOSESYSDRIVEDLG       47\r\n#define ATTRIBSDLGDIR         48\r\n#define FONTDLG              49    // was 145 and etc.\r\n#define CANCELDLG            50\r\n#define CONFIRMNOACCESS      51\r\n#define CONFIRMNOACCESSDEST  52\r\n#define SEARCHPROGDLG        53\r\n\r\n// #define COPYTOCLIPBOARDDLG   54\r\n\r\n#define ASSOCIATEFILEDLG        55\r\n#define ASSOCIATEFILEDLGCONFIG  56   // Same dialog\r\n\r\n#define COMPRESSPROGDLG         57  //  Compression progress dialogs\r\n#define UNCOMPRESSPROGDLG       58\r\n#define COMPRESSERRDLG          59  //  Compression Error Dialog\r\n\r\n#define GOTODIRDLG              60\r\n#define ABOUTDLG                61\r\n#define FORMATSELECTDLG         62\r\n\r\n#define IDD_TEXT      -1\r\n#define IDD_TEXT1     100\r\n#define IDD_DIR       101\r\n#define IDD_FROM      102\r\n#define IDD_TO        103\r\n#define IDD_STATUS    104\r\n#define IDD_DATE1     105\r\n#define IDD_DATE2     106\r\n#define IDD_YESALL    107\r\n#define IDD_TOSTATUS  108\r\n#define IDD_TONAME    109\r\n#define IDD_TEXT2     111\r\n#define IDD_IGNOREALL 112\r\n#define IDD_VERTEXT   113\r\n\r\n// next five match IDM_BYNAME list\r\n#define IDD_NAME      201\r\n#define IDD_TYPE      202\r\n#define IDD_SIZE      203\r\n#define IDD_DATE      204\r\n#define IDD_FDATE     205\r\n\r\n#define IDD_TIME      299\r\n#define IDD_FLAGS     206\r\n\r\n#define IDD_DOSNAMES  266\r\n\r\n#define IDD_UPPERCASE       207\r\n#define IDD_SETDEFAULT      208\r\n#define IDD_ASSOC     209\r\n#define IDD_PROGRAMS     210\r\n#define IDD_DOCS      211\r\n#define IDD_OTHER     212\r\n#define IDD_FOUND     213\r\n#define IDD_LOAD      214\r\n#define IDD_READONLY     215\r\n#define IDD_HIDDEN       216\r\n#define IDD_ARCHIVE      217\r\n#define IDD_SYSTEM       218\r\n#define IDD_DELETE       219\r\n#define IDD_SUBDEL       220\r\n#define IDD_REPLACE      221\r\n#define IDD_DRIVE     222\r\n#define IDD_PATH      223\r\n#define IDD_PASSWORD     224\r\n#define IDD_ADDPREV      225\r\n#define IDD_PREV      226\r\n#define IDD_NETBROWSE       227\r\n#define IDD_SERVERS      228\r\n#define IDD_SHARES       229\r\n#define IDD_SAVESETTINGS    231\r\n#define IDD_SEARCHALL       232\r\n#define IDD_INCLUDEDIRS  233\r\n#define IDD_HIGHCAP      241\r\n#define IDD_MAKESYS      242\r\n#define IDD_PROGRESS     243\r\n#define IDD_VERIFY       244\r\n#define IDD_DRIVE1       245\r\n#define IDD_DRIVE2       246\r\n#define IDD_DRIVE3       247\r\n#define IDD_DRIVE4       248\r\n#define IDD_MOUSE     249\r\n#define IDD_SHOWHIDDEN      250\r\n#define IDD_CONFIG       251\r\n#define IDD_CLOSE     252\r\n#define IDD_PERM      253\r\n#define IDD_HELP      254\r\n#define IDD_DISCONNECT      255\r\n#define IDD_COPYTOCLIP      256\r\n#define IDD_COPYTOFILE      257\r\n\r\n#define IDD_VERLABEL     258\r\n#define IDD_VERSION      259\r\n#define IDD_SIZELABEL       260\r\n#define IDD_NAMELABEL       261\r\n#define IDD_VERSION_FRAME   262\r\n#define IDD_VERSION_KEY     263\r\n#define IDD_VERSION_VALUE   264\r\n#define IDD_COPYRIGHT       265\r\n\r\n// Just to remind people...\r\n// #define IDD_DOSNAMES     266\r\n\r\n#define IDD_COMPRESSED      267\r\n#define IDD_CSIZELABEL      268\r\n#define IDD_CSIZE           269\r\n#define IDD_CRATIOLABEL     270\r\n#define IDD_CRATIO          271\r\n\r\n#define IDD_RUNAS           272\r\n\r\n#define IDD_SHOWJUNCTION    273\r\n\r\n#define IDD_EDITOR          274\r\n#define IDC_EDITOR          275\r\n#define IDC_VSTYLE          276\r\n#define IDC_LANGCB          277\r\n#define IDC_GOTO            278\r\n#define IDC_MIRROR            280\r\n\r\n#define IDD_ENCRYPTED       279\r\n\r\n#define IDD_NEW             300\r\n#define IDD_DESC            301\r\n#define IDD_DESCTEXT        302\r\n#define IDD_ADD             303\r\n#define IDD_COMMAND         304\r\n#define IDD_ADVANCED        305\r\n#define IDD_ACTION          306\r\n#define IDD_DDE             308\r\n#define IDD_DDEMESG         309\r\n#define IDD_DDEAPP          310\r\n#define IDD_DDENOTRUN       311\r\n#define IDD_DDETOPIC        312\r\n\r\n#define IDD_COMMANDTEXT     313\r\n\r\n#define IDD_CLASSLIST       314\r\n\r\n#define IDD_EXT             315\r\n#define IDD_EXTTEXT         316\r\n#define IDD_EXTLIST         317\r\n\r\n#define IDD_BROWSE          318\r\n\r\n#define IDD_DDEMESGTEXT        320\r\n#define IDD_DDEAPPTEXT         321\r\n#define IDD_DDENOTRUNTEXT      322\r\n#define IDD_DDETOPICTEXT       323\r\n#define IDD_DDEOPTIONALTEXT    324\r\n\r\n#define IDD_COMPRESS_FILE      341\r\n#define IDD_COMPRESS_DIR       342\r\n#define IDD_COMPRESS_TDIRS     343\r\n#define IDD_COMPRESS_TFILES    344\r\n#define IDD_COMPRESS_USIZE     345\r\n#define IDD_COMPRESS_CSIZE     346\r\n#define IDD_COMPRESS_RATIO     347\r\n#define IDD_UNCOMPRESS_FILE    351\r\n#define IDD_UNCOMPRESS_DIR     352\r\n#define IDD_UNCOMPRESS_TDIRS   353\r\n#define IDD_UNCOMPRESS_TFILES  354\r\n\r\n#define IDD_GOTODIR        355\r\n#define IDD_GOTOLIST       356\r\n#define IDD_SELECTDRIVE    357\r\n\r\n#define IDD_ASSOCFIRST     100\r\n#define IDD_ASSOCLAST      109\r\n\r\n\r\n#define IDD_HIDE           110\r\n\r\n\r\n#define IDD_NETWORKFIRST   500\r\n\r\n// dialog item IDs\r\n#define IDD_MYTEXT     4000\r\n#define IDD_GASGAUGE   4001\r\n\r\n#define IDD_KK_TEXTTO         2001\r\n#define IDD_KK_TEXTFROM       2002\r\n\r\n#define IDD_DIRS              2003\r\n\r\n"
  },
  {
    "path": "src/wfdlgs2.c",
    "content": "/********************************************************************\r\n\r\n   wfdlgs2.c\r\n\r\n   More Windows File System Dialog procedures\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n#include \"lfn.h\"\r\n#include \"wfcopy.h\"\r\n#include \"wnetcaps.h\"         // WNetGetCaps()\r\n#include \"commdlg.h\"\r\n#include \"resize.h\"\r\n\r\n\r\n\r\nBOOL (*lpfnGetFileVersionInfoW)(LPWSTR, DWORD, DWORD, LPVOID);\r\nDWORD (*lpfnGetFileVersionInfoSizeW)(LPWSTR, LPDWORD);\r\nBOOL (*lpfnVerQueryValueW)(const LPVOID, LPWSTR, LPVOID*, LPDWORD);\r\nBOOL (*lpfnVerQueryValueIndexW)(const LPVOID, LPWSTR, INT, LPVOID*, LPVOID*, LPDWORD);\r\n\r\n#define VERSION_DLL TEXT(\"version.dll\")\r\n\r\n// LATER: replace these with ordinal numbers\r\n\r\n#define VERSION_GetFileVersionInfoW     \"GetFileVersionInfoW\"\r\n#define VERSION_GetFileVersionInfoSizeW \"GetFileVersionInfoSizeW\"\r\n#define VERSION_VerQueryValueW          \"VerQueryValueW\"\r\n#define VERSION_VerQueryValueIndexW     \"VerQueryValueIndexW\"\r\n\r\n#define GetFileVersionInfoW     (*lpfnGetFileVersionInfoW)\r\n#define GetFileVersionInfoSizeW (*lpfnGetFileVersionInfoSizeW)\r\n#define VerQueryValueW          (*lpfnVerQueryValueW)\r\n#define VerQueryValueIndexW      (*lpfnVerQueryValueIndexW)\r\n\r\nVOID CheckAttribsDlgButton(HWND hDlg, INT id, DWORD dwAttribs, DWORD dwAttribs3State, DWORD dwAttribsOn);\r\nBOOL NoQuotes(LPTSTR szT);\r\n\r\n\r\n// Return pointers to various bits of a path.\r\n// ie where the dir name starts, where the filename starts and where the\r\n// params are.\r\nVOID\r\nGetPathInfo(LPTSTR szTemp, LPTSTR *ppDir, LPTSTR *ppFile, LPTSTR *ppPar)\r\n{\r\n   // handle quoted things\r\n   BOOL bInQuotes=FALSE;\r\n\r\n   // strip leading spaces\r\n\r\n   for (*ppDir = szTemp; **ppDir == CHAR_SPACE; (*ppDir)++)\r\n      ;\r\n\r\n   // locate the parameters\r\n\r\n   // Use bInQuotes and add if clause\r\n   for (*ppPar = *ppDir; **ppPar && (**ppPar != CHAR_SPACE || bInQuotes) ; (*ppPar)++)\r\n      if ( CHAR_DQUOTE == **ppPar ) bInQuotes = !bInQuotes;\r\n\r\n   // locate the start of the filename and the extension.\r\n\r\n   for (*ppFile = *ppPar; *ppFile > *ppDir; --(*ppFile)) {\r\n      if (((*ppFile)[-1] == CHAR_COLON) || ((*ppFile)[-1] == CHAR_BACKSLASH))\r\n         break;\r\n   }\r\n}\r\n\r\n\r\n//\r\n// Strips off the path portion and replaces the first part of an 8-dot-3\r\n// filename with an asterisk.\r\n//\r\n\r\nVOID\r\nStarFilename(LPTSTR pszPath)\r\n{\r\n   LPTSTR p;\r\n   TCHAR szTemp[MAXPATHLEN];\r\n\r\n   // Remove any leading path information.\r\n   StripPath(pszPath);\r\n\r\n   lstrcpy(szTemp, pszPath);\r\n\r\n   p=GetExtension(szTemp);\r\n\r\n   if (*p) {\r\n      pszPath[0] = CHAR_STAR;\r\n      lstrcpy(pszPath+1, p-1);\r\n   } else {\r\n      lstrcpy(pszPath, szStarDotStar);\r\n   }\r\n}\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  SearchDlgProc() -                                                       */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nINT_PTR\r\nCALLBACK\r\nSearchDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n   LPTSTR     p;\r\n   MDICREATESTRUCT   MDICS;\r\n   TCHAR szStart[MAXFILENAMELEN];\r\n\r\n   if (ResizeDialogProc(hDlg, wMsg, wParam, lParam)) {\r\n      return TRUE;\r\n   }\r\n\r\n   switch (wMsg)\r\n   {\r\n   case WM_INITDIALOG:\r\n\r\n      SendDlgItemMessage(hDlg, IDD_DIR, EM_LIMITTEXT, COUNTOF(SearchInfo.szSearch) - 1, 0L);\r\n      SendDlgItemMessage(hDlg, IDD_NAME, EM_LIMITTEXT, COUNTOF(szStart) - 1, 0L);\r\n\r\n      GetSelectedDirectory(0, SearchInfo.szSearch);\r\n      SetDlgItemText(hDlg, IDD_DIR, SearchInfo.szSearch);\r\n\r\n      p = GetSelection(1, NULL);\r\n\r\n      if (p) {\r\n         GetNextFile(p, szStart, COUNTOF(szStart));\r\n         StarFilename(szStart);\r\n         SetDlgItemText(hDlg, IDD_NAME, szStart);\r\n         LocalFree((HANDLE)p);\r\n      }\r\n\r\n      CheckDlgButton(hDlg, IDD_SEARCHALL, !SearchInfo.bDontSearchSubs);\r\n      CheckDlgButton(hDlg, IDD_INCLUDEDIRS, SearchInfo.bIncludeSubDirs);\r\n      break;\r\n\r\n   case WM_COMMAND:\r\n      switch (GET_WM_COMMAND_ID(wParam, lParam)) {\r\n\r\n      case IDD_HELP:\r\n         goto DoHelp;\r\n\r\n      case IDCANCEL:\r\n         EndDialog(hDlg, FALSE);\r\n         break;\r\n\r\n      case IDOK:\r\n\r\n         GetDlgItemText(hDlg, IDD_DIR, SearchInfo.szSearch, COUNTOF(SearchInfo.szSearch));\r\n         QualifyPath(SearchInfo.szSearch);\r\n\r\n         GetDlgItemText(hDlg, IDD_DATE, szStart, COUNTOF(szStart));\r\n         SearchInfo.ftSince.dwHighDateTime = SearchInfo.ftSince.dwLowDateTime = 0;\r\n         if (lstrlen(szStart) != 0)\r\n         {\r\n            DATE date;\r\n            SYSTEMTIME st;\r\n            FILETIME ftLocal;\r\n            HRESULT hr = VarDateFromStr(szStart, lcid, 0, &date);\r\n            BOOL b1 = VariantTimeToSystemTime(date, &st);\r\n            BOOL b2 = SystemTimeToFileTime(&st, &ftLocal);\r\n\r\n            // SearchInfo.ftSince is in UTC (as are FILETIME in files to which this will be compared)\r\n            BOOL b3 = LocalFileTimeToFileTime(&ftLocal, &SearchInfo.ftSince);\r\n            if (FAILED(hr) || !b1 || !b2 || !b3) {\r\n               MessageBeep(0);\r\n               break;\r\n            }\r\n         }\r\n\r\n         GetDlgItemText(hDlg, IDD_NAME, szStart, COUNTOF(szStart));\r\n\r\n         KillQuoteTrailSpace(szStart);\r\n\r\n         AppendToPath(SearchInfo.szSearch, szStart);\r\n\r\n         SearchInfo.bDontSearchSubs = !IsDlgButtonChecked(hDlg, IDD_SEARCHALL);\r\n         SearchInfo.bIncludeSubDirs = IsDlgButtonChecked(hDlg, IDD_INCLUDEDIRS);\r\n\r\n         EndDialog(hDlg, TRUE);\r\n\r\n         SearchInfo.iDirsRead = 0;\r\n         SearchInfo.iFileCount = 0;\r\n         SearchInfo.eStatus = SEARCH_NULL;\r\n         SearchInfo.bCancel = FALSE;\r\n\r\n         // Retrieve state of search window\r\n         BOOL bMaximized = FALSE;\r\n         HWND hwndMDIChild = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, (LPARAM)&bMaximized);\r\n\r\n         /* Is the search window already up? */\r\n         if (hwndSearch == NULL) {\r\n            //\r\n            // !! BUGBUG !!\r\n            //\r\n            // This is safe since szMessage = MAXPATHLEN*2+MAXSUGGESTLEN\r\n            // but it's not portable\r\n            //\r\n            LoadString(hAppInstance, IDS_SEARCHTITLE, szMessage, COUNTOF(szMessage));\r\n\r\n            lstrcat(szMessage, SearchInfo.szSearch);\r\n\r\n            // Have the MDIClient create the MDI directory window.\r\n\r\n            MDICS.szClass = szSearchClass;\r\n            MDICS.hOwner = hAppInstance;\r\n            MDICS.szTitle = szMessage;\r\n\r\n            // Create max or normal based on current mdi child\r\n\r\n            MDICS.style = bMaximized ? WS_MAXIMIZE : WS_OVERLAPPED;\r\n            MDICS.x = CW_USEDEFAULT;\r\n            MDICS.y = 0;\r\n            MDICS.cx = CW_USEDEFAULT;\r\n            MDICS.cy = 0;\r\n\r\n            SendMessage(hwndMDIClient, WM_MDICREATE, 0L, (LPARAM)(LPMDICREATESTRUCT)&MDICS);\r\n\r\n            // Forward the attributes to the search window, since hwndSearch was just created by WM_MDICREATE\r\n            SetWindowLongPtr(hwndSearch, GWL_ATTRIBS, GetWindowLongPtr(hwndMDIChild, GWL_ATTRIBS));\r\n         }\r\n\r\n         SendMessage(hwndSearch, FS_CHANGEDISPLAY, CD_PATH, (LPARAM)SearchInfo.szSearch);\r\n\r\n         // Show search window immediatley\r\n         ShowWindow(hwndSearch, bMaximized ? SW_SHOWMAXIMIZED : SW_SHOWNORMAL);\r\n         SetWindowPos(hwndSearch, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);\r\n\r\n         break;\r\n\r\n      default:\r\n         return FALSE;\r\n      }\r\n      break;\r\n\r\n   default:\r\n      if (wMsg == wHelpMessage) {\r\n      DoHelp:\r\n         WFHelp(hDlg);\r\n\r\n         return TRUE;\r\n      }\r\n      else\r\n         return FALSE;\r\n   }\r\n   return TRUE;\r\n}\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  RunDlgProc() -                                                          */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nINT_PTR\r\nCALLBACK\r\nRunDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n  LPTSTR p,pDir,pFile,pPar;\r\n  DWORD ret;\r\n  LPTSTR pDir2;\r\n  TCHAR szTemp[MAXPATHLEN];\r\n  TCHAR szTemp2[MAXPATHLEN];\r\n  TCHAR sz3[MAXPATHLEN];\r\n\r\n  if (ResizeDialogProc(hDlg, wMsg, wParam, lParam)) {\r\n      return TRUE;\r\n  }\r\n\r\n  switch (wMsg)\r\n    {\r\n      case WM_INITDIALOG:\r\n          SetDlgDirectory(hDlg, NULL);\r\n          SetWindowDirectory();          // and really set the DOS current directory\r\n\r\n          SendDlgItemMessage(hDlg, IDD_NAME, EM_LIMITTEXT, COUNTOF(szTemp)-1, 0L);\r\n\r\n          p = GetSelection(1, NULL);\r\n\r\n          if (p) {\r\n              SetDlgItemText(hDlg, IDD_NAME, p);\r\n              LocalFree((HANDLE)p);\r\n          }\r\n          break;\r\n\r\n      case WM_SIZE:\r\n          SetDlgDirectory(hDlg, NULL);\r\n\t  break;\r\n\r\n      case WM_COMMAND:\r\n          switch (GET_WM_COMMAND_ID(wParam, lParam))\r\n            {\r\n              case IDD_HELP:\r\n                  goto DoHelp;\r\n\r\n              case IDCANCEL:\r\n                  EndDialog(hDlg, FALSE);\r\n                  break;\r\n\r\n              case IDOK:\r\n                {\r\n                  BOOL bLoadIt, bRunAs;\r\n\r\n                  GetDlgItemText(hDlg, IDD_NAME, szTemp, COUNTOF(szTemp));\r\n                  GetPathInfo(szTemp, &pDir, &pFile, &pPar);\r\n\r\n                  // copy away parameters\r\n                  lstrcpy(sz3,pPar);\r\n                  *pPar = CHAR_NULL;    // strip the params from the program\r\n\r\n                  // REVIEW HACK Hard code UNC style paths.\r\n                  if (*pDir == CHAR_BACKSLASH && *(pDir+1) == CHAR_BACKSLASH) {\r\n                     // This is a UNC style filename so NULLify directory.\r\n                     pDir2 = NULL;\r\n                  } else {\r\n                     GetSelectedDirectory(0, szTemp2);\r\n                     pDir2 = szTemp2;\r\n                  }\r\n\r\n                  bLoadIt = IsDlgButtonChecked(hDlg, IDD_LOAD);\r\n                  bRunAs = IsDlgButtonChecked(hDlg, IDD_RUNAS);\r\n\r\n                  // Stop SaveBits flickering by invalidating the SaveBitsStuff.\r\n                  // You can't just hide the window because it messes up the\r\n                  // the activation.\r\n\r\n                  SetWindowPos(hDlg, 0, 0, 0, 0, 0, SWP_HIDEWINDOW|SWP_NOACTIVATE|SWP_NOMOVE|SWP_NOSIZE|SWP_NOZORDER);\r\n\r\n                  ret = ExecProgram(pDir, sz3, pDir2, bLoadIt, bRunAs);\r\n                  if (ret) {\r\n                     MyMessageBox(hDlg, IDS_EXECERRTITLE, ret, MB_OK | MB_ICONEXCLAMATION | MB_SYSTEMMODAL);\r\n                     SetWindowPos(hDlg, 0, 0, 0, 0, 0, SWP_SHOWWINDOW|SWP_NOACTIVATE|SWP_NOMOVE|SWP_NOSIZE|SWP_NOZORDER);\r\n                  } else\r\n                      EndDialog(hDlg, TRUE);\r\n                  break;\r\n                }\r\n\r\n              default:\r\n                  return(FALSE);\r\n            }\r\n          break;\r\n\r\n      default:\r\n          if (wMsg == wHelpMessage || wMsg == wBrowseMessage) {\r\nDoHelp:\r\n                WFHelp(hDlg);\r\n\r\n                return TRUE;\r\n          } else\r\n                return FALSE;\r\n    }\r\n  return TRUE;\r\n}\r\n\r\n\r\nVOID\r\nEnableCopy(HWND hDlg, BOOL bCopy)\r\n{\r\n   HWND hwnd;\r\n\r\n   // turn these off\r\n\r\n   hwnd = GetDlgItem(hDlg, IDD_STATUS);\r\n   if (hwnd) {\r\n      EnableWindow(hwnd, !bCopy);\r\n      ShowWindow(hwnd, !bCopy ? SW_SHOWNA : SW_HIDE);\r\n   }\r\n\r\n   hwnd = GetDlgItem(hDlg, IDD_NAME);\r\n   if (hwnd) {\r\n      EnableWindow(hwnd, !bCopy);\r\n      ShowWindow(hwnd, !bCopy ? SW_SHOWNA : SW_HIDE);\r\n   }\r\n}\r\n\r\nVOID\r\nMessWithRenameDirPath(LPTSTR pszPath)\r\n{\r\n   TCHAR szPath[MAXPATHLEN];\r\n   LPTSTR lpsz;\r\n\r\n   // absolute path? don't tamper with it!\r\n\r\n   // Also allow \"\\\"f:\\joe\\me\\\"\"  ( ->   \"f:\\joe\\me  )\r\n\r\n   //\r\n   // !! LATER !!\r\n   //\r\n   // Should we allow backslashes here also ?\r\n   // CheckSlashes(pszPath); or add || clause.\r\n   //\r\n\r\n   lpsz = (CHAR_DQUOTE == pszPath[0]) ?\r\n      pszPath+1 :\r\n      pszPath;\r\n\r\n   if (CHAR_COLON == lpsz[1] && CHAR_BACKSLASH == lpsz[2] ||\r\n      lstrlen(pszPath) > (COUNTOF(szPath) - 4) )\r\n\r\n      return;\r\n\r\n   //\r\n   // prepend \"..\\\" to this non absolute path\r\n   //\r\n   lstrcpy(szPath, TEXT(\"..\\\\\"));\r\n   lstrcat(szPath, pszPath);\r\n   lstrcpy(pszPath, szPath);\r\n}\r\n\r\n//--------------------------------------------------------------------------*/\r\n//                                                                          */\r\n//  SuperDlgProc() -                                                        */\r\n//                                                                          */\r\n//--------------------------------------------------------------------------*/\r\n\r\n// This proc handles the Print, Move, Copy, Delete, and Rename functions.\r\n// The calling routine (AppCommandProc()) sets 'dwSuperDlgMode' before\r\n// calling DialogBox() to indicate which function is being used.\r\n\r\nINT_PTR\r\nCALLBACK\r\nSuperDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n   UINT          len;\r\n   INT           iCtrl;\r\n   LPTSTR        pszFrom;\r\n   //\r\n   // WFMoveCopyDrive tries to append \\*.* to directories and\r\n   // probably other nasty stuff.  2* for safety.\r\n   //\r\n   TCHAR  szTo[2*MAXPATHLEN];\r\n   static BOOL   bTreeHasFocus;\r\n\r\nJAPANBEGIN\r\n   TCHAR         szStr[256];\r\nJAPANEND\r\n\r\n   static PCOPYINFO pCopyInfo;\r\n\r\n\r\n   if (ResizeDialogProc(hDlg, wMsg, wParam, lParam)) {\r\n      return TRUE;\r\n   }\r\n\r\n   switch (wMsg) {\r\n   case WM_INITDIALOG:\r\n      {\r\n         LPTSTR  p;\r\n         HWND  hwndActive;\r\n\r\n         pCopyInfo = NULL;\r\n\r\n         SetDlgDirectory(hDlg, NULL);\r\n\r\n         EnableCopy(hDlg, dwSuperDlgMode == IDM_COPY);\r\n\r\n         hwndActive = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n         bTreeHasFocus = (hwndActive != hwndSearch) &&\r\n            (GetTreeFocus(hwndActive) == HasTreeWindow(hwndActive));\r\n\r\n         switch (dwSuperDlgMode) {\r\n\r\n         case IDM_COPY:\r\n\r\n            p = GetSelection(0, NULL);\r\n\r\n            LoadString(hAppInstance, IDS_COPY, szTitle, COUNTOF(szTitle));\r\n            SetWindowText(hDlg, szTitle);\r\n\r\n            LoadString(hAppInstance, IDS_KK_COPYFROMSTR, szStr, COUNTOF(szStr));\r\n            SetDlgItemText(hDlg, IDD_KK_TEXTFROM, szStr);\r\n            LoadString(hAppInstance, IDS_KK_COPYTOSTR, szStr, COUNTOF(szStr));\r\n            SetDlgItemText(hDlg, IDD_KK_TEXTTO, szStr);\r\n\r\n            break;\r\n         case IDM_HARDLINK:\r\n\r\n            p = GetSelection(0, NULL);\r\n\r\n            LoadString(hAppInstance, IDS_HARDLINK, szTitle, COUNTOF(szTitle));\r\n            SetWindowText(hDlg, szTitle);\r\n\r\n            LoadString(hAppInstance, IDS_KK_HARDLINKFROMSTR, szStr, COUNTOF(szStr));\r\n            SetDlgItemText(hDlg, IDD_KK_TEXTFROM, szStr);\r\n            LoadString(hAppInstance, IDS_KK_HARDLINKTOSTR, szStr, COUNTOF(szStr));\r\n            SetDlgItemText(hDlg, IDD_KK_TEXTTO, szStr);\r\n\r\n            break;\r\n         case IDM_SYMLINK:\r\n\r\n            p = GetSelection(0, NULL);\r\n\r\n            LoadString(hAppInstance, IDS_SYMLINK, szTitle, COUNTOF(szTitle));\r\n            SetWindowText(hDlg, szTitle);\r\n\r\n            LoadString(hAppInstance, IDS_KK_SYMLINKFROMSTR, szStr, COUNTOF(szStr));\r\n            SetDlgItemText(hDlg, IDD_KK_TEXTFROM, szStr);\r\n            LoadString(hAppInstance, IDS_KK_SYMLINKTOSTR, szStr, COUNTOF(szStr));\r\n            SetDlgItemText(hDlg, IDD_KK_TEXTTO, szStr);\r\n\r\n            break;\r\n         case IDM_RENAME:\r\n\r\n            LoadString(hAppInstance, IDS_RENAME, szTitle, COUNTOF(szTitle));\r\n            SetWindowText(hDlg, szTitle);\r\n\r\n            LoadString(hAppInstance, IDS_KK_RENAMEFROMSTR, szStr, COUNTOF(szStr));\r\n            SetDlgItemText(hDlg, IDD_KK_TEXTFROM, szStr);\r\n            LoadString(hAppInstance, IDS_KK_RENAMETOSTR, szStr, COUNTOF(szStr));\r\n            SetDlgItemText(hDlg, IDD_KK_TEXTTO, szStr);\r\n\r\n            // when renaming the current directory we cd up a level\r\n            // (not really) and apply the appropriate adjustments\r\n\r\n            if (bTreeHasFocus) {\r\n\r\n               p = GetSelection(16, NULL);\r\n               lstrcpy(szTo, p);\r\n               StripFilespec(szTo);\r\n\r\n               SetDlgDirectory(hDlg, szTo);  // make the user think this!\r\n               StripPath(p);                 // name part of dir\r\n\r\n               CheckEsc(p);\r\n            } else {\r\n               p = GetSelection(0, NULL);\r\n            }\r\n\r\n            break;\r\n\r\n         default:\r\n\r\n            p=GetSelection(0, NULL);\r\n         }\r\n\r\n         SetDlgItemText(hDlg, IDD_FROM, p);\r\n\r\n         if ((dwSuperDlgMode == IDM_PRINT) || (dwSuperDlgMode == IDM_DELETE))\r\n            iCtrl = IDD_FROM;\r\n         else\r\n         {\r\n            TCHAR szDirs[MAXPATHLEN];\r\n            LPTSTR rgszDirs[MAX_DRIVES];\r\n            int drive, driveCur;\r\n            BOOL fFirst = TRUE;\r\n            \r\n            iCtrl = IDD_TO;\r\n            if (dwSuperDlgMode == IDM_RENAME)\r\n                SetDlgItemText(hDlg, IDD_TO, p);\r\n\r\n            driveCur = (int)GetWindowLongPtr(hwndActive, GWL_TYPE);\r\n\r\n            LoadString(hAppInstance, IDS_CURDIRSARE, szDirs, COUNTOF(szDirs));\r\n\r\n            GetAllDirectories(rgszDirs);\r\n\r\n            for (drive = 0; drive < MAX_DRIVES; drive++)\r\n            {\r\n                if (drive != driveCur && rgszDirs[drive] != NULL)\r\n                {\r\n                    if (!fFirst)\r\n                    {\r\n                        wcsncat_s(szDirs, MAXPATHLEN, TEXT(\";\"), 1);\r\n                    }\r\n                    fFirst = FALSE;\r\n\r\n                    // NOTE: this call may truncate the result that goes in szDirs,\r\n                    // but due to the limited width of the dialog, we can't see it all anyway.\r\n                    wcsncat_s(szDirs, MAXPATHLEN, rgszDirs[drive], _TRUNCATE);\r\n\r\n                    LocalFree(rgszDirs[drive]);\r\n                }\r\n            }\r\n\r\n            SetDlgItemText(hDlg, IDD_DIRS, szDirs);\r\n         }\r\n\r\n         SendDlgItemMessage(hDlg, iCtrl, EM_LIMITTEXT, COUNTOF(szTo) - 1, 0L);\r\n         LocalFree((HANDLE)p);\r\n         break;\r\n      }\r\n\r\n   case WM_SIZE:\r\n      {\r\n         SetDlgDirectory(hDlg, NULL);\r\n\t break;\r\n      }\r\n\r\n   case WM_NCACTIVATE:\r\n      if (IDM_RENAME == dwSuperDlgMode) {\r\n         size_t ich1, ich2;\r\n         LPWSTR pchDot;\r\n\r\n         GetDlgItemText(hDlg, IDD_TO, szTo, COUNTOF(szTo));\r\n         ich1 = 0;\r\n         ich2 = wcslen(szTo);\r\n\r\n         // Search for extension\r\n         pchDot = wcsrchr(szTo, '.');\r\n         if (pchDot != NULL) {\r\n            TCHAR szTemp[MAXPATHLEN];\r\n            lstrcpy(szTemp, szTo);\r\n            QualifyPath(szTemp);\r\n\r\n            // Is this a file or directory\r\n            if (GetFileAttributes(szTemp) & FILE_ATTRIBUTE_DIRECTORY) {\r\n               if (szTo[ich2 - 1] == '\\\"')\r\n                  ich2--;\r\n            }\r\n            else {\r\n               ich2 = pchDot - szTo;\r\n            }\r\n         }\r\n         // Make sure we handle \" properly with selection\r\n         if (*szTo == '\\\"') {\r\n            ich1 = 1;\r\n            if (pchDot == NULL)\r\n               ich2--;\r\n         }\r\n         SendDlgItemMessage(hDlg, IDD_TO, EM_SETSEL, ich1, ich2);\r\n      }\r\n      return FALSE;\r\n      \r\n   case FS_COPYDONE:\r\n\r\n      //\r\n      // Only cancel out if pCopyInfo == lParam\r\n      // This indicates that the proper thread quit.\r\n      //\r\n      // wParam holds return value\r\n      //\r\n\r\n      if (lParam == (LPARAM)pCopyInfo) {\r\n         SPC_SET_HITDISK(qFreeSpace);     // force status info refresh\r\n\r\n         EndDialog(hDlg, wParam);\r\n      }\r\n      break;\r\n\r\n\r\n   case WM_COMMAND:\r\n      switch (GET_WM_COMMAND_ID(wParam, lParam)) {\r\n\r\n      case IDD_HELP:\r\n         goto DoHelp;\r\n\r\n      case IDCANCEL:\r\n\r\n         if (pCopyInfo)\r\n            pCopyInfo->bUserAbort = TRUE;\r\n\r\nSuperDlgExit:\r\n\r\n         EndDialog(hDlg, 0);\r\n         break;\r\n\r\n      case IDOK:\r\n\r\n         len = (UINT)(SendDlgItemMessage(hDlg, IDD_FROM, EM_LINELENGTH,\r\n            (WPARAM)-1, 0L) + 1);\r\n\r\n         //\r\n         // make sure the pszFrom buffer is big enough to\r\n         // add the \"..\\\" stuff in MessWithRenameDirPath()\r\n         //\r\n         len += 4;\r\n\r\n         pszFrom = (LPTSTR)LocalAlloc(LPTR, ByteCountOf(len));\r\n         if (!pszFrom)\r\n            goto SuperDlgExit;\r\n\r\n         GetDlgItemText(hDlg, IDD_FROM, pszFrom, len);\r\n         GetDlgItemText(hDlg, IDD_TO, szTo, COUNTOF(szTo));\r\n\r\n         //\r\n         // if dwSuperDlgMode is copy, rename, symlink, hardlink, or move, do checkesc.\r\n         // Only if no quotes in string!\r\n         //\r\n         switch (dwSuperDlgMode) {\r\n         case IDM_RENAME:\r\n         case IDM_MOVE:\r\n         case IDM_COPY:\r\n         case IDM_SYMLINK:\r\n         case IDM_HARDLINK:\r\n            if (NoQuotes(szTo))\r\n               CheckEsc(szTo);\r\n         }\r\n\r\n         if (!szTo[0]) {\r\n             switch (dwSuperDlgMode) {\r\n                 case IDM_RENAME:\r\n                 case IDM_MOVE:\r\n                 case IDM_COPY:\r\n                 case IDM_SYMLINK:\r\n                 case IDM_HARDLINK:\r\n                 {\r\n                     szTo[0] = CHAR_DOT;\r\n                     szTo[1] = CHAR_NULL;\r\n                     break;\r\n                 }\r\n             }\r\n         }\r\n\r\n         EnableCopy(hDlg, FALSE);\r\n\r\n         hdlgProgress = hDlg;\r\n         if (dwSuperDlgMode == IDM_PRINT) {\r\n            WFPrint(pszFrom);\r\n\r\n            LocalFree(pszFrom);\r\n            goto SuperDlgExit;\r\n\r\n         } else {\r\n\r\n            if (dwSuperDlgMode == IDM_RENAME && bTreeHasFocus) {\r\n               MessWithRenameDirPath(pszFrom);\r\n               MessWithRenameDirPath(szTo);\r\n            }\r\n\r\n            //\r\n            // Setup pCopyInfo structure\r\n            //\r\n            // Note that everything must be malloc'd!!\r\n            // (Freed by thread)\r\n            //\r\n\r\n            pCopyInfo = (PCOPYINFO) LocalAlloc(LPTR, sizeof(COPYINFO));\r\n\r\n            if (!pCopyInfo) {\r\n\r\nError:\r\n               FormatError(TRUE, szMessage, COUNTOF(szMessage), GetLastError());\r\n               LoadString(hAppInstance, IDS_WINFILE, szTitle, COUNTOF(szTitle));\r\n\r\n               MessageBox(hwndFrame, szMessage, szTitle, MB_OK | MB_ICONEXCLAMATION);\r\n\r\n               LocalFree(pszFrom);\r\n               goto SuperDlgExit;\r\n            }\r\n\r\n            pCopyInfo->pFrom = pszFrom;\r\n            pCopyInfo->pTo = (LPTSTR) LocalAlloc(LMEM_FIXED, sizeof(szTo));\r\n\r\n            if (!pCopyInfo->pTo) {\r\n\r\n               goto Error;\r\n            }\r\n\r\n            // Map IDM_* to FUNC_*\r\n            switch (dwSuperDlgMode) {\r\n            case IDM_MOVE:\r\n               pCopyInfo->dwFunc = FUNC_MOVE;\r\n               break;\r\n            case IDM_COPY:\r\n               pCopyInfo->dwFunc = FUNC_COPY;\r\n               break;\r\n            case IDM_DELETE:\r\n               pCopyInfo->dwFunc = FUNC_DELETE;\r\n               break;\r\n            case IDM_RENAME:\r\n               pCopyInfo->dwFunc = FUNC_RENAME;\r\n               break;\r\n            case IDM_SYMLINK:\r\n               pCopyInfo->dwFunc = FUNC_LINK;\r\n               break;\r\n            case IDM_HARDLINK:\r\n                pCopyInfo->dwFunc = FUNC_HARD;\r\n               break;\r\n            }\r\n\r\n            pCopyInfo->bUserAbort = FALSE;\r\n\r\n            lstrcpy(pCopyInfo->pTo, szTo);\r\n\r\n            //\r\n            // Move/Copy things.\r\n            //\r\n            if (WFMoveCopyDriver(pCopyInfo)) {\r\n\r\n               LoadString(hAppInstance,\r\n                          IDS_COPYERROR + pCopyInfo->dwFunc,\r\n                          szTitle,\r\n                          COUNTOF(szTitle));\r\n\r\n               FormatError(TRUE, szMessage, COUNTOF(szMessage), GetLastError());\r\n\r\n               MessageBox(hDlg, szMessage, szTitle, MB_ICONSTOP|MB_OK);\r\n\r\n               EndDialog(hDlg, GetLastError());\r\n\r\n            } else {\r\n\r\n               //\r\n               // Disable all but the cancel button on the notify dialog\r\n               //\r\n               DialogEnterFileStuff(hdlgProgress);\r\n            }\r\n         }\r\n         break;\r\n\r\n      default:\r\n         return(FALSE);\r\n      }\r\n      break;\r\n\r\n   default:\r\n      if (wMsg == wHelpMessage) {\r\nDoHelp:\r\n         WFHelp(hDlg);\r\n\r\n         return TRUE;\r\n      } else {\r\n         return FALSE;\r\n      }\r\n   }\r\n   return TRUE;\r\n}\r\n\r\n\r\nVOID\r\nCheckAttribsDlgButton(\r\n   HWND hDlg,\r\n   INT id,\r\n   DWORD dwAttribs,\r\n   DWORD dwAttribs3State,\r\n   DWORD dwAttribsOn)\r\n{\r\n   INT i;\r\n\r\n   if (dwAttribs3State & dwAttribs)\r\n      i = 2;\r\n   else if (dwAttribsOn & dwAttribs)\r\n      i = 1;\r\n   else\r\n      i = 0;\r\n\r\n   CheckDlgButton(hDlg, id, i);\r\n}\r\n\r\n// The following data structure associates a version stamp datum\r\n// name (which is not localized) with a string ID.  This is so we\r\n// can show translations of these names to the user.\r\n\r\nstruct vertbl {\r\n    WCHAR *pszName;\r\n    WORD idString;\r\n};\r\n\r\n//  Note that version stamp datum names are NEVER internationalized,\r\n//  so the following literal strings are just fine.\r\n\r\n#define MAX_VERNAMES 10\r\nstruct vertbl vernames[MAX_VERNAMES] = {\r\n    { L\"Comments\",          IDS_VN_COMMENTS },\r\n    { L\"CompanyName\",       IDS_VN_COMPANYNAME },\r\n    { L\"FileDescription\",   IDS_VN_FILEDESCRIPTION },\r\n    { L\"InternalName\",      IDS_VN_INTERNALNAME },\r\n    { L\"LegalTrademarks\",   IDS_VN_LEGALTRADEMARKS },\r\n    { L\"OriginalFilename\",  IDS_VN_ORIGINALFILENAME },\r\n    { L\"PrivateBuild\",      IDS_VN_PRIVATEBUILD },\r\n    { L\"ProductName\",       IDS_VN_PRODUCTNAME },\r\n    { L\"ProductVersion\",    IDS_VN_PRODUCTVERSION },\r\n    { L\"SpecialBuild\",      IDS_VN_SPECIALBUILD }\r\n};\r\n\r\nDWORD dwHandle;         // version subsystem handle\r\nHANDLE hmemVersion=0;   // global handle for version data buffer\r\nLPTSTR lpVersionBuffer; // pointer to version data\r\nDWORD dwVersionSize;    // size of the version data\r\nTCHAR szVersionKey[60]; // big enough for anything we need\r\nLPWORD lpXlate;         // ptr to translations data\r\nUINT cXlate;            // count of translations\r\nLPWSTR pszXlate = NULL;\r\nUINT cchXlateString;\r\n\r\n#define LANGLEN          45    // characters per language\r\n\r\n#define VER_KEY_END      25    // length of \"\\StringFileInfo\\xxxx\\yyyy\" (chars)\r\n#define VER_BLOCK_OFFSET 24    // to get block size (chars)\r\n\r\n// (not localized)\r\nTCHAR szFileVersion[]    = TEXT(\"FileVersion\");\r\nTCHAR szLegalCopyright[] = TEXT(\"LegalCopyright\");\r\n\r\nWCHAR wszFileVersion[] = L\"FileVersion\";\r\nWCHAR wszLegalCopyright[] = L\"LegalCopyright\";\r\n\r\nvoid FreeVersionInfo(void);\r\n\r\n\r\n// Disables the version controls in a properties dialog.  Used for\r\n// when the selection is a directory and also when a file has no\r\n// version stamps.\r\n\r\nVOID\r\nDisableVersionCtls(HWND hDlg)\r\n{\r\n   EnableWindow(GetDlgItem(hDlg, IDD_VERSION_FRAME), FALSE);\r\n   EnableWindow(GetDlgItem(hDlg, IDD_VERSION_KEY), FALSE);\r\n   EnableWindow(GetDlgItem(hDlg, IDD_VERSION_VALUE), FALSE);\r\n}\r\n\r\n\r\n// Gets a particular datum about a file.  The file's version info\r\n// should have already been loaded by GetVersionInfo.  If no datum\r\n// by the specified name is available, NULL is returned.  The name\r\n// specified should be just the name of the item itself;  it will\r\n// be concatenated onto \"\\StringFileInfo\\xxxxyyyy\\\" automatically.\r\n\r\n// Version datum names are not localized, so it's OK to pass literals\r\n// such as \"FileVersion\" to this function.\r\n\r\nLPTSTR\r\nGetVersionDatum(LPTSTR pszName)\r\n{\r\n   DWORD cbValue=0;\r\n   LPTSTR lpValue;\r\n\r\n   if (!hmemVersion)\r\n      return NULL;\r\n\r\n   lstrcpy(szVersionKey + VER_KEY_END, pszName);\r\n\r\n   VerQueryValueW(lpVersionBuffer, szVersionKey, (LPVOID*)&lpValue, &cbValue);\r\n\r\n   return (cbValue != 0) ? lpValue : NULL;\r\n}\r\n\r\n// Initialize version information for the properties dialog.  The\r\n// above global variables are initialized by this function, and\r\n// remain valid (for the specified file only) until FreeVersionInfo\r\n// is called.\r\n\r\n// Try in the following order\r\n//\r\n// 1. Current language winfile is running in.\r\n// 2. English, 0409 codepage\r\n// 3. English, 0000 codepage\r\n// 4. First translation in resource\r\n//    \"\\VarFileInfo\\Translations\" section\r\n\r\n// GetVersionInfo returns LPTSTR if the version info was read OK,\r\n// otherwise NULL.  If the return is NULL, the buffer may still\r\n// have been allocated;  always call FreeVersionInfo to be safe.\r\n//\r\n// pszPath is modified by this call (pszName is appended).\r\n//\r\n// Note, Codepage is bogus, since everything is really in unicode.\r\n// Note, Language is bogus, since FindResourceEx takes a language already...\r\n\r\n\r\nLPTSTR\r\nGetVersionInfo(PTSTR pszPath, PTSTR pszName)\r\n{\r\n   DWORD cbValue=0;\r\n   DWORD cbValueTranslation=0;\r\n   LPTSTR lpszValue=NULL;\r\n\r\n   static bDLLFail = FALSE;\r\n\r\n   if (!hVersion) {\r\n\r\n      hVersion = LoadSystemLibrary(VERSION_DLL);\r\n\r\n      if (!hVersion) {\r\n         bDLLFail = TRUE;\r\n         return NULL;\r\n      }\r\n\r\n#define GET_PROC(x) \\\r\n   if (!(lpfn##x = (PVOID) GetProcAddress(hVersion,VERSION_##x))) {\\\r\n      bDLLFail = TRUE; \\\r\n      return NULL; }\r\n\r\n      GET_PROC(GetFileVersionInfoW);\r\n      GET_PROC(GetFileVersionInfoSizeW);\r\n      GET_PROC(VerQueryValueW);\r\n      GET_PROC(VerQueryValueIndexW);\r\n   }\r\n\r\n   if (bDLLFail)\r\n      return NULL;\r\n\r\n#undef GET_PROC\r\n\r\n   //\r\n   // Just in case, free old version buffer.\r\n   //\r\n   if (hmemVersion)\r\n      FreeVersionInfo();\r\n\r\n   AddBackslash(pszPath);\r\n\r\n   // pszPath = fully qualified name\r\n   lstrcat(pszPath, pszName);\r\n\r\n   dwVersionSize = GetFileVersionInfoSizeW(pszPath, &dwHandle);\r\n\r\n   if (dwVersionSize == 0L)\r\n      // no version info\r\n      return NULL;\r\n\r\n   //\r\n   // The value returned from GetFileVersionInfoSize is actually\r\n   // a byte count.\r\n   //\r\n   hmemVersion = GlobalAlloc(GPTR, dwVersionSize);\r\n   if (hmemVersion == NULL)\r\n      // can't get memory for version info, blow out\r\n      return NULL;\r\n\r\n   lpVersionBuffer = GlobalLock(hmemVersion);\r\n\r\n   //\r\n   // If we fail, just return NULL. hmemVersion will be freed the next\r\n   // time we do a version call.\r\n   //\r\n   if (!GetFileVersionInfoW(pszPath, dwHandle, dwVersionSize, lpVersionBuffer))\r\n      return NULL;\r\n\r\n   //\r\n   // We must always get the translation since we want to display\r\n   // all the languages anyway.\r\n   //\r\n   VerQueryValue(lpVersionBuffer, TEXT(\"\\\\VarFileInfo\\\\Translation\"),\r\n      (LPVOID*)&lpXlate, &cbValueTranslation);\r\n\r\n   if (cbValueTranslation != 0) {\r\n\r\n      //\r\n      // We found some translations above; use the first one.\r\n      //\r\n      cXlate = cbValueTranslation / sizeof(DWORD);\r\n\r\n      //\r\n      // figure 45 LANGLEN chars per lang name\r\n      //\r\n      cchXlateString = cXlate * LANGLEN;\r\n      pszXlate = (LPWSTR)LocalAlloc(LPTR, ByteCountOf(cchXlateString));\r\n\r\n   } else {\r\n      lpXlate = NULL;\r\n   }\r\n\r\n   //\r\n   // First try the language we are currently in.\r\n   //\r\n   wsprintf(szVersionKey, TEXT(\"\\\\StringFileInfo\\\\%04X04B0\\\\\"),\r\n      LANGIDFROMLCID(lcid));\r\n\r\n   lpszValue = GetVersionDatum(szFileVersion);\r\n\r\n   if (lpszValue != NULL)\r\n      return lpszValue;\r\n\r\n   //\r\n   // Now try the first translation\r\n   //\r\n   if (cbValueTranslation != 0) {\r\n\r\n      wsprintf(szVersionKey, TEXT(\"\\\\StringFileInfo\\\\%04X%04X\\\\\"),\r\n         *lpXlate, *(lpXlate+1));\r\n\r\n      //\r\n      // a required field\r\n      //\r\n      lpszValue = GetVersionDatum(szFileVersion);\r\n\r\n      if (lpszValue != NULL) {\r\n\r\n         //\r\n         // localized key found version data\r\n         //\r\n         return lpszValue;\r\n      }\r\n   }\r\n\r\n\r\n   //\r\n   // Now try the english, unicode\r\n   //\r\n   lstrcpy(szVersionKey, TEXT(\"\\\\StringFileInfo\\\\040904B0\\\\\"));\r\n   lpszValue = GetVersionDatum(szFileVersion);\r\n\r\n   if (lpszValue != NULL)\r\n      return lpszValue;\r\n\r\n\r\n   //\r\n   // Try english with various code pages\r\n   // (04E4) here\r\n   //\r\n   lstrcpy(szVersionKey, TEXT(\"\\\\StringFileInfo\\\\040904E4\\\\\"));\r\n   lpszValue = GetVersionDatum(szFileVersion);\r\n\r\n   if (lpszValue != NULL)\r\n      return lpszValue;             // localized key found version data\r\n\r\n\r\n   //\r\n   // Try english with various code pages\r\n   // (0000) here\r\n   //\r\n   lstrcpy(szVersionKey, TEXT(\"\\\\StringFileInfo\\\\04090000\\\\\"));\r\n   lpszValue = GetVersionDatum(szFileVersion);\r\n\r\n   return lpszValue;\r\n}\r\n\r\n// Frees global version data about a file.  After this call, all\r\n// GetVersionDatum calls will return NULL.  To avoid memory leaks,\r\n// always call this before the main properties dialog exits.\r\n\r\nVOID\r\nFreeVersionInfo(VOID)\r\n{\r\n   lpVersionBuffer = NULL;\r\n   dwHandle = 0L;\r\n   if (hmemVersion) {\r\n      GlobalUnlock(hmemVersion);\r\n      GlobalFree(hmemVersion);\r\n      hmemVersion = 0;\r\n   }\r\n   if (pszXlate) {\r\n      LocalFree((HANDLE)pszXlate);\r\n      pszXlate = NULL;\r\n   }\r\n}\r\n\r\n// Looks for version information on the file.  If none is found,\r\n// leaves the version number label as-is (\"Not marked\").  The\r\n// specific datum displayed is \"FileVersion\" from the \"StringFileInfo\"\r\n// block.\r\n\r\n// Returns TRUE if the file has version stamp information.\r\n\r\nBOOL\r\nFillSimpleVersion(HWND hDlg, LPTSTR lpszValue)\r\n{\r\n   BOOL bRet = TRUE;\r\n\r\n   if (lpszValue != NULL)\r\n      SetDlgItemText(hDlg, IDD_VERSION, lpszValue);\r\n   else {\r\n      DisableVersionCtls(hDlg);\r\n      bRet = FALSE;\r\n   }\r\n\r\n   lpszValue = GetVersionDatum(szLegalCopyright);\r\n\r\n   if (lpszValue != NULL)\r\n      SetDlgItemText(hDlg, IDD_COPYRIGHT, lpszValue);\r\n\r\n   return bRet;\r\n}\r\n\r\n// Fills the version key listbox with all available keys in the\r\n// StringFileInfo block, and sets the version value text to the\r\n// value of the first item.\r\n\r\n\r\nVOID\r\nFillVersionList(HWND hDlg)\r\n{\r\n   LPTSTR lpszKey, lpszValue;\r\n\r\n   DWORD cbValue;\r\n   UINT i, j, cchOffset;\r\n   INT idx;\r\n   HWND hwndLB;\r\n\r\n   hwndLB = GetDlgItem(hDlg, IDD_VERSION_KEY);\r\n\r\n   szVersionKey[VER_KEY_END - 1] = CHAR_NULL;        // strip the backslash\r\n\r\n   for (j=0; VerQueryValueIndexW(lpVersionBuffer,\r\n                                szVersionKey,\r\n                                j,\r\n                                (LPVOID*)&lpszKey,\r\n                                (LPVOID*)&lpszValue,\r\n                                &cbValue);  j++) {\r\n\r\n      if (!lstrcmp(lpszKey, szFileVersion) ||\r\n          !lstrcmp(lpszKey, szLegalCopyright)) {\r\n\r\n          continue;\r\n      }\r\n\r\n      for (i=0; i<MAX_VERNAMES; i++)\r\n         if (!lstrcmp(vernames[i].pszName, lpszKey))\r\n            break;\r\n\r\n      if (i != MAX_VERNAMES && LoadString(hAppInstance, vernames[i].idString, szMessage, COUNTOF(szMessage)))\r\n         lpszKey=szMessage;\r\n\r\n      idx = (INT)SendMessage(hwndLB, LB_ADDSTRING, 0, (LPARAM)lpszKey);\r\n\r\n      //\r\n      // Only add if the value len isn't zero.\r\n      // This is checked in the SendMessage 4th parm.\r\n      //\r\n      if (idx != LB_ERR)\r\n         SendMessage(hwndLB, LB_SETITEMDATA, idx, (LPARAM)lpszValue);\r\n   }\r\n\r\n   //\r\n   // Now look at the \\VarFileInfo\\Translations section and add an\r\n   // item for the language(s) this file supports.\r\n   //\r\n\r\n   if (lpXlate == NULL || pszXlate == NULL)\r\n      goto Done;\r\n\r\n   if (!LoadString(hAppInstance, (cXlate == 1) ? IDS_VN_LANGUAGE : IDS_VN_LANGUAGES,\r\n      szMessage, COUNTOF(szMessage)))\r\n\r\n      goto Done;\r\n\r\n   idx = (INT)SendMessage(hwndLB, LB_ADDSTRING, 0, (LPARAM)szMessage);\r\n   if (idx == LB_ERR)\r\n      goto Done;\r\n\r\n   pszXlate[0] = CHAR_NULL;\r\n   cchOffset = 0;\r\n   for (i=0; i<cXlate; i++) {\r\n      if (cchOffset + 2 > cchXlateString)\r\n         break;\r\n      if (i != 0) {\r\n         lstrcat(pszXlate, TEXT(\", \"));\r\n         cchOffset += 2;\r\n      }\r\n\r\n      if (VerLanguageName(lpXlate[i*2],\r\n                          pszXlate+cchOffset,\r\n                          cchXlateString-cchOffset\r\n                          ) > cchXlateString - cchOffset)\r\n\r\n         break;\r\n\r\n      cchOffset += lstrlen(pszXlate+cchOffset);\r\n   }\r\n   pszXlate[cchXlateString-1] = CHAR_NULL;\r\n\r\n   SendMessage(hwndLB, LB_SETITEMDATA, idx, (LPARAM)pszXlate);\r\n\r\nDone:\r\n\r\n   SendMessage(hwndLB, LB_SETCURSEL, 0, 0L);\r\n   PostMessage(hDlg, WM_COMMAND, GET_WM_COMMAND_MPS(IDD_VERSION_KEY, NULL, LBN_SELCHANGE));\r\n}\r\n\r\n\r\nINT\r\nInitPropertiesDialog(\r\n   HWND hDlg)\r\n{\r\n   HWND hwndLB, hwndActive, hwndTree;\r\n   LPXDTA lpxdta;\r\n   DWORD dwAttribsOn, dwAttribs3State, dwAttribsLast;\r\n   HWND hwndDir, hwnd, hwndView;\r\n   WCHAR szName[MAXPATHLEN];\r\n   WCHAR szPath[MAXPATHLEN];\r\n   WCHAR szTemp[MAXPATHLEN + 20];\r\n   WCHAR szBuf[MAXPATHLEN];\r\n   WCHAR szNum[MAXPATHLEN];\r\n   INT i, iMac, iCount, dyButton;\r\n   RECT rc, rcT;\r\n   DWORD dwAttrib;\r\n   FILETIME ftLastWrite;\r\n   LFNDTA lfndta;\r\n   LPTSTR p;\r\n   HFONT hFont;\r\n   INT nType = 0;\r\n   DWORD dwFlags;\r\n   BOOL bFileCompression = FALSE;\r\n   BOOL bFileEncryption = FALSE;\r\n\r\n   LPTSTR lpszBuf;\r\n   LARGE_INTEGER qSize, qCSize;\r\n\r\n   LARGE_INTEGER_NULL(qSize);\r\n   LARGE_INTEGER_NULL(qCSize);\r\n\r\n   //\r\n   // this is needed for relative findfirst calls below\r\n   //\r\n   SetWindowDirectory();\r\n\r\n   hwndActive = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n   hwndDir = HasDirWindow(hwndActive);\r\n   hwndTree = HasTreeWindow(hwndActive);\r\n\r\n   if (GetVolumeInformation(NULL, NULL, 0L, NULL, NULL, &dwFlags, NULL, 0L))\r\n   {\r\n      bFileCompression = ((dwFlags & FS_FILE_COMPRESSION) == FS_FILE_COMPRESSION);\r\n      bFileEncryption = ((dwFlags & FS_FILE_ENCRYPTION) == FS_FILE_ENCRYPTION);\r\n   }\r\n\r\n   iCount = 0;\r\n   dwAttribsOn = 0;                // all bits to check\r\n   dwAttribs3State = 0;            // all bits to 3 state\r\n   dwAttribsLast = 0xFFFF;         // previous bits\r\n\r\n   if (hwndTree && hwndTree == GetTreeFocus(hwndActive)) {\r\n\r\n      SendMessage(hwndActive, FS_GETDIRECTORY, COUNTOF(szPath), (LPARAM)szPath);\r\n      StripBackslash(szPath);\r\n\r\n      if (!WFFindFirst(&lfndta, szPath, ATTR_ALL | ATTR_DIR)) {\r\n         LoadString(hAppInstance, IDS_ATTRIBERR, szMessage, COUNTOF(szMessage));\r\n         FormatError(FALSE, szMessage, COUNTOF(szMessage), ERROR_FILE_NOT_FOUND);\r\n\r\n         //\r\n         // BUGBUG: szPath should be set to \"Properties for %s\"!\r\n         //\r\n         MessageBox(hwndFrame, szMessage, szPath, MB_OK | MB_ICONSTOP);\r\n         EndDialog(hDlg, FALSE);\r\n         return 0;\r\n      }\r\n      WFFindClose(&lfndta);\r\n\r\n      dwAttribsOn = lfndta.fd.dwFileAttributes;\r\n      ftLastWrite = lfndta.fd.ftLastWriteTime;\r\n\r\n      lstrcpy(szName, szPath);\r\n\r\n      goto FullPath;\r\n   }\r\n\r\n   if (hwndDir) {\r\n      hwndLB = GetDlgItem(hwndDir, IDCW_LISTBOX);\r\n      hwndView = hwndDir;\r\n   } else {\r\n      hwndLB = GetDlgItem(hwndActive, IDCW_LISTBOX);\r\n      hwndView = hwndActive;\r\n   }\r\n\r\n   iMac = (INT)SendMessage(hwndLB, LB_GETCOUNT, 0, 0L);\r\n\r\n   szPath[0] = CHAR_NULL;\r\n   szName[0] = CHAR_NULL;\r\n\r\n   for (i = 0; i < iMac; i++) {\r\n\r\n      if (SendMessage(hwndLB, LB_GETSEL, i, 0L)) {\r\n\r\n         //\r\n         // get info from either dir or search window\r\n         //\r\n         SendMessage(hwndLB, LB_GETTEXT, i, (LPARAM)&lpxdta);\r\n         dwAttrib = lpxdta->dwAttrs;\r\n\r\n         //\r\n         // Check that this is not the .. entry\r\n         //\r\n         if (dwAttrib & ATTR_DIR && dwAttrib & ATTR_PARENT)\r\n            continue;\r\n\r\n         qSize.QuadPart = qSize.QuadPart + (lpxdta->qFileSize).QuadPart;\r\n\r\n         if (!szName[0]) {\r\n\r\n            ftLastWrite = lpxdta->ftLastWriteTime;\r\n            lstrcpy(szName, MemGetFileName(lpxdta));\r\n         }\r\n\r\n         dwAttribsOn |= dwAttrib;\r\n\r\n         if (dwAttribsLast == 0xFFFF) {\r\n\r\n            //\r\n            // save the previous bits for future compares\r\n            //\r\n            dwAttribsLast = dwAttrib;\r\n\r\n         } else {\r\n\r\n            //\r\n            // remember all bits that don't compare to last bits\r\n            //\r\n            dwAttribs3State |= (dwAttrib ^ dwAttribsLast);\r\n         }\r\n\r\n         iCount++;\r\n      }\r\n   }\r\n\r\n   GetDlgItemText(hDlg, IDD_TEXT1, szTemp, COUNTOF(szTemp));\r\n   wsprintf(szBuf, szTemp, iCount);\r\n   SetDlgItemText(hDlg, IDD_TEXT1, szBuf);\r\n\r\n   GetDlgItemText(hDlg, IDD_TEXT2, szTemp, COUNTOF(szTemp));\r\n   PutSize(&qSize, szNum);\r\n   wsprintf(szBuf, szTemp, szNum);\r\n   SetDlgItemText(hDlg, IDD_TEXT2, szBuf);\r\n\r\n   if (iCount == 1)\r\n   {\r\n      if (hwndDir)\r\n      {\r\n         SendMessage(hwndDir, FS_GETDIRECTORY, COUNTOF(szPath), (LPARAM)szPath);\r\n      }\r\n      else\r\n      {\r\n         lstrcpy(szPath, szName);\r\nFullPath:\r\n         StripPath(szName);\r\n         StripFilespec(szPath);\r\n      }\r\n\r\n      StripBackslash(szPath);\r\n\r\n      GetWindowText(hDlg, szTitle, COUNTOF(szTitle));\r\n      wsprintf(szTemp, szTitle, szName);\r\n      SetWindowText(hDlg, szTemp);\r\n\r\n      SetDlgItemText(hDlg, IDD_NAME, szName);\r\n      SetDlgItemText(hDlg, IDD_DIR, szPath);\r\n\r\n      if (dwAttribsOn & ATTR_DIR)\r\n      {\r\n         //\r\n         //  Hide size, ratio, and version info.\r\n         //\r\n         if (LoadString(hAppInstance, IDS_DIRNAMELABEL, szTemp, COUNTOF(szTemp)))\r\n            SetDlgItemText(hDlg, IDD_NAMELABEL, szTemp);\r\n\r\n         ShowWindow(GetDlgItem(hDlg, IDD_SIZELABEL), SW_HIDE);\r\n         ShowWindow(GetDlgItem(hDlg, IDD_SIZE), SW_HIDE);\r\n\r\n         ShowWindow(GetDlgItem(hDlg, IDD_CSIZELABEL), SW_HIDE);\r\n         ShowWindow(GetDlgItem(hDlg, IDD_CSIZE), SW_HIDE);\r\n\r\n         ShowWindow(GetDlgItem(hDlg, IDD_CRATIOLABEL), SW_HIDE);\r\n         ShowWindow(GetDlgItem(hDlg, IDD_CRATIO), SW_HIDE);\r\n      }\r\n      else\r\n      {\r\n         if ((bFileCompression) && (dwAttribsOn & ATTR_COMPRESSED))\r\n         {\r\n            qCSize.LowPart = GetCompressedFileSize(szName, &(qCSize.HighPart));\r\n            PutSize(&qCSize, szNum);\r\n            wsprintf(szTemp, szSBytes, szNum);\r\n            SetDlgItemText(hDlg, IDD_CSIZE, szTemp);\r\n\r\n            if (qSize.QuadPart != 0)\r\n            {\r\n               //\r\n               //  Ratio = 100 - ((CompressSize * 100) / FileSize)\r\n               //\r\n               qCSize.QuadPart =\r\n                   (qCSize.QuadPart * 100) /\r\n                   qSize.QuadPart;\r\n\r\n               if (qCSize.HighPart || (qCSize.LowPart > 100))\r\n               {\r\n                   //\r\n                   //  Ratio = 100%\r\n                   //\r\n                   qCSize.LowPart = 100;\r\n                   qCSize.HighPart = 0;\r\n               }\r\n               else\r\n               {\r\n                   qCSize.LowPart = 100 - qCSize.LowPart;\r\n               }\r\n            }\r\n            else\r\n            {\r\n               //\r\n               //  Ratio = 0%\r\n               //\r\n               qCSize.LowPart = 0;\r\n               qCSize.HighPart = 0;\r\n            }\r\n            PutSize(&qCSize, szNum);\r\n            wsprintf(szTemp, TEXT(\"%s%%\"), szNum);\r\n            SetDlgItemText(hDlg, IDD_CRATIO, szTemp);\r\n         }\r\n         else\r\n         {\r\n            ShowWindow(GetDlgItem(hDlg, IDD_CSIZELABEL), SW_HIDE);\r\n            ShowWindow(GetDlgItem(hDlg, IDD_CSIZE), SW_HIDE);\r\n            ShowWindow(GetDlgItem(hDlg, IDD_CRATIOLABEL), SW_HIDE);\r\n            ShowWindow(GetDlgItem(hDlg, IDD_CRATIO), SW_HIDE);\r\n         }\r\n\r\n         PostMessage(hDlg, FS_CHANGEDISPLAY, 0, 0L);\r\n\r\n         // changes szPath\r\n         lpszBuf = GetVersionInfo(szPath, szName);\r\n\r\n         if (FillSimpleVersion(hDlg, lpszBuf))\r\n            FillVersionList(hDlg);\r\n      }\r\n\r\n      if (!bFileCompression)\r\n      {\r\n         ShowWindow(GetDlgItem(hDlg, IDD_COMPRESSED), SW_HIDE);\r\n      }\r\n\r\n      if (!bFileEncryption)\r\n      {\r\n         ShowWindow(GetDlgItem(hDlg, IDD_ENCRYPTED), SW_HIDE);\r\n      }\r\n\r\n      PutSize(&qSize, szNum);\r\n      wsprintf(szTemp, szSBytes, szNum);\r\n      SetDlgItemText(hDlg, IDD_SIZE, szTemp);\r\n\r\n      PutDate(&ftLastWrite, szTemp);\r\n      lstrcat(szTemp, TEXT(\"  \"));\r\n      PutTime(&ftLastWrite, szTemp + lstrlen(szTemp));\r\n\r\n      SetDlgItemText(hDlg, IDD_DATE, szTemp);\r\n   }\r\n   else\r\n   {\r\n      dwContext = IDH_GROUP_ATTRIBS;\r\n      \r\n      if (!bFileCompression)\r\n      {\r\n          ShowWindow(GetDlgItem(hDlg, IDD_COMPRESSED), SW_HIDE);\r\n      }\r\n\r\n      if (!bFileEncryption)\r\n      {\r\n          ShowWindow(GetDlgItem(hDlg, IDD_ENCRYPTED), SW_HIDE);\r\n      }\r\n   }\r\n\r\n   //\r\n   // add the network specific property buttons\r\n   //\r\n   if (WNetStat(NS_PROPERTYDLG)) {\r\n      GetWindowRect(GetDlgItem(hDlg,IDOK), &rcT);\r\n      GetWindowRect(GetDlgItem(hDlg,IDCANCEL), &rc);\r\n      dyButton = rc.top - rcT.top;\r\n\r\n      GetWindowRect(GetDlgItem(hDlg,IDD_HELP), &rc);\r\n      ScreenToClient(hDlg,(LPPOINT)&rc.left);\r\n      ScreenToClient(hDlg,(LPPOINT)&rc.right);\r\n\r\n      p = GetSelection(4, NULL);\r\n      if (p) {\r\n\r\n         for (i = 0; i < 6; i++) {\r\n\r\n            if (iCount > 1)\r\n               nType = WNPS_MULT;\r\n            else if (dwAttribsOn & ATTR_DIR)\r\n               nType = WNPS_DIR;\r\n            else\r\n               nType = WNPS_FILE;\r\n\r\n            if (WNetGetPropertyText((WORD)i, (WORD)nType, p, szTemp, 30, WNTYPE_FILE) != WN_SUCCESS)\r\n               break;\r\n\r\n            if (!szTemp[0])\r\n               break;\r\n\r\n            OffsetRect(&rc,0,dyButton);\r\n            hwnd = CreateWindowEx(0L, TEXT(\"button\"), szTemp,\r\n               WS_VISIBLE|WS_CHILD|WS_TABSTOP|BS_PUSHBUTTON,\r\n               rc.left, rc.top,\r\n               rc.right - rc.left, rc.bottom-rc.top,\r\n               hDlg, (HMENU)(DWORD_PTR)(i + IDD_NETWORKFIRST), hAppInstance, NULL);\r\n\r\n            if (hwnd) {\r\n               hFont = (HFONT)SendDlgItemMessage(hDlg, IDOK, WM_GETFONT, 0, 0L);\r\n               SendMessage(hwnd, WM_SETFONT, (WPARAM)hFont, MAKELPARAM(TRUE, 0));\r\n            }\r\n         }\r\n\r\n         LocalFree((HANDLE)p);\r\n\r\n         ClientToScreen(hDlg,(LPPOINT)&rc.left);\r\n         ClientToScreen(hDlg,(LPPOINT)&rc.right);\r\n         GetWindowRect(hDlg,&rcT);\r\n         rc.bottom += dyButton;\r\n         if (rcT.bottom <= rc.bottom) {\r\n            SetWindowPos(hDlg,NULL,0,0,rcT.right-rcT.left,\r\n            rc.bottom - rcT.top, SWP_NOMOVE|SWP_NOZORDER);\r\n         }\r\n      }\r\n   }\r\n\r\n   //\r\n   // change those that don't need to be 3state to regular\r\n   //\r\n   if (ATTR_READONLY & dwAttribs3State)\r\n   {\r\n      SetWindowLongPtr( GetDlgItem(hDlg, IDD_READONLY),\r\n                     GWL_STYLE,\r\n                     WS_VISIBLE | WS_GROUP | WS_TABSTOP | BS_AUTO3STATE | WS_CHILD );\r\n   }\r\n   if (ATTR_HIDDEN & dwAttribs3State)\r\n   {\r\n      SetWindowLongPtr( GetDlgItem(hDlg, IDD_HIDDEN),\r\n                     GWL_STYLE,\r\n                     WS_VISIBLE | BS_AUTO3STATE | WS_CHILD);\r\n   }\r\n   if (ATTR_ARCHIVE & dwAttribs3State)\r\n   {\r\n      SetWindowLongPtr( GetDlgItem(hDlg, IDD_ARCHIVE),\r\n                     GWL_STYLE,\r\n                     WS_VISIBLE | BS_AUTO3STATE | WS_CHILD);\r\n   }\r\n   if (ATTR_SYSTEM & dwAttribs3State)\r\n   {\r\n      SetWindowLongPtr( GetDlgItem(hDlg, IDD_SYSTEM),\r\n                     GWL_STYLE,\r\n                     WS_VISIBLE | BS_AUTO3STATE | WS_CHILD);\r\n   }\r\n   if (ATTR_COMPRESSED & dwAttribs3State)\r\n   {\r\n      SetWindowLongPtr( GetDlgItem(hDlg, IDD_COMPRESSED),\r\n                     GWL_STYLE,\r\n                     WS_VISIBLE | BS_AUTO3STATE | WS_CHILD);\r\n   }\r\n   if (ATTR_ENCRYPTED & dwAttribs3State)\r\n   {\r\n      SetWindowLongPtr( GetDlgItem(hDlg, IDD_ENCRYPTED),\r\n                     GWL_STYLE,\r\n                     WS_VISIBLE | BS_AUTO3STATE | WS_CHILD | WS_DISABLED);\r\n   }\r\n\r\n   CheckAttribsDlgButton(hDlg, IDD_READONLY,   ATTR_READONLY, dwAttribs3State, dwAttribsOn);\r\n   CheckAttribsDlgButton(hDlg, IDD_HIDDEN,     ATTR_HIDDEN, dwAttribs3State, dwAttribsOn);\r\n   CheckAttribsDlgButton(hDlg, IDD_ARCHIVE,    ATTR_ARCHIVE, dwAttribs3State, dwAttribsOn);\r\n   CheckAttribsDlgButton(hDlg, IDD_SYSTEM,     ATTR_SYSTEM, dwAttribs3State, dwAttribsOn);\r\n   CheckAttribsDlgButton(hDlg, IDD_COMPRESSED, ATTR_COMPRESSED, dwAttribs3State, dwAttribsOn);\r\n   CheckAttribsDlgButton(hDlg, IDD_ENCRYPTED,  ATTR_ENCRYPTED, dwAttribs3State, dwAttribsOn);\r\n\r\n   return nType;\r\n}\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  AttribsDlgProc() -                                                      */\r\n/*                                                                          */\r\n// assumes the active MDI child has a directory window\r\n/*--------------------------------------------------------------------------*/\r\n\r\nINT_PTR\r\nCALLBACK\r\nAttribsDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n   LPTSTR p, pSel;\r\n   BOOL bRet;\r\n   HCURSOR hCursor;\r\n   DWORD dwAttribsNew, dwAttribs, dwChangeMask;\r\n   UINT state;\r\n   TCHAR szName[MAXPATHLEN];\r\n   TCHAR szTemp[MAXPATHLEN];\r\n   static INT nType;\r\n   LPWSTR lpszValue;\r\n   INT idx;\r\n\r\n   UNREFERENCED_PARAMETER(lParam);\r\n\r\n   switch (wMsg) {\r\n\r\n   case WM_INITDIALOG:\r\n\r\n      WAITNET();\r\n\r\n      nType = InitPropertiesDialog(hDlg);\r\n      break;\r\n\r\n   case FS_CHANGEDISPLAY:\r\n      {\r\n         // Private message to make the version edit control and\r\n         // listbox line up properly. Yes, a pain, but this is the\r\n         // easiest way to do it...\r\n\r\n         RECT rcVersionKey;\r\n         RECT rcVersionValue;\r\n\r\n         GetWindowRect(GetDlgItem(hDlg, IDD_VERSION_KEY), &rcVersionKey);\r\n         ScreenToClient(hDlg, (POINT FAR *) &rcVersionKey.left);\r\n         ScreenToClient(hDlg, (POINT FAR *) &rcVersionKey.right);\r\n\r\n         GetWindowRect(GetDlgItem(hDlg, IDD_VERSION_VALUE), &rcVersionValue);\r\n         ScreenToClient(hDlg, (POINT FAR *) &rcVersionValue.left);\r\n         ScreenToClient(hDlg, (POINT FAR *) &rcVersionValue.right);\r\n\r\n         SetWindowPos(GetDlgItem(hDlg, IDD_VERSION_VALUE),\r\n         0,\r\n         rcVersionValue.left, rcVersionKey.top,\r\n         rcVersionValue.right - rcVersionValue.left,\r\n         rcVersionKey.bottom-rcVersionKey.top,\r\n         SWP_NOACTIVATE | SWP_NOZORDER);\r\n      }\r\n\r\n      break;\r\n\r\n   case WM_COMMAND:\r\n      switch (GET_WM_COMMAND_ID(wParam, lParam)) {\r\n      case IDD_HELP:\r\n         goto DoHelp;\r\n\r\n      case IDD_NETWORKFIRST+0:\r\n      case IDD_NETWORKFIRST+1:\r\n      case IDD_NETWORKFIRST+2:\r\n      case IDD_NETWORKFIRST+3:\r\n      case IDD_NETWORKFIRST+4:\r\n      case IDD_NETWORKFIRST+5:\r\n\r\n         p = GetSelection(4|1|16, NULL);\r\n         if (p) {\r\n\r\n            WAITNET();\r\n\r\n            if (WAITNET_LOADED) {\r\n               WNetPropertyDialog(hDlg,\r\n                  (WORD)(GET_WM_COMMAND_ID(wParam, lParam)-IDD_NETWORKFIRST),\r\n                  (WORD)nType, p, WNTYPE_FILE);\r\n            }\r\n\r\n            LocalFree((HANDLE)p);\r\n         }\r\n         break;\r\n\r\n      case IDD_VERSION_KEY:\r\n\r\n         if (GET_WM_COMMAND_CMD(wParam,lParam) != LBN_SELCHANGE)\r\n            break;\r\n         idx = (INT)SendDlgItemMessage(hDlg, IDD_VERSION_KEY, LB_GETCURSEL, 0, 0L);\r\n         lpszValue = (LPTSTR)SendDlgItemMessage(hDlg, IDD_VERSION_KEY, LB_GETITEMDATA, idx, 0L);\r\n\r\n         SetDlgItemText(hDlg, IDD_VERSION_VALUE, lpszValue);\r\n         break;\r\n\r\n      case IDCANCEL:\r\n\r\n         FreeVersionInfo();\r\n         EndDialog(hDlg, FALSE);\r\n         break;\r\n\r\n      case IDOK:\r\n      {\r\n         BOOL bIgnoreAll = FALSE;\r\n\r\n         bRet = TRUE;\r\n         dwChangeMask = ATTR_READWRITE;\r\n         dwAttribsNew = ATTR_READWRITE;\r\n\r\n         if ((state = IsDlgButtonChecked(hDlg, IDD_READONLY)) < 2)\r\n         {\r\n            dwChangeMask |= ATTR_READONLY;\r\n            if (state == 1)\r\n            {\r\n               dwAttribsNew |= ATTR_READONLY;\r\n            }\r\n         }\r\n\r\n         if ((state = IsDlgButtonChecked(hDlg, IDD_HIDDEN)) < 2)\r\n         {\r\n            dwChangeMask |= ATTR_HIDDEN;\r\n            if (state == 1)\r\n            {\r\n               dwAttribsNew |= ATTR_HIDDEN;\r\n            }\r\n         }\r\n\r\n         if ((state = IsDlgButtonChecked(hDlg, IDD_ARCHIVE)) < 2)\r\n         {\r\n            dwChangeMask |= ATTR_ARCHIVE;\r\n            if (state == 1)\r\n            {\r\n               dwAttribsNew |= ATTR_ARCHIVE;\r\n            }\r\n         }\r\n\r\n         if ((state = IsDlgButtonChecked(hDlg, IDD_SYSTEM)) < 2)\r\n         {\r\n            dwChangeMask |= ATTR_SYSTEM;\r\n            if (state == 1)\r\n            {\r\n               dwAttribsNew |= ATTR_SYSTEM;\r\n            }\r\n         }\r\n\r\n         if ((state = IsDlgButtonChecked(hDlg, IDD_COMPRESSED)) < 2)\r\n         {\r\n            dwChangeMask |= ATTR_COMPRESSED;\r\n            if (state == 1)\r\n            {\r\n               dwAttribsNew |= ATTR_COMPRESSED;\r\n            }\r\n         }\r\n\r\n         //\r\n         // Free old version buffer\r\n         // (Ok to call even if no version info present.)\r\n         //\r\n         FreeVersionInfo();\r\n         EndDialog(hDlg, bRet);\r\n\r\n         pSel = GetSelection(0, NULL);\r\n\r\n         if (!pSel)\r\n            break;\r\n\r\n         hCursor = SetCursor(LoadCursor(NULL, IDC_WAIT));\r\n         ShowCursor(TRUE);\r\n\r\n         SendMessage(hwndFrame, FS_DISABLEFSC, 0, 0L);\r\n\r\n         p = pSel;\r\n\r\n         while (p = GetNextFile(p, szName, COUNTOF(szName))) {\r\n\r\n            QualifyPath(szName);\r\n\r\n            dwAttribs = GetFileAttributes(szName);\r\n\r\n            if (dwAttribs == INVALID_FILE_ATTRIBUTES)\r\n               goto AttributeError;\r\n            else\r\n               dwAttribs &= ~ATTR_DIR;\r\n\r\n            //\r\n            // Only try and change the attributes if we need to change\r\n            // attributes.\r\n            //\r\n            if ((dwAttribs ^ dwAttribsNew) & dwChangeMask)\r\n            {\r\n               dwAttribs = (dwChangeMask & dwAttribsNew) | (~dwChangeMask & dwAttribs);\r\n\r\n               //\r\n               //  Process the IDD_COMPRESSED attribute setting and then\r\n               //  set the attributes on the file or directory.\r\n               //\r\n               lstrcpy(szTemp, szName);\r\n               if (!WFCheckCompress(hDlg, szTemp, dwAttribs, TRUE, &bIgnoreAll))\r\n               {\r\n                  //\r\n                  //  WFCheckCompress will only be FALSE if the user\r\n                  //  chooses to Abort the compression.\r\n                  //\r\n                  bRet = FALSE;\r\n                  break;\r\n               }\r\n               if (WFSetAttr(szName, dwAttribs))\r\n               {\r\nAttributeError:\r\n                  GetWindowText(hDlg, szTitle, COUNTOF(szTitle));\r\n                  LoadString(hAppInstance, IDS_ATTRIBERR, szMessage, COUNTOF(szMessage));\r\n\r\n                  FormatError(FALSE, szMessage, COUNTOF(szMessage), GetLastError());\r\n                  MessageBox(hwndFrame, szMessage, szTitle, MB_OK | MB_ICONSTOP);\r\n\r\n                  bRet = FALSE;\r\n                  break;\r\n               }\r\n            }\r\n\r\n            //\r\n            //  Clear all the FSC messages from the message queue.\r\n            //\r\n            wfYield();\r\n         }\r\n\r\n         SendMessage(hwndFrame, FS_ENABLEFSC, 0, 0L);\r\n\r\n         ShowCursor(FALSE);\r\n         SetCursor(hCursor);\r\n\r\n         LocalFree((HANDLE)pSel);\r\n\r\n         break;\r\n      }\r\n      default:\r\n         return FALSE;\r\n      }\r\n      break;\r\n\r\n   default:\r\n\r\n      if (wMsg == wHelpMessage) {\r\nDoHelp:\r\n         WFHelp(hDlg);\r\n\r\n         return TRUE;\r\n      } else\r\n         return FALSE;\r\n   }\r\n   return TRUE;\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  MakeDirDlgProc() -                                                      */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nINT_PTR\r\nCALLBACK\r\nMakeDirDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n   //\r\n   // Must be at least MAXPATHLEN\r\n   //\r\n   TCHAR szPath[MAXPATHLEN*2];\r\n   INT ret;\r\n\r\n   if (ResizeDialogProc(hDlg, wMsg, wParam, lParam)) {\r\n      return TRUE;\r\n   }\r\n\r\n   switch (wMsg) {\r\n   case WM_INITDIALOG:\r\n      SetDlgDirectory(hDlg, NULL);\r\n      SendDlgItemMessage(hDlg, IDD_NAME, EM_LIMITTEXT, MAXPATHLEN-1, 0L);\r\n      break;\r\n\r\n   case WM_SIZE:\r\n      SetDlgDirectory(hDlg, NULL);\r\n      break;\r\n\r\n   case WM_COMMAND:\r\n      switch (GET_WM_COMMAND_ID(wParam, lParam)){\r\n      case IDD_HELP:\r\n         goto DoHelp;\r\n\r\n      case IDCANCEL:\r\n         EndDialog(hDlg, FALSE);\r\n         break;\r\n\r\n      case IDOK:\r\n\r\n         GetDlgItemText(hDlg, IDD_NAME, szPath, MAXPATHLEN);\r\n         EndDialog(hDlg, TRUE);\r\n\r\n         //\r\n         // If \"a b\" typed in (no quotes, just a b) do we create two\r\n         // directors, \"a\" and \"b,\" or create just one: \"a b.\"\r\n         // For now, create just one.  (No need to call checkesc!)\r\n         //\r\n         // put it back in to handle quoted things.\r\n         // Now, it _ignores_ extra files on the line.  We may wish to return\r\n         // an error; that would be smart...\r\n         //\r\n         if (NoQuotes(szPath)) {\r\n            CheckEsc(szPath);\r\n         }\r\n\r\n         GetNextFile(szPath, szPath, COUNTOF(szPath));\r\n\r\n         QualifyPath(szPath);\r\n\r\n         hdlgProgress = hDlg;\r\n\r\n#ifdef NETCHECK\r\n         if (NetCheck(szPath,WNDN_MKDIR) == WN_SUCCESS) {\r\n#endif\r\n            SendMessage(hwndFrame, FS_DISABLEFSC, 0, 0L);\r\n\r\n            ret = WF_CreateDirectory(hDlg, szPath, NULL);\r\n\r\n            if (ret && ret!=DE_OPCANCELLED) {\r\n               // Handle error messages cleanly.\r\n               // Special case ERROR_ALREADY_EXISTS\r\n\r\n               if ( ERROR_ALREADY_EXISTS == ret ) {\r\n                  ret = WFIsDir(szPath) ?\r\n                     DE_MAKEDIREXISTS :\r\n                     DE_DIREXISTSASFILE;\r\n               }\r\n\r\n               LoadString(hAppInstance, IDS_MAKEDIRERR, szMessage, COUNTOF(szMessage));\r\n               FormatError(FALSE, szMessage, COUNTOF(szMessage), ret);\r\n\r\n               GetWindowText(hDlg, szTitle, COUNTOF(szTitle));\r\n               MessageBox(hwndFrame, szMessage, szTitle, MB_OK | MB_ICONSTOP);\r\n            }\r\n\r\n            SendMessage(hwndFrame, FS_ENABLEFSC, 0, 0L);\r\n#ifdef NETCHECK\r\n         }\r\n#endif\r\n\r\n         break;\r\n\r\n      default:\r\n         return FALSE;\r\n      }\r\n      break;\r\n\r\n   default:\r\n\r\n      if (wMsg == wHelpMessage) {\r\nDoHelp:\r\n         WFHelp(hDlg);\r\n\r\n         return TRUE;\r\n      } else\r\n         return FALSE;\r\n   }\r\n   return TRUE;\r\n}\r\n\r\n\r\n// Check if szT has quote in it.\r\n// could use strchr...\r\n\r\nBOOL\r\nNoQuotes(LPTSTR szT)\r\n{\r\n   while (*szT) {\r\n      if (CHAR_DQUOTE == *szT ) return FALSE;\r\n\r\n      szT++;\r\n   }\r\n\r\n   return TRUE;\r\n}\r\n\r\n"
  },
  {
    "path": "src/wfdlgs3.c",
    "content": "/********************************************************************\r\n\r\n   wfdlgs3.c\r\n\r\n   Windows File System Dialog procedures\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n#include \"lfn.h\"\r\n#include \"wfcopy.h\"\r\n#include <shlobj.h>\r\n#include \"resize.h\"\r\n\r\n#define LABEL_NTFS_MAX 32\r\n#define LABEL_FAT_MAX  11\r\n#define CCH_VERSION    40\r\n#define CCH_DRIVE       3\r\n\r\nDWORD WINAPI FormatDrive( IN PVOID ThreadParameter );\r\nDWORD WINAPI CopyDiskette( IN PVOID ThreadParameter );\r\nVOID SwitchToSafeDrive(VOID);\r\nVOID MDIClientSizeChange(HWND hwndActive, INT iFlags);\r\n\r\nVOID CopyDiskEnd(VOID);\r\nVOID FormatEnd(VOID);\r\nVOID CancelDlgQuit(VOID);\r\nVOID LockFormatDisk(INT iDrive1, INT iDrive2, DWORD dwMessage, DWORD dwCommand, BOOL bLock);\r\n\r\nBOOL GetProductVersion(WORD * pwMajor, WORD * pwMinor, WORD * pwBuild, WORD * pwRevision);\r\n\r\nDWORD ulTotalSpace, ulSpaceAvail;\r\n\r\ntypedef enum {\r\n    FDC_FALSE,\r\n    FDC_FALSE_Q,\r\n    FDC_TRUE\r\n} FDC_RET;\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  ChooseDriveDlgProc() -                                                  */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nINT_PTR\r\nCALLBACK\r\nChooseDriveDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n   TCHAR szDrive[5];\r\n\r\n   UNREFERENCED_PARAMETER(lParam);\r\n\r\n   switch (wMsg) {\r\n   case WM_INITDIALOG:\r\n      {\r\n         INT   i;\r\n         HWND  hwndLB;\r\n         lstrcpy(szDrive, SZ_ACOLON);\r\n\r\n         hwndLB = GetDlgItem(hDlg, IDD_DRIVE);\r\n\r\n         switch (dwSuperDlgMode) {\r\n         case IDM_DISKCOPY:\r\n            {\r\n               HWND hwndLB2;\r\n\r\n               hwndLB2 = GetDlgItem(hDlg, IDD_DRIVE1);\r\n\r\n               for (i = 0; i < cDrives; i++) {\r\n                  if (IsRemovableDrive(rgiDrive[i])) {\r\n                     DRIVESET(szDrive,rgiDrive[i]);\r\n                     SendMessage(hwndLB, CB_ADDSTRING, 0, (LPARAM)szDrive);\r\n                     SendMessage(hwndLB2, CB_ADDSTRING, 0, (LPARAM)szDrive);\r\n                  }\r\n               }\r\n\r\n               SendMessage(hwndLB, CB_SETCURSEL, 0, 0L);\r\n               SendMessage(hwndLB2, CB_SETCURSEL, 0, 0L);\r\n            }\r\n            break;\r\n         }\r\n         break;\r\n      }\r\n\r\n   case WM_COMMAND:\r\n      switch (GET_WM_COMMAND_ID(wParam, lParam)) {\r\n      case IDD_HELP:\r\n         goto DoHelp;\r\n\r\n      case IDOK:\r\n         {\r\n            TCHAR szTemp[128];\r\n\r\n            if (dwSuperDlgMode == IDM_DISKCOPY) {\r\n\r\n               if (bConfirmFormat) {\r\n                  LoadString(hAppInstance, IDS_DISKCOPYCONFIRMTITLE, szTitle, COUNTOF(szTitle));\r\n                  LoadString(hAppInstance, IDS_DISKCOPYCONFIRM, szMessage, COUNTOF(szMessage));\r\n                  if (MessageBox(hDlg, szMessage, szTitle, MB_ICONEXCLAMATION | MB_YESNO | MB_DEFBUTTON1) != IDYES)\r\n                     break;\r\n               }\r\n\r\n               GetDlgItemText( hDlg, IDD_DRIVE1, szTemp, COUNTOF(szTemp) -1 );\r\n               CancelInfo.Info.Copy.iSourceDrive = DRIVEID(szTemp);\r\n\r\n               GetDlgItemText( hDlg, IDD_DRIVE, szTemp, COUNTOF(szTemp) -1 );\r\n               CancelInfo.Info.Copy.iDestDrive = DRIVEID(szTemp);\r\n\r\n               //\r\n               // lock drives\r\n               //\r\n               LockFormatDisk(CancelInfo.Info.Copy.iSourceDrive,\r\n                  CancelInfo.Info.Copy.iDestDrive,IDS_DRIVEBUSY_COPY,\r\n                  IDM_FORMAT, TRUE);\r\n\r\n               EndDialog(hDlg, TRUE);\r\n\r\n               CreateDialog(hAppInstance, (LPTSTR) MAKEINTRESOURCE(CANCELDLG), hwndFrame, CancelDlgProc);\r\n            } else {\r\n               EndDialog(hDlg, TRUE);\r\n            }\r\n            break;\r\n         }\r\n\r\n      case IDCANCEL:\r\n         EndDialog(hDlg, FALSE);\r\n         break;\r\n\r\n      default:\r\n         return FALSE;\r\n      }\r\n      break;\r\n\r\n   default:\r\n\r\n      if (wMsg == wHelpMessage) {\r\nDoHelp:\r\n         WFHelp(hDlg);\r\n\r\n         return TRUE;\r\n      } else\r\n         return FALSE;\r\n   }\r\n   return TRUE;\r\n}\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  DiskLabelDlgProc() -                                                    */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nINT_PTR\r\nCALLBACK\r\nDiskLabelDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n   TCHAR szNewVol[MAXPATHLEN];\r\n   LPTSTR lpszVol;\r\n   TCHAR szDrive[] = SZ_ACOLON;\r\n   DRIVE drive;\r\n   INT i;\r\n\r\n   if (ResizeDialogProc(hDlg, wMsg, wParam, lParam)) {\r\n      return TRUE;\r\n   }\r\n\r\n   switch (wMsg) {\r\n   case WM_INITDIALOG:\r\n\r\n      //\r\n      // Get the current volume label\r\n      //\r\n      drive = GetSelectedDrive();\r\n\r\n      DRIVESET(szDrive,drive);\r\n\r\n      if (!IsTheDiskReallyThere(hDlg, szDrive, FUNC_LABEL, FALSE)) {\r\n         EndDialog(hDlg, FALSE);\r\n         break;\r\n      }\r\n\r\n      GetVolumeLabel(drive, &lpszVol, FALSE);\r\n\r\n      //\r\n      // Display the current volume label.\r\n      //\r\n      SetDlgItemText(hDlg, IDD_NAME, lpszVol);\r\n\r\n      //\r\n      // Set the limit.\r\n      // LATER: figure a more generic way of doing this.\r\n      //\r\n\r\n      i = IsNTFSDrive(drive) ?\r\n         LABEL_NTFS_MAX :\r\n         LABEL_FAT_MAX;\r\n\r\n      SendDlgItemMessage(hDlg, IDD_NAME, EM_LIMITTEXT, i, 0L);\r\n      break;\r\n\r\n   case WM_COMMAND:\r\n      switch (GET_WM_COMMAND_ID(wParam, lParam)) {\r\n      case IDD_HELP:\r\n         goto DoHelp;\r\n\r\n      case IDCANCEL:\r\n         EndDialog(hDlg, FALSE);\r\n         break;\r\n\r\n      case IDOK:\r\n         {\r\n            HWND hwnd;\r\n            DWORD dwError;\r\n\r\n            DRIVE drive;\r\n            DRIVEIND driveInd;\r\n\r\n            GetDlgItemText(hDlg, IDD_NAME, szNewVol, COUNTOF(szNewVol));\r\n\r\n            if (!ChangeVolumeLabel(drive=GetSelectedDrive(), szNewVol)) {\r\n\r\n               dwError = GetLastError();\r\n               if ( ERROR_ACCESS_DENIED == dwError ) {\r\n                  LoadString(hAppInstance, IDS_LABELACCESSDENIED, szMessage, COUNTOF(szMessage));\r\n               } else {\r\n                  LoadString(hAppInstance, IDS_LABELDISKERR, szMessage, COUNTOF(szMessage));\r\n               }\r\n\r\n               GetWindowText(hDlg, szTitle, COUNTOF(szTitle));\r\n               MessageBox(hDlg, szMessage, szTitle, MB_OK | MB_ICONSTOP);\r\n               EndDialog(hDlg, FALSE);\r\n               break;\r\n            }\r\n\r\n            //\r\n            // invalidate VolInfo[drive] to refresh off disk\r\n            //\r\n            I_VolInfo(drive);\r\n\r\n            //\r\n            // Scan through to fine Ind.\r\n            //\r\n            for ( driveInd=0; driveInd < cDrives; driveInd++ ) {\r\n               if ( rgiDrive[driveInd] == drive ) {\r\n                  SelectToolbarDrive( driveInd );\r\n                  break;\r\n               }\r\n            }\r\n\r\n            for (hwnd = GetWindow(hwndMDIClient, GW_CHILD);\r\n               hwnd;\r\n               hwnd = GetWindow(hwnd, GW_HWNDNEXT)) {\r\n\r\n               // refresh windows on this drive\r\n\r\n               if (GetSelectedDrive() == (INT)GetWindowLongPtr(hwnd, GWL_TYPE))\r\n                  SendMessage(hwnd, FS_CHANGEDRIVES, 0, 0L);\r\n\r\n            }\r\n            EndDialog(hDlg, TRUE);\r\n            break;\r\n         }\r\n\r\n      default:\r\n         return FALSE;\r\n      }\r\n      break;\r\n\r\n   default:\r\n\r\n      if (wMsg == wHelpMessage) {\r\nDoHelp:\r\n         WFHelp(hDlg);\r\n\r\n         return TRUE;\r\n      } else\r\n         return FALSE;\r\n   }\r\n   return TRUE;\r\n}\r\n\r\n\r\nVOID\r\nFormatDiskette(HWND hwnd, BOOL bModal)\r\n{\r\n    INT res = 0;\r\n    DWORD dwSave;\r\n\r\n    // in case current drive is on floppy\r\n\r\n    SwitchToSafeDrive();\r\n\r\n    dwSave = dwContext;\r\n    dwContext = IDH_FORMAT;\r\n\r\n    CancelInfo.bModal = bModal;\r\n\r\n    res = (INT)DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(FORMATDLG), hwnd, FormatDlgProc);\r\n\r\n    dwContext = dwSave;\r\n}\r\n\r\n\r\nFDC_RET\r\nFillDriveCapacity(HWND hDlg, INT nDrive, FMIFS_MEDIA_TYPE fmSelect, BOOL fDoPopup)\r\n{\r\n#if defined(DBCS)\r\n   FMIFS_MEDIA_TYPE fmMedia[FmMediaEndOfData];  // Number of types in enumeration\r\n#else\r\n   FMIFS_MEDIA_TYPE fmMedia[12];  // Number of types in enumeration\r\n#endif\r\n   WCHAR wchDrive[4] = L\"A:\";\r\n   DWORD MediaCount;\r\n   INT index;\r\n   UINT uiCount;\r\n   TCHAR szTemp[32];\r\n\r\n   INT iCurSel = 0;\r\n\r\n   SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_RESETCONTENT, 0, 0L);\r\n\r\n   wchDrive[0] += nDrive;\r\n\r\n#if defined(DBCS)\r\n   if (!(*lpfnQuerySupportedMedia)((LPWSTR)wchDrive, fmMedia, FmMediaEndOfData, (PDWORD)&MediaCount))\r\n#else\r\n   if (!(*lpfnQuerySupportedMedia)((LPWSTR)wchDrive, fmMedia, 12L, (PDWORD)&MediaCount))\r\n#endif\r\n   {\r\n      return FDC_FALSE;\r\n   }\r\n\r\n   if (MediaCount == 1 && fmMedia[0] == FmMediaRemovable) {\r\n       TCHAR szTmpStr[256];\r\n\r\n       /*\r\n        * We can't format this type of drive, tell the user to run WinDisk.Exe\r\n        */\r\n       if (fDoPopup) {\r\n           LoadString(hAppInstance, IDS_CANTFORMAT, szTmpStr, COUNTOF(szTmpStr));\r\n           wsprintf(szMessage, szTmpStr, wchDrive);\r\n\r\n           LoadString(hAppInstance, IDS_CANTFORMATTITLE, szTmpStr,\r\n                COUNTOF(szTmpStr));\r\n\r\n           MessageBox(hDlg, szMessage, szTmpStr, MB_ICONEXCLAMATION | MB_OK);\r\n       }\r\n       return FDC_FALSE_Q;\r\n   }\r\n\r\n   for (index = 0, uiCount = 0; uiCount < MediaCount; uiCount++) {\r\n\r\n      // If our selection == the media count, select it now!\r\n\r\n      if (fmSelect == fmMedia[uiCount])\r\n         iCurSel = index;\r\n\r\n      switch(fmMedia[uiCount]) {\r\n      case FmMediaUnknown:\r\n      case FmMediaFixed:\r\n      case FmMediaRemovable:       // Removable media other than floppy\r\n         break;\r\n\r\n      case FmMediaF5_1Pt2_512:     // 5.25\", 1.2MB,  512 bytes/sector\r\n         LoadString(hAppInstance, IDS_12MB, szTemp, COUNTOF(szTemp));\r\n         wsprintf(szTitle, szTemp, szDecimal);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_INSERTSTRING, index, (LPARAM)szTitle);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_SETITEMDATA, index++, MAKELONG(FmMediaF5_1Pt2_512,0));\r\n         break;\r\n\r\n      case FmMediaF5_360_512:      // 5.25\", 360KB,  512 bytes/sector\r\n#if defined(JAPAN) && defined(i386)\r\n         if (! ISNECPC98(gdwMachineId)) {\r\n#endif\r\n         LoadString(hAppInstance, IDS_360KB, szTitle, COUNTOF(szTitle));\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_INSERTSTRING, index, (LPARAM)szTitle);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_SETITEMDATA, index++, MAKELONG(FmMediaF5_360_512,0));\r\n#if defined(JAPAN) && defined(i386)\r\n         }\r\n#endif\r\n         break;\r\n\r\n      case FmMediaF5_320_512:      // 5.25\", 320KB,  512 bytes/sector\r\n      case FmMediaF5_320_1024:     // 5.25\", 320KB,  1024 bytes/sector\r\n      case FmMediaF5_180_512:      // 5.25\", 180KB,  512 bytes/sector\r\n      case FmMediaF5_160_512:      // 5.25\", 160KB,  512 bytes/sector\r\n         break;\r\n\r\n      case FmMediaF3_2Pt88_512:    // 3.5\",  2.88MB, 512 bytes/sector\r\n         LoadString(hAppInstance, IDS_288MB, szTemp, COUNTOF(szTemp));\r\n         wsprintf(szTitle, szTemp, szDecimal);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_INSERTSTRING, index, (LPARAM)szTitle);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_SETITEMDATA, index++, MAKELONG(FmMediaF3_2Pt88_512,0));\r\n         break;\r\n\r\n      case FmMediaF3_1Pt44_512:    // 3.5\",  1.44MB, 512 bytes/sector\r\n         LoadString(hAppInstance, IDS_144MB, szTemp, COUNTOF(szTemp));\r\n         wsprintf(szTitle, szTemp, szDecimal);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_INSERTSTRING, index, (LPARAM)szTitle);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_SETITEMDATA, index++, MAKELONG(FmMediaF3_1Pt44_512,0));\r\n         break;\r\n\r\n      case FmMediaF3_720_512:      // 3.5\",  720KB,  512 bytes/sector\r\n         LoadString(hAppInstance, IDS_720KB, szTitle, COUNTOF(szTitle));\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_INSERTSTRING, index, (LPARAM)szTitle);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_SETITEMDATA, index++, MAKELONG(FmMediaF3_720_512,0));\r\n         break;\r\n\r\n      case FmMediaF3_20Pt8_512:\r\n         LoadString(hAppInstance, IDS_2080MB, szTemp, COUNTOF(szTemp));\r\n         wsprintf(szTitle, szTemp, szDecimal);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_INSERTSTRING, index, (LPARAM)szTitle);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_SETITEMDATA, index++, MAKELONG(FmMediaF3_20Pt8_512,0));\r\n         break;\r\n\r\n#if defined(JAPAN) && defined(i386)\r\n      //\r\n      // FMR jul.21.1994 JY\r\n      // add 5.25\" 1.23MB media type\r\n      //\r\n      case FmMediaF5_1Pt23_1024:    // 5.25\",  1.23MB, 1024 bytes/sector\r\n         if (ISNECPC98(gdwMachineId))\r\n             LoadString(hAppInstance, IDS_125MB, szTemp, COUNTOF(szTemp));\r\n         else\r\n             LoadString(hAppInstance, IDS_123MB, szTemp, COUNTOF(szTemp));\r\n         wsprintf(szTitle, szTemp, szDecimal);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_INSERTSTRING, index, (LPARAM)szTitle);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_SETITEMDATA, index++, MAKELONG(FmMediaF5_1Pt23_1024,0));\r\n         break;\r\n\r\n      //\r\n      // add 3.5\" 1.23MB media type\r\n      //\r\n      case FmMediaF3_1Pt23_1024:    // 3.5\",  1.23MB, 1024 bytes/sector\r\n         if (ISNECPC98(gdwMachineId))\r\n             LoadString(hAppInstance, IDS_125MB, szTemp, COUNTOF(szTemp));\r\n         else\r\n             LoadString(hAppInstance, IDS_123MB, szTemp, COUNTOF(szTemp));\r\n         wsprintf(szTitle, szTemp, szDecimal);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_INSERTSTRING, index, (LPARAM)szTitle);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_SETITEMDATA, index++, MAKELONG(FmMediaF3_1Pt23_1024,0));\r\n         break;\r\n\r\n      //\r\n      // add 3.5\" 1.2MB media type\r\n      //\r\n      case FmMediaF3_1Pt2_512:     // 3.5\", 1.2MB,  512 bytes/sector\r\n         LoadString(hAppInstance, IDS_12MB, szTemp, COUNTOF(szTemp));\r\n         wsprintf(szTitle, szTemp, szDecimal);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_INSERTSTRING, index, (LPARAM)szTitle);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_SETITEMDATA, index++, MAKELONG(FmMediaF3_1Pt2_512,0));\r\n         break;\r\n\r\n      //\r\n      // add 5.25\" 640KB media type\r\n      //\r\n      case FmMediaF5_640_512:      // 5.25\", 640KB,  512 bytes/sector\r\n         LoadString(hAppInstance, IDS_640KB, szTitle, COUNTOF(szTitle));\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_INSERTSTRING, index, (LPARAM)szTitle);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_SETITEMDATA, index++, MAKELONG(FmMediaF5_640_512,0));\r\n         break;\r\n\r\n      //\r\n      // add 3.5\" 640KB media type\r\n      //\r\n      case FmMediaF3_640_512:      // 3.5\", 640KB,  512 bytes/sector\r\n         LoadString(hAppInstance, IDS_640KB, szTitle, COUNTOF(szTitle));\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_INSERTSTRING, index, (LPARAM)szTitle);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_SETITEMDATA, index++, MAKELONG(FmMediaF3_640_512,0));\r\n         break;\r\n\r\n      //\r\n      // FMR jul.21.1994 JY\r\n      // add 5.25\" 720KB media type\r\n      //\r\n      case FmMediaF5_720_512:      // 5.25\",  720KB,  512 bytes/sector\r\n         LoadString(hAppInstance, IDS_720KB, szTitle, COUNTOF(szTitle));\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_INSERTSTRING, index, (LPARAM)szTitle);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_SETITEMDATA, index++, MAKELONG(FmMediaF5_720_512,0));\r\n         break;\r\n\r\n/* ADD KBNES. NEC MEDIATYPE START */\r\n      case FmMediaF8_256_128:      // 8\"1s , 256KB,  128 bytes/sector\r\n         break;\r\n\r\n      case FmMediaF3_128Mb_512:    // 3.5\" , 128MB,  512 bytes/sector  3.5\"MO\r\n         LoadString(hAppInstance, IDS_128MB, szTitle, COUNTOF(szTitle));\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_INSERTSTRING, index, (LPARAM)szTitle);\r\n         SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_SETITEMDATA, index++, MAKELONG(FmMediaF3_128Mb_512,0));\r\n         break;\r\n/* ADD KBNES. NEC MEDIATYPE END */\r\n#endif\r\n\r\n      default:\r\n         break;\r\n      }\r\n   }\r\n\r\n   SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_SETCURSEL, iCurSel, 0L);\r\n\r\n   return(FDC_TRUE);\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  FormatDlgProc() -                                                       */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nINT_PTR\r\nCALLBACK\r\nFormatDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n   TCHAR szBuf[128];\r\n   INT  i, count;\r\n   static INT nLastDriveInd;\r\n   static INT nItemIndex;\r\n\r\n   UNREFERENCED_PARAMETER(lParam);\r\n\r\n   switch (wMsg) {\r\n   case WM_INITDIALOG:\r\n\r\n      // make sure fmifs is loaded!\r\n\r\n      if (!FmifsLoaded())\r\n         EndDialog(hDlg,FALSE);\r\n\r\n      CancelInfo.bCancel = FALSE;\r\n      CancelInfo.dReason = IDS_FFERR;\r\n      CancelInfo.fmifsSuccess = FALSE;\r\n      CancelInfo.nPercentDrawn = 0;\r\n\r\n      ulTotalSpace = ulSpaceAvail = 0L;\r\n\r\n      // fill drives combo\r\n\r\n      nLastDriveInd = -1;\r\n      if (CancelInfo.Info.Format.fFlags & FF_PRELOAD)\r\n      {\r\n         // We are preloading, so go ahead and set quickformat and label\r\n         // AND also density if it's available! (below)\r\n\r\n         CheckDlgButton(hDlg, IDD_VERIFY,CancelInfo.Info.Format.fQuick);\r\n         SetDlgItemText(hDlg, IDD_NAME, CancelInfo.Info.Format.szLabel);\r\n\r\n         // attempt to read in new information\r\n         // Set density combobox items as last time...\r\n         if (FillDriveCapacity(hDlg,\r\n             CancelInfo.Info.Format.iFormatDrive,\r\n             CancelInfo.Info.Format.fmMediaType, TRUE) == FDC_TRUE)\r\n         {\r\n            /*\r\n             *  Get the index of the drive selection to highlight.\r\n             *  Only count removable drives.\r\n             */\r\n            for (i = 0; i < cDrives; i++)\r\n            {\r\n               if (IsRemovableDrive(rgiDrive[i]))\r\n               {\r\n                  nLastDriveInd++;\r\n                  if (rgiDrive[i] == CancelInfo.Info.Format.iFormatDrive)\r\n                     break;\r\n               }\r\n            }\r\n         }\r\n      }\r\n\r\n      // Now that we've used the bool, clear it out.\r\n      CancelInfo.Info.Format.fFlags &= ~FF_PRELOAD;\r\n\r\n      LoadString(hAppInstance, IDS_DRIVETEMP, szBuf, COUNTOF(szBuf));\r\n\r\n      count = 0;\r\n      nItemIndex = -1;\r\n      for (i = 0; i < cDrives; i++)\r\n      {\r\n         if (IsRemovableDrive(rgiDrive[i]))\r\n         {\r\n            nItemIndex++;\r\n\r\n            wsprintf(szMessage, szBuf, (TCHAR)(CHAR_A+rgiDrive[i]), CHAR_SPACE);\r\n\r\n            SendDlgItemMessage(hDlg, IDD_DRIVE, CB_INSERTSTRING, count, (LPARAM)szMessage);\r\n            SendDlgItemMessage(hDlg, IDD_DRIVE, CB_SETITEMDATA, count++, MAKELONG(rgiDrive[i], 0));\r\n\r\n            if ( (nLastDriveInd == -1) &&\r\n                 (FillDriveCapacity( hDlg,\r\n                                     rgiDrive[i],\r\n                                     (DWORD) -1,\r\n                                     FALSE ) == FDC_TRUE) )\r\n            {\r\n               /*\r\n                *  Must keep track of the item index separately in case there\r\n                *  is a non-removable drive between 2 removable drives.\r\n                *  For example, if a:, b:, and d: are removable and c: is not.\r\n                */\r\n               nLastDriveInd = nItemIndex;\r\n            }\r\n         }\r\n      }\r\n\r\n      if (nLastDriveInd != -1)\r\n      {\r\n         /*\r\n          *  Highlight the appropriate selection.\r\n          */\r\n         SendDlgItemMessage( hDlg,\r\n                             IDD_DRIVE,\r\n                             CB_SETCURSEL,\r\n                             nLastDriveInd,\r\n                             0L);\r\n      }\r\n      else\r\n      {\r\n         MyMessageBox(hwndFrame, IDS_WINFILE, IDS_QSUPMEDIA, MB_OK | MB_ICONEXCLAMATION);\r\n         EndDialog(hDlg, FALSE);\r\n      }\r\n\r\n      SendDlgItemMessage(hDlg,\r\n                         IDD_NAME,\r\n                         EM_LIMITTEXT,\r\n                         COUNTOF(CancelInfo.Info.Format.szLabel) - 2,\r\n                         0L);\r\n\r\n      break;\r\n\r\n   case WM_COMMAND:\r\n      switch (GET_WM_COMMAND_ID(wParam, lParam)) {\r\n\r\n      case IDD_HELP:\r\n         goto DoHelp;\r\n\r\n      case IDD_DRIVE:\r\n         switch (GET_WM_COMMAND_CMD(wParam, lParam)) {\r\n\r\n         case CBN_SELCHANGE: {\r\n            FDC_RET fdcr;\r\n            i = (INT)SendDlgItemMessage(hDlg, IDD_DRIVE, CB_GETCURSEL, 0, 0L);\r\n            i = (INT)SendDlgItemMessage(hDlg, IDD_DRIVE, CB_GETITEMDATA, i, 0L);\r\n            //fFormatFlags &= ~FF_CAPMASK;\r\n\r\n            // If can't get info, switch back to old.\r\n\r\n            if ((fdcr = FillDriveCapacity(hDlg, i, (DWORD) -1, TRUE)) !=\r\n                   FDC_TRUE) {\r\n               if (fdcr != FDC_FALSE_Q) {\r\n                   // Popup message box\r\n                   MyMessageBox(hwndFrame, IDS_WINFILE, IDS_QSUPMEDIA,\r\n                        MB_OK | MB_ICONEXCLAMATION);\r\n               }\r\n\r\n               SendDlgItemMessage(hDlg, IDD_DRIVE, CB_SETCURSEL,\r\n                    nLastDriveInd, 0L);\r\n\r\n               FillDriveCapacity(hDlg, rgiDrive[nLastDriveInd], (DWORD) -1,\r\n                    FALSE);\r\n            }\r\n            break;\r\n         }\r\n\r\n         default:\r\n            break;\r\n         }\r\n         break;\r\n\r\n      case IDCANCEL:\r\n\r\n         EndDialog(hDlg, FALSE);\r\n         break;\r\n\r\n      case IDOK:\r\n\r\n         CancelInfo.eCancelType = CANCEL_FORMAT;\r\n\r\n         i = (INT)SendDlgItemMessage(hDlg, IDD_DRIVE, CB_GETCURSEL, 0, 0L);\r\n         CancelInfo.Info.Format.iFormatDrive = (INT)SendDlgItemMessage(hDlg, IDD_DRIVE, CB_GETITEMDATA, i, 0L);\r\n\r\n         i = (INT)SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_GETCURSEL, 0, 0L);\r\n         CancelInfo.Info.Format.fmMediaType = SendDlgItemMessage(hDlg, IDD_HIGHCAP, CB_GETITEMDATA, i, 0L);\r\n\r\n         CancelInfo.Info.Format.fQuick = IsDlgButtonChecked(hDlg, IDD_VERIFY);\r\n\r\n         GetDlgItemText(hDlg, IDD_NAME, CancelInfo.Info.Format.szLabel,\r\n            COUNTOF(CancelInfo.Info.Format.szLabel));\r\n\r\n         if (bConfirmFormat) {\r\n            LoadString(hAppInstance, IDS_FORMATCONFIRMTITLE, szTitle, COUNTOF(szTitle));\r\n            LoadString(hAppInstance, IDS_FORMATCONFIRM, szBuf, COUNTOF(szBuf));\r\n            wsprintf(szMessage, szBuf, (TCHAR)(CHAR_A+CancelInfo.Info.Format.iFormatDrive));\r\n\r\n            if (MessageBox(hDlg, szMessage, szTitle, MB_ICONEXCLAMATION | MB_YESNO | MB_DEFBUTTON1) != IDYES)\r\n               break;\r\n         }\r\n\r\n         //\r\n         // Lock our drive and gray out formatdisk\r\n         //\r\n         LockFormatDisk(CancelInfo.Info.Format.iFormatDrive, -1, IDS_DRIVEBUSY_FORMAT, IDM_DISKCOPY, TRUE);\r\n\r\n         EndDialog(hDlg,TRUE);\r\n\r\n         // If we are formatting a disk because we tried to switch to a\r\n         // different drive (e.g., mouse drag copy to unformatted disk)\r\n         // use a modal box.\r\n\r\n         if (CancelInfo.bModal) {\r\n            DialogBox(hAppInstance, (LPTSTR) MAKEINTRESOURCE(CANCELDLG), hwndFrame, CancelDlgProc);\r\n         } else {\r\n            CreateDialog(hAppInstance, (LPTSTR) MAKEINTRESOURCE(CANCELDLG), hwndFrame, CancelDlgProc);\r\n         }\r\n\r\n         break;\r\n\r\n      default:\r\n\r\n         return FALSE;\r\n      }\r\n\r\n   default:\r\n\r\n      if (wMsg == wHelpMessage) {\r\nDoHelp:\r\n         WFHelp(hDlg);\r\n         return TRUE;\r\n      } else\r\n         return FALSE;\r\n   }\r\n  return TRUE;\r\n}\r\n\r\n/*----------------------------------------------------------------------------*/\r\n/*                                                                            */\r\n/*  FormatSelectDlgProc() -  DialogProc callback function for FORMATSELECTDLG */\r\n/*                                                                            */\r\n/*----------------------------------------------------------------------------*/\r\n\r\nINT_PTR\r\nCALLBACK\r\nFormatSelectDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n    HWND  hwndSelectDrive;\r\n    INT   driveIndex;\r\n    INT   comboxIndex;\r\n    DRIVE drive;\r\n    DWORD dwFormatResult;\r\n    TCHAR szDrive[CCH_DRIVE] = { 0 };\r\n    DWORD  dwCchTitleLength;\r\n    LPTSTR pszDlgTitle;\r\n\r\n    switch (wMsg)\r\n    {\r\n    case WM_INITDIALOG:\r\n        {\r\n            // Build the list of drives that can be selected for formatting.\r\n            // Do not include remote drives or CD/DVD drives.\r\n            szDrive[1] = ':';\r\n            hwndSelectDrive = GetDlgItem(hDlg, IDD_SELECTDRIVE);\r\n            if (hwndSelectDrive)\r\n            {\r\n                for (driveIndex = 0; driveIndex < cDrives; driveIndex++)\r\n                {\r\n                    drive = rgiDrive[driveIndex];\r\n                    if (!IsRemoteDrive(drive) && !IsCDRomDrive(drive))\r\n                    {\r\n                        // Set the drive letter as the string and the drive index as the data.\r\n                        DRIVESET(szDrive, drive);\r\n                        comboxIndex = (INT)SendMessage(hwndSelectDrive, CB_ADDSTRING, 0, (LPARAM)szDrive);\r\n                        SendMessage(hwndSelectDrive, CB_SETITEMDATA, comboxIndex, (LPARAM)drive);\r\n                    }\r\n                }\r\n\r\n                SendMessage(hwndSelectDrive, CB_SETCURSEL, 0, 0);\r\n            }\r\n\r\n            return TRUE;\r\n        }\r\n    case WM_COMMAND:\r\n        switch (GET_WM_COMMAND_ID(wParam, lParam))\r\n        {\r\n        case IDOK:\r\n            {\r\n                // Hide this dialog window while the SHFormatDrive dialog is displayed.\r\n                // SHFormatDrive needs a parent window, and this dialog will serve as\r\n                // that parent, even if it is hidden.\r\n                ShowWindow(hDlg, SW_HIDE);\r\n\r\n                pszDlgTitle = NULL;\r\n                dwCchTitleLength = GetWindowTextLength(hDlg);\r\n                if (dwCchTitleLength > 0)\r\n                {\r\n                    dwCchTitleLength++;\r\n                    pszDlgTitle = (LPTSTR)LocalAlloc(LMEM_FIXED, ByteCountOf(dwCchTitleLength));\r\n                    if (pszDlgTitle != NULL)\r\n                    {\r\n                        GetWindowText(hDlg, pszDlgTitle, dwCchTitleLength);\r\n                    }\r\n                }\r\n\r\n                // Retrieve the selected drive index and call SHFormatDrive with it.\r\n                comboxIndex = (INT)SendDlgItemMessage(hDlg, IDD_SELECTDRIVE, CB_GETCURSEL, 0, 0);\r\n                drive = (DRIVE)SendDlgItemMessage(hDlg, IDD_SELECTDRIVE, CB_GETITEMDATA, comboxIndex, 0);\r\n                dwFormatResult = SHFormatDrive(hDlg, drive, SHFMT_ID_DEFAULT, 0);\r\n\r\n                // If the format results in an error, show FORMATSELECTDLG again so\r\n                // the user can select a different drive if needed, or cancel.\r\n                // Otherwise, if the format was successful, just close FORMATSELECTDLG.\r\n                if (dwFormatResult == SHFMT_ERROR || dwFormatResult == SHFMT_CANCEL || dwFormatResult == SHFMT_NOFORMAT)\r\n                {\r\n                    // SHFormatDrive sometimes sets the parent window title when it encounters an error.\r\n                    // We don't want this; set the title back before we show the dialog.\r\n                    if (pszDlgTitle != NULL && dwCchTitleLength > 0)\r\n                    {\r\n                        SetWindowText(hDlg, pszDlgTitle);\r\n                    }\r\n                    ShowWindow(hDlg, SW_SHOW);\r\n                }\r\n                else\r\n                {\r\n                    DestroyWindow(hDlg);\r\n                    hwndFormatSelect = NULL;\r\n                }\r\n                if (pszDlgTitle != NULL)\r\n                {\r\n                    LocalFree(pszDlgTitle);\r\n                }\r\n\r\n                return TRUE;\r\n            }\r\n        case IDCANCEL:\r\n            DestroyWindow(hDlg);\r\n            hwndFormatSelect = NULL;\r\n            return TRUE;\r\n        }\r\n    }\r\n    return FALSE;\r\n}\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  AboutDlgProc() -  DialogProc callback function for ABOUTDLG             */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nINT_PTR\r\nCALLBACK\r\nAboutDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n    WORD wMajorVersion   = 0;\r\n    WORD wMinorVersion   = 0;\r\n    WORD wBuildNumber    = 0;\r\n    WORD wRevisionNumber = 0;\r\n    TCHAR szVersion[CCH_VERSION] = { 0 };\r\n\r\n    switch (wMsg)\r\n    {\r\n    case WM_INITDIALOG:\r\n        if (GetProductVersion(&wMajorVersion, &wMinorVersion, &wBuildNumber, &wRevisionNumber))\r\n        {\r\n            if (SUCCEEDED(StringCchPrintf(szVersion, CCH_VERSION, TEXT(\"Version %d.%d.%d.%d\"),\r\n                (int)wMajorVersion, (int)wMinorVersion, (int)wBuildNumber, (int)wRevisionNumber)))\r\n            {\r\n                SetDlgItemText(hDlg, IDD_VERTEXT, szVersion);\r\n            }\r\n        }\r\n        return TRUE;\r\n    case WM_COMMAND:\r\n        switch (GET_WM_COMMAND_ID(wParam, lParam))\r\n        {\r\n        case IDOK:\r\n        case IDCANCEL:\r\n            EndDialog(hDlg, IDOK);\r\n            return TRUE;\r\n        }\r\n    }\r\n    return FALSE;\r\n}\r\n\r\nDWORD\r\nWINAPI\r\nFormatDrive( IN PVOID ThreadParameter )\r\n{\r\n   WCHAR wszDrive[3];\r\n   WCHAR wszFileSystem[4] = L\"FAT\";\r\n\r\n   wszDrive[0] = (WCHAR)(CancelInfo.Info.Format.iFormatDrive + CHAR_A);\r\n   wszDrive[1] = CHAR_COLON;\r\n   wszDrive[2] = CHAR_NULL;\r\n\r\n#define wszLabel CancelInfo.Info.Format.szLabel\r\n\r\n   do {\r\n      CancelInfo.Info.Format.fFlags &= ~FF_RETRY;\r\n\r\n      (*lpfnFormat)(wszDrive,\r\n         CancelInfo.Info.Format.fmMediaType,\r\n         wszFileSystem,\r\n         wszLabel,\r\n         (BOOLEAN)(CancelInfo.Info.Format.fQuick ? TRUE : FALSE),\r\n         (FMIFS_CALLBACK)&Callback_Function);\r\n   } while (CancelInfo.Info.Format.fFlags & FF_RETRY);\r\n\r\n   CancelDlgQuit();\r\n\r\n   return 0;\r\n}\r\n\r\nDWORD\r\nWINAPI\r\nCopyDiskette( IN PVOID ThreadParameter )\r\n{\r\n  BOOL fVerify = FALSE;\r\n\r\n  WCHAR wszSrcDrive[3];\r\n  WCHAR wszDestDrive[3];\r\n\r\n  wszSrcDrive[0] = (WCHAR)(CancelInfo.Info.Copy.iSourceDrive + CHAR_A);\r\n  wszSrcDrive[1] = CHAR_COLON;\r\n  wszSrcDrive[2] = CHAR_NULL;\r\n\r\n  wszDestDrive[0] = (WCHAR)(CancelInfo.Info.Copy.iDestDrive + CHAR_A);\r\n  wszDestDrive[1] = CHAR_COLON;\r\n  wszDestDrive[2] = CHAR_NULL;\r\n\r\n  (*lpfnDiskCopy)(wszSrcDrive,\r\n                  wszDestDrive,\r\n                  (BOOLEAN)fVerify,\r\n                  (FMIFS_CALLBACK)&Callback_Function);\r\n\r\n   CancelDlgQuit();\r\n\r\n   return 0;\r\n}\r\n\r\n\r\nBOOL\r\nCallback_Function(FMIFS_PACKET_TYPE   PacketType,\r\n   DWORD PacketLength,\r\n   PVOID PacketData)\r\n{\r\n   // Quit if told to do so..\r\n\r\n   if (CancelInfo.bCancel)\r\n      return FALSE;\r\n\r\n   switch (PacketType) {\r\n   case FmIfsPercentCompleted:\r\n\r\n      //\r\n      // If we are copying and we just finished a destination format,\r\n      // then set the window text back to the original message\r\n      //\r\n      if (CANCEL_COPY == CancelInfo.eCancelType &&\r\n         CancelInfo.Info.Copy.bFormatDest) {\r\n\r\n         CancelInfo.Info.Copy.bFormatDest = FALSE;\r\n         SendMessage(hwndFrame, FS_CANCELCOPYFORMATDEST, 0, 0L);\r\n      }\r\n\r\n      PostMessage(hwndFrame, FS_CANCELUPDATE, ((PFMIFS_PERCENT_COMPLETE_INFORMATION)PacketData)->PercentCompleted, 0L);\r\n\r\n      break;\r\n   case FmIfsFormatReport:\r\n      ulTotalSpace = ((PFMIFS_FORMAT_REPORT_INFORMATION)PacketData)->KiloBytesTotalDiskSpace * 1024L;\r\n      ulSpaceAvail = ((PFMIFS_FORMAT_REPORT_INFORMATION)PacketData)->KiloBytesAvailable * 1024L;\r\n      break;\r\n   case FmIfsInsertDisk:\r\n      switch(((PFMIFS_INSERT_DISK_INFORMATION)PacketData)->DiskType) {\r\n      case DISK_TYPE_GENERIC:\r\n         CancelInfo.fuStyle = MB_OK | MB_ICONINFORMATION;\r\n         SendMessage(hwndFrame, FS_CANCELMESSAGEBOX, IDS_COPYDISK, IDS_INSERTSRC);\r\n         break;\r\n      case DISK_TYPE_SOURCE:\r\n         CancelInfo.fuStyle = MB_OK | MB_ICONINFORMATION;\r\n         SendMessage(hwndFrame, FS_CANCELMESSAGEBOX, IDS_COPYDISK, IDS_INSERTSRC);\r\n         break;\r\n      case DISK_TYPE_TARGET:\r\n         CancelInfo.fuStyle = MB_OK | MB_ICONINFORMATION;\r\n         SendMessage(hwndFrame, FS_CANCELMESSAGEBOX, IDS_COPYDISK, IDS_INSERTDEST);\r\n         break;\r\n      case DISK_TYPE_SOURCE_AND_TARGET:\r\n         CancelInfo.fuStyle = MB_OK | MB_ICONINFORMATION;\r\n         SendMessage(hwndFrame, FS_CANCELMESSAGEBOX, IDS_COPYDISK, IDS_INSERTSRCDEST);\r\n         break;\r\n      }\r\n      break;\r\n   case FmIfsIncompatibleFileSystem:\r\n      CancelInfo.dReason = IDS_FFERR_INCFS;\r\n      break;\r\n   case FmIfsFormattingDestination:\r\n      CancelInfo.Info.Copy.bFormatDest = TRUE;\r\n      SendMessage(hwndFrame, FS_CANCELCOPYFORMATDEST, 0, 0L);\r\n      break;\r\n   case FmIfsIncompatibleMedia:\r\n      CancelInfo.fuStyle = MB_ICONHAND | MB_OK;\r\n      SendMessage(hwndFrame, FS_CANCELMESSAGEBOX, IDS_COPYDISK, IDS_COPYSRCDESTINCOMPAT);\r\n      break;\r\n   case FmIfsAccessDenied:\r\n      CancelInfo.dReason = IDS_FFERR_ACCESSDENIED;\r\n      break;\r\n   case FmIfsMediaWriteProtected:\r\n      CancelInfo.dReason = IDS_FFERR_DISKWP;\r\n      break;\r\n   case FmIfsCantLock:\r\n      CancelInfo.dReason = IDS_FFERR_CANTLOCK;\r\n      break;\r\n   case FmIfsBadLabel:\r\n      CancelInfo.fuStyle = MB_ICONEXCLAMATION | MB_OK;\r\n      SendMessage(hwndFrame, FS_CANCELMESSAGEBOX,\r\n         IDS_COPYERROR + FUNC_LABEL, IDS_FFERR_BADLABEL);\r\n      break;\r\n   case FmIfsCantQuickFormat:\r\n\r\n      // Can't quick format, ask if user wants to regular format:\r\n      CancelInfo.fuStyle = MB_ICONEXCLAMATION | MB_YESNO;\r\n\r\n      if (IDYES == SendMessage(hwndFrame, FS_CANCELMESSAGEBOX, IDS_FORMATERR,\r\n         IDS_FORMATQUICKFAILURE)) {\r\n\r\n         CancelInfo.Info.Format.fQuick = FALSE;\r\n         CancelInfo.Info.Format.fFlags |= FF_RETRY;\r\n\r\n      } else {\r\n\r\n         //\r\n         // Just fake a cancel\r\n         //\r\n         CancelInfo.fmifsSuccess = FALSE;\r\n         CancelInfo.bCancel = TRUE;\r\n      }\r\n\r\n      break;\r\n   case FmIfsIoError:\r\n      switch(((PFMIFS_IO_ERROR_INFORMATION)PacketData)->DiskType) {\r\n      case DISK_TYPE_GENERIC:\r\n         CancelInfo.dReason = IDS_FFERR_GENIOERR;\r\n         break;\r\n      case DISK_TYPE_SOURCE:\r\n         CancelInfo.dReason = IDS_FFERR_SRCIOERR;\r\n         break;\r\n      case DISK_TYPE_TARGET:\r\n         CancelInfo.dReason = IDS_FFERR_DSTIOERR;\r\n         break;\r\n      case DISK_TYPE_SOURCE_AND_TARGET:\r\n         CancelInfo.dReason = IDS_FFERR_SRCDSTIOERR;\r\n         break;\r\n      }\r\n      break;\r\n   case FmIfsFinished:\r\n      CancelInfo.fmifsSuccess = ((PFMIFS_FINISHED_INFORMATION)PacketData)->Success;\r\n\r\n      break;\r\n   default:\r\n      break;\r\n   }\r\n   return TRUE;\r\n}\r\n\r\n/*-------------------------  CancelDlgProc\r\n *\r\n *  DESCRIPTION:\r\n *    dialog procedure for the modeless dialog. two main purposes\r\n *    here:\r\n *\r\n *      1. if the user chooses CANCEL we set bCancel to TRUE\r\n *         which will end the PeekMessage background processing loop\r\n *\r\n *      2. handle the private FS_CANCELUPDATE message and draw\r\n *         a \"gas gauge\" indication of how FAR the background job\r\n *         has progressed\r\n *\r\n *  ARGUMENTS:\r\n *      stock dialog proc arguments\r\n *\r\n *  RETURN VALUE:\r\n *      stock dialog proc return value - BOOL\r\n *\r\n *  GLOBALS READ:\r\n *      none\r\n *\r\n *  GLOBALS WRITTEN:\r\n *      CancelInfo structure\r\n *\r\n *  MESSAGES:\r\n *      WM_COMMAND      - handle IDCANCEL by setting bCancel to TRUE\r\n *                        and calling DestroyWindow to end the dialog\r\n *\r\n *      WM_INITDIALOG   - set control text, get coordinates of gas gauge,\r\n *                        disable main window so we look modal\r\n *\r\n *      WM_PAINT        - draw the \"gas gauge\" control\r\n *\r\n *      FS_CANCELUPDATE - the percentage done has changed, so update\r\n *                        nPercentDrawn and force a repaint\r\n *\r\n *  NOTES:\r\n *\r\n *    The bCancel global variable is used to communicate\r\n *    with the main window. If the user chooses to cancel\r\n *    we set bCancel to TRUE.\r\n *\r\n *    When we get the private message FS_CANCELUPDATE\r\n *    we update the \"gas gauge\" control that indicates\r\n *    what percentage of the rectangles have been drawn\r\n *    so FAR. This shows that we can draw in the dialog\r\n *    as the looping operation progresses.  (FS_CANCELUPDATE is sent\r\n *    first to hwndFrame, which sets %completed then sends message to us.)\r\n *\r\n */\r\n\r\nINT_PTR\r\nCALLBACK\r\nCancelDlgProc(HWND hDlg,\r\n   UINT message,\r\n   WPARAM wParam,\r\n   LPARAM lParam)\r\n{\r\n   static RECT rectGG;              // GasGauge rectangle\r\n   DWORD Ignore;\r\n   TCHAR szTemp[128];\r\n   static BOOL bLastQuick;\r\n\r\n   switch (message) {\r\n\r\n   case WM_COMMAND:\r\n\r\n      switch (GET_WM_COMMAND_ID(wParam, lParam)) {\r\n      case IDCANCEL:\r\n\r\n         DestroyCancelWindow();\r\n         CancelInfo.bCancel = TRUE;\r\n         return TRUE;\r\n\r\n      case IDD_HIDE:\r\n         DestroyCancelWindow();\r\n         return TRUE;\r\n      }\r\n      return TRUE;\r\n\r\n   case WM_INITDIALOG:\r\n      {\r\n         CancelInfo.hCancelDlg = hDlg;\r\n         bLastQuick = TRUE;\r\n\r\n         switch(CancelInfo.eCancelType) {\r\n         case CANCEL_FORMAT:\r\n\r\n            //\r\n            // Formatting disk requires that we release any notification\r\n            // requests on this drive.\r\n            //\r\n            NotifyPause(CancelInfo.Info.Format.iFormatDrive, DRIVE_REMOVABLE);\r\n\r\n            break;\r\n         case CANCEL_COPY:\r\n\r\n            //\r\n            // Pause notifications on dest drive.\r\n            //\r\n            NotifyPause(CancelInfo.Info.Copy.iDestDrive, DRIVE_REMOVABLE);\r\n\r\n            if (CancelInfo.Info.Copy.bFormatDest) {\r\n               LoadString(hAppInstance, IDS_FORMATTINGDEST, szTemp, COUNTOF(szTemp));\r\n            } else {\r\n               LoadString(hAppInstance, IDS_COPYINGDISKTITLE, szTemp, COUNTOF(szTemp));\r\n            }\r\n            SetWindowText(hDlg, szTemp);\r\n\r\n            break;\r\n         default:\r\n            break;\r\n         }\r\n\r\n         if (!CancelInfo.hThread) {\r\n            switch (CancelInfo.eCancelType) {\r\n            case CANCEL_FORMAT:\r\n               CancelInfo.hThread = CreateThread( NULL,      // Security\r\n                  0L,                                        // Stack Size\r\n                  FormatDrive,\r\n                  NULL,\r\n                  0L,\r\n                  &Ignore );\r\n               break;\r\n            case CANCEL_COPY:\r\n              CancelInfo.hThread = CreateThread( NULL,      // Security\r\n                  0L,                                        // Stack Size\r\n                  CopyDiskette,\r\n                  NULL,\r\n                  0L,\r\n                  &Ignore );\r\n               break;\r\n            default:\r\n               break;\r\n            }\r\n         }\r\n\r\n         // Get the coordinates of the gas gauge static control rectangle,\r\n         // and convert them to dialog client area coordinates\r\n         GetClientRect(GetDlgItem(hDlg, IDD_GASGAUGE), &rectGG);\r\n         ClientToScreen(GetDlgItem(hDlg, IDD_GASGAUGE), (LPPOINT)&rectGG.left);\r\n         ClientToScreen(GetDlgItem(hDlg, IDD_GASGAUGE), (LPPOINT)&rectGG.right);\r\n         ScreenToClient(hDlg, (LPPOINT)&rectGG.left);\r\n         ScreenToClient(hDlg, (LPPOINT)&rectGG.right);\r\n\r\n         return TRUE;\r\n      }\r\n\r\n   case WM_PAINT:\r\n       {\r\n       HDC         hDC;\r\n       PAINTSTRUCT ps;\r\n       TCHAR       buffer[32];\r\n       SIZE        size;\r\n       INT         xText, yText;\r\n       INT         nDivideRects;\r\n       RECT        rectDone, rectLeftToDo;\r\n\r\n       // The gas gauge is drawn by drawing a text string stating\r\n       // what percentage of the job is done into the middle of\r\n       // the gas gauge rectangle, and by separating that rectangle\r\n       // into two parts: rectDone (the left part, filled in blue)\r\n       // and rectLeftToDo(the right part, filled in white).\r\n       // nDivideRects is the x coordinate that divides these two rects.\r\n       //\r\n       // The text in the blue rectangle is drawn white, and vice versa\r\n       // This is easy to do with ExtTextOut()!\r\n\r\n       hDC = BeginPaint(hDlg, &ps);\r\n\r\n       //\r\n       // If formatting quick, set this display\r\n       //\r\n       if (CancelInfo.Info.Format.fQuick &&\r\n          CANCEL_FORMAT == CancelInfo.eCancelType) {\r\n\r\n          LoadString(hAppInstance, IDS_QUICKFORMATTINGTITLE, buffer, COUNTOF(buffer));\r\n          SendDlgItemMessage(hDlg, IDD_TEXT1, WM_SETTEXT, 0, (LPARAM)szNULL);\r\n\r\n          bLastQuick = TRUE;\r\n\r\n       } else {\r\n\r\n          if (bLastQuick) {\r\n             LoadString(hAppInstance, IDS_PERCENTCOMPLETE, buffer, COUNTOF(buffer));\r\n             SendDlgItemMessage(hDlg, IDD_TEXT1, WM_SETTEXT, 0, (LPARAM)buffer);\r\n\r\n             bLastQuick = FALSE;\r\n          }\r\n\r\n          wsprintf(buffer, SZ_PERCENTFORMAT, CancelInfo.nPercentDrawn);\r\n       }\r\n\r\n       GetTextExtentPoint32(hDC, buffer, lstrlen(buffer), &size);\r\n       xText    = rectGG.left\r\n                   + ((rectGG.right - rectGG.left) - size.cx) / 2;\r\n       yText    = rectGG.top\r\n                   + ((rectGG.bottom - rectGG.top) - size.cy) / 2;\r\n\r\n       nDivideRects = ((rectGG.right - rectGG.left) * CancelInfo.nPercentDrawn) / 100;\r\n\r\n       // Paint in the \"done so FAR\" rectangle of the gas\r\n       // gauge with blue background and white text\r\n       SetRect(&rectDone, rectGG.left, rectGG.top,\r\n                                 rectGG.left + nDivideRects, rectGG.bottom);\r\n       SetTextColor(hDC, RGB(255, 255, 255));\r\n       SetBkColor(hDC, RGB(0, 0, 255));\r\n\r\n       ExtTextOut(hDC, xText, yText, ETO_CLIPPED | ETO_OPAQUE,\r\n                           &rectDone, buffer, lstrlen(buffer), NULL);\r\n\r\n       // Paint in the \"still left to do\" rectangle of the gas\r\n       // gauge with white background and blue text\r\n       SetRect(&rectLeftToDo, rectGG.left+nDivideRects, rectGG.top,\r\n                                 rectGG.right, rectGG.bottom);\r\n       SetTextColor(hDC, RGB(0, 0, 255));\r\n       SetBkColor(hDC, RGB(255, 255, 255));\r\n\r\n       ExtTextOut(hDC, xText, yText, ETO_CLIPPED | ETO_OPAQUE,\r\n                       &rectLeftToDo, buffer, lstrlen(buffer), NULL);\r\n\r\n       EndPaint(hDlg, &ps);\r\n\r\n       return TRUE;\r\n       }\r\n\r\n   case FS_CANCELUPDATE:\r\n\r\n       InvalidateRect(hDlg, &rectGG, TRUE);\r\n       UpdateWindow(hDlg);\r\n       return TRUE;\r\n\r\n   default:\r\n       return FALSE;\r\n   }\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     ProgressDialogProc\r\n//\r\n// Synopsis: Modal dialog box for mouse move/copy progress\r\n//\r\n//\r\n//\r\n//\r\n//\r\n//\r\n// Return:\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nINT_PTR\r\nCALLBACK\r\nProgressDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n   static PCOPYINFO pCopyInfo;\r\n   TCHAR szTitle[MAXTITLELEN];\r\n\r\n   switch (wMsg) {\r\n   case WM_INITDIALOG:\r\n\r\n      hdlgProgress = hDlg;\r\n      pCopyInfo = (PCOPYINFO) lParam;\r\n\r\n      // Set the destination directory in the dialog.\r\n      // use IDD_TONAME 'cause IDD_TO gets disabled....\r\n\r\n      // The dialog title defaults to \"Moving...\"\r\n      if (pCopyInfo->dwFunc == FUNC_COPY) {\r\n\r\n         if (bJAPAN) {\r\n            // Use \"Copying...\" instead of \"Moving...\"\r\n            SetDlgItemText(hdlgProgress, IDD_TOSTATUS, szNULL);\r\n         }\r\n         LoadString(hAppInstance,\r\n                    IDS_COPYINGTITLE,\r\n                    szTitle,\r\n                    COUNTOF(szTitle));\r\n\r\n         SetWindowText(hdlgProgress, szTitle);\r\n\r\n      } else {\r\n\r\n         SetDlgItemText(hdlgProgress, IDD_TOSTATUS, szNULL);\r\n      }\r\n\r\n\r\n      //\r\n      // Move/Copy things.\r\n      //\r\n\r\n      if (WFMoveCopyDriver(pCopyInfo)) {\r\n\r\n         //\r\n         // Error message!!\r\n         //\r\n\r\n         EndDialog(hDlg, GetLastError());\r\n      }\r\n      break;\r\n\r\n   case FS_COPYDONE:\r\n\r\n      //\r\n      // Only cancel out if pCopyInfo == lParam\r\n      // This indicates that the proper thread quit.\r\n      //\r\n      // wParam holds return value\r\n      //\r\n\r\n      if (lParam == (LPARAM)pCopyInfo) {\r\n\r\n         EndDialog(hDlg, wParam);\r\n      }\r\n      break;\r\n\r\n\r\n   case WM_COMMAND:\r\n      switch (GET_WM_COMMAND_ID(wParam, lParam)) {\r\n\r\n      case IDCANCEL:\r\n\r\n         pCopyInfo->bUserAbort = TRUE;\r\n\r\n         //\r\n         // What should be the return value??\r\n         //\r\n         EndDialog(hDlg, 0);\r\n\r\n         break;\r\n\r\n      default:\r\n         return FALSE;\r\n      }\r\n      break;\r\n\r\n   default:\r\n      return FALSE;\r\n   }\r\n   return TRUE;\r\n}\r\n\r\n\r\n// update all the windows and things after drives have been connected\r\n// or disconnected.\r\n\r\nVOID\r\nUpdateConnections(BOOL bUpdateDriveList)\r\n{\r\n   HWND hwnd, hwndNext, hwndDrive, hwndTree;\r\n   INT i;\r\n   DRIVE drive;\r\n   HCURSOR hCursor;\r\n   LPTSTR lpszVol;\r\n   LPTSTR lpszOldVol;\r\n\r\n   hCursor = SetCursor(LoadCursor(NULL, IDC_WAIT));\r\n   ShowCursor(TRUE);\r\n\r\n   if (bUpdateDriveList) {\r\n      UpdateDriveList();\r\n   }\r\n\r\n   // close all windows that have the current drive set to\r\n   // the one we just disconnected\r\n\r\n   for (hwnd = GetWindow(hwndMDIClient, GW_CHILD); hwnd; hwnd = hwndNext) {\r\n\r\n      hwndNext = GetWindow(hwnd, GW_HWNDNEXT);\r\n\r\n      // ignore the titles and search window\r\n      if (GetWindow(hwnd, GW_OWNER) || hwnd == hwndSearch)\r\n         continue;\r\n\r\n      drive = (DRIVE)GetWindowLongPtr(hwnd, GWL_TYPE);\r\n\r\n      //\r\n      // IsValidDisk uses GetDriveType which was updated if\r\n      // bUpdateDriveList == TRUE.\r\n      //\r\n\r\n      if (IsValidDisk(drive)) {\r\n\r\n         //\r\n         // Invalidate cache to get real one in case the user reconnected\r\n         // d: from \\\\popcorn\\public to \\\\rastaman\\ntwin\r\n         //\r\n         // Previously used MDI window title to determine if the volume\r\n         // has changed.  Now we will just check DriveInfo structure\r\n         // (bypass status bits).\r\n         //\r\n\r\n         //\r\n         // Now only do this for remote drives!\r\n         //\r\n\r\n         if (IsRemoteDrive(drive)) {\r\n\r\n            R_NetCon(drive);\r\n\r\n            if (!WFGetConnection(drive, &lpszVol, FALSE, ALTNAME_REG)) {\r\n               lpszOldVol = (LPTSTR) GetWindowLongPtr(hwnd, GWL_VOLNAME);\r\n\r\n               if (lpszOldVol && lpszVol) {\r\n\r\n                  if (lstrcmpi(lpszVol, lpszOldVol)) {\r\n\r\n                     //\r\n                     // updatedrivelist/initdrivebitmaps called above;\r\n                     // don't do here\r\n                     //\r\n                     RefreshWindow(hwnd, FALSE, TRUE);\r\n                  }\r\n               }\r\n            }\r\n         }\r\n\r\n      } else {\r\n\r\n         //\r\n         // this drive has gone away\r\n         //\r\n         if (IsLastWindow()) {\r\n            // disconnecting the last drive\r\n            // set this guy to the first non floppy / cd rom\r\n\r\n            for (i = 0; i < cDrives; i++) {\r\n               if (!IsRemovableDrive(rgiDrive[i]) && !IsCDRomDrive(rgiDrive[i])) {\r\n                  SendMessage(hwndDriveBar, FS_SETDRIVE, i, 0L);\r\n                  break;\r\n               }\r\n            }\r\n         } else if ((hwndTree = HasTreeWindow(hwnd)) &&\r\n            GetWindowLongPtr(hwndTree, GWL_READLEVEL)) {\r\n\r\n            //\r\n            // abort tree walk\r\n            //\r\n            bCancelTree = TRUE;\r\n\r\n         } else {\r\n            SendMessage(hwnd, WM_SYSCOMMAND, SC_CLOSE, 0L);\r\n         }\r\n      }\r\n   }\r\n\r\n   // why is this here?  Move it further, right redisplay if at all.\r\n   // Reuse hwndDrive as the current window open!\r\n\r\n   hwndDrive = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n\r\n   i = (INT) GetWindowLongPtr(hwndDrive, GWL_TYPE);\r\n\r\n   if (TYPE_SEARCH == i) {\r\n      i = DRIVEID(SearchInfo.szSearch);\r\n   }\r\n\r\n   FillToolbarDrives(i);\r\n\r\n   //\r\n   // don't refresh, done in FillToolbarDrives\r\n   //\r\n   SwitchDriveSelection(hwndDrive,FALSE);\r\n\r\n   //\r\n   // Don't refresh toolbar... it doesn't change!\r\n   //\r\n   MDIClientSizeChange(NULL,DRIVEBAR_FLAG); /* update/resize drive bar */\r\n\r\n   ShowCursor(FALSE);\r\n   SetCursor(hCursor);\r\n\r\n   //\r\n   // Update disco btn/menu item\r\n   //\r\n   EnableDisconnectButton();\r\n\r\n}\r\n\r\nINT_PTR\r\nCALLBACK\r\nDrivesDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n   DRIVEIND driveInd;\r\n   INT iSel;\r\n   HWND hwndActive;\r\n\r\n   if (ResizeDialogProc(hDlg, wMsg, wParam, lParam)) {\r\n      return TRUE;\r\n   }\r\n\r\n   switch (wMsg) {\r\n   case WM_INITDIALOG:\r\n      {\r\n         INT nCurDrive;\r\n         DRIVEIND nIndex;\r\n         LPTSTR lpszVolShare;\r\n\r\n         nCurDrive = GetSelectedDrive();\r\n         nIndex = 0;\r\n\r\n         for (driveInd=0; driveInd < cDrives; driveInd++) {\r\n\r\n            BuildDriveLine(&lpszVolShare, driveInd, FALSE, ALTNAME_SHORT);\r\n\r\n            if (nCurDrive == rgiDrive[driveInd])\r\n               nIndex = driveInd;\r\n\r\n            SendDlgItemMessage(hDlg, IDD_DRIVE, LB_ADDSTRING, 0, (LPARAM)lpszVolShare);\r\n         }\r\n         SendDlgItemMessage(hDlg, IDD_DRIVE, LB_SETCURSEL, nIndex, 0L);\r\n         break;\r\n      }\r\n\r\n   case WM_COMMAND:\r\n\r\n      switch (GET_WM_COMMAND_ID(wParam, lParam)) {\r\n      case IDD_HELP:\r\n         goto DoHelp;\r\n\r\n      case IDD_DRIVE:\r\n         if (GET_WM_COMMAND_CMD(wParam, lParam) != LBN_DBLCLK)\r\n            break;\r\n\r\n         // fall through\r\n      case IDOK:\r\n         iSel = (INT)SendDlgItemMessage(hDlg, IDD_DRIVE, LB_GETCURSEL, 0, 0L);\r\n         EndDialog(hDlg, TRUE);\r\n\r\n         hwndActive = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n\r\n         if (hwndDriveBar) {\r\n\r\n            //\r\n            // If same drive, don't steal (lparam)\r\n            //\r\n            SendMessage(hwndDriveBar, FS_SETDRIVE, iSel, 1L);\r\n         }\r\n         break;\r\n\r\n      case IDCANCEL:\r\n         EndDialog(hDlg, FALSE);\r\n         break;\r\n\r\n      }\r\n      break;\r\n   default:\r\n\r\n      if (wMsg == wHelpMessage) {\r\nDoHelp:\r\n         WFHelp(hDlg);\r\n\r\n         return TRUE;\r\n      } else {\r\n         return FALSE;\r\n      }\r\n   }\r\n   return TRUE;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     CancelDlgQuit\r\n//\r\n// Synopsis: Quits the cancel modeless dialog (status for diskcopy/format)\r\n//\r\n// IN: VOID\r\n//\r\n// Return:   VOID\r\n//\r\n// Assumes:  Called from worker thread only; CancelInfo.hThread valid\r\n//\r\n// Effects:  Kills calling thread\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nCancelDlgQuit()\r\n{\r\n   //\r\n   // Close thread if successful\r\n   //\r\n\r\n   if (CancelInfo.hThread) {\r\n      CloseHandle(CancelInfo.hThread);\r\n      CancelInfo.hThread = NULL;\r\n   } else {\r\n      //\r\n      // BUGBUG\r\n      //\r\n   }\r\n\r\n   //\r\n   // At this point, when we call FS_CANCELEND,\r\n   // the other thread thinks that this one has died since\r\n   // CancelInfo.hThread is NULL.\r\n   // This is exactly what we want, since we will very shortly\r\n   // exit after the SendMessage.\r\n   //\r\n   SendMessage(hwndFrame, FS_CANCELEND,0,0L);\r\n\r\n   ExitThread(0L);\r\n}\r\n\r\nVOID\r\nCopyDiskEnd()\r\n{\r\n\r\n   //\r\n   // Now resume notifications\r\n   //\r\n   NotifyResume(CancelInfo.Info.Copy.iDestDrive, DRIVE_REMOVABLE);\r\n\r\n   LockFormatDisk(CancelInfo.Info.Copy.iSourceDrive,\r\n      CancelInfo.Info.Copy.iDestDrive, 0, IDM_FORMAT, FALSE);\r\n\r\n   // If not successful, and the user _didn't_ hit cancel, throw up\r\n   // an error message (as implemented, hitting cancel does not return\r\n   // a dialog box.\r\n\r\n   if (!CancelInfo.fmifsSuccess && !CancelInfo.bCancel) {\r\n      //\r\n      // Get reason and display intelligent message.\r\n      LoadString(hAppInstance, IDS_COPYDISKERR, szTitle, COUNTOF(szTitle));\r\n      LoadString(hAppInstance, CancelInfo.dReason, szMessage, COUNTOF(szMessage));\r\n\r\n      MessageBox(hwndFrame, szMessage, szTitle, MB_OK | MB_ICONSTOP);\r\n   }\r\n}\r\n\r\n\r\nVOID\r\nFormatEnd()\r\n{\r\n   TCHAR szBuf[128];\r\n   HWND hwnd, hwndActive;\r\n\r\n   //\r\n   // Now resume notifications\r\n   //\r\n   NotifyResume(CancelInfo.Info.Format.iFormatDrive, DRIVE_REMOVABLE);\r\n\r\n   LockFormatDisk(CancelInfo.Info.Format.iFormatDrive, -1, 0, IDM_DISKCOPY, FALSE);\r\n\r\n   // Update information only if successful\r\n   // (What about if cancel?)\r\n\r\n   if (CancelInfo.fmifsSuccess) {\r\n\r\n      //\r\n      // refresh all windows open on this drive\r\n      //\r\n      // Originally, we updated everything, but now just invalidate\r\n      //\r\n\r\n      I_VolInfo(CancelInfo.Info.Format.iFormatDrive);\r\n\r\n      for (hwnd = GetWindow(hwndMDIClient, GW_CHILD);\r\n         hwnd;\r\n         hwnd = GetWindow(hwnd, GW_HWNDNEXT)) {\r\n\r\n         // refresh windows on this drive\r\n\r\n         if (CancelInfo.Info.Format.iFormatDrive == (INT)GetWindowLongPtr(hwnd, GWL_TYPE))\r\n            RefreshWindow(hwnd, FALSE, FALSE);\r\n\r\n      }\r\n      hwndActive = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n      // update the drives windows\r\n\r\n      // FS_CHANGEDRIVES (via RedoDriveWindows)\r\n      // no longer calls UpdateDriveList or InitDriveBitmaps.\r\n      // But that's good, since neither changes in a format!\r\n\r\n      SendMessage(hwndActive, FS_CHANGEDRIVES, 0, 0L);\r\n\r\n      // use fFlags and check ONLYONE, then clear it.\r\n\r\n      LoadString(hAppInstance, IDS_FORMATCOMPLETE, szTitle, COUNTOF(szTitle));\r\n      LoadString(hAppInstance, IDS_FORMATANOTHER, szMessage, COUNTOF(szMessage));\r\n\r\n      wsprintf(szBuf, szMessage, ulTotalSpace, ulSpaceAvail);\r\n\r\n      if ( !(CancelInfo.Info.Format.fFlags & FF_ONLYONE)   &&\r\n         IDYES == MessageBox(hwndFrame, szBuf, szTitle, MB_ICONQUESTION | MB_YESNO | MB_DEFBUTTON2)) {\r\n\r\n\r\n         CancelInfo.Info.Format.fFlags |= FF_PRELOAD;\r\n         PostMessage(hwndFrame,WM_COMMAND,GET_WM_COMMAND_MPS(IDM_FORMAT,0,0L));\r\n      }\r\n\r\n      // now clear ONLYONE!\r\n      CancelInfo.Info.Format.fFlags &= ~FF_ONLYONE;\r\n\r\n   } else if (!CancelInfo.bCancel) {\r\n\r\n      // Display reason only if user didn't hit cancel.\r\n\r\n      // Get reason and display intelligent message.\r\n      LoadString(hAppInstance, IDS_FORMATERR, szTitle, COUNTOF(szTitle));\r\n\r\n      LoadString(hAppInstance, CancelInfo.dReason, szMessage, COUNTOF(szMessage));\r\n      MessageBox(hwndFrame, szMessage, szTitle, MB_OK | MB_ICONSTOP);\r\n\r\n   }\r\n}\r\n\r\n\r\n// Locks the format disk(s) and grays out format/copy disk\r\n// IN: 2 drives to block (-1 = ignore)\r\n//     IDM_ that's us.\r\n// OUT: VOID\r\n// PRECOND: none\r\n// POSTCOND: drives will be grayed out on drivebar and menu items disabled.\r\n\r\nVOID\r\nLockFormatDisk(DRIVE drive1, DRIVE drive2,\r\n   DWORD dwMessage, DWORD dwCommand, BOOL bLock)\r\n{\r\n   HMENU hMenu;\r\n\r\n   // Gray out menu item dwCommand\r\n   hMenu = GetMenu(hwndFrame);\r\n\r\n   // Special case for IDM_FORMAT, as it no longer invokes FormatDiskette,\r\n   // it can be safely left enabled even when copying diskettes.\r\n   // This change is made here rather than removing the calls to\r\n   // LockFormatDisk with IDM_FORMAT since LockFormatDisk also\r\n   // changes the state of aDriveInfo.\r\n   if (dwCommand != IDM_FORMAT)\r\n   {\r\n       EnableMenuItem(hMenu, dwCommand,\r\n           bLock ? MF_BYCOMMAND | MF_GRAYED : MF_BYCOMMAND | MF_ENABLED);\r\n   }\r\n\r\n   //\r\n   // Fix up aDriveInfo\r\n   //\r\n   if (-1 != drive1) aDriveInfo[drive1].iBusy = bLock ? dwMessage : 0;\r\n   if (-1 != drive2) aDriveInfo[drive2].iBusy = bLock ? dwMessage : 0;\r\n}\r\n\r\n\r\nVOID\r\nDestroyCancelWindow()\r\n{\r\n   if (!CancelInfo.hCancelDlg)\r\n      return;\r\n\r\n   if (CancelInfo.bModal) {\r\n      EndDialog(CancelInfo.hCancelDlg,0);\r\n   } else {\r\n      DestroyWindow(CancelInfo.hCancelDlg);\r\n   }\r\n   CancelInfo.hCancelDlg = NULL;\r\n}\r\n\r\n//\r\n// GetProductVersion\r\n// Gets the product version values for the current module\r\n//\r\n// Parameters:\r\n//   pwMajor    - [OUT] A pointer to the major version number\r\n//   pwMinor    - [OUT] A pointer to the minor version number\r\n//   pwBuild    - [OUT] A pointer to the build number\r\n//   pwRevision - [OUT] A pointer to the revision number\r\n//   \r\n// Returns TRUE if successful\r\n//\r\nBOOL GetProductVersion(WORD * pwMajor, WORD * pwMinor, WORD * pwBuild, WORD * pwRevision)\r\n{\r\n    BOOL               success = FALSE;\r\n    TCHAR              szCurrentModulePath[MAXPATHLEN];\r\n    DWORD              cchPath;\r\n    DWORD              cbVerInfo;\r\n    LPVOID             pFileVerInfo;\r\n    UINT               uLen;\r\n    VS_FIXEDFILEINFO * pFixedFileInfo;\r\n\r\n    cchPath = GetModuleFileName(NULL, szCurrentModulePath, MAXPATHLEN);\r\n\r\n    if (cchPath && GetLastError() != ERROR_INSUFFICIENT_BUFFER)\r\n    {\r\n        cbVerInfo = GetFileVersionInfoSize(szCurrentModulePath, NULL);\r\n\r\n        if (cbVerInfo)\r\n        {\r\n            pFileVerInfo = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, cbVerInfo);\r\n\r\n            if (pFileVerInfo)\r\n            {\r\n                if (GetFileVersionInfo(szCurrentModulePath, 0, cbVerInfo, pFileVerInfo))\r\n                {\r\n                    // Get the pointer to the VS_FIXEDFILEINFO structure\r\n                    if (VerQueryValue(pFileVerInfo, TEXT(\"\\\\\"), (LPVOID *)&pFixedFileInfo, &uLen))\r\n                    {\r\n                        if (pFixedFileInfo && uLen)\r\n                        {\r\n                            *pwMajor    = HIWORD(pFixedFileInfo->dwProductVersionMS);\r\n                            *pwMinor    = LOWORD(pFixedFileInfo->dwProductVersionMS);\r\n                            *pwBuild    = HIWORD(pFixedFileInfo->dwProductVersionLS);\r\n                            *pwRevision = LOWORD(pFixedFileInfo->dwProductVersionLS);\r\n\r\n                            success = TRUE;\r\n                        }\r\n                    }\r\n                }\r\n\r\n                HeapFree(GetProcessHeap(), 0, pFileVerInfo);\r\n            }\r\n        }\r\n\r\n    }\r\n\r\n    return success;\r\n}\r\n"
  },
  {
    "path": "src/wfdoc.txt",
    "content": "WINFILE Development Documentation -\r\n\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the MIT License.\r\n\r\nThis file contains notes on the conventions used while developing WINFILE.EXE.\r\nIt is broken into several sections:\r\n\r\n        o   Window Definitions\r\n        o   Window Relationships\r\n        o   Message Conventions\r\n        o   Variable Conventions\r\n        o   Utility Functions\r\n        o   Source File Organization\r\n        o   Segmentation\r\n        o   Etc.\r\n\r\n\r\n\r\nWindow Definitions -\r\n\r\n\r\n\r\nWindow Relationships -\r\n\r\n\r\n\r\nMessage Conventions -\r\n\r\n    FS_CHANGEDISPLAY:\r\n        This message causes the window to alter the contents of what it's\r\n        displaying.  It is valid for Directory and Search Results windows.\r\n        There isn't a return value.\r\n\r\n        wParam  -   Indicates the type of change being made:\r\n                        CD_PATH -   Changes the path Directory window\r\n                                    displays including a filespec\r\n                                    with wildcards.  Valid only for\r\n                                    Directory windows.  lParam points\r\n                                    to the new path.  If lParam is\r\n                                    NULL, this is the REFRESH command.\r\n\r\n                        CD_VIEW -   LOWORD(lParam) contains the new\r\n                                    set of view flags.  Valid only for\r\n                                    Directory windows.\r\n\r\n                        CD_SORT -   LOWORD(lParam) contains the new\r\n                                    sort flags.\r\n\r\n        lParam  -   Depends upon the setting of wParam.\r\n\r\n\r\n    FS_GETDIRECTORY:\r\n        This message stores the window's current directory in the buffer\r\n        pointed to by lParam.  It is valid for the Tree and Directory MDI\r\n        windows.  The path is returned in upper case and always ends with\r\n        a backslash.\r\n\r\n            ex.:    \"E:\\PRE\\\", \"C:\\\"\r\n\r\n        wParam  -   Maximum length of string\r\n        lParam  -   LPTSTR to buffer will contain the directory path\r\n\r\n\r\n    FS_GETDRIVE:\r\n        This message returns the single letter designation of the window's\r\n        current drive.  It is valid for Tree and Directory MDI windows.\r\n        The letter is returned in upper case.\r\n\r\n            ex.:    'C', 'A'\r\n\r\n        wParam  -   Unused\r\n        lParam  -   Unused\r\n\r\n    FS_GETSELECTION:\r\n        This messages returns a near pointer to a string containing the\r\n        names of the window's selected file(s separated by spaces.  The\r\n        string is returned upper case.  No path info in included unless\r\n        a directory is selected.  The directories includes full path info\r\n        and NOT terminated with backslash.\r\n\r\n        The HIWORD of the return is a BOOL indicating if the last selected\r\n        item is a directory or not.\r\n\r\n            ex.:    \"FOO.TXT LOO.LOO E:\\DIR\"\r\n\r\n        wParam  -   TRUE if only the latest file selected should be\r\n                    returned\r\n        lParam  -   Unused\r\n\r\n        NOTE: The sender is responsible for LocalFree()ing the returned\r\n              string.\r\n\r\n\r\nVariable Conventions -\r\n\r\n    Window Words -\r\n        Each MDI Child window has the following extra bytes allocated with it:\r\n\r\n            GWW_VIEW    -   The \"current\" view flags for the window\r\n            GWW_SORT    -   The \"current\" sort flags for the window\r\n            GWW_ATTRIBS -   The \"current\" attributes to display\r\n\r\n                Note: The Tree window contains the \"System Wide\" versions\r\n                      of these flags.  The Search window is hard coded\r\n                      to VIEW_NAMEONLY, IDM_BYNAME, and ATTR_DEFAULT.\r\n\r\n        In addition, MDI children have the following extra bytes which are\r\n        specific to them:\r\n\r\n            GWW_HWNDLB  -   (Directory) The hwnd of the window's list box\r\n            GWW_HDTA    -   (Directory) The handle of the directories DTA list\r\n\r\n\r\n\r\n\r\nUtility Functions -\r\n\r\n\r\n\r\nSource File Organization -\r\n\r\n\r\n\r\nSegmentation -\r\n"
  },
  {
    "path": "src/wfdocb.h",
    "content": "/********************************************************************\r\n\r\n   wfdocb.h\r\n\r\n   Doc Bucket header\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#ifndef _WFDOCB_H\r\n#define _WFDOCB_H\r\n//\r\n// Doc prototypes; typdefs\r\n//\r\n\r\ntypedef struct _DOC_BUCKET** PPDOCBUCKET;\r\ntypedef struct _DOC_BUCKET* PDOCBUCKET;\r\n\r\nPPDOCBUCKET DocConstruct(VOID);\r\nVOID DocDestruct(PPDOCBUCKET ppDocBucket);\r\nINT DocInsert(PPDOCBUCKET ppDocBucket, LPTSTR lpszExt, LPTSTR lpszFileIcon);\r\nPDOCBUCKET DocFind(PPDOCBUCKET ppDocBucket, LPTSTR lpszExt);\r\nHICON DocGetIcon(PDOCBUCKET pDocBucket);\r\n\r\n#ifdef DOCENUM\r\ntypedef struct _DOC_ENUM DOCENUM, *PDOCENUM;\r\n\r\nPDOCENUM DocOpenEnum(PPDOCBUCKET ppDocBucket);\r\nLPTSTR DocEnum(PDOCENUM pDocEnum, PDWORD pdwParm);\r\nVOID DocCloseEnum(PDOCENUM pDocEnum);\r\n#endif\r\n\r\n#endif // ndef _WFDOCB_H\r\n\r\n"
  },
  {
    "path": "src/wfdos.c",
    "content": "/********************************************************************\r\n\r\n   wfdos.c\r\n\r\n   Ported code from wfdos.asm\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n\r\nVOID\r\nGetDiskSpace(DRIVE drive,\r\n   PULARGE_INTEGER pqFreeSpace,\r\n   PULARGE_INTEGER pqTotalSpace)\r\n{\r\n   ULARGE_INTEGER qBytesAvailableToCaller;\r\n\r\n   TCHAR szDriveRoot[] = SZ_ACOLONSLASH;\r\n\r\n   DRIVESET(szDriveRoot, drive);\r\n\r\n   if (!GetDiskFreeSpaceEx(szDriveRoot,\r\n      &qBytesAvailableToCaller,\r\n      pqTotalSpace,\r\n      pqFreeSpace)) {\r\n\r\n      LARGE_INTEGER_NULL(*pqFreeSpace);\r\n      LARGE_INTEGER_NULL(*pqTotalSpace);\r\n   }\r\n}\r\n\r\n\r\nINT\r\nChangeVolumeLabel(DRIVE drive, LPTSTR lpNewVolName)\r\n{\r\n   TCHAR szDrive[] = SZ_ACOLON;\r\n\r\n   DRIVESET(szDrive,drive);\r\n\r\n   return (*lpfnSetLabel)(szDrive, lpNewVolName);\r\n}\r\n\r\n\r\n//\r\n//  All references to szVolumeName should go through GetVolumelabel!\r\n//  (To assure correct ] ending!)\r\n//\r\n\r\nDWORD\r\nGetVolumeLabel(DRIVE drive, LPTSTR* ppszVol, BOOL bBrackets)\r\n{\r\n   U_VolInfo(drive);\r\n\r\n   *ppszVol = aDriveInfo[drive].szVolNameMinusFour+4;\r\n\r\n   if (GETRETVAL(VolInfo,drive) || !**ppszVol) {\r\n\r\n      return GETRETVAL(VolInfo,drive);\r\n   }\r\n\r\n   (*ppszVol)[aDriveInfo[drive].dwVolNameMax] = CHAR_NULL;\r\n\r\n   if (bBrackets) {\r\n\r\n      (*ppszVol)--;\r\n      (*ppszVol)[0] = CHAR_OPENBRACK;\r\n\r\n      lstrcat(*ppszVol, SZ_CLOSEBRACK);\r\n   }\r\n   return ERROR_SUCCESS;\r\n}\r\n\r\n\r\nDWORD\r\nFillVolumeInfo(DRIVE drive, LPTSTR lpszVolName, PDWORD pdwVolumeSerialNumber,\r\n   PDWORD pdwMaximumComponentLength, PDWORD pdwFileSystemFlags,\r\n   LPTSTR lpszFileSysName)\r\n{\r\n   TCHAR szDrive[] = SZ_ACOLONSLASH;\r\n   PDRIVEINFO pDriveInfo = &aDriveInfo[drive];\r\n\r\n   DRIVESET(szDrive,drive);\r\n\r\n   if (!(GetVolumeInformation(szDrive,\r\n      lpszVolName, COUNTOF(pDriveInfo->szVolNameMinusFour)-4,\r\n      pdwVolumeSerialNumber,\r\n      pdwMaximumComponentLength,\r\n      pdwFileSystemFlags,\r\n      lpszFileSysName, COUNTOF(pDriveInfo->szFileSysName)))) {\r\n\r\n      lpszVolName[0] = CHAR_NULL;\r\n\r\n      *pdwVolumeSerialNumber = 0;\r\n      *pdwMaximumComponentLength = 0;\r\n      *pdwFileSystemFlags = 0;\r\n\r\n      lpszFileSysName[0] = CHAR_NULL;\r\n\r\n      return GetLastError();\r\n   }\r\n\r\n   return ERROR_SUCCESS;\r\n}\r\n"
  },
  {
    "path": "src/wfdrives.c",
    "content": "/********************************************************************\r\n\r\n   wfdrives.c\r\n\r\n   window procs and other stuff for the drive bar\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#define PUBLIC           // avoid collision with shell.h\r\n#include \"winfile.h\"\r\n#include \"treectl.h\"\r\n#include \"lfn.h\"\r\n#include \"wfcopy.h\"\r\n#include <commctrl.h>\r\n#include <shlobj.h>\r\n\r\nVOID RectDrive(INT nDrive, BOOL bFocusOn);\r\nVOID InvalidateDrive(DRIVEIND driveInd);\r\nINT  DriveFromPoint(HWND hwnd, POINT pt);\r\nVOID DrawDrive(HDC hdc, INT x, INT y, DRIVEIND driveInd, BOOL bCurrent, BOOL bFocus);\r\nINT  KeyToItem(HWND hWnd, WORD nDriveLetter);\r\nint GetDragStatusText(int iOperation);\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     NewTree\r\n//\r\n// Synopsis: Creates new split tree for given drive.  Inherits all\r\n//           properties of current window.\r\n//\r\n// IN        drive    Drive number to create window for\r\n// IN        hwndSrc  Base properties on this window\r\n//\r\n//\r\n// Return:\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nNewTree(\r\n   DRIVE drive,\r\n   HWND hwndSrc)\r\n{\r\n   HWND hwnd, hwndTree, hwndDir;\r\n   WCHAR szDir[MAXPATHLEN * 2];\r\n   INT dxSplit;\r\n   BOOL bDir;\r\n   LPWSTR pszSearchDir = NULL;\r\n   LPWSTR psz;\r\n\r\n   //\r\n   // make sure the floppy/net drive is still valid\r\n   //\r\n   if (!CheckDrive(hwndSrc, drive, FUNC_SETDRIVE))\r\n      return;\r\n\r\n   pszSearchDir = (LPWSTR)SendMessage(hwndSrc,\r\n      FS_GETSELECTION,\r\n      1 | 4 | 16,\r\n      (LPARAM)&bDir);\r\n\r\n   //\r\n   // If no selection\r\n   //\r\n   if (!pszSearchDir || !pszSearchDir[0] || DRIVEID(pszSearchDir) != drive) {\r\n\r\n      //\r\n      // Update net con in case remote drive was swapped from console\r\n      //\r\n      if (IsRemoteDrive(drive)) {\r\n         R_NetCon(drive);\r\n      }\r\n\r\n      //\r\n      // Update volume label here too if removable\r\n      // This is broken since we may steal stale data from another window.\r\n      // But this is what winball does and there's no simpler solution.\r\n      //\r\n      if (IsRemovableDrive(drive)) {\r\n         R_VolInfo(drive);\r\n      }\r\n\r\n      // TODO: if directory in right pane, get that instead of directory in left pane\r\n\r\n      GetSelectedDirectory(drive + 1, szDir);\r\n      AddBackslash(szDir);\r\n      SendMessage(hwndSrc,\r\n         FS_GETFILESPEC,\r\n         MAXPATHLEN,\r\n         (LPARAM)(szDir + lstrlen(szDir)));\r\n   }\r\n   else {\r\n\r\n      lstrcpy(szDir, pszSearchDir);\r\n\r\n      if (!bDir) {\r\n\r\n         RemoveLast(szDir);\r\n\r\n         //\r\n         // pszInitialSel is a global used to pass initial state:\r\n         // currently selected item in the dir part of the window\r\n         //\r\n         // Freed by caller\r\n         //\r\n         psz = pszSearchDir + lstrlen(szDir) + 1;\r\n\r\n         pszInitialDirSel = (LPWSTR)LocalAlloc(LMEM_FIXED,\r\n               ByteCountOf(lstrlen(psz) + 1));\r\n         if (pszInitialDirSel)\r\n         {\r\n            lstrcpy(pszInitialDirSel, psz);\r\n         }\r\n      }\r\n\r\n      AddBackslash(szDir);\r\n      lstrcat(szDir, szStarDotStar);\r\n   }\r\n\r\n   if (hwndSrc == hwndSearch) {\r\n      dxSplit = -1;\r\n   }\r\n   else {\r\n\r\n      hwndTree = HasTreeWindow(hwndSrc);\r\n      hwndDir = HasDirWindow(hwndSrc);\r\n\r\n      if (hwndTree && hwndDir) {\r\n         dxSplit = GetSplit(hwndSrc);\r\n      } else if (hwndDir) {\r\n         dxSplit = 0;\r\n      } else {\r\n          dxSplit = 10000;\r\n      }\r\n   }\r\n\r\n   //\r\n   // take all the attributes from the current window\r\n   // (except the filespec, we may want to change this)\r\n   //\r\n   dwNewSort    = (DWORD)GetWindowLongPtr(hwndSrc, GWL_SORT);\r\n   dwNewView    = (DWORD)GetWindowLongPtr(hwndSrc, GWL_VIEW);\r\n   dwNewAttribs = (DWORD)GetWindowLongPtr(hwndSrc, GWL_ATTRIBS);\r\n\r\n   hwnd = CreateTreeWindow(szDir, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, dxSplit);\r\n\r\n   if (hwnd && (hwndTree = HasTreeWindow(hwnd)))\r\n      SendMessage(hwndTree,\r\n                  TC_SETDRIVE,\r\n                  MAKELONG(MAKEWORD(FALSE, 0), TRUE),\r\n                  0L);\r\n\r\n   //\r\n   // Cleanup\r\n   //\r\n   if (pszSearchDir)\r\n      LocalFree((HLOCAL)pszSearchDir);\r\n}\r\n\r\n//\r\n// assumes drive bar is visible.\r\n//\r\n\r\nVOID\r\nGetDriveRect(DRIVEIND driveInd, PRECT prc)\r\n{\r\n   RECT rc;\r\n   INT nDrivesPerRow;\r\n\r\n   GetClientRect(hwndDriveBar, &rc);\r\n\r\n   if (!dxDrive)           // avoid div by zero\r\n      dxDrive++;\r\n\r\n   nDrivesPerRow = rc.right / dxDrive;\r\n\r\n   if (!nDrivesPerRow)     // avoid div by zero\r\n      nDrivesPerRow++;\r\n\r\n   prc->top = dyDrive * (driveInd / nDrivesPerRow);\r\n   prc->bottom = prc->top + dyDrive;\r\n\r\n   prc->left = dxDrive * (driveInd % nDrivesPerRow);\r\n   prc->right = prc->left + dxDrive;\r\n}\r\n\r\nINT\r\nDriveFromPoint(HWND hwnd, POINT pt)\r\n{\r\n   RECT rc, rcDrive;\r\n   INT x, y;\r\n\r\n   DRIVEIND driveInd;\r\n\r\n   if (!bDriveBar || hwnd != hwndDriveBar)\r\n      return -1;\r\n\r\n   GetClientRect(hwndDriveBar, &rc);\r\n\r\n   x = 0;\r\n   y = 0;\r\n   driveInd = 0;\r\n\r\n   for (driveInd = 0; driveInd < cDrives; driveInd++) {\r\n      rcDrive.left = x;\r\n      rcDrive.right = x + dxDrive;\r\n      rcDrive.top = y;\r\n      rcDrive.bottom = y + dyDrive;\r\n      InflateRect(&rcDrive, -dyBorder, -dyBorder);\r\n\r\n      if (PtInRect(&rcDrive, pt))\r\n         return driveInd;\r\n\r\n      x += dxDrive;\r\n\r\n      if (x + dxDrive > rc.right) {\r\n         x = 0;\r\n         y += dyDrive;\r\n      }\r\n   }\r\n\r\n   return -1;      // no hit\r\n}\r\n\r\nVOID\r\nInvalidateDrive(DRIVEIND driveInd)\r\n{\r\n   RECT rc;\r\n\r\n   //\r\n   // Get out early if the drivebar is not visible.\r\n   //\r\n   if (!bDriveBar)\r\n      return;\r\n\r\n   GetDriveRect(driveInd, &rc);\r\n   InvalidateRect(hwndDriveBar, &rc, TRUE);\r\n}\r\n\r\n\r\n//\r\n// void NEAR PASCAL RectDrive(DRIVEIND driveInd, BOOL bDraw)\r\n//\r\n// draw the highlight rect around the drive to indicate that it is\r\n// the target of a drop action.\r\n//\r\n// in:\r\n//      nDrive  the drive to draw the rect around\r\n//      bDraw   if TRUE, draw a rect around this drive\r\n//              FALSE, erase the rect (draw the default rect)\r\n//\r\n\r\nVOID\r\nRectDrive(DRIVEIND driveInd, BOOL bDraw)\r\n{\r\n   RECT rc, rcDrive;\r\n   HBRUSH hBrush;\r\n   HDC hdc;\r\n\r\n   GetDriveRect(driveInd, &rc);\r\n   rcDrive = rc;\r\n   InflateRect(&rc, -dyBorder, -dyBorder);\r\n\r\n   if (bDraw) {\r\n\r\n      hdc = GetDC(hwndDriveBar);\r\n\r\n      if (hBrush = CreateSolidBrush(GetSysColor(COLOR_WINDOWTEXT))) {\r\n         FrameRect(hdc, &rc, hBrush);\r\n         DeleteObject(hBrush);\r\n      }\r\n\r\n      ReleaseDC(hwndDriveBar, hdc);\r\n\r\n   } else {\r\n      InvalidateRect(hwndDriveBar, &rcDrive, TRUE);\r\n      UpdateWindow(hwndDriveBar);\r\n   }\r\n}\r\n\r\n//\r\n// void DrawDrive(HDC hdc, int x, int y, int nDrive, BOOL bCurrent, BOOL bFocus)\r\n//\r\n// paint the drive icons in the standard state, given the\r\n// drive with the focus and the current selection\r\n//\r\n// in:\r\n//      hdc             dc to draw to\r\n//      x, y            position to start (dxDrive, dyDrive are the extents)\r\n//      nDrive          the drive to paint\r\n//      bCurrent        draw as the current drive (pushed in)\r\n//      bFocus          draw with the focus\r\n//\r\n\r\nVOID\r\nDrawDrive(HDC hdc, INT x, INT y, DRIVEIND driveInd, BOOL bCurrent, BOOL bFocus)\r\n{\r\n   RECT rc;\r\n   TCHAR szTemp[2];\r\n   DWORD rgb;\r\n   DRIVE drive;\r\n\r\n   drive = rgiDrive[driveInd];\r\n\r\n   rc.left = x;\r\n   rc.right = x + dxDrive;\r\n   rc.top = y;\r\n   rc.bottom = y + dyDrive;\r\n\r\n   rgb = GetSysColor(COLOR_BTNTEXT);\r\n\r\n   if (bCurrent) {\r\n      HBRUSH hbr;\r\n\r\n      if (hbr = CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT))) {\r\n         if (bFocus) {\r\n            rgb = GetSysColor(COLOR_HIGHLIGHTTEXT);\r\n            FillRect(hdc, &rc, hbr);\r\n         } else {\r\n            InflateRect(&rc, -dyBorder, -dyBorder);\r\n            FrameRect(hdc, &rc, hbr);\r\n         }\r\n         DeleteObject(hbr);\r\n      }\r\n   }\r\n\r\n   if (bFocus)\r\n      DrawFocusRect(hdc, &rc);\r\n\r\n   szTemp[0] = (TCHAR)(chFirstDrive + rgiDrive[driveInd]);\r\n   SetBkMode(hdc, TRANSPARENT);\r\n\r\n   rgb = SetTextColor(hdc, rgb);\r\n   TextOut(hdc, x + dxDriveBitmap+(dyBorder*6), y + (dyDrive - dyText) / 2, szTemp, 1);\r\n   SetTextColor(hdc, rgb);\r\n\r\n   BitBlt(hdc, x + 4*dyBorder, y + (dyDrive - dyDriveBitmap) / 2, dxDriveBitmap, dyDriveBitmap,\r\n      hdcMem, aDriveInfo[drive].iOffset, 2 * dyFolder, SRCCOPY | NOMIRRORBITMAP);\r\n}\r\n\r\n\r\n// check net/floppy drives for validity, sets the net drive bitmap\r\n// when the thing is not available\r\n//\r\n// note: IsTheDiskReallyThere() has the side effect of setting the\r\n// current drive to the new disk if it is successful\r\n\r\nBOOL\r\nCheckDrive(HWND hwnd, DRIVE drive, DWORD dwFunc)\r\n{\r\n   DWORD err;\r\n   DRIVEIND driveInd;\r\n   HCURSOR hCursor;\r\n   WCHAR szDrive[] = SZ_ACOLON;\r\n\r\n   // Put up the hourglass cursor since this\r\n   // could take a long time\r\n\r\n   hCursor = LoadCursor(NULL, IDC_WAIT);\r\n\r\n   if (hCursor)\r\n      hCursor = SetCursor(hCursor);\r\n   ShowCursor(TRUE);\r\n\r\n   DRIVESET(szDrive,drive);\r\n\r\n   // find index for this drive\r\n\r\n   driveInd = 0;\r\n   while ((driveInd < cDrives) && (rgiDrive[driveInd] != drive))\r\n       driveInd++;\r\n\r\n   switch (IsNetDrive(drive)) {\r\n\r\n   case 2:\r\n\r\n      R_Type(drive);\r\n\r\n      if (IsValidDisk(drive)) {\r\n\r\n         R_NetCon(drive);\r\n\r\n      } else {\r\n\r\n         //\r\n         // Not valid, so change it back to a remote connection\r\n         //\r\n         aDriveInfo[drive].uType = DRIVE_REMOTE;\r\n\r\n         //\r\n         // Wait for background wait net\r\n         //\r\n         WAITNET();\r\n\r\n         if (lpfnWNetRestoreSingleConnectionW != NULL) {\r\n            err = WNetRestoreSingleConnectionW(hwnd, szDrive, TRUE);\r\n         } else {\r\n            err = WNetRestoreConnectionW(hwnd, szDrive);\r\n         }\r\n\r\n         if (err != WN_SUCCESS) {\r\n\r\n            aDriveInfo[drive].iOffset = dxDriveBitmap * 5;\r\n            InvalidateDrive(driveInd);\r\n\r\n            if (hCursor)\r\n               SetCursor(hCursor);\r\n            ShowCursor(FALSE);\r\n\r\n            return FALSE;\r\n         }\r\n\r\n         //\r\n         // The safest thing to do is U_NetCon, since we've\r\n         // just re-established our connection.  For quickness,\r\n         // however, we'll just reset the return value of U_NetCon\r\n         // to indicate that we're reconnected (and C_ close it).\r\n         //\r\n         // This is also safe since WNetRestoreConnection returns no\r\n         // error and the drive name should not change since we last\r\n         // read it.  -- UNLESS the user creates a new disconnected\r\n         // remembered drive over the old one.  Difficult to do without\r\n         // hitting the registry directly.\r\n         //\r\n\r\n         C_NetCon(drive, ERROR_SUCCESS);\r\n      }\r\n\r\n      aDriveInfo[drive].bRemembered = FALSE;\r\n\r\n      // fall through...\r\n\r\n   case 1:\r\n\r\n      aDriveInfo[drive].iOffset = dxDriveBitmap * 4;\r\n      InvalidateDrive(driveInd);\r\n      break;\r\n\r\n   default:\r\n      break;\r\n   }\r\n\r\n   if (hCursor)\r\n      SetCursor(hCursor);\r\n   ShowCursor(FALSE);\r\n\r\n   return IsTheDiskReallyThere(hwnd, szDrive, dwFunc, FALSE);\r\n}\r\n\r\n\r\nVOID\r\nDrivesDropObject(HWND hWnd, LPDROPSTRUCT lpds)\r\n{\r\n    DRIVEIND driveInd;\r\n    TCHAR szPath[MAXPATHLEN * 2];\r\n    LPTSTR pFrom;\r\n    BOOL bIconic;\r\n    HWND hwndChild;\r\n\r\n    hwndChild = hwndDropChild ? hwndDropChild :\r\n    (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n\r\n    bIconic = IsIconic(hwndChild);\r\n\r\n    if (bIconic) {\r\nUseCurDir:\r\n      SendMessage(hwndChild, FS_GETDIRECTORY, COUNTOF(szPath), (LPARAM)szPath);\r\n    } else {\r\n\r\n      driveInd = DriveFromPoint(lpds->hwndSink, lpds->ptDrop);\r\n\r\n      if (driveInd < 0)\r\n          goto UseCurDir;\r\n      // this searches windows in the zorder then asks dos\r\n      // if nothing is found...\r\n\r\n      GetSelectedDirectory((WORD)(rgiDrive[driveInd] + 1), szPath);\r\n    }\r\n    AddBackslash(szPath);           // add spec part\r\n    lstrcat(szPath, szStarDotStar);\r\n\r\n    pFrom = (LPTSTR)lpds->dwData;\r\n\r\n    CheckEsc(szPath);\r\n    DMMoveCopyHelper(pFrom, szPath, iShowSourceBitmaps);\r\n\r\n    if (!bIconic)\r\n        RectDrive(driveInd, FALSE);\r\n}\r\n\r\n\r\nVOID\r\nDrivesPaint(HWND hWnd, INT nDriveFocus, INT nDriveCurrent)\r\n{\r\n   RECT rc;\r\n   INT nDrive;\r\n\r\n   HDC hdc;\r\n   PAINTSTRUCT ps;\r\n\r\n   INT x, y;\r\n   HANDLE hOld;\r\n   INT cDriveRows, cDrivesPerRow;\r\n\r\n   GetClientRect(hWnd, &rc);\r\n\r\n   hdc = BeginPaint(hWnd, &ps);\r\n\r\n   if (!rc.right) {\r\n\r\n      EndPaint(hWnd, &ps);\r\n      return;\r\n   }\r\n\r\n   hOld = SelectObject(hdc, hFont);\r\n\r\n   cDrivesPerRow = rc.right / dxDrive;\r\n\r\n   if (!cDrivesPerRow)\r\n      cDrivesPerRow++;\r\n\r\n   cDriveRows = ((cDrives-1) / cDrivesPerRow) + 1;\r\n\r\n   x = 0;\r\n   y = 0;\r\n   for (nDrive = 0; nDrive < cDrives; nDrive++) {\r\n\r\n      if (GetFocus() != hWnd)\r\n         nDriveFocus = -1;\r\n\r\n      DrawDrive(hdc, x, y, nDrive, nDriveCurrent == nDrive, nDriveFocus == nDrive);\r\n      x += dxDrive;\r\n\r\n      if (x + dxDrive > rc.right) {\r\n         x = 0;\r\n         y += dyDrive;\r\n      }\r\n   }\r\n\r\n   if (hOld)\r\n      SelectObject(hdc, hOld);\r\n\r\n   EndPaint(hWnd, &ps);\r\n}\r\n\r\n//\r\n// set the current window to a new drive\r\n//\r\n\r\nVOID\r\nDrivesSetDrive(\r\n   HWND hWnd,\r\n   DRIVEIND driveInd,\r\n   DRIVEIND driveIndCur,\r\n   BOOL bDontSteal)\r\n{\r\n   WCHAR szPath[MAXPATHLEN * 2];\r\n\r\n   HWND hwndChild;\r\n   HWND hwndTree;\r\n   HWND hwndDir;\r\n\r\n   DRIVE drive;\r\n\r\n   hwndChild = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n\r\n   InvalidateRect(hWnd, NULL, TRUE);\r\n\r\n   //\r\n   // save the current directory on this drive for later so\r\n   // we don't have to hit the drive to get the current directory\r\n   // and other apps won't change this out from under us\r\n   //\r\n\r\n   GetSelectedDirectory(0, szPath);\r\n   SaveDirectory(szPath);\r\n\r\n   //\r\n   // this also sets the current drive if successful\r\n   //\r\n   drive = rgiDrive[driveInd];\r\n\r\n   I_NetCon(drive);\r\n   I_VolInfo(drive);\r\n\r\n   if (!CheckDrive(hWnd, drive, FUNC_SETDRIVE))\r\n      return;\r\n\r\n   //\r\n   // cause current tree read to abort if already in progress\r\n   //\r\n   hwndTree = HasTreeWindow(hwndChild);\r\n\r\n\r\n   if (hwndTree && GetWindowLongPtr(hwndTree, GWL_READLEVEL)) {\r\n\r\n      //\r\n      // bounce any clicks on a drive that is currently being read\r\n      //\r\n\r\n      if (driveInd != driveIndCur)\r\n         bCancelTree = TRUE;\r\n      return;\r\n   }\r\n\r\n   SelectToolbarDrive(driveInd);\r\n\r\n   //\r\n   // do again after in case a dialog cause the drive bar\r\n   // to repaint\r\n   //\r\n   InvalidateRect(hWnd, NULL, TRUE);\r\n\r\n   //\r\n   // get this from our cache if possible\r\n   //\r\n   GetSelectedDirectory((drive + 1), szPath);\r\n\r\n   //\r\n   // set the drives window parameters and repaint\r\n   //\r\n   SetWindowLongPtr(hWnd, GWL_CURDRIVEIND, driveInd);\r\n   SetWindowLongPtr(hWnd, GWL_CURDRIVEFOCUS, driveInd);\r\n\r\n   // NOTE: similar to CreateDirWindow\r\n\r\n   //\r\n   // reset the dir first to allow tree to steal data\r\n   // if szPath is not valid the TC_SETDRIVE will reinit\r\n   // the files half (if there is no tree we have a problem)\r\n   //\r\n   if (hwndDir = HasDirWindow(hwndChild)) {\r\n\r\n     UINT iStrLen;\r\n     AddBackslash(szPath);\r\n     iStrLen = lstrlen(szPath);\r\n     SendMessage(hwndDir, FS_GETFILESPEC, COUNTOF(szPath) - iStrLen, (LPARAM)(szPath + iStrLen));\r\n\r\n     SendMessage(hwndDir, FS_CHANGEDISPLAY,\r\n        bDontSteal ? CD_PATH_FORCE | CD_DONTSTEAL : CD_PATH_FORCE,\r\n        (LPARAM)szPath);\r\n\r\n     StripFilespec(szPath);\r\n   }\r\n\r\n   //\r\n   // do this before TC_SETDRIVE in case the tree read\r\n   // is aborted and lFreeSpace gets set to -2L\r\n   //\r\n   // Was -1L, ignore new cache.\r\n   //\r\n   SPC_SET_HITDISK(qFreeSpace);   // force status info refresh\r\n\r\n   //\r\n   // tell the tree control to do it's thing\r\n   //\r\n   if (hwndTree) {\r\n     SendMessage(hwndTree, TC_SETDRIVE,\r\n        MAKEWORD(GetKeyState(VK_SHIFT) < 0, bDontSteal), (LPARAM)(szPath));\r\n   } else {\r\n\r\n      // at least resize things\r\n      RECT rc;\r\n      GetClientRect(hwndChild, &rc);\r\n      ResizeWindows(hwndChild,(WORD)(rc.right+1),(WORD)(rc.bottom+1));\r\n   }\r\n\r\n   UpdateStatus(hwndChild);\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  DrivesWndProc() -                                                       */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nLRESULT\r\nCALLBACK\r\nDrivesWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n  INT nDrive, nDriveCurrent, nDriveFocus;\r\n  RECT rc;\r\n  static INT nDriveDoubleClick = -1;\r\n  static INT nDriveDragging = -1;\r\n  HWND hwndChild;\r\n\r\n  TCHAR szDir[MAXPATHLEN];\r\n\r\n  hwndChild = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n\r\n  nDriveCurrent = (INT)GetWindowLongPtr(hWnd, GWL_CURDRIVEIND);\r\n  nDriveFocus = (INT)GetWindowLongPtr(hWnd, GWL_CURDRIVEFOCUS);\r\n\r\n  switch (wMsg) {\r\n      case WM_CREATE:\r\n          {\r\n          INT i;\r\n\r\n          // Find the current drive, set the drive bitmaps\r\n\r\n          if (hwndChild == 0)\r\n             nDrive = 0;\r\n          else\r\n             nDrive = (INT)GetWindowLongPtr(hwndChild, GWL_TYPE);\r\n\r\n\r\n\r\n\r\n          for (i=0; i < cDrives; i++) {\r\n\r\n              if (rgiDrive[i] == nDrive) {\r\n                  SetWindowLongPtr(hWnd, GWL_CURDRIVEIND, i);\r\n                  SetWindowLongPtr(hWnd, GWL_CURDRIVEFOCUS, i);\r\n              }\r\n\r\n          }\r\n          break;\r\n          }\r\n\r\n      case WM_VKEYTOITEM:\r\n          KeyToItem(hWnd, (WORD)wParam);\r\n          return -2L;\r\n          break;\r\n\r\n      case WM_KEYDOWN:\r\n          switch (wParam) {\r\n\r\n          case VK_ESCAPE:\r\n                bCancelTree = TRUE;\r\n                break;\r\n\r\n          case VK_F6:   // like excel\r\n          case VK_TAB:\r\n                {\r\n                   HWND hwndTree, hwndDir, hwndSet, hwndNext;\r\n                   BOOL bDir;\r\n                   BOOL bChangeDisplay = FALSE;\r\n\r\n                   hwndNext = NULL;\r\n\r\n                   GetTreeWindows(hwndChild, &hwndTree, &hwndDir);\r\n                  \r\n                   // Check to see if we can change to the directory window\r\n                  \r\n                   bDir = hwndDir != NULL;\r\n                   if (bDir)\r\n                   {\r\n                      HWND hwndLB;\r\n\r\n                      bChangeDisplay = (BOOL)GetWindowLongPtr(hwndDir, GWLP_USERDATA);\r\n\r\n                      hwndLB = GetDlgItem (hwndDir, IDCW_LISTBOX);\r\n                      if (hwndLB && !bChangeDisplay)\r\n                      {\r\n                         PVOID pv;\r\n                         SendMessage (hwndLB, LB_GETTEXT, 0, (LPARAM) &pv);\r\n                         bDir = pv != NULL;\r\n                      }\r\n                   }\r\n\r\n                   if (GetKeyState(VK_SHIFT) < 0)\r\n                   {\r\n                      hwndTree = (!hwndTree) ? hWnd : hwndTree;\r\n\r\n                      if (bDir)\r\n                      {\r\n                         hwndSet = hwndDir;\r\n                         hwndNext = hwndTree;\r\n                      }\r\n                      else\r\n                      {\r\n                         hwndSet = hwndTree;\r\n                      }\r\n                   }\r\n                   else\r\n                   {\r\n                      hwndSet = hwndTree ? hwndTree : (bDir ? hwndDir : hWnd);\r\n                      hwndNext = hWnd;\r\n                   }\r\n\r\n                   SetFocus(hwndSet);\r\n                   if ((hwndSet == hwndDir) && bChangeDisplay)\r\n                   {\r\n                       SetWindowLongPtr(hwndDir, GWL_NEXTHWND, (LPARAM)hwndNext);\r\n                   }\r\n\r\n                   break;\r\n                }\r\n\r\n          case VK_RETURN:               // same as double click\r\n                NewTree(rgiDrive[nDriveFocus], hwndChild);\r\n                break;\r\n\r\n          case VK_SPACE:                // same as single click\r\n\r\n                // lParam: if same drive, don't steal\r\n                SendMessage(hWnd, FS_SETDRIVE, nDriveFocus, 1L);\r\n                break;\r\n\r\n          case VK_LEFT:\r\n                nDrive = max(nDriveFocus-1, 0);\r\n                break;\r\n\r\n          case VK_RIGHT:\r\n                nDrive = min(nDriveFocus+1, cDrives-1);\r\n                break;\r\n          }\r\n\r\n          if ((wParam == VK_LEFT) || (wParam == VK_RIGHT)) {\r\n\r\n                SetWindowLongPtr(hWnd, GWL_CURDRIVEFOCUS, nDrive);\r\n\r\n                GetDriveRect(nDriveFocus, &rc);\r\n                InvalidateRect(hWnd, &rc, TRUE);\r\n                GetDriveRect(nDrive, &rc);\r\n                InvalidateRect(hWnd, &rc, TRUE);\r\n          } else if ((wParam >= CHAR_A) && (wParam <= CHAR_Z))\r\n                KeyToItem(hWnd, (WORD)wParam);\r\n\r\n          break;\r\n\r\n      case FS_GETDRIVE:\r\n          {\r\n              POINT pt;\r\n\r\n              POINTSTOPOINT(pt, lParam);\r\n              nDrive = DriveFromPoint(hwndDriveBar, pt);\r\n\r\n              if (nDrive < 0)\r\n                  nDrive = nDriveCurrent;\r\n\r\n              return rgiDrive[nDrive] + CHAR_A;\r\n          }\r\n\r\n      case WM_DRAGMOVE:\r\n      {\r\n         static INT iOldShowSourceBitmaps = 0;\r\n\r\n         LPDROPSTRUCT lpds = (LPDROPSTRUCT)lParam;\r\n\r\n         nDrive = DriveFromPoint(lpds->hwndSink, lpds->ptDrop);\r\n\r\n         // turn off?\r\n\r\n// Handle if user hits control while dragging to drive\r\n\r\n         if (nDrive == nDriveDragging && iOldShowSourceBitmaps != iShowSourceBitmaps) {\r\n            iOldShowSourceBitmaps = iShowSourceBitmaps;\r\n            RectDrive(nDrive, TRUE);\r\n            nDriveDragging = -1;\r\n         }\r\n\r\n         if ((nDrive != nDriveDragging) && (nDriveDragging >= 0)) {\r\n\r\n            RectDrive(nDriveDragging, FALSE);\r\n\r\n            SendMessage(hwndStatus, SB_SETTEXT, SBT_NOBORDERS|255,\r\n               (LPARAM)szNULL);\r\n            UpdateWindow(hwndStatus);\r\n\r\n            nDriveDragging = -1;\r\n         }\r\n\r\n         // turn on?\r\n\r\n         if ((nDrive >= 0) && (nDrive != nDriveDragging)) {\r\n            RectDrive(nDrive, TRUE);\r\n            nDriveDragging = nDrive;\r\n\r\n            GetSelectedDirectory(rgiDrive[nDrive]+1, szDir);\r\n         } else {\r\n            if (nDrive != -1) {\r\n               break;\r\n            } else {\r\n               // Blank space on end of drive bar is as if the user\r\n               //  dropped onto the current drive.\r\n               SendMessage(hwndChild, FS_GETDIRECTORY, COUNTOF(szDir), (LPARAM)szDir);\r\n               StripBackslash(szDir);\r\n            }\r\n         }\r\n\r\n         SetStatusText(SBT_NOBORDERS|255, SST_FORMAT|SST_RESOURCE,\r\n            (LPTSTR)(DWORD_PTR)(GetDragStatusText(iShowSourceBitmaps)),\r\n            szDir);\r\n         UpdateWindow(hwndStatus);\r\n\r\n         break;\r\n      }\r\n      case WM_DRAGSELECT:\r\n      #define lpds ((LPDROPSTRUCT)lParam)\r\n\r\n          if (wParam) {\r\n\r\n             SendMessage(hwndStatus, SB_SETTEXT, SBT_NOBORDERS|255,\r\n               (LPARAM)szNULL);\r\n             SendMessage(hwndStatus, SB_SIMPLE, 1, 0L);\r\n\r\n             UpdateWindow(hwndStatus);\r\n\r\n             // entered, turn it on\r\n             nDriveDragging = DriveFromPoint(lpds->hwndSink,lpds->ptDrop);\r\n             if (nDriveDragging >= 0) {\r\n                RectDrive(nDriveDragging, TRUE);\r\n                GetSelectedDirectory(rgiDrive[nDriveDragging]+1, szDir);\r\n             } else {\r\n                SendMessage(hwndChild, FS_GETDIRECTORY, COUNTOF(szDir), (LPARAM)szDir);\r\n                StripBackslash(szDir);\r\n             }\r\n\r\n         SetStatusText(SBT_NOBORDERS|255, SST_RESOURCE|SST_FORMAT,\r\n            (LPTSTR)(DWORD_PTR)(GetDragStatusText(iShowSourceBitmaps)),\r\n            szDir);\r\n         UpdateWindow(hwndStatus);\r\n\r\n          } else {\r\n             // leaving, turn it off\r\n\r\n         SendMessage(hwndStatus, SB_SETTEXT, SBT_NOBORDERS|255,\r\n            (LPARAM)szNULL);\r\n         SendMessage(hwndStatus, SB_SIMPLE, 0, 0L);\r\n\r\n         UpdateWindow(hwndStatus);\r\n             if (nDriveDragging >= 0)\r\n                RectDrive(nDriveDragging, FALSE);\r\n      }\r\n\r\n      break;\r\n\r\n      case WM_QUERYDROPOBJECT:\r\n          /* Validate the format. */\r\n          #define lpds ((LPDROPSTRUCT)lParam)\r\n\r\n          // if (DriveFromPoint(lpds->ptDrop) < 0)\r\n          //    return FALSE;\r\n\r\n          switch (lpds->wFmt) {\r\n          case DOF_EXECUTABLE:\r\n          case DOF_DIRECTORY:\r\n          case DOF_MULTIPLE:\r\n          case DOF_DOCUMENT:\r\n                return(TRUE);\r\n          default:\r\n                return FALSE;\r\n          }\r\n          break;\r\n\r\n      case WM_DROPOBJECT:\r\n          // Turn off the status bar\r\n          SendMessage(hwndStatus, SB_SIMPLE, 0, 0L);\r\n\r\n          UpdateWindow(hwndStatus);\r\n\r\n          DrivesDropObject(hWnd, (LPDROPSTRUCT)lParam);\r\n          return TRUE;\r\n\r\n      case WM_SETFOCUS:\r\n          SetWindowLongPtr(hwndChild, GWL_LASTFOCUS, (LPARAM)hWnd);\r\n          // fall through\r\n\r\n      case WM_KILLFOCUS:\r\n\r\n          InvalidateDrive(nDriveFocus);\r\n          break;\r\n\r\n      case WM_PAINT:\r\n          DrivesPaint(hWnd, nDriveFocus, nDriveCurrent);\r\n          break;\r\n\r\n      // the following handlers deal with mouse actions on\r\n      // the drive bar. they support the following:\r\n      // 1) single click on a drive sets the window to that drive\r\n      //    (on the upclick like regular buttons)\r\n      // 2) double click on a drive creates a new window for\r\n      //    that drive\r\n      // 3) double click on empty area brings up\r\n      //    the list of drive labels/share names\r\n      //\r\n      // since we see the up of the single click first we need to\r\n      // wait the double click time to make sure we don't get the\r\n      // double click. (we set a timer) since there is this\r\n      // delay it is important to provide instant feedback\r\n      // to the user by framing the drive when the mouse first hits it\r\n\r\n      case WM_MDIACTIVATE:\r\n          nDriveDoubleClick = -1; // invalidate any cross window drive actions\r\n\r\n        break;\r\n\r\n\r\n      case WM_TIMER:\r\n        {\r\n           HWND hwndTreeCtl;\r\n\r\n           KillTimer(hWnd, wParam); // single shot timer\r\n\r\n           if (nDriveDoubleClick >= 0) {\r\n               // do the single click action\r\n\r\n               // lParam!=0 => if same drive, don't steal!\r\n               SendMessage(hWnd, FS_SETDRIVE, nDriveDoubleClick, 1L);\r\n               nDriveDoubleClick = -1;\r\n           }\r\n\r\n           //\r\n           //  Enable drive list combo box once the timer is finished\r\n           //  if the readlevel is set to 0.\r\n           //\r\n           hwndTreeCtl = HasTreeWindow(hwndChild);\r\n           if ( (!hwndTreeCtl) ||\r\n                (GetWindowLongPtr(hwndTreeCtl, GWL_READLEVEL) == 0) )\r\n           {\r\n               EnableWindow(hwndDriveList, TRUE);\r\n           }\r\n\r\n           break;\r\n        }\r\n\r\n      case WM_LBUTTONDOWN:\r\n        {\r\n           POINT pt;\r\n\r\n           POINTSTOPOINT(pt, lParam);\r\n           SetCapture(hWnd);  // make sure we see the WM_LBUTTONUP\r\n           nDriveDoubleClick = DriveFromPoint(hwndDriveBar, pt);\r\n\r\n           // provide instant user feedback\r\n           if (nDriveDoubleClick >= 0)\r\n              RectDrive(nDriveDoubleClick, TRUE);\r\n        }\r\n        break;\r\n\r\n      case WM_LBUTTONUP:\r\n        {\r\n            POINT pt;\r\n\r\n            POINTSTOPOINT(pt, lParam);\r\n\r\n            ReleaseCapture();\r\n            nDrive = DriveFromPoint(hwndDriveBar, pt);\r\n\r\n            if (nDriveDoubleClick >= 0) {\r\n               InvalidateDrive(nDriveDoubleClick);\r\n\r\n               if (hwndChild == hwndSearch)\r\n                  break;\r\n\r\n               if (nDrive == nDriveDoubleClick)\r\n               {\r\n                   //\r\n                   //  Disable drive list combo box during the timer.\r\n                   //\r\n                   EnableWindow(hwndDriveList, FALSE);\r\n\r\n                   SetTimer(hWnd, 1, GetDoubleClickTime(), NULL);\r\n               }\r\n           }\r\n      }\r\n          break;\r\n\r\n      case WM_LBUTTONDBLCLK:\r\n        {\r\n            POINT pt;\r\n\r\n            POINTSTOPOINT(pt, lParam);\r\n            nDrive = DriveFromPoint(hwndDriveBar, pt);\r\n\r\n            if (nDriveDoubleClick == nDrive) {\r\n                nDriveDoubleClick = -1;\r\n\r\n               // the double click is valid\r\n               if (nDrive >= 0)\r\n                    NewTree(rgiDrive[nDrive], hwndChild);\r\n               else\r\n                   PostMessage(hwndFrame,WM_COMMAND, GET_WM_COMMAND_MPS(IDM_DRIVESMORE, 0, 0));\r\n           }\r\n\r\n\r\n           // invalidate the single click action\r\n           // ie. don't let the timer do a FS_SETDRIVE\r\n\r\n            nDriveDoubleClick = -1;\r\n      }\r\n          break;\r\n\r\n      case FS_SETDRIVE:\r\n          // wParam     the drive index to set\r\n          // lParam if Non-Zero, don't steal on same drive!\r\n\r\n          DrivesSetDrive(hWnd, (DRIVEIND)wParam, nDriveCurrent,\r\n            lParam && (wParam == (WPARAM)nDriveCurrent));\r\n\r\n          break;\r\n\r\n\r\n      default:\r\n          return DefWindowProc(hWnd, wMsg, wParam, lParam);\r\n  }\r\n\r\n  return 0L;\r\n}\r\n\r\n/* Returns nDrive if found, else -1 */\r\nINT\r\nKeyToItem(HWND hWnd, WORD nDriveLetter)\r\n{\r\n    INT nDrive;\r\n\r\n    if (nDriveLetter > CHAR_Z)\r\n        nDriveLetter -= CHAR_a;\r\n    else\r\n        nDriveLetter -= CHAR_A;\r\n\r\n    for (nDrive = 0; nDrive < cDrives; nDrive++) {\r\n        if (rgiDrive[nDrive] == (int)nDriveLetter) {\r\n\r\n           // If same drive, don't steal\r\n           SendMessage(hWnd, FS_SETDRIVE, nDrive, 1L);\r\n           return nDrive;\r\n        }\r\n    }\r\n    return -1;\r\n}\r\n"
  },
  {
    "path": "src/wfdrop.c",
    "content": "/********************************************************************\r\n\r\n   wfdrop.c\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#define INITGUID \r\n\r\n#include \"winfile.h\"\r\n#include \"wfdrop.h\"\r\n#include \"treectl.h\"\r\n\r\n#include <ole2.h>\r\n#include <shlobj.h>\r\n\r\n#ifndef GUID_DEFINED\r\nDEFINE_OLEGUID(IID_IUnknown,            0x00000000L, 0, 0);\r\nDEFINE_OLEGUID(IID_IDropSource,             0x00000121, 0, 0);\r\nDEFINE_OLEGUID(IID_IDropTarget,             0x00000122, 0, 0);\r\n#endif\r\n\r\nHRESULT CreateDropTarget(HWND hwnd, WF_IDropTarget **ppDropTarget);\r\nvoid DropData(WF_IDropTarget *This, IDataObject *pDataObject, DWORD dwEffect);\r\n\r\nvoid PaintRectItem(WF_IDropTarget *This, POINTL *ppt)\r\n{\r\n\tHWND hwndLB;\r\n\tDWORD iItem;\r\n\tPOINT pt;\r\n\tBOOL fTree;\r\n\t\r\n\t// could be either tree control or directory list box\r\n\thwndLB = GetDlgItem(This->m_hWnd, IDCW_LISTBOX);\r\n\tfTree = FALSE;\r\n\tif (hwndLB == NULL)\r\n\t{\r\n\t\thwndLB = GetDlgItem(This->m_hWnd, IDCW_TREELISTBOX);\r\n\t\tfTree = TRUE;\r\n\r\n\t\tif (hwndLB == NULL)\r\n\t\t\treturn;\r\n\t}\r\n\r\n\tif (ppt != NULL)\r\n\t{\r\n\t\tpt.x = ppt->x;\r\n\t\tpt.y = ppt->y;\r\n\t\tScreenToClient(hwndLB, &pt);\r\n\t\r\n\t\tiItem = (DWORD)SendMessage(hwndLB, LB_ITEMFROMPOINT, 0, MAKELPARAM(pt.x, pt.y));\r\n\t\tiItem &= 0xffff;\r\n\t\tif (This->m_iItemSelected != -1 && This->m_iItemSelected == iItem)\r\n\t\t\treturn;\r\n\t}\r\n\r\n\t// unpaint old item\r\n\tif (This->m_iItemSelected != -1)\r\n\t{\r\n\t    if (fTree)\r\n\t\t\tRectTreeItem(hwndLB, This->m_iItemSelected, FALSE);\r\n\t\telse\r\n\t\t\tDSRectItem(hwndLB, This->m_iItemSelected, FALSE, FALSE);\r\n\r\n\t\tThis->m_iItemSelected = (DWORD)-1;\r\n\t}\r\n\r\n\t// if new item, paint it.\r\n\tif (ppt != NULL)\r\n\t{\r\n\t    if (fTree)\r\n\t\t{\r\n\t\t\tif (RectTreeItem(hwndLB, iItem, TRUE))\r\n\t\t\t\tThis->m_iItemSelected = iItem;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tif (DSRectItem(hwndLB, iItem, TRUE, FALSE))\r\n\t\t\t\tThis->m_iItemSelected = iItem;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nLPWSTR QuotedDropList(IDataObject *pDataObject)\r\n{\r\n\tHDROP hdrop;\r\n\tDWORD cFiles, iFile, cchFiles;\r\n\tLPWSTR szFiles = NULL, pch;\r\n\tFORMATETC fmtetc = { CF_HDROP, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL };\r\n\tSTGMEDIUM stgmed;\r\n\r\n\tif (pDataObject->lpVtbl->GetData(pDataObject, &fmtetc, &stgmed) == S_OK)\r\n\t{\r\n\t\t// Yippie! the data is there, so go get it!\r\n\t\thdrop = stgmed.hGlobal;\r\n\r\n\t\tcFiles = DragQueryFile(hdrop, 0xffffffff, NULL, 0);\r\n\t\tcchFiles = 0;\r\n\t\tfor (iFile = 0; iFile < cFiles; iFile++)\r\n\t\t\tcchFiles += DragQueryFile(hdrop, iFile, NULL, 0) + 1 + 2;\r\n\r\n\t\tpch = szFiles = (LPWSTR)LocalAlloc(LMEM_FIXED, cchFiles * sizeof(WCHAR));\r\n\t\tfor (iFile = 0; iFile < cFiles; iFile++)\r\n\t\t{\r\n\t\t\tDWORD cchFile;\r\n\r\n\t\t\t*pch++ = CHAR_DQUOTE;\r\n\t\t\t\r\n\t\t\tcchFile = DragQueryFile(hdrop, iFile, pch, cchFiles);\r\n\t\t\tpch += cchFile;\r\n\t\t\t*pch++ = CHAR_DQUOTE;\r\n\r\n\t\t\tif (iFile+1 < cFiles)\r\n\t\t\t\t*pch++ = CHAR_SPACE;\r\n\t\t\telse\r\n\t\t\t\t*pch = CHAR_NULL;\r\n\t\t\t\t\r\n\t\t\tcchFiles -= cchFile + 1 + 2;\r\n\t\t}\r\n\r\n\t\t// release the data using the COM API\r\n\t\tReleaseStgMedium(&stgmed);\r\n\t}\r\n\r\n\treturn szFiles;\r\n}\r\n\r\n\r\nHDROP CreateDropFiles(POINT pt, BOOL fNC, LPTSTR pszFiles)\r\n{\r\n    HANDLE hDrop;\r\n    LPBYTE lpList;\r\n    SIZE_T cbList;\r\n\tLPTSTR szSrc;\r\n\r\n    LPDROPFILES lpdfs;\r\n    TCHAR szFile[MAXPATHLEN];\r\n\r\n\tcbList = sizeof(DROPFILES) + sizeof(TCHAR);\r\n\r\n\tszSrc = pszFiles;\r\n    while (szSrc = GetNextFile(szSrc, szFile, COUNTOF(szFile))) \r\n\t{\r\n        QualifyPath(szFile);\r\n\r\n\t\tcbList += (wcslen(szFile) + 1)*sizeof(TCHAR);\r\n\t}\r\n\r\n    hDrop = GlobalAlloc(GMEM_DDESHARE|GMEM_MOVEABLE|GMEM_ZEROINIT, cbList);\r\n    if (!hDrop)\r\n        return NULL;\r\n\r\n    lpdfs = (LPDROPFILES)GlobalLock(hDrop);\r\n\r\n    lpdfs->pFiles = sizeof(DROPFILES);\r\n\tlpdfs->pt = pt;\r\n\tlpdfs->fNC = fNC;\r\n    lpdfs->fWide = TRUE;\r\n\r\n\tlpList = (LPBYTE)lpdfs + sizeof(DROPFILES);\r\n\tszSrc = pszFiles;\r\n\r\n    while (szSrc = GetNextFile(szSrc, szFile, COUNTOF(szFile))) {\r\n\r\n       QualifyPath(szFile);\r\n\r\n       lstrcpy((LPTSTR)lpList, szFile);\r\n\r\n       lpList += (wcslen(szFile) + 1)*sizeof(TCHAR);\r\n    }\r\n\r\n\tGlobalUnlock(hDrop);\r\n\r\n\treturn hDrop;\r\n}\r\n\r\n#define BLOCK_SIZE 512\r\n\r\nstatic HRESULT StreamToFile(IStream *stream, TCHAR *szFile)\r\n{\r\n    byte buffer[BLOCK_SIZE];\r\n    DWORD bytes_read;\r\n    DWORD bytes_written;\r\n    HRESULT hr;\r\n\tHANDLE hFile;\r\n\r\n    hFile = CreateFile( szFile,\r\n          FILE_READ_DATA | FILE_WRITE_DATA,\r\n          FILE_SHARE_READ | FILE_SHARE_WRITE,\r\n          NULL,\r\n          CREATE_ALWAYS,\r\n          FILE_ATTRIBUTE_TEMPORARY,\r\n          NULL );\r\n\r\n    if (hFile != INVALID_HANDLE_VALUE) {\r\n        do {\r\n            hr = stream->lpVtbl->Read(stream, buffer, BLOCK_SIZE, &bytes_read);\r\n\t\t\tbytes_written = 0;\r\n            if (SUCCEEDED(hr) && bytes_read)\r\n\t\t\t{\r\n\t\t\t\tif (!WriteFile(hFile, buffer, bytes_read, &bytes_written, NULL))\r\n\t\t\t\t{\r\n\t\t\t\t\thr = HRESULT_FROM_WIN32(GetLastError());\r\n\t\t\t\t\tbytes_written = 0;\r\n\t\t\t\t}\r\n\t\t\t}\r\n        } while (S_OK == hr && bytes_written != 0);\r\n        CloseHandle(hFile);\r\n\t\tif (FAILED(hr))\r\n\t\t\tDeleteFile(szFile);\r\n\t\telse\r\n\t\t\thr = S_OK;\r\n    }\r\n    else\r\n\t    hr = HRESULT_FROM_WIN32(GetLastError());\r\n\r\n    return hr;\r\n}\r\n\r\n\r\nLPWSTR QuotedContentList(IDataObject *pDataObject)\r\n{\r\n    FILEGROUPDESCRIPTOR *file_group_descriptor;\r\n    FILEDESCRIPTOR file_descriptor;\r\n\tHRESULT hr;\r\n\tLPWSTR szFiles = NULL;\r\n\r\n    unsigned short cp_format_descriptor = RegisterClipboardFormat(CFSTR_FILEDESCRIPTOR);\r\n    unsigned short cp_format_contents = RegisterClipboardFormat(CFSTR_FILECONTENTS);\r\n\r\n    //Set up format structure for the descriptor and contents\r\n    FORMATETC descriptor_format = {cp_format_descriptor, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL};\r\n    FORMATETC contents_format = {cp_format_contents, NULL, DVASPECT_CONTENT, -1, TYMED_ISTREAM};\r\n\r\n    // Check for descriptor format type\r\n    hr = pDataObject->lpVtbl->QueryGetData(pDataObject, &descriptor_format);\r\n    if (hr == S_OK) \r\n\t{ \r\n\t\t// Check for contents format type\r\n        hr = pDataObject->lpVtbl->QueryGetData(pDataObject, &contents_format);\r\n        if (hr == S_OK)\r\n\t\t{ \r\n            // Get the descriptor information\r\n            STGMEDIUM sm_desc= {0,0,0};\r\n            STGMEDIUM sm_content = {0,0,0};\r\n\t\t\tunsigned int file_index;\r\n            size_t cchTempPath, cchFiles;\r\n            WCHAR szTempPath[MAXPATHLEN +1];\r\n\r\n            hr = pDataObject->lpVtbl->GetData(pDataObject, &descriptor_format, &sm_desc);\r\n\t\t\tif (hr != S_OK)\r\n\t\t\t\treturn NULL;\r\n\r\n            file_group_descriptor = (FILEGROUPDESCRIPTOR *) GlobalLock(sm_desc.hGlobal);\r\n\r\n\t\t\tGetTempPath(MAXPATHLEN, szTempPath);\r\n\t\t\tcchTempPath = wcslen(szTempPath);\r\n\r\n\t\t\t// calc total size of file names\r\n\t\t\tcchFiles = 0;\r\n            for (file_index = 0; file_index < file_group_descriptor->cItems; file_index++) \r\n\t\t\t{\r\n                file_descriptor = file_group_descriptor->fgd[file_index];\r\n\t\t\t\tcchFiles += 1 + cchTempPath + 1 + wcslen(file_descriptor.cFileName) + 2;\r\n\t\t\t}\r\n\r\n\t\t\tszFiles = (LPWSTR)LocalAlloc(LMEM_FIXED, cchFiles * sizeof(WCHAR));\r\n\t\t\tszFiles[0] = '\\0';\r\n\r\n            // For each file, get the name and copy the stream to a file\r\n            for (file_index = 0; file_index < file_group_descriptor->cItems; file_index++)\r\n\t\t\t{\r\n                file_descriptor = file_group_descriptor->fgd[file_index];\r\n                contents_format.lindex = file_index;\r\n\t\t\t\tmemset(&sm_content, 0, sizeof(sm_content));\r\n                hr = pDataObject->lpVtbl->GetData(pDataObject, &contents_format, &sm_content);\r\n\r\n                if (hr == S_OK) \r\n\t\t\t\t{\r\n\t\t\t\t\t// Dump stream to a file\r\n\t\t\t\t\tTCHAR szTempFile[MAXPATHLEN*2+1];\r\n\r\n\t\t\t\t\tlstrcpy(szTempFile, szTempPath);\r\n\t\t            AddBackslash(szTempFile);\r\n\t\t\t\t    lstrcat(szTempFile, file_descriptor.cFileName);\r\n\r\n\t\t\t\t\t// TODO: make sure all directories between the temp directory and the file have been created\r\n\t\t\t\t\t// paste from zip archives result in file_descriptor.cFileName with intermediate directories\r\n\r\n\t\t\t\t\thr = StreamToFile(sm_content.pstm, szTempFile);\r\n\r\n\t\t\t\t\tif (hr == S_OK)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tCheckEsc(szTempFile);\r\n\r\n\t\t\t\t\t\tif (szFiles[0] != '\\0')\r\n\t\t\t\t\t\t\tlstrcat(szFiles, TEXT(\" \"));\r\n\t\t\t\t\t\tlstrcat(szFiles, szTempFile);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tReleaseStgMedium(&sm_content);\r\n                }\r\n            }\r\n\r\n            GlobalUnlock(sm_desc.hGlobal);\r\n            ReleaseStgMedium(&sm_desc);\r\n\r\n\t\t\tif (szFiles[0] == '\\0')\r\n\t\t\t{\r\n\t\t\t\t// nothing to copy\r\n\t\t\t\tMessageBeep(0);\r\n\t\t\t\tLocalFree((HLOCAL)szFiles);\t\r\n\t\t\t\tszFiles = NULL;\r\n\t\t\t}\r\n        }\r\n\t}\r\n    return szFiles;\r\n}\r\n\r\n//\r\n//\tQueryDataObject private helper routine\r\n//\r\nstatic BOOL QueryDataObject(WF_IDataObject *pDataObject)\r\n{\r\n\tFORMATETC fmtetc = { CF_HDROP, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL };\r\n    unsigned short cp_format_descriptor = RegisterClipboardFormat(CFSTR_FILEDESCRIPTOR);\r\n    FORMATETC descriptor_format = {0, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL};\r\n\tdescriptor_format.cfFormat = cp_format_descriptor;\r\n\r\n\t// does the data object support CF_HDROP using a HGLOBAL?\r\n\treturn pDataObject->ido.lpVtbl->QueryGetData((LPDATAOBJECT)pDataObject, &fmtetc) == S_OK || \r\n\t\t\tpDataObject->ido.lpVtbl->QueryGetData((LPDATAOBJECT)pDataObject, &descriptor_format) == S_OK;\r\n}\r\n\r\n//\r\n//\tDropEffect private helper routine\r\n//\r\nstatic DWORD DropEffect(DWORD grfKeyState, POINTL pt, DWORD dwAllowed)\r\n{\r\n\tDWORD dwEffect = 0;\r\n\r\n\t// 1. check \"pt\" -> do we allow a drop at the specified coordinates?\r\n\t\r\n\t// 2. work out that the drop-effect should be based on grfKeyState\r\n\tif(grfKeyState & MK_CONTROL)\r\n\t{\r\n\t\tdwEffect = dwAllowed & DROPEFFECT_COPY;\r\n\t}\r\n\telse if(grfKeyState & MK_SHIFT)\r\n\t{\r\n\t\tdwEffect = dwAllowed & DROPEFFECT_MOVE;\r\n\t}\r\n\t\r\n\t// 3. no key-modifiers were specified (or drop effect not allowed), so\r\n\t//    base the effect on those allowed by the dropsource\r\n\tif(dwEffect == 0)\r\n\t{\r\n\t\tif(dwAllowed & DROPEFFECT_COPY) dwEffect = DROPEFFECT_COPY;\r\n\t\tif(dwAllowed & DROPEFFECT_MOVE) dwEffect = DROPEFFECT_MOVE;\r\n\t}\r\n\t\r\n\treturn dwEffect;\r\n}\r\n\r\n//\r\n//\tIUnknown::AddRef\r\n//\r\nstatic ULONG STDMETHODCALLTYPE idroptarget_addref (WF_IDropTarget* This)\r\n{\r\n  return InterlockedIncrement(&This->m_lRefCount);\r\n}\r\n\r\n//\r\n//\tIUnknown::QueryInterface\r\n//\r\nstatic HRESULT STDMETHODCALLTYPE\r\nidroptarget_queryinterface (WF_IDropTarget *This,\r\n\t\t\t       REFIID          riid,\r\n\t\t\t       LPVOID         *ppvObject)\r\n{\r\n\r\n  *ppvObject = NULL;\r\n\r\n//  PRINT_GUID (riid);\r\n  if (IsEqualIID (riid, &IID_IUnknown) || IsEqualIID (riid, &IID_IDropTarget))\r\n    {\r\n      idroptarget_addref (This);\r\n      *ppvObject = This;\r\n      return S_OK;\r\n    }\r\n  \r\n  else\r\n    {\r\n      return E_NOINTERFACE;\r\n    }\r\n}\r\n\r\n\r\n//\r\n//\tIUnknown::Release\r\n//\r\nstatic ULONG STDMETHODCALLTYPE\r\nidroptarget_release (WF_IDropTarget* This)\r\n{\r\n    \r\n  LONG count = InterlockedDecrement(&This->m_lRefCount);\r\n\r\n  if(count == 0)\r\n\t{\r\n\t\tfree(This);\r\n\t\treturn 0;\r\n\t}\r\n\telse\r\n\t{\r\n\t\treturn count;\r\n\t}\r\n  \r\n}\r\n//\r\n//\tIDropTarget::DragEnter\r\n//\r\n//\r\n//\r\nstatic HRESULT STDMETHODCALLTYPE idroptarget_dragenter(WF_IDropTarget* This, WF_IDataObject * pDataObject, DWORD grfKeyState, POINTL pt, DWORD * pdwEffect)\r\n{\r\n\t// does the dataobject contain data we want?\r\n\tThis->m_fAllowDrop = QueryDataObject(pDataObject);\r\n\t\r\n\tif(This->m_fAllowDrop)\r\n\t{\r\n\t\t// get the dropeffect based on keyboard state\r\n\t\t*pdwEffect = DropEffect(grfKeyState, pt, *pdwEffect);\r\n\r\n\t\tSetFocus(This->m_hWnd);\r\n\r\n\t\tPaintRectItem(This, &pt);\r\n\t}\r\n\telse\r\n\t{\r\n\t\t*pdwEffect = DROPEFFECT_NONE;\r\n\t}\r\n\r\n\treturn S_OK;\r\n}\r\n\r\n//\r\n//\tIDropTarget::DragOver\r\n//\r\n//\r\n//\r\nstatic HRESULT STDMETHODCALLTYPE idroptarget_dragover(WF_IDropTarget* This, DWORD grfKeyState, POINTL pt, DWORD * pdwEffect)\r\n{\r\n\tif(This->m_fAllowDrop)\r\n\t{\r\n\t\t*pdwEffect = DropEffect(grfKeyState, pt, *pdwEffect);\r\n\t\tPaintRectItem(This, &pt);\r\n\t}\r\n\telse\r\n\t{\r\n\t\t*pdwEffect = DROPEFFECT_NONE;\r\n\t}\r\n\r\n\treturn S_OK;\r\n}\r\n\r\n//\r\n//\tIDropTarget::DragLeave\r\n//\r\nstatic HRESULT STDMETHODCALLTYPE idroptarget_dragleave(WF_IDropTarget* This)\r\n{\r\n\tPaintRectItem(This, NULL);\r\n\treturn S_OK;\r\n}\r\n\r\n//\r\n//\tIDropTarget::Drop\r\n//\r\n//\r\nstatic HRESULT STDMETHODCALLTYPE idroptarget_drop(WF_IDropTarget* This, IDataObject * pDataObject, DWORD grfKeyState, POINTL pt, DWORD * pdwEffect)\r\n{\r\n\tif(This->m_fAllowDrop)\r\n\t{\r\n\t\t*pdwEffect = DropEffect(grfKeyState, pt, *pdwEffect);\r\n\r\n\t\tDropData(This, pDataObject, *pdwEffect);\r\n\t}\r\n\telse\r\n\t{\r\n\t\t*pdwEffect = DROPEFFECT_NONE;\r\n\t}\r\n\r\n\treturn S_OK;\r\n}\r\n\r\nstatic WF_IDropTargetVtbl idt_vtbl = {\r\n  idroptarget_queryinterface,\r\n  idroptarget_addref,\r\n  idroptarget_release,\r\n  idroptarget_dragenter,\r\n  idroptarget_dragover,\r\n  idroptarget_dragleave,\r\n  idroptarget_drop\r\n};\r\n\r\nvoid DropData(WF_IDropTarget *This, IDataObject *pDataObject, DWORD dwEffect)\r\n{\r\n\t// construct a FORMATETC object\r\n\tHWND hwndLB;\r\n\tBOOL fTree;\r\n\tLPWSTR szFiles = NULL;\r\n\tWCHAR     szDest[MAXPATHLEN];\r\n\r\n\thwndLB = GetDlgItem(This->m_hWnd, IDCW_LISTBOX);\r\n\tfTree = FALSE;\r\n\tif (hwndLB == NULL)\r\n\t{\r\n\t\thwndLB = GetDlgItem(This->m_hWnd, IDCW_TREELISTBOX);\r\n\t\tfTree = TRUE;\r\n\r\n\t\tif (hwndLB == NULL)\r\n\t\t\treturn;\r\n\t}\r\n\r\n\t// if item selected, add path\r\n\tif (fTree)\r\n\t{\r\n\t    PDNODE pNode;\r\n\t\t\r\n\t\t// odd\r\n\t\tif (This->m_iItemSelected == -1)\r\n\t\t\treturn;\r\n\r\n\t\tif (SendMessage(hwndLB, LB_GETTEXT, This->m_iItemSelected, (LPARAM)&pNode) == LB_ERR)\r\n\t\t\treturn;\r\n\r\n\t\tGetTreePath(pNode, szDest);\r\n\t}\r\n\telse\r\n\t{\r\n\t\tLPXDTA    lpxdta;\r\n\r\n\t\tSendMessage(This->m_hWnd, FS_GETDIRECTORY, COUNTOF(szDest), (LPARAM)szDest);\r\n\r\n\t\tif (This->m_iItemSelected != -1)\r\n\t\t{\r\n\t\t\tSendMessage(hwndLB, LB_GETTEXT, This->m_iItemSelected,\r\n\t\t\t\t(LPARAM)(LPTSTR)&lpxdta);\r\n\t\t\r\n\t\t\tAddBackslash(szDest);\r\n\t\t\tlstrcat(szDest, MemGetFileName(lpxdta));\r\n\t\t}\r\n\t}\r\n\r\n    AddBackslash(szDest);\r\n    lstrcat(szDest, szStarDotStar);   // put files in this dir\r\n\r\n    CheckEsc(szDest);\r\n\r\n\t// See if the dataobject contains any TEXT stored as a HGLOBAL\r\n\tif ((szFiles = QuotedDropList(pDataObject)) == NULL)\r\n\t{\r\n\t\tszFiles = QuotedContentList(pDataObject);\r\n\t\tdwEffect = DROPEFFECT_MOVE; \r\n\t}\r\n\r\n\tif (szFiles != NULL)\r\n\t{\r\n\t\tSetFocus(This->m_hWnd);\r\n\r\n\t\tDMMoveCopyHelper(szFiles, szDest, dwEffect == DROPEFFECT_COPY);\r\n\r\n\t\tLocalFree((HLOCAL)szFiles);\r\n\t}\r\n}\r\n\r\nvoid RegisterDropWindow(HWND hwnd, WF_IDropTarget **ppDropTarget)\r\n{\r\n\tWF_IDropTarget *pDropTarget;\r\n\t\r\n\tCreateDropTarget(hwnd, &pDropTarget);\r\n\r\n\t// acquire a strong lock\r\n\tCoLockObjectExternal((struct IUnknown*)pDropTarget, TRUE, FALSE);\r\n\r\n\t// tell OLE that the window is a drop target\r\n\tRegisterDragDrop(hwnd, (LPDROPTARGET)pDropTarget);\r\n\r\n\t*ppDropTarget = pDropTarget;\r\n}\r\n\r\nvoid UnregisterDropWindow(HWND hwnd, IDropTarget *pDropTarget)\r\n{\r\n\t// remove drag+drop\r\n\tRevokeDragDrop(hwnd);\r\n\r\n\t// remove the strong lock\r\n\tCoLockObjectExternal((struct IUnknown*)pDropTarget, FALSE, TRUE);\r\n\r\n\t// release our own reference\r\n\tpDropTarget->lpVtbl->Release(pDropTarget);\r\n}\r\n\r\n//\tConstructor for the CDropTarget class\r\n//\r\n\r\nWF_IDropTarget * WF_IDropTarget_new(HWND hwnd)\r\n{\r\n  WF_IDropTarget *result;\r\n\r\n  result = calloc(1, sizeof(WF_IDropTarget));\r\n\r\n  if (result)\r\n  {\r\n\t  result->idt.lpVtbl = (IDropTargetVtbl*)&idt_vtbl;\r\n\r\n\t  result->m_lRefCount = 1;\r\n\t  result->m_hWnd = hwnd;\r\n\t  result->m_fAllowDrop = FALSE;\r\n\r\n\t  // return result;\r\n  }\r\n\r\n  return result;\r\n}\r\n\r\nHRESULT CreateDropTarget(HWND hwnd, WF_IDropTarget **ppDropTarget) \r\n{\r\n\tif(ppDropTarget == 0)\r\n\t\treturn E_INVALIDARG;\r\n\r\n\t*ppDropTarget = WF_IDropTarget_new(hwnd);\r\n\r\n\treturn (*ppDropTarget) ? S_OK : E_OUTOFMEMORY;\r\n\r\n}\r\n\r\n"
  },
  {
    "path": "src/wfdrop.h",
    "content": "/**************************************************************************\r\n\r\n   wfdrop.h\r\n\r\n   Include for WINFILE program\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n**************************************************************************/\r\n\r\n#ifndef WFDROP_INC\r\n#define WFDROP_INC\r\n#include <ole2.h>\r\n\r\n// data object:\r\n\r\ntypedef struct {\r\n    IDataObject ido;\r\n    int ref_count;\r\n    FORMATETC *m_pFormatEtc;\r\n    STGMEDIUM *m_pStgMedium;\r\n    LONG       m_nNumFormats;\r\n    LONG m_lRefCount;\r\n} WF_IDataObject;\r\n\r\n\r\ntypedef struct {\r\n    IEnumFORMATETC ief;\r\n    int ref_count;\r\n    int ix;\r\n    LONG        m_lRefCount;        // Reference count for this COM interface\r\n    ULONG       m_nIndex;           // current enumerator index\r\n    ULONG       m_nNumFormats;      // number of FORMATETC members\r\n    FORMATETC * m_pFormatEtc;\r\n} WF_IEnumFORMATETC;\r\n\r\ntypedef struct {\r\n    IDropSource ids;\r\n    LONG        m_lRefCount;\r\n} WF_IDropSource;\r\n\r\ntypedef struct {\r\n    IDropTarget idt;\r\n    LONG  m_lRefCount;\r\n    HWND  m_hWnd;\r\n    BOOL  m_fAllowDrop;\r\n    DWORD m_iItemSelected;\r\n    IDataObject *m_pDataObject;\r\n} WF_IDropTarget;\r\n\r\ntypedef struct WF_IDataObjectVtbl\r\n    {\r\n        BEGIN_INTERFACE\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( \r\n            WF_IDataObject __RPC_FAR * This,\r\n            /* [in] */ REFIID riid,\r\n            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);\r\n        \r\n        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( \r\n            WF_IDataObject __RPC_FAR * This);\r\n        \r\n        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( \r\n            WF_IDataObject __RPC_FAR * This);\r\n        \r\n        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetData )( \r\n            WF_IDataObject __RPC_FAR * This,\r\n            /* [unique][in] */ FORMATETC __RPC_FAR *pformatetcIn,\r\n            /* [out] */ STGMEDIUM __RPC_FAR *pmedium);\r\n        \r\n        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDataHere )( \r\n            WF_IDataObject __RPC_FAR * This,\r\n            /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,\r\n            /* [out][in] */ STGMEDIUM __RPC_FAR *pmedium);\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryGetData )( \r\n            WF_IDataObject __RPC_FAR * This,\r\n            /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc);\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetCanonicalFormatEtc )( \r\n            WF_IDataObject __RPC_FAR * This,\r\n            /* [unique][in] */ FORMATETC __RPC_FAR *pformatetcIn,\r\n            /* [out] */ FORMATETC __RPC_FAR *pformatetcOut);\r\n        \r\n        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetData )( \r\n            WF_IDataObject __RPC_FAR * This,\r\n            /* [unique][in] */ FORMATETC __RPC_FAR *pformatetc,\r\n            /* [unique][in] */ STGMEDIUM __RPC_FAR *pmedium,\r\n            /* [in] */ BOOL fRelease);\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumFormatEtc )( \r\n            WF_IDataObject __RPC_FAR * This,\r\n            /* [in] */ DWORD dwDirection,\r\n            /* [out] */ IEnumFORMATETC __RPC_FAR *__RPC_FAR *ppenumFormatEtc);\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DAdvise )( \r\n            WF_IDataObject __RPC_FAR * This,\r\n            /* [in] */ FORMATETC __RPC_FAR *pformatetc,\r\n            /* [in] */ DWORD advf,\r\n            /* [unique][in] */ IAdviseSink __RPC_FAR *pAdvSink,\r\n            /* [out] */ DWORD __RPC_FAR *pdwConnection);\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DUnadvise )( \r\n            WF_IDataObject __RPC_FAR * This,\r\n            /* [in] */ DWORD dwConnection);\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *EnumDAdvise )( \r\n            WF_IDataObject __RPC_FAR * This,\r\n            /* [out] */ IEnumSTATDATA __RPC_FAR *__RPC_FAR *ppenumAdvise);\r\n        \r\n        END_INTERFACE\r\n    } WF_IDataObjectVtbl;\r\n\r\ntypedef struct WF_IEnumFORMATETCVtbl\r\n    {\r\n        BEGIN_INTERFACE\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( \r\n            WF_IEnumFORMATETC __RPC_FAR * This,\r\n            /* [in] */ REFIID riid,\r\n            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);\r\n        \r\n        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( \r\n            WF_IEnumFORMATETC __RPC_FAR * This);\r\n        \r\n        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( \r\n            WF_IEnumFORMATETC __RPC_FAR * This);\r\n        \r\n        /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Next )( \r\n            WF_IEnumFORMATETC __RPC_FAR * This,\r\n            /* [in] */ ULONG celt,\r\n            /* [length_is][size_is][out] */ FORMATETC __RPC_FAR *rgelt,\r\n            /* [out] */ ULONG __RPC_FAR *pceltFetched);\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Skip )( \r\n            WF_IEnumFORMATETC __RPC_FAR * This,\r\n            /* [in] */ ULONG celt);\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Reset )( \r\n            WF_IEnumFORMATETC __RPC_FAR * This);\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Clone )( \r\n            WF_IEnumFORMATETC __RPC_FAR * This,\r\n            /* [out] */ WF_IEnumFORMATETC __RPC_FAR *__RPC_FAR *ppenum);\r\n        \r\n        END_INTERFACE\r\n    } WF_IEnumFORMATETCVtbl;\r\n\r\n\r\ntypedef struct WF_IDropSourceVtbl\r\n    {\r\n        BEGIN_INTERFACE\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( \r\n            WF_IDropSource __RPC_FAR * This,\r\n            /* [in] */ REFIID riid,\r\n            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);\r\n        \r\n        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( \r\n            WF_IDropSource __RPC_FAR * This);\r\n        \r\n        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( \r\n            WF_IDropSource __RPC_FAR * This);\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryContinueDrag )( \r\n            WF_IDropSource __RPC_FAR * This,\r\n            /* [in] */ BOOL fEscapePressed,\r\n            /* [in] */ DWORD grfKeyState);\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GiveFeedback )( \r\n            WF_IDropSource __RPC_FAR * This,\r\n            /* [in] */ DWORD dwEffect);\r\n        \r\n        END_INTERFACE\r\n    } WF_IDropSourceVtbl;\r\n\r\ntypedef struct WF_IDropTargetVtbl\r\n    {\r\n        BEGIN_INTERFACE\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( \r\n            WF_IDropTarget __RPC_FAR * This,\r\n            /* [in] */ REFIID riid,\r\n            /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);\r\n        \r\n        ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( \r\n            WF_IDropTarget __RPC_FAR * This);\r\n        \r\n        ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( \r\n            WF_IDropTarget __RPC_FAR * This);\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DragEnter )( \r\n            WF_IDropTarget __RPC_FAR * This,\r\n            /* [unique][in] */ WF_IDataObject __RPC_FAR *pDataObj,\r\n            /* [in] */ DWORD grfKeyState,\r\n            /* [in] */ POINTL pt,\r\n            /* [out][in] */ DWORD __RPC_FAR *pdwEffect);\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DragOver )( \r\n            WF_IDropTarget __RPC_FAR * This,\r\n            /* [in] */ DWORD grfKeyState,\r\n            /* [in] */ POINTL pt,\r\n            /* [out][in] */ DWORD __RPC_FAR *pdwEffect);\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *DragLeave )( \r\n            WF_IDropTarget __RPC_FAR * This);\r\n        \r\n        HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Drop )( \r\n            WF_IDropTarget __RPC_FAR * This,\r\n            /* [unique][in] */ IDataObject __RPC_FAR *pDataObj,\r\n            /* [in] */ DWORD grfKeyState,\r\n            /* [in] */ POINTL pt,\r\n            /* [out][in] */ DWORD __RPC_FAR *pdwEffect);\r\n        \r\n        END_INTERFACE\r\n    } WF_IDropTargetVtbl;\r\n\r\ntypedef WF_IDataObject* LPWBDATAOBJECT;\r\ntypedef WF_IEnumFORMATETC* LPWBFORMATETC;\r\n\r\nWF_IEnumFORMATETC *WF_IEnumFORMATETC_new (UINT, FORMATETC *);\r\n\r\nvoid RegisterDropWindow(HWND hwnd, WF_IDropTarget **ppDropTarget);\r\nvoid UnregisterDropWindow(HWND hwnd, IDropTarget *pDropTarget);\r\n#endif\r\n\r\n\r\nLPWSTR QuotedDropList(IDataObject *pDataObj);\r\nLPWSTR QuotedContentList(IDataObject *pDataObj);\r\nHDROP CreateDropFiles(POINT pt, BOOL fNC, LPTSTR pszFiles);\r\n"
  },
  {
    "path": "src/wfext.c",
    "content": "/********************************************************************\r\n\r\n   wfExt.c\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n\r\n//----------------------------\r\n//\r\n//  Winfile Extension cache\r\n//\r\n//----------------------------\r\n\r\nLPXDTA* lplpxdtaExtSelItems;\r\nUINT    uExtSelItems                = (UINT)-1;\r\nWCHAR   szExtSelDir[MAXPATHLEN];\r\nWCHAR   szExtSelDirShort[MAXPATHLEN];\r\n\r\n\r\nVOID\r\nExtSelItemsInvalidate()\r\n{\r\n   if (uExtSelItems != (UINT)-1) {\r\n\r\n      if (lplpxdtaExtSelItems) {\r\n         LocalFree(lplpxdtaExtSelItems);\r\n      }\r\n\r\n      uExtSelItems = (UINT)-1;\r\n   }\r\n}\r\n\r\n\r\nLONG\r\nGetExtSelection(\r\n   HWND hwnd,\r\n   UINT uItem,\r\n   LPARAM lParam,\r\n   BOOL bSearch,\r\n   BOOL bGetCount,\r\n   BOOL bLFNAware,\r\n   BOOL bUnicode)\r\n{\r\n#define lpSelW ((LPFMS_GETFILESELW)lParam)\r\n#define lpSelA ((LPFMS_GETFILESELA)lParam)\r\n\r\n   LPXDTALINK lpStart;\r\n   LPXDTA lpxdta = NULL;\r\n   UINT uSel, i;\r\n   HWND hwndLB;\r\n   WCHAR szPath[COUNTOF(lpSelW->szName)];\r\n   BOOL bUsedDefaultChar;\r\n   HWND hwndView;\r\n   LPINT  lpExtSelItems;\r\n   LPWSTR pszAlternateFileName;\r\n   LPWSTR pszFileName;\r\n\r\n   hwndView = bSearch ?\r\n      hwnd :\r\n      HasDirWindow(hwnd);\r\n\r\n   lpStart = (LPXDTALINK)GetWindowLongPtr(hwndView, GWL_HDTA);\r\n   hwndLB = GetDlgItem(hwndView, IDCW_LISTBOX);\r\n\r\n   if (uExtSelItems == (UINT)-1) {\r\n\r\n      //\r\n      // Cache invalid, refresh\r\n      //\r\n      uExtSelItems = (UINT) SendMessage(hwndLB, LB_GETSELCOUNT, 0, 0L);\r\n\r\n      lpExtSelItems = (LPINT) LocalAlloc(LMEM_FIXED, sizeof(INT) * uExtSelItems);\r\n\r\n      if (lpExtSelItems == NULL) {\r\n         uExtSelItems = (UINT)-1;\r\n         return 0L;\r\n      }\r\n\r\n      lplpxdtaExtSelItems = (LPXDTA*) LocalAlloc(LMEM_FIXED,\r\n                                                 sizeof(LPXDTA) * uExtSelItems);\r\n\r\n      if (lplpxdtaExtSelItems == NULL) {\r\n\r\n         LocalFree(lpExtSelItems);\r\n         uExtSelItems = (UINT)-1;\r\n         return 0L;\r\n      }\r\n\r\n      uExtSelItems = (UINT)SendMessage(hwndLB,\r\n                                       LB_GETSELITEMS,\r\n                                       (WPARAM)uExtSelItems,\r\n                                       (LPARAM)lpExtSelItems);\r\n\r\n      for (i=0, uSel=0; i < uExtSelItems; i++) {\r\n\r\n         SendMessage(hwndLB,\r\n                     LB_GETTEXT,\r\n                     lpExtSelItems[i],\r\n                     (LPARAM)&lplpxdtaExtSelItems[i]);\r\n      }\r\n\r\n      //\r\n      // We can't cache this because there's files may be in many\r\n      // different directories.\r\n      //\r\n      if (!bSearch) {\r\n         SendMessage(hwnd,\r\n                     FS_GETDIRECTORY,\r\n                     COUNTOF(szExtSelDir),\r\n                     (LPARAM)szExtSelDir);\r\n\r\n         GetShortPathName(szExtSelDir, szExtSelDirShort, COUNTOF(szExtSelDirShort));\r\n      }\r\n\r\n      LocalFree(lpExtSelItems);\r\n   }\r\n\r\n\r\n   for (i=0, uSel=0; i < uExtSelItems; i++) {\r\n\r\n      lpxdta = lplpxdtaExtSelItems[i];\r\n\r\n      if (!lpxdta || lpxdta->dwAttrs & ATTR_PARENT)\r\n         continue;\r\n\r\n      if ((!bLFNAware && (lpxdta->dwAttrs & ATTR_LFN)) &&\r\n         !MemGetAlternateFileName(lpxdta)[0]) {\r\n\r\n         continue;\r\n      }\r\n\r\n      if (!bGetCount && uItem == uSel) {\r\n         break;\r\n      }\r\n\r\n      uSel++;\r\n   }\r\n\r\n   if (!lpxdta)\r\n   {\r\n       //\r\n       //  Quit out if lpxdta is null.\r\n       //\r\n       return (0L);\r\n   }\r\n\r\n   //\r\n   // We use uSel regardless; if we wanted item #4 but we ran out\r\n   // at #2, give'm #2.  This adheres to the previous semantics.\r\n   //\r\n   if (bGetCount) {\r\n      return (LONG)uSel;\r\n   }\r\n\r\n   pszAlternateFileName = MemGetAlternateFileName(lpxdta);\r\n\r\n   if (bUnicode) {\r\n\r\n      //\r\n      // lpxdta setup up above\r\n      //\r\n      lpSelW->bAttr = (BYTE)lpxdta->dwAttrs;\r\n      lpSelW->ftTime = lpxdta->ftLastWriteTime;\r\n      lpSelW->dwSize = lpxdta->qFileSize.LowPart;\r\n\r\n      pszFileName = lpSelW->szName;\r\n\r\n   } else {\r\n\r\n      lpSelA->bAttr = (BYTE)lpxdta->dwAttrs;\r\n      lpSelA->ftTime = lpxdta->ftLastWriteTime;\r\n      lpSelA->dwSize = lpxdta->qFileSize.LowPart;\r\n\r\n      pszFileName = szPath;\r\n   }\r\n\r\n   if (bSearch) {\r\n\r\n      lstrcpy(pszFileName, MemGetFileName(lpxdta));\r\n\r\n      //\r\n      // The search window can have any random directory for\r\n      // each item, so don't use szExtSelDirShort caching\r\n      //\r\n      if (!bLFNAware) {\r\n\r\n         GetShortPathName(MemGetFileName(lpxdta), pszFileName, COUNTOF(lpSelW->szName));\r\n      }\r\n\r\n   } else {\r\n\r\n      //\r\n      // If we are LFNAware, then we need to get the dir.\r\n      //\r\n      if (bLFNAware) {\r\n\r\n         lstrcpy(pszFileName, szExtSelDir);\r\n         lstrcat(pszFileName, MemGetFileName(lpxdta));\r\n\r\n      } else {\r\n\r\n         //\r\n         // Need short dir; use cache.\r\n         //\r\n         lstrcpy(pszFileName, szExtSelDirShort);\r\n         lstrcat(pszFileName,\r\n                 pszAlternateFileName[0] ?\r\n                    pszAlternateFileName :\r\n                    MemGetFileName(lpxdta));\r\n      }\r\n\r\n   }\r\n\r\n   if (!bUnicode) {\r\n\r\n      //\r\n      // Not unicode, must do the thunking now\r\n      // from our temp buffer to lpSelA\r\n      //\r\n      bUsedDefaultChar = FALSE;\r\n\r\n      if (!WideCharToMultiByte(CP_ACP, 0, szPath, -1, lpSelA->szName,\r\n         COUNTOF(lpSelA->szName), NULL, &bUsedDefaultChar)) {\r\n\r\n            lpSelA->szName[0] = CHAR_NULL;\r\n      }\r\n\r\n      if (bUsedDefaultChar) {\r\n\r\n         if (!WideCharToMultiByte(CP_ACP, 0, szPath, -1, lpSelA->szName,\r\n            COUNTOF(lpSelA->szName), NULL, &bUsedDefaultChar)) {\r\n\r\n            lpSelA->szName[0] = CHAR_NULL;\r\n         }\r\n      }\r\n   }\r\n\r\n   return (LONG)uSel;\r\n}\r\n#undef lpSelW\r\n#undef lpSelA\r\n\r\n\r\nLONG\r\nGetDriveInfo(HWND hwnd, UINT uMsg, LPARAM lParam)\r\n{\r\n#define lpSelW ((LPFMS_GETDRIVEINFOW)lParam)\r\n#define lpSelA ((LPFMS_GETDRIVEINFOA)lParam)\r\n\r\n   WCHAR szPath[MAXPATHLEN];\r\n   LPWSTR lpszVol;\r\n\r\n   // this has to work for hwnd a tree or search window\r\n\r\n   SendMessage(hwnd, FS_GETDIRECTORY, COUNTOF(szPath), (LPARAM)szPath);\r\n   StripBackslash(szPath);\r\n\r\n   if (FM_GETDRIVEINFOW == uMsg)\r\n   {\r\n      lpSelW->dwTotalSpace = qTotalSpace.LowPart;\r\n      lpSelW->dwFreeSpace = qFreeSpace.LowPart;\r\n\r\n      lstrcpy(lpSelW->szPath, szPath);\r\n\r\n      if (ISUNCPATH(szPath))\r\n      {\r\n         lpSelW->szVolume[0] = CHAR_NULL;\r\n      }\r\n      else\r\n      {\r\n         GetVolumeLabel(DRIVEID(szPath), &lpszVol, FALSE);\r\n         StrNCpy(lpSelW->szVolume, lpszVol, COUNTOF(lpSelW->szVolume)-1);\r\n      }\r\n   }\r\n   else\r\n   {\r\n      lpSelA->dwTotalSpace = qTotalSpace.LowPart;\r\n      lpSelA->dwFreeSpace = qFreeSpace.LowPart;\r\n\r\n      if (!WideCharToMultiByte( CP_ACP,\r\n                                0,\r\n                                szPath,\r\n                                -1,\r\n                                lpSelA->szPath,\r\n                                COUNTOF(lpSelA->szPath),\r\n                                NULL,\r\n                                NULL ))\r\n      {\r\n         lpSelA->szPath[0] = CHAR_NULL;\r\n      }\r\n\r\n      if (ISUNCPATH(szPath))\r\n      {\r\n         lpSelW->szVolume[0] = CHAR_NULL;\r\n      }\r\n      else\r\n      {\r\n         GetVolumeLabel(DRIVEID(szPath), &lpszVol, FALSE);\r\n\r\n         if (!WideCharToMultiByte( CP_ACP,\r\n                                   0,\r\n                                   lpszVol,\r\n                                   -1,\r\n                                   lpSelA->szVolume,\r\n                                   COUNTOF(lpSelA->szVolume),\r\n                                   NULL,\r\n                                   NULL ))\r\n         {\r\n            lpSelA->szVolume[0] = CHAR_NULL;\r\n         }\r\n         lpSelA->szVolume[COUNTOF(lpSelA->szVolume)-1] = CHAR_NULL;\r\n      }\r\n   }\r\n\r\n   //\r\n   // Force update\r\n   //\r\n\r\n   WAITNET();\r\n\r\n   if (ISUNCPATH(szPath))\r\n   {\r\n       lpSelW->szShare[0] = CHAR_NULL;\r\n       return (1L);\r\n   }\r\n\r\n   U_NetCon(DRIVEID(szPath));\r\n\r\n   if (WFGetConnection(DRIVEID(szPath), &lpszVol, FALSE, ALTNAME_REG)) {\r\n      lpSelW->szShare[0] = CHAR_NULL;\r\n   } else {\r\n\r\n      if (FM_GETDRIVEINFOW == uMsg) {\r\n\r\n         StrNCpy(lpSelW->szShare, lpszVol, COUNTOF(lpSelW->szShare)-1);\r\n         lpSelW->szShare[COUNTOF(lpSelW->szShare)-1] = CHAR_NULL;\r\n\r\n      } else {\r\n\r\n         if (!WideCharToMultiByte(CP_ACP, 0, lpszVol, -1,\r\n            lpSelA->szShare, COUNTOF(lpSelA->szShare), NULL, NULL)) {\r\n\r\n            lpSelA->szShare[0] = CHAR_NULL;\r\n         }\r\n         lpSelA->szShare[COUNTOF(lpSelA->szShare)-1] = CHAR_NULL;\r\n      }\r\n   }\r\n\r\n   return (1L);\r\n}\r\n#undef lpSelW\r\n#undef lpSelA\r\n\r\n\r\nVOID\r\nFreeExtensions()\r\n{\r\n   INT i;\r\n   HMENU hMenuFrame;\r\n\r\n   FreeToolbarExtensions();\r\n\r\n\r\n   hMenuFrame = GetMenu(hwndFrame);\r\n\r\n   // we are going to delete all extensions and thus each one to delete is at the same place\r\n   UINT posToDelete = MapIDMToMenuPos(IDM_EXTENSIONS);\r\n\r\n   for (i = 0; i < iNumExtensions; i++) {\r\n      (extensions[i].ExtProc)(NULL, FMEVENT_UNLOAD, 0L);\r\n      DeleteMenu(hMenuFrame, posToDelete, MF_BYPOSITION);\r\n      FreeLibrary((HANDLE)extensions[i].hModule);\r\n   }\r\n   iNumExtensions = 0;\r\n}\r\n\r\n\r\nLRESULT\r\nExtensionMsgProc(UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n   HWND hwndActive;\r\n   HWND hwndTree, hwndDir, hwndFocus;\r\n\r\n   hwndActive = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n   GetTreeWindows(hwndActive, &hwndTree, &hwndDir);\r\n\r\n   switch (wMsg) {\r\n\r\n   case FM_RELOAD_EXTENSIONS:\r\n      SendMessage(hwndFrame, WM_CANCELMODE, 0, 0L);\r\n\r\n      SaveRestoreToolbar(TRUE);\r\n      SendMessage(hwndToolbar, WM_SETREDRAW, FALSE, 0L);\r\n\r\n      FreeExtensions();\r\n\r\n      InitExtensions();\r\n      SaveRestoreToolbar(FALSE);\r\n\r\n      SendMessage(hwndToolbar, WM_SETREDRAW, TRUE, 0L);\r\n      InvalidateRect(hwndToolbar, NULL, TRUE);\r\n\r\n      DrawMenuBar(hwndFrame);\r\n      break;\r\n\r\n   case FM_GETFOCUS:\r\n      // wParam       unused\r\n      // lParam       unused\r\n      // return       window tyep with focus\r\n\r\n      if (hwndActive == hwndSearch)\r\n         return FMFOCUS_SEARCH;\r\n\r\n      hwndFocus = GetTreeFocus(hwndActive);\r\n\r\n      if (hwndFocus == hwndTree)\r\n         return FMFOCUS_TREE;\r\n      else if (hwndFocus == hwndDir)\r\n         return FMFOCUS_DIR;\r\n      else if (hwndFocus == hwndDriveBar)\r\n         return FMFOCUS_DRIVES;\r\n      break;\r\n\r\n   case FM_GETDRIVEINFOA:\r\n   case FM_GETDRIVEINFOW:\r\n\r\n      // wParam       unused\r\n      // lParam       LPFMS_GETDRIVEINFO structure to be filled in\r\n\r\n      return GetDriveInfo(hwndActive, wMsg, lParam);\r\n      break;\r\n\r\n   case FM_REFRESH_WINDOWS:\r\n      // wParam       0 refresh the current window\r\n      //              non zero refresh all windows\r\n      // lParam       unused\r\n\r\n\r\n      //\r\n      // Note: For all windows that it refreshes,\r\n      // it requests a WNetGetDirectoryType flush cache.\r\n\r\n      UpdateDriveList();\r\n\r\n      if (wParam == 0) {\r\n         RefreshWindow(hwndActive, FALSE, TRUE);\r\n      } else {\r\n         HWND hwndT, hwndNext;\r\n\r\n         hwndT = GetWindow(hwndMDIClient, GW_CHILD);\r\n         while (hwndT) {\r\n            hwndNext = GetWindow(hwndT, GW_HWNDNEXT);\r\n\r\n            if (!GetWindow(hwndT, GW_OWNER)) {\r\n\r\n               RefreshWindow(hwndT, FALSE, TRUE);\r\n            }\r\n            hwndT = hwndNext;\r\n         }\r\n      }\r\n\r\n      SPC_SET_HITDISK(qFreeSpace);\r\n      UpdateStatus(hwndActive);\r\n      break;\r\n\r\n   case FM_GETSELCOUNT:\r\n   case FM_GETSELCOUNTLFN:\r\n      // wParam       unused\r\n      // lParam       unused\r\n      // return       # of selected items\r\n\r\n   case FM_GETFILESELA:\r\n   case FM_GETFILESELW:\r\n   case FM_GETFILESELLFNA:\r\n   case FM_GETFILESELLFNW:\r\n\r\n      // wParam       index of selected item to get\r\n      // lParam       LPFMS_GETFILESEL structure to be filled in\r\n\r\n      if (hwndActive != hwndSearch && !hwndDir)\r\n         return 0L;\r\n\r\n      // note, this uses the fact that LFN messages are odd!\r\n\r\n      return GetExtSelection(hwndActive, (UINT)wParam, lParam,\r\n         hwndActive == hwndSearch, (wMsg & ~1) == FM_GETSELCOUNT,\r\n         (BOOL)(wMsg & 1),\r\n         (wMsg == FM_GETFILESELW || wMsg == FM_GETFILESELLFNW));\r\n   }\r\n\r\n   return 0;\r\n}\r\n"
  },
  {
    "path": "src/wfext.h",
    "content": "/********************************************************************\r\n\r\n   wfext.h\r\n\r\n   Windows File Manager Extensions definitions (Win32 variant)\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#ifndef _INC_WFEXT\r\n#define _INC_WFEXT            /* #defined if wfext.h has been included */\r\n\r\n#ifdef __cplusplus            /* Assume C declaration for C++ */\r\nextern \"C\" {\r\n#endif  /* __cplusplus */\r\n\r\n#define MENU_TEXT_LEN           40\r\n\r\n#define FMMENU_FIRST            1\r\n#define FMMENU_LAST             99\r\n\r\n#define FMEVENT_LOAD            100\r\n#define FMEVENT_UNLOAD          101\r\n#define FMEVENT_INITMENU        102\r\n#define FMEVENT_USER_REFRESH    103\r\n#define FMEVENT_SELCHANGE       104\r\n#define FMEVENT_TOOLBARLOAD     105\r\n#define FMEVENT_HELPSTRING      106\r\n#define FMEVENT_HELPMENUITEM    107\r\n\r\n#define FMFOCUS_DIR             1\r\n#define FMFOCUS_TREE            2\r\n#define FMFOCUS_DRIVES          3\r\n#define FMFOCUS_SEARCH          4\r\n\r\n#define FM_GETFOCUS           (WM_USER + 0x0200)\r\n#define FM_GETSELCOUNT        (WM_USER + 0x0202)\r\n#define FM_GETSELCOUNTLFN     (WM_USER + 0x0203)  /* LFN versions are odd */\r\n#define FM_REFRESH_WINDOWS    (WM_USER + 0x0206)\r\n#define FM_RELOAD_EXTENSIONS  (WM_USER + 0x0207)\r\n\r\n#define FM_GETDRIVEINFOA      (WM_USER + 0x0201)\r\n#define FM_GETFILESELA        (WM_USER + 0x0204)\r\n#define FM_GETFILESELLFNA     (WM_USER + 0x0205)  /* LFN versions are odd */\r\n\r\n#define FM_GETDRIVEINFOW      (WM_USER + 0x0211)\r\n#define FM_GETFILESELW        (WM_USER + 0x0214)\r\n#define FM_GETFILESELLFNW     (WM_USER + 0x0215)  /* LFN versions are odd */\r\n\r\n#ifdef UNICODE\r\n#define FM_GETDRIVEINFO    FM_GETDRIVEINFOW\r\n#define FM_GETFILESEL      FM_GETFILESELW\r\n#define FM_GETFILESELLFN   FM_GETFILESELLFNW\r\n#else\r\n#define FM_GETDRIVEINFO    FM_GETDRIVEINFOA\r\n#define FM_GETFILESEL      FM_GETFILESELA\r\n#define FM_GETFILESELLFN   FM_GETFILESELLFNA\r\n#endif\r\n\r\n\r\ntypedef struct _FMS_GETFILESELA {\r\n   FILETIME ftTime;\r\n   DWORD dwSize;\r\n   BYTE bAttr;\r\n   CHAR szName[260];          // always fully qualified\r\n} FMS_GETFILESELA, FAR *LPFMS_GETFILESELA;\r\n\r\ntypedef struct _FMS_GETFILESELW {\r\n   FILETIME ftTime ;\r\n   DWORD dwSize;\r\n   BYTE bAttr;\r\n   WCHAR szName[260];          // always fully qualified\r\n} FMS_GETFILESELW, FAR *LPFMS_GETFILESELW;\r\n\r\n#ifdef UNICODE\r\n#define FMS_GETFILESEL   FMS_GETFILESELW\r\n#define LPFMS_GETFILESEL LPFMS_GETFILESELW\r\n#else\r\n#define FMS_GETFILESEL   FMS_GETFILESELA\r\n#define LPFMS_GETFILESEL LPFMS_GETFILESELA\r\n#endif\r\n\r\n\r\ntypedef struct _FMS_GETDRIVEINFOA {      // for drive\r\n   DWORD dwTotalSpace;\r\n   DWORD dwFreeSpace;\r\n   CHAR  szPath[260];                    // current directory\r\n   CHAR  szVolume[14];                   // volume label\r\n   CHAR  szShare[128];                   // if this is a net drive\r\n} FMS_GETDRIVEINFOA, FAR *LPFMS_GETDRIVEINFOA;\r\n\r\ntypedef struct _FMS_GETDRIVEINFOW {      // for drive\r\n   DWORD dwTotalSpace;\r\n   DWORD dwFreeSpace;\r\n   WCHAR szPath[260];                    // current directory\r\n   WCHAR szVolume[14];                   // volume label\r\n   WCHAR szShare[128];                   // if this is a net drive\r\n} FMS_GETDRIVEINFOW, FAR *LPFMS_GETDRIVEINFOW;\r\n\r\n#ifdef UNICODE\r\n#define FMS_GETDRIVEINFO   FMS_GETDRIVEINFOW\r\n#define LPFMS_GETDRIVEINFO LPFMS_GETDRIVEINFOW\r\n#else\r\n#define FMS_GETDRIVEINFO   FMS_GETDRIVEINFOA\r\n#define LPFMS_GETDRIVEINFO LPFMS_GETDRIVEINFOA\r\n#endif\r\n\r\n\r\ntypedef struct _FMS_LOADA {\r\n   DWORD dwSize;                        // for version checks\r\n   CHAR  szMenuName[MENU_TEXT_LEN];     // output\r\n   HMENU hMenu;                         // output\r\n   UINT  wMenuDelta;                    // input\r\n} FMS_LOADA, FAR *LPFMS_LOADA;\r\n\r\ntypedef struct _FMS_LOADW {\r\n   DWORD dwSize;                        // for version checks\r\n   WCHAR szMenuName[MENU_TEXT_LEN];     // output\r\n   HMENU hMenu;                         // output\r\n   UINT  wMenuDelta;                    // input\r\n} FMS_LOADW, FAR *LPFMS_LOADW;\r\n\r\n#ifdef UNICODE\r\n#define FMS_LOAD   FMS_LOADW\r\n#define LPFMS_LOAD LPFMS_LOADW\r\n#else\r\n#define FMS_LOAD   FMS_LOADA\r\n#define LPFMS_LOAD LPFMS_LOADA\r\n#endif\r\n\r\n\r\n// Toolbar definitions\r\n\r\ntypedef struct tagEXT_BUTTON {\r\n   WORD idCommand;                 /* menu command to trigger */\r\n   WORD idsHelp;                   /* help string ID */\r\n   WORD fsStyle;                   /* button style */\r\n} EXT_BUTTON, FAR *LPEXT_BUTTON;\r\n\r\ntypedef struct tagFMS_TOOLBARLOAD {\r\n   DWORD dwSize;                   /* for version checks */\r\n   LPEXT_BUTTON lpButtons;         /* output */\r\n   WORD cButtons;                  /* output, 0==>no buttons */\r\n   WORD cBitmaps;                  /* number of non-sep buttons */\r\n   WORD idBitmap;                  /* output */\r\n   HBITMAP hBitmap;                /* output if idBitmap==0 */\r\n} FMS_TOOLBARLOAD, FAR *LPFMS_TOOLBARLOAD;\r\n\r\ntypedef struct tagFMS_HELPSTRINGA {\r\n   INT   idCommand;       /* input, -1==>the menu was selected */\r\n   HMENU hMenu;           /* input, the extensions menu */\r\n   CHAR  szHelp[128];     /* output, the help string */\r\n} FMS_HELPSTRINGA, FAR *LPFMS_HELPSTRINGA;\r\n\r\ntypedef struct tagFMS_HELPSTRINGW {\r\n   INT   idCommand;       /* input, -1==>the menu was selected */\r\n   HMENU hMenu;           /* input, the extensions menu */\r\n   WCHAR szHelp[128];     /* output, the help string */\r\n} FMS_HELPSTRINGW, FAR *LPFMS_HELPSTRINGW;\r\n\r\n#ifdef UNICODE\r\n#define FMS_HELPSTRING   FMS_HELPSTRINGW\r\n#define LPFMS_HELPSTRING LPFMS_HELPSTRINGW\r\n#else\r\n#define FMS_HELPSTRING   FMS_HELPSTRINGA\r\n#define LPFMS_HELPSTRING LPFMS_HELPSTRINGA\r\n#endif\r\n\r\n\r\ntypedef DWORD (APIENTRY *FM_EXT_PROC)(HWND, WPARAM, LPARAM);\r\n\r\n#ifdef UNICODE\r\nLONG WINAPI FMExtensionProcW(HWND hwnd, WPARAM wEvent, LPARAM lParam);\r\n#else\r\nLONG WINAPI FMExtensionProc(HWND hwnd, WPARAM wEvent, LPARAM lParam);\r\n#endif\r\n\r\n#ifdef __cplusplus\r\n}                  /* End of extern \"C\" { */\r\n#endif             /* __cplusplus */\r\n\r\n#endif             /* _INC_WFEXT */\r\n\r\n"
  },
  {
    "path": "src/wfexti.h",
    "content": "/********************************************************************\r\n\r\n   wfexti.h\r\n\r\n   Windows File Manager Extensions definitions\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#ifndef _INC_WFEXTI\r\n#define _INC_WFEXTI\r\n\r\n//------------------ private stuff ---------------------------  /* ;Internal */\r\n                                                                /* ;Internal */\r\ntypedef struct _EXTENSION {                                     /* ;Internal */\r\n        DWORD (APIENTRY *ExtProc)(HWND, WPARAM, LPARAM);        /* ;Internal */\r\n        WORD     Delta;                                         /* ;Internal */\r\n        HANDLE   hModule;                                       /* ;Internal */\r\n        HMENU    hMenu;                                         /* ;Internal */\r\n        HBITMAP  hbmButtons;                                    /* ;Internal */\r\n        WORD     idBitmap;                                      /* ;Internal */\r\n        WORD     iStartBmp;                                     /* ;Internal */\r\n        BOOL     bRestored;                                     /* ;Internal */\r\n        BOOL     bUnicode;                                      /* ;Internal */\r\n} EXTENSION;                                                    /* ;Internal */\r\n\r\n#define MAX_EXTENSIONS 10                                       /* ;Internal */\r\nextern EXTENSION extensions[MAX_EXTENSIONS];                    /* ;Internal */\r\n                                                                /* ;Internal */\r\nLRESULT ExtensionMsgProc(UINT wMsg, WPARAM wParam, LPARAM lpSel);    /* ;Internal */\r\nVOID FreeExtensions(VOID);                                      /* ;Internal */\r\n\r\n#endif /* _INC_WFEXTI */\r\n"
  },
  {
    "path": "src/wffile.c",
    "content": "/********************************************************************\r\n\r\n   wffile.c\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n#include \"lfn.h\"\r\n#include \"wfcopy.h\"\r\n#include \"treectl.h\"\r\n\r\n\r\n//\r\n//  Constant Declarations.\r\n//\r\n#define PROGRESS_UPD_FILENAME            1\r\n#define PROGRESS_UPD_DIRECTORY           2\r\n#define PROGRESS_UPD_FILEANDDIR          3\r\n#define PROGRESS_UPD_DIRCNT              4\r\n#define PROGRESS_UPD_FILECNT             5\r\n#define PROGRESS_UPD_COMPRESSEDSIZE      6\r\n#define PROGRESS_UPD_FILESIZE            7\r\n#define PROGRESS_UPD_PERCENTAGE          8\r\n#define PROGRESS_UPD_FILENUMBERS         9\r\n#define PROGRESS_UPD_FINAL              10\r\n\r\n\r\n//\r\n//  Return values for CompressErrMessageBox routine.\r\n//\r\n#define WF_RETRY_CREATE     1\r\n#define WF_RETRY_DEVIO      2\r\n//      IDABORT             3\r\n//      IDIGNORE            5\r\n\r\n\r\n\r\n//\r\n//  Global variables to hold the User option information.\r\n//\r\nBOOL DoSubdirectories = FALSE;\r\n\r\nBOOL bShowProgress    = FALSE;\r\nHANDLE hDlgProgress   = NULL;\r\n\r\nBOOL bCompressReEntry = FALSE;\r\nBOOL bIgnoreAllErrors = FALSE;\r\n\r\n\r\n//\r\n//  Global variables to hold compression statistics.\r\n//\r\nLONGLONG TotalDirectoryCount        = 0;\r\nLONGLONG TotalFileCount             = 0;\r\nLONGLONG TotalCompressedFileCount   = 0;\r\nLONGLONG TotalUncompressedFileCount = 0;\r\n\r\nLARGE_INTEGER TotalFileSize;\r\nLARGE_INTEGER TotalCompressedSize;\r\n\r\nTCHAR  szGlobalFile[MAXPATHLEN];\r\nTCHAR  szGlobalDir[MAXPATHLEN];\r\n\r\nHDC   hDCdir = NULL;\r\nDWORD dxdir;\r\n\r\n\r\n\r\n//\r\n//  Forward Declarations.\r\n//\r\nBOOL\r\nWFDoCompress(\r\n    HWND hDlg,\r\n    LPTSTR DirectorySpec,\r\n    LPTSTR FileSpec);\r\n\r\nBOOL\r\nWFDoUncompress(\r\n    HWND hDlg,\r\n    LPTSTR DirectorySpec,\r\n    LPTSTR FileSpec);\r\n\r\nVOID\r\nRedrawAllTreeWindows(VOID);\r\n\r\nint\r\nCompressErrMessageBox(\r\n    HWND hwndActive,\r\n    LPTSTR szFile,\r\n    PHANDLE phFile);\r\n\r\nINT_PTR CALLBACK\r\nCompressErrDialogProc(\r\n    HWND hDlg,\r\n    UINT uMsg,\r\n    WPARAM wParam,\r\n    LPARAM lParam);\r\n\r\nBOOL\r\nOpenFileForCompress(\r\n    PHANDLE phFile,\r\n    LPTSTR szFile);\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  MKDir\r\n//\r\n//  Creates the given directory.\r\n//\r\n/////////////////////////////////////////////////////////////////////////////\r\n\r\nDWORD MKDir(\r\n    LPTSTR pName,\r\n    LPTSTR pSrc)\r\n{\r\n   DWORD dwErr = ERROR_SUCCESS;\r\n\r\n   if ((pSrc && *pSrc) ?\r\n         CreateDirectoryEx(pSrc, pName, NULL) :\r\n         CreateDirectory(pName, NULL)) {\r\n      ChangeFileSystem(FSC_MKDIR, pName, NULL);\r\n   } else {\r\n      dwErr = GetLastError();\r\n\r\n      // CreateDirectoryEx does not support developer mode, so create symbolic ourselves\r\n      if (ERROR_PRIVILEGE_NOT_HELD == dwErr) {\r\n         dwErr = WFCopyIfSymlink(pSrc, pName, SYMBOLIC_LINK_FLAG_DIRECTORY, FSC_SYMLINKD);\r\n      }\r\n   }\r\n\r\n   return dwErr;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  RMDir\r\n//\r\n//  Removes the given directory.\r\n//\r\n/////////////////////////////////////////////////////////////////////////////\r\n\r\nDWORD RMDir(\r\n    LPTSTR pName)\r\n{\r\n   DWORD dwErr = 0;\r\n\r\n   if (RemoveDirectory(pName))\r\n   {\r\n      ChangeFileSystem(FSC_RMDIR, pName, NULL);\r\n   }\r\n   else\r\n   {\r\n      dwErr = (WORD)GetLastError();\r\n   }\r\n\r\n   return (dwErr);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  WFSetAttr\r\n//\r\n//  Sets the file attributes.\r\n//\r\n/////////////////////////////////////////////////////////////////////////////\r\n\r\nBOOL WFSetAttr(\r\n    LPTSTR lpFile,\r\n    DWORD dwAttr)\r\n{\r\n   BOOL bRet;\r\n\r\n   //\r\n   //  Compression attribute is handled separately -\r\n   //  do not try to set it here.\r\n   //\r\n   dwAttr = dwAttr & ~(ATTR_COMPRESSED | ATTR_ENCRYPTED);\r\n\r\n   bRet = SetFileAttributes(lpFile, dwAttr);\r\n\r\n   if (bRet)\r\n   {\r\n      ChangeFileSystem(FSC_ATTRIBUTES, lpFile, NULL);\r\n   }\r\n\r\n   return ( (BOOL)!bRet );\r\n}\r\n\r\n\r\n//////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  CentreWindow\r\n//\r\n//  Positions a window so that it is centered in its parent.\r\n//\r\n//////////////////////////////////////////////////////////////////////////////\r\n\r\nVOID CentreWindow(\r\n    HWND hwnd)\r\n{\r\n    RECT    rect;\r\n    RECT    rectParent;\r\n    HWND    hwndParent;\r\n    LONG    dx, dy;\r\n    LONG    dxParent, dyParent;\r\n    DWORD   Style;\r\n\r\n    //\r\n    //  Get window rect.\r\n    //\r\n    GetWindowRect(hwnd, &rect);\r\n\r\n    dx = rect.right - rect.left;\r\n    dy = rect.bottom - rect.top;\r\n\r\n    //\r\n    //  Get parent rect.\r\n    //\r\n    Style = (DWORD)GetWindowLongPtr(hwnd, GWL_STYLE);\r\n    if ((Style & WS_CHILD) == 0)\r\n    {\r\n        hwndParent = GetDesktopWindow();\r\n    }\r\n    else\r\n    {\r\n        hwndParent = GetParent(hwnd);\r\n        if (hwndParent == NULL)\r\n        {\r\n            hwndParent = GetDesktopWindow();\r\n        }\r\n    }\r\n    GetWindowRect(hwndParent, &rectParent);\r\n\r\n    dxParent = rectParent.right - rectParent.left;\r\n    dyParent = rectParent.bottom - rectParent.top;\r\n\r\n    //\r\n    //  Centre the child in the parent.\r\n    //\r\n    rect.left = (dxParent - dx) / 2;\r\n    rect.top  = (dyParent - dy) / 3;\r\n\r\n    //\r\n    //  Move the child into position.\r\n    //\r\n    SetWindowPos( hwnd,\r\n                  NULL,\r\n                  rect.left,\r\n                  rect.top,\r\n                  0,\r\n                  0,\r\n                  SWP_NOSIZE | SWP_NOZORDER );\r\n\r\n    SetForegroundWindow(hwnd);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  wfProgressYield\r\n//\r\n//  Allow other messages including Dialog messages for Modeless dialog to be\r\n//  processed while we are Compressing and Uncompressing files.  This message\r\n//  loop is similar to \"wfYield\" in treectl.c except that it allows for the\r\n//  processing of Modeless dialog messages also (specifically for the Progress\r\n//  Dialogs).\r\n//\r\n//  Since the file/directory Compression/Uncompression is done on a single\r\n//  thread (in order to keep it synchronous with the existing Set Attributes\r\n//  processing) we need to provide a mechanism that will allow a user to\r\n//  Cancel out of the operation and also allow window messages, like WM_PAINT,\r\n//  to be processed by other Window Procedures.\r\n//\r\n/////////////////////////////////////////////////////////////////////////////\r\n\r\nVOID wfProgressYield()\r\n{\r\n    MSG msg;\r\n\r\n    while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))\r\n    {\r\n        if (!hDlgProgress || !IsDialogMessage(hDlgProgress, &msg))\r\n        {\r\n            if (!TranslateMDISysAccel(hwndMDIClient, &msg) &&\r\n                (!hwndFrame || !TranslateAccelerator(hwndFrame, hAccel, &msg)))\r\n            {\r\n                TranslateMessage(&msg);\r\n                DispatchMessage(&msg);\r\n            }\r\n        }\r\n    }\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  DisplayUncompressProgress\r\n//\r\n//  Update the progress of uncompressing files.\r\n//\r\n//  This routine uses the global variables to update the Dialog box items\r\n//  which display the progress through the uncompression process.  The global\r\n//  variables are updated by individual routines.  An ordinal value is sent\r\n//  to this routine which determines which dialog box item to update.\r\n//\r\n/////////////////////////////////////////////////////////////////////////////\r\n\r\nVOID DisplayUncompressProgress(\r\n    int iType)\r\n{\r\n    TCHAR szNum[30];\r\n\r\n    if (!bShowProgress)\r\n    {\r\n        return;\r\n    }\r\n\r\n    switch (iType)\r\n    {\r\n        case ( PROGRESS_UPD_FILEANDDIR ) :\r\n        case ( PROGRESS_UPD_FILENAME ) :\r\n        {\r\n            SetDlgItemText(hDlgProgress, IDD_UNCOMPRESS_FILE, szGlobalFile);\r\n            if (iType != PROGRESS_UPD_FILEANDDIR)\r\n            {\r\n                break;\r\n            }\r\n\r\n            // else...fall through\r\n        }\r\n        case ( PROGRESS_UPD_DIRECTORY ) :\r\n        {\r\n            //\r\n            //  Preprocess the directory name to shorten it to fit\r\n            //  into our space.\r\n            //\r\n            CompactPath(hDCdir, szGlobalDir, dxdir);\r\n            SetDlgItemText(hDlgProgress, IDD_UNCOMPRESS_DIR, szGlobalDir);\r\n\r\n            break;\r\n        }\r\n        case ( PROGRESS_UPD_DIRCNT ) :\r\n        {\r\n            AddCommasInternal(szNum, (DWORD)TotalDirectoryCount);\r\n            SetDlgItemText(hDlgProgress, IDD_UNCOMPRESS_TDIRS, szNum);\r\n\r\n            break;\r\n        }\r\n        case ( PROGRESS_UPD_FILENUMBERS ) :\r\n        case ( PROGRESS_UPD_FILECNT ) :\r\n        {\r\n            AddCommasInternal(szNum, (DWORD)TotalFileCount);\r\n            SetDlgItemText(hDlgProgress, IDD_UNCOMPRESS_TFILES, szNum);\r\n\r\n            break;\r\n        }\r\n    }\r\n\r\n    wfProgressYield();\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  UncompressProgDlg\r\n//\r\n//  Display progress messages to user based on progress in uncompressing\r\n//  files and directories.\r\n//\r\n//  NOTE:  This is a modeless dialog and must be terminated with\r\n//         DestroyWindow and NOT EndDialog\r\n//\r\n/////////////////////////////////////////////////////////////////////////////\r\n\r\nINT_PTR CALLBACK UncompressProgDlg(\r\n    HWND hDlg,\r\n    UINT nMsg,\r\n    WPARAM wParam,\r\n    LPARAM lParam)\r\n{\r\n    TCHAR szTemp[120];\r\n    RECT  rect;\r\n\r\n    switch (nMsg)\r\n    {\r\n        case ( WM_INITDIALOG ) :\r\n        {\r\n            CentreWindow(hDlg);\r\n\r\n            hDlgProgress = hDlg;\r\n\r\n            //\r\n            //  Clear Dialog items.\r\n            //\r\n            szTemp[0] = TEXT('\\0');\r\n\r\n            SetDlgItemText(hDlg, IDD_UNCOMPRESS_FILE, szTemp);\r\n            SetDlgItemText(hDlg, IDD_UNCOMPRESS_DIR,  szTemp);\r\n            SetDlgItemText(hDlg, IDD_UNCOMPRESS_TDIRS, szTemp);\r\n            SetDlgItemText(hDlg, IDD_UNCOMPRESS_TFILES, szTemp);\r\n\r\n            hDCdir = GetDC(GetDlgItem(hDlg, IDD_UNCOMPRESS_DIR));\r\n            GetClientRect(GetDlgItem(hDlg, IDD_UNCOMPRESS_DIR), &rect);\r\n            dxdir = rect.right;\r\n\r\n            //\r\n            // Set Dialog message text\r\n            //\r\n            EnableWindow(hDlg, TRUE);\r\n            break;\r\n        }\r\n        case ( WM_COMMAND ) :\r\n        {\r\n            switch (LOWORD(wParam))\r\n            {\r\n                case ( IDOK ) :\r\n                case ( IDCANCEL ) :\r\n                {\r\n                    if (hDCdir)\r\n                    {\r\n                        ReleaseDC(GetDlgItem(hDlg, IDD_UNCOMPRESS_DIR), hDCdir);\r\n                        hDCdir = NULL;\r\n                    }\r\n                    DestroyWindow(hDlg);\r\n                    hDlgProgress = NULL;\r\n                    break;\r\n                }\r\n                default :\r\n                {\r\n                    return (FALSE);\r\n                }\r\n            }\r\n            break;\r\n        }\r\n        default :\r\n        {\r\n            return (FALSE);\r\n        }\r\n    }\r\n\r\n    return (TRUE);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  DisplayCompressProgress\r\n//\r\n//  Update the progress of compressing files.\r\n//\r\n//  This routine uses the global variables to update the Dialog box items\r\n//  which display the progress through the compression process.  The global\r\n//  variables are updated by individual routines.  An ordinal value is sent\r\n//  to this routine which determines which dialog box item to update.\r\n//\r\n/////////////////////////////////////////////////////////////////////////////\r\n\r\nvoid DisplayCompressProgress(\r\n    int iType)\r\n{\r\n    TCHAR szTemp[120];\r\n    TCHAR szNum[30];\r\n    LARGE_INTEGER Percentage;\r\n\r\n\r\n    if (!bShowProgress)\r\n    {\r\n        return;\r\n    }\r\n\r\n    switch (iType)\r\n    {\r\n        case ( PROGRESS_UPD_FILEANDDIR ) :\r\n        case ( PROGRESS_UPD_FILENAME ) :\r\n        {\r\n            SetDlgItemText(hDlgProgress, IDD_COMPRESS_FILE, szGlobalFile);\r\n            if (iType != PROGRESS_UPD_FILEANDDIR)\r\n            {\r\n                break;\r\n            }\r\n\r\n            // else...fall through\r\n        }\r\n        case ( PROGRESS_UPD_DIRECTORY ) :\r\n        {\r\n            //\r\n            //  Preprocess the directory name to shorten it to fit\r\n            //  into our space.\r\n            //\r\n            CompactPath(hDCdir, szGlobalDir, dxdir);\r\n            SetDlgItemText(hDlgProgress, IDD_COMPRESS_DIR, szGlobalDir);\r\n\r\n            break;\r\n        }\r\n        case ( PROGRESS_UPD_DIRCNT ) :\r\n        {\r\n            AddCommasInternal(szNum, (DWORD)TotalDirectoryCount);\r\n            SetDlgItemText(hDlgProgress, IDD_COMPRESS_TDIRS, szNum);\r\n\r\n            break;\r\n        }\r\n        case ( PROGRESS_UPD_FILENUMBERS ) :\r\n        case ( PROGRESS_UPD_FILECNT ) :\r\n        {\r\n            AddCommasInternal(szNum, (DWORD)TotalFileCount);\r\n            SetDlgItemText(hDlgProgress, IDD_COMPRESS_TFILES, szNum);\r\n            if (iType != PROGRESS_UPD_FILENUMBERS)\r\n            {\r\n                break;\r\n            }\r\n\r\n            // else...fall through\r\n        }\r\n        case ( PROGRESS_UPD_COMPRESSEDSIZE ) :\r\n        {\r\n            PutSize(&TotalCompressedSize, szNum);\r\n            wsprintf(szTemp, szSBytes, szNum);\r\n            SetDlgItemText(hDlgProgress, IDD_COMPRESS_CSIZE, szTemp);\r\n            if (iType != PROGRESS_UPD_FILENUMBERS)\r\n            {\r\n                break;\r\n            }\r\n\r\n            // else...fall through\r\n        }\r\n        case ( PROGRESS_UPD_FILESIZE ) :\r\n        {\r\n            PutSize(&TotalFileSize, szNum);\r\n            wsprintf(szTemp, szSBytes, szNum);\r\n            SetDlgItemText(hDlgProgress, IDD_COMPRESS_USIZE, szTemp);\r\n            if (iType != PROGRESS_UPD_FILENUMBERS)\r\n            {\r\n                break;\r\n            }\r\n\r\n            // else...fall through\r\n        }\r\n        case ( PROGRESS_UPD_PERCENTAGE ) :\r\n        {\r\n            if (TotalFileSize.QuadPart != 0)\r\n            {\r\n                //\r\n                //  Percentage = 100 - ((CompressSize * 100) / FileSize)\r\n                //\r\n                Percentage.QuadPart =\r\n                    (TotalCompressedSize.QuadPart * 100) /\r\n                    TotalFileSize.QuadPart;\r\n\r\n                if (Percentage.HighPart || (Percentage.LowPart > 100))\r\n                {\r\n                    //\r\n                    //  Percentage = 100%\r\n                    //\r\n                    Percentage.LowPart = 100;\r\n                    Percentage.HighPart = 0;\r\n                }\r\n                else\r\n                {\r\n                    Percentage.LowPart = 100 - Percentage.LowPart;\r\n                }\r\n            }\r\n            else\r\n            {\r\n                //\r\n                //  Percentage = 0%\r\n                //\r\n                Percentage.LowPart = 0;\r\n                Percentage.HighPart = 0;\r\n            }\r\n            PutSize(&Percentage, szNum);\r\n            wsprintf(szTemp, TEXT(\"%s%%\"), szNum);\r\n            SetDlgItemText(hDlgProgress, IDD_COMPRESS_RATIO, szTemp);\r\n\r\n            break;\r\n        }\r\n    }\r\n\r\n    wfProgressYield();\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  CompressProgDlg\r\n//\r\n//  Display progress messages to user based on progress in converting\r\n//  font files to TrueType\r\n//\r\n//  NOTE:  This is a modeless dialog and must be terminated with DestroyWindow\r\n//         and NOT EndDialog\r\n//\r\n/////////////////////////////////////////////////////////////////////////////\r\n\r\nINT_PTR CALLBACK CompressProgDlg(\r\n    HWND hDlg,\r\n    UINT nMsg,\r\n    WPARAM wParam,\r\n    LPARAM lParam)\r\n{\r\n    TCHAR szTemp[120];\r\n    RECT  rect;\r\n\r\n    switch (nMsg)\r\n    {\r\n        case ( WM_INITDIALOG ) :\r\n        {\r\n            CentreWindow(hDlg);\r\n\r\n            hDlgProgress = hDlg;\r\n\r\n            //\r\n            //  Clear Dialog items.\r\n            //\r\n            szTemp[0] = TEXT('\\0');\r\n\r\n            SetDlgItemText(hDlg, IDD_COMPRESS_FILE, szTemp);\r\n            SetDlgItemText(hDlg, IDD_COMPRESS_DIR,  szTemp);\r\n            SetDlgItemText(hDlg, IDD_COMPRESS_TDIRS, szTemp);\r\n            SetDlgItemText(hDlg, IDD_COMPRESS_TFILES, szTemp);\r\n            SetDlgItemText(hDlg, IDD_COMPRESS_CSIZE, szTemp);\r\n            SetDlgItemText(hDlg, IDD_COMPRESS_USIZE, szTemp);\r\n            SetDlgItemText(hDlg, IDD_COMPRESS_RATIO, szTemp);\r\n\r\n            hDCdir = GetDC(GetDlgItem(hDlg, IDD_COMPRESS_DIR));\r\n            GetClientRect(GetDlgItem(hDlg, IDD_COMPRESS_DIR), &rect);\r\n            dxdir = rect.right;\r\n\r\n            //\r\n            // Set Dialog message text.\r\n            //\r\n            LoadString(hAppInstance, IDS_COMPRESSDIR, szTemp, COUNTOF(szTemp));\r\n            EnableWindow(hDlg, TRUE);\r\n\r\n            break;\r\n        }\r\n        case ( WM_COMMAND ) :\r\n        {\r\n            switch (LOWORD(wParam))\r\n            {\r\n                case ( IDOK ) :\r\n                case ( IDCANCEL ) :\r\n                {\r\n                    if (hDCdir)\r\n                    {\r\n                        ReleaseDC(GetDlgItem(hDlg, IDD_COMPRESS_DIR), hDCdir);\r\n                        hDCdir = NULL;\r\n                    }\r\n                    DestroyWindow(hDlg);\r\n                    hDlgProgress = NULL;\r\n\r\n                    break;\r\n                }\r\n                default :\r\n                {\r\n                    return (FALSE);\r\n                }\r\n            }\r\n            break;\r\n        }\r\n        default :\r\n        {\r\n            return (FALSE);\r\n        }\r\n    }\r\n\r\n    return (TRUE);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  WFCheckCompress\r\n//\r\n//  Given a path and information determine if User wants to compress all\r\n//  files and sub-dirs in directory, or just add attribute to file/dir.\r\n//  Display progress and statistics during compression.\r\n//\r\n/////////////////////////////////////////////////////////////////////////////\r\n\r\nBOOL WFCheckCompress(\r\n    HWND hDlg,\r\n    LPTSTR szNameSpec,\r\n    DWORD dwNewAttrs,\r\n    BOOL bPropertyDlg,\r\n    BOOL *bIgnoreAll)\r\n{\r\n    DWORD   dwFlags, dwAttribs;\r\n    TCHAR   szTitle[MAXTITLELEN];\r\n    TCHAR   szTemp[MAXMESSAGELEN];\r\n    TCHAR   szFilespec[MAXPATHLEN];\r\n    BOOL    bCompressionAttrChange;\r\n    BOOL    bIsDir;\r\n    BOOL    bRet = TRUE;\r\n    HCURSOR hCursor;\r\n\r\n\r\n    //\r\n    //  Make sure we're not in the middle of another compression operation.\r\n    //  If so, put up an error box warning the user that they need to wait\r\n    //  to do another compression operation.\r\n    //\r\n    if (bCompressReEntry)\r\n    {\r\n        LoadString(hAppInstance, IDS_WINFILE, szTitle, COUNTOF(szTitle));\r\n        LoadString(hAppInstance, IDS_MULTICOMPRESSERR, szMessage, COUNTOF(szMessage));\r\n        MessageBox(hDlg, szMessage, szTitle, MB_OK | MB_ICONEXCLAMATION);\r\n\r\n        return (TRUE);\r\n    }\r\n    bCompressReEntry = TRUE;\r\n\r\n    //\r\n    //  Make sure the volume supports File Compression.\r\n    //\r\n    GetRootPath (szNameSpec, szTemp);\r\n\r\n    if (GetVolumeInformation (szTemp, NULL, 0L, NULL, NULL, &dwFlags, NULL, 0L)\r\n        && (!(dwFlags & FS_FILE_COMPRESSION)) )\r\n    {\r\n        //\r\n        //  The volume does not support file compression, so just\r\n        //  quit out.  Do not return FALSE, since that will not\r\n        //  allow any other attributes to be changed.\r\n        //\r\n        bCompressReEntry = FALSE;\r\n        return (TRUE);\r\n    }\r\n\r\n    //\r\n    //  Show the hour glass cursor.\r\n    //\r\n    if (hCursor = LoadCursor(NULL, IDC_WAIT))\r\n    {\r\n        hCursor = SetCursor(hCursor);\r\n    }\r\n    ShowCursor(TRUE);\r\n\r\n    //\r\n    //  Get the file attributes.\r\n    //\r\n    dwAttribs = GetFileAttributes(szNameSpec);\r\n\r\n    //\r\n    //  Determine if ATTR_COMPRESSED is changing state.\r\n    //\r\n    bCompressionAttrChange = !( (dwAttribs & ATTR_COMPRESSED) ==\r\n                                (dwNewAttrs & ATTR_COMPRESSED) );\r\n\r\n    //\r\n    //  Initialize progress global.\r\n    //\r\n    bShowProgress = FALSE;\r\n\r\n    //\r\n    //  Initialize ignore all errors global.\r\n    //\r\n    bIgnoreAllErrors = *bIgnoreAll;\r\n\r\n    //\r\n    //  If the Compression attribute changed or if we're dealing with\r\n    //  a directory, perform action.\r\n    //\r\n    bIsDir = IsDirectory(szNameSpec);\r\n    if (bCompressionAttrChange || (bIsDir && !bPropertyDlg))\r\n    {\r\n        //\r\n        //  Reset globals before progress display.\r\n        //\r\n        TotalDirectoryCount        = 0;\r\n        TotalFileCount             = 0;\r\n        TotalCompressedFileCount   = 0;\r\n        TotalUncompressedFileCount = 0;\r\n\r\n        LARGE_INTEGER_NULL(TotalFileSize);\r\n        LARGE_INTEGER_NULL(TotalCompressedSize);\r\n\r\n        szGlobalFile[0] = '\\0';\r\n        szGlobalDir[0] = '\\0';\r\n\r\n        //\r\n        //  See if the compressed attribute is set.\r\n        //\r\n        if (dwNewAttrs & ATTR_COMPRESSED)\r\n        {\r\n            if (bIsDir)\r\n            {\r\n                LoadString(hAppInstance, IDS_WINFILE, szTitle, COUNTOF(szTitle));\r\n                LoadString(hAppInstance, IDS_COMPRESSDIR, szMessage, COUNTOF(szMessage));\r\n\r\n                //\r\n                //  Ask the user if we should compress all files and\r\n                //  subdirs in this directory.\r\n                //\r\n                wsprintf(szTemp, szMessage, szNameSpec);\r\n\r\n                switch (MessageBox(hDlg, szTemp, szTitle,\r\n                          MB_YESNOCANCEL | MB_ICONEXCLAMATION | MB_TASKMODAL))\r\n                {\r\n                    case ( IDYES ) :\r\n                    {\r\n                        lstrcpy(szFilespec, SZ_STAR);\r\n                        DoSubdirectories = TRUE;\r\n                        bShowProgress = TRUE;\r\n\r\n                        break;\r\n                    }\r\n                    case ( IDCANCEL ) :\r\n                    {\r\n                        goto CancelCompress;\r\n                    }\r\n                    case ( IDNO ) :\r\n                    default :\r\n                    {\r\n                        szFilespec[0] = TEXT('\\0');\r\n                        DoSubdirectories = FALSE;\r\n\r\n                        break;\r\n                    }\r\n                }\r\n\r\n                if (bShowProgress)\r\n                {\r\n                    hDlgProgress = CreateDialog(\r\n                                       hAppInstance,\r\n                                       MAKEINTRESOURCE(COMPRESSPROGDLG),\r\n                                       hwndFrame,\r\n                                       CompressProgDlg);\r\n\r\n                    ShowWindow(hDlgProgress, SW_SHOW);\r\n                }\r\n\r\n                AddBackslash(szNameSpec);\r\n                lstrcpy(szTemp, szNameSpec);\r\n\r\n                bRet = WFDoCompress(hDlg, szNameSpec, szFilespec);\r\n\r\n                //\r\n                //  Set attribute on Directory if last call was successful.\r\n                //\r\n                if (bRet)\r\n                {\r\n                    szFilespec[0] = TEXT('\\0');\r\n                    DoSubdirectories = FALSE;\r\n                    lstrcpy(szNameSpec, szTemp);\r\n                    bRet = WFDoCompress(hDlg, szNameSpec, szFilespec);\r\n                }\r\n\r\n                if (bShowProgress && hDlgProgress)\r\n                {\r\n                    if (hDCdir)\r\n                    {\r\n                        ReleaseDC( GetDlgItem(hDlgProgress, IDD_COMPRESS_DIR),\r\n                                   hDCdir );\r\n                        hDCdir = NULL;\r\n                    }\r\n                    DestroyWindow(hDlgProgress);\r\n                    hDlgProgress = NULL;\r\n                }\r\n            }\r\n            else\r\n            {\r\n                //\r\n                //  Compress single file.\r\n                //\r\n                DoSubdirectories = FALSE;\r\n\r\n                lstrcpy(szFilespec, szNameSpec);\r\n\r\n                StripPath(szFilespec);\r\n                StripFilespec(szNameSpec);\r\n\r\n                AddBackslash(szNameSpec);\r\n\r\n                bRet = WFDoCompress(hDlg, szNameSpec, szFilespec);\r\n             }\r\n        }\r\n        else\r\n        {\r\n            if (bIsDir)\r\n            {\r\n                LoadString(hAppInstance, IDS_WINFILE, szTitle, COUNTOF(szTitle));\r\n                LoadString(hAppInstance, IDS_UNCOMPRESSDIR, szMessage, COUNTOF(szMessage));\r\n\r\n                //\r\n                //  Ask the user if we should uncompress all files and\r\n                //  subdirs in this directory.\r\n                //\r\n                wsprintf(szTemp, szMessage, szNameSpec);\r\n\r\n                switch (MessageBox(hDlg, szTemp, szTitle,\r\n                          MB_YESNOCANCEL | MB_ICONEXCLAMATION | MB_TASKMODAL))\r\n                {\r\n                    case ( IDYES ) :\r\n                    {\r\n                        lstrcpy(szFilespec, SZ_STAR);\r\n                        DoSubdirectories = TRUE;\r\n                        bShowProgress = TRUE;\r\n\r\n                        break;\r\n                    }\r\n                    case ( IDCANCEL ) :\r\n                    {\r\n                        goto CancelCompress;\r\n                    }\r\n                    case ( IDNO ) :\r\n                    default :\r\n                    {\r\n                        szFilespec[0] = TEXT('\\0');\r\n                        DoSubdirectories = FALSE;\r\n\r\n                        break;\r\n                    }\r\n                }\r\n\r\n                if (bShowProgress)\r\n                {\r\n                    hDlgProgress = CreateDialog(\r\n                                       hAppInstance,\r\n                                       MAKEINTRESOURCE(UNCOMPRESSPROGDLG),\r\n                                       hwndFrame,\r\n                                       UncompressProgDlg);\r\n\r\n                    ShowWindow(hDlgProgress, SW_SHOW);\r\n                }\r\n\r\n                AddBackslash(szNameSpec);\r\n                lstrcpy(szTemp, szNameSpec);\r\n\r\n                bRet = WFDoUncompress(hDlg, szNameSpec, szFilespec);\r\n\r\n                //\r\n                //  Set attribute on Directory if last call was successful.\r\n                //\r\n                if (bRet)\r\n                {\r\n                    szFilespec[0] = TEXT('\\0');\r\n                    DoSubdirectories = FALSE;\r\n                    lstrcpy(szNameSpec, szTemp);\r\n                    bRet = WFDoUncompress(hDlg, szNameSpec, szFilespec);\r\n                }\r\n\r\n                if (bShowProgress && hDlgProgress)\r\n                {\r\n                    if (hDCdir)\r\n                    {\r\n                        ReleaseDC( GetDlgItem(hDlgProgress, IDD_UNCOMPRESS_DIR),\r\n                                   hDCdir );\r\n                        hDCdir = NULL;\r\n                    }\r\n                    DestroyWindow(hDlgProgress);\r\n                    hDlgProgress = NULL;\r\n                }\r\n            }\r\n            else\r\n            {\r\n                //\r\n                //  Uncompress single file.\r\n                //\r\n                DoSubdirectories = FALSE;\r\n\r\n                lstrcpy(szFilespec, szNameSpec);\r\n\r\n                StripPath(szFilespec);\r\n                StripFilespec(szNameSpec);\r\n\r\n                AddBackslash(szNameSpec);\r\n\r\n                bRet = WFDoUncompress(hDlg, szNameSpec, szFilespec);\r\n            }\r\n        }\r\n\r\n        if (bIsDir)\r\n        {\r\n            //\r\n            //  Need to redraw all of the tree list box windows\r\n            //  so that they can be updated to show whether or not\r\n            //  the directories are compressed.\r\n            //\r\n            RedrawAllTreeWindows();\r\n        }\r\n    }\r\n\r\nCancelCompress:\r\n\r\n    //\r\n    //  Reset the cursor.\r\n    //\r\n    if (hCursor)\r\n    {\r\n        SetCursor(hCursor);\r\n    }\r\n    ShowCursor(FALSE);\r\n\r\n    //\r\n    //  Reset the globals.\r\n    //\r\n    *bIgnoreAll = bIgnoreAllErrors;\r\n    bCompressReEntry = FALSE;\r\n\r\n    //\r\n    //  Return the appropriate value.\r\n    //\r\n    return (bRet);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  CompressFile\r\n//\r\n//  Compresses a single file.\r\n//\r\n/////////////////////////////////////////////////////////////////////////////\r\n\r\nBOOL CompressFile(\r\n    HANDLE Handle,\r\n    LPTSTR FileSpec,\r\n    PWIN32_FIND_DATA FindData)\r\n{\r\n    USHORT State;\r\n    ULONG Length;\r\n    LARGE_INTEGER FileSize;\r\n    LARGE_INTEGER CompressedSize;\r\n\r\n\r\n    //\r\n    //  Print out the file name and then do the Ioctl to compress the\r\n    //  file.  When we are done we'll print the okay message.\r\n    //\r\n    lstrcpy(szGlobalFile, FindData->cFileName);\r\n    DisplayCompressProgress(PROGRESS_UPD_FILENAME);\r\n\r\n    State = 1;\r\n    if (!DeviceIoControl( Handle,\r\n                          FSCTL_SET_COMPRESSION,\r\n                          &State,\r\n                          sizeof(USHORT),\r\n                          NULL,\r\n                          0,\r\n                          &Length,\r\n                          FALSE ))\r\n    {\r\n        return (FALSE);\r\n    }\r\n\r\n    //\r\n    //  Gather statistics.\r\n    //\r\n    FileSize.LowPart = FindData->nFileSizeLow;\r\n    FileSize.HighPart = FindData->nFileSizeHigh;\r\n    CompressedSize.LowPart = GetCompressedFileSize( FileSpec,\r\n                                                    &(CompressedSize.HighPart) );\r\n\r\n    //\r\n    //  Increment the running total.\r\n    //\r\n    TotalFileSize.QuadPart += FileSize.QuadPart;\r\n    TotalCompressedSize.QuadPart += CompressedSize.QuadPart;\r\n    TotalFileCount++;\r\n\r\n    DisplayCompressProgress(PROGRESS_UPD_FILENUMBERS);\r\n\r\n    return (TRUE);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  WFDoCompress\r\n//\r\n//  Compresses a directory and its subdirectories (if necessary).\r\n//\r\n/////////////////////////////////////////////////////////////////////////////\r\n\r\nBOOL WFDoCompress(\r\n    HWND hDlg,\r\n    LPTSTR DirectorySpec,\r\n    LPTSTR FileSpec)\r\n{\r\n    LPTSTR DirectorySpecEnd;\r\n    HANDLE FileHandle;\r\n    USHORT State;\r\n    ULONG  Length;\r\n    HANDLE FindHandle;\r\n    WIN32_FIND_DATA FindData;\r\n    int MBRet;\r\n\r\n\r\n    //\r\n    //  If the file spec is null, then set the compression bit for\r\n    //  the directory spec and get out.\r\n    //\r\n    lstrcpy(szGlobalDir, DirectorySpec);\r\n    DisplayCompressProgress(PROGRESS_UPD_DIRECTORY);\r\n\r\n    if (lstrlen(FileSpec) == 0)\r\n    {\r\nDoCompressRetryCreate:\r\n\r\n        if (!OpenFileForCompress(&FileHandle, DirectorySpec))\r\n        {\r\n            goto DoCompressError;\r\n        }\r\n\r\nDoCompressRetryDevIo:\r\n\r\n        State = 1;\r\n        if (!DeviceIoControl( FileHandle,\r\n                              FSCTL_SET_COMPRESSION,\r\n                              &State,\r\n                              sizeof(USHORT),\r\n                              NULL,\r\n                              0,\r\n                              &Length,\r\n                              FALSE ))\r\n        {\r\nDoCompressError:\r\n\r\n            if (!bIgnoreAllErrors)\r\n            {\r\n                MBRet = CompressErrMessageBox( hDlg,\r\n                                               DirectorySpec,\r\n                                               &FileHandle );\r\n                if (MBRet == WF_RETRY_CREATE)\r\n                {\r\n                    goto DoCompressRetryCreate;\r\n                }\r\n                else if (MBRet == WF_RETRY_DEVIO)\r\n                {\r\n                    goto DoCompressRetryDevIo;\r\n                }\r\n                else if (MBRet == IDABORT)\r\n                {\r\n                    //\r\n                    //  Return error.\r\n                    //  File handle closed by CompressErrMessageBox.\r\n                    //\r\n                    return (FALSE);\r\n                }\r\n                //\r\n                //  Else (MBRet == IDIGNORE)\r\n                //  Continue on as if the error did not occur.\r\n                //\r\n            }\r\n        }\r\n        if (INVALID_HANDLE_VALUE != FileHandle)\r\n        {\r\n            CloseHandle(FileHandle);\r\n            FileHandle = INVALID_HANDLE_VALUE;\r\n        }\r\n\r\n        TotalDirectoryCount++;\r\n        TotalFileCount++;\r\n\r\n        DisplayCompressProgress(PROGRESS_UPD_DIRCNT);\r\n        DisplayCompressProgress(PROGRESS_UPD_FILECNT);\r\n\r\n        ChangeFileSystem(FSC_ATTRIBUTES, DirectorySpec, NULL);\r\n\r\n        return (TRUE);\r\n    }\r\n\r\n    //\r\n    //  Get a pointer to the end of the directory spec, so that we can\r\n    //  keep appending names to the end of it.\r\n    //\r\n    DirectorySpecEnd = DirectorySpec + lstrlen(DirectorySpec);\r\n\r\n    //\r\n    //  List the directory that is being compressed and display\r\n    //  its current compress attribute.\r\n    //\r\n    TotalDirectoryCount++;\r\n    DisplayCompressProgress(PROGRESS_UPD_DIRCNT);\r\n\r\n    //\r\n    //  For every file in the directory that matches the file spec,\r\n    //  open the file and compress it.\r\n    //\r\n    //  Setup the template for findfirst/findnext.\r\n    //\r\n    lstrcpy(DirectorySpecEnd, FileSpec);\r\n\r\n    if ((FindHandle = FindFirstFile(DirectorySpec, &FindData)) != INVALID_HANDLE_VALUE)\r\n    {\r\n        do\r\n        {\r\n            //\r\n            //  Make sure the user hasn't hit cancel.\r\n            //\r\n            if (bShowProgress && !hDlgProgress)\r\n            {\r\n                break;\r\n            }\r\n\r\n            //\r\n            //  Skip over the . and .. entries.\r\n            //\r\n            if ( !lstrcmp(FindData.cFileName, SZ_DOT) ||\r\n                 !lstrcmp(FindData.cFileName, SZ_DOTDOT) )\r\n            {\r\n                continue;\r\n            }\r\n            else if ( (DirectorySpecEnd == (DirectorySpec + 3)) &&\r\n                      !lstrcmpi(FindData.cFileName, SZ_NTLDR) )\r\n            {\r\n                //\r\n                //  Do not allow \\NTLDR to be compressed.\r\n                //  Put up OK message box and then continue.\r\n                //\r\n                lstrcpy(DirectorySpecEnd, FindData.cFileName);\r\n                LoadString(hAppInstance, IDS_NTLDRCOMPRESSERR, szTitle, COUNTOF(szTitle));\r\n                wsprintf(szMessage, szTitle, DirectorySpec);\r\n\r\n                LoadString(hAppInstance, IDS_WINFILE, szTitle, COUNTOF(szTitle));\r\n\r\n                MessageBox(hDlg, szMessage, szTitle, MB_OK | MB_ICONEXCLAMATION);\r\n\r\n                continue;\r\n            }\r\n            else\r\n            {\r\n                //\r\n                //  Append the found file to the directory spec and\r\n                //  open the file.\r\n                //\r\n                lstrcpy(DirectorySpecEnd, FindData.cFileName);\r\n\r\n                if (GetFileAttributes(DirectorySpec) & ATTR_COMPRESSED)\r\n                {\r\n                    //\r\n                    //  Already compressed, so just get the next file.\r\n                    //\r\n                    continue;\r\n                }\r\n\r\nCompressFileRetryCreate:\r\n\r\n                if (!OpenFileForCompress(&FileHandle, DirectorySpec))\r\n                {\r\n                    goto CompressFileError;\r\n                }\r\n\r\nCompressFileRetryDevIo:\r\n\r\n                //\r\n                //  Compress the file.\r\n                //\r\n                if (!CompressFile(FileHandle, DirectorySpec, &FindData))\r\n                {\r\nCompressFileError:\r\n\r\n                    if (!bIgnoreAllErrors)\r\n                    {\r\n                        MBRet = CompressErrMessageBox( hDlg,\r\n                                                       DirectorySpec,\r\n                                                       &FileHandle );\r\n                        if (MBRet == WF_RETRY_CREATE)\r\n                        {\r\n                            goto CompressFileRetryCreate;\r\n                        }\r\n                        else if (MBRet == WF_RETRY_DEVIO)\r\n                        {\r\n                            goto CompressFileRetryDevIo;\r\n                        }\r\n                        else if (MBRet == IDABORT)\r\n                        {\r\n                            //\r\n                            //  Return error.\r\n                            //  File handle was closed by CompressErrMessageBox.\r\n                            //\r\n                            FindClose(FindHandle);\r\n                            return (FALSE);\r\n                        }\r\n                        //\r\n                        //  Else (MBRet == IDIGNORE)\r\n                        //  Continue on as if the error did not occur.\r\n                        //\r\n                    }\r\n                }\r\n                if (INVALID_HANDLE_VALUE != FileHandle)\r\n                {\r\n                    //\r\n                    // Close the file and get the next file.\r\n                    //\r\n                    CloseHandle(FileHandle);\r\n                    FileHandle = INVALID_HANDLE_VALUE;\r\n                }\r\n            }\r\n\r\n        } while (FindNextFile(FindHandle, &FindData));\r\n\r\n        FindClose(FindHandle);\r\n\r\n        ChangeFileSystem(FSC_ATTRIBUTES, DirectorySpec, NULL);\r\n    }\r\n\r\n    //\r\n    //  If we are to do subdirectores, then look for every subdirectory\r\n    //  and recursively call ourselves to list the subdirectory.\r\n    //\r\n    if (DoSubdirectories && hDlgProgress)\r\n    {\r\n        //\r\n        //  Setup findfirst/findnext to search the entire directory.\r\n        //\r\n        lstrcpy(DirectorySpecEnd, SZ_STAR);\r\n\r\n        if ((FindHandle = FindFirstFile(DirectorySpec, &FindData)) != INVALID_HANDLE_VALUE)\r\n        {\r\n            do\r\n            {\r\n                //\r\n                //  Skip over the . and .. entries, otherwise recurse.\r\n                //\r\n                if ( !lstrcmp(FindData.cFileName, SZ_DOT) ||\r\n                     !lstrcmp(FindData.cFileName, SZ_DOTDOT) )\r\n                {\r\n                    continue;\r\n                }\r\n                else\r\n                {\r\n                    //\r\n                    //  If the entry is for a directory, then tack\r\n                    //  on the subdirectory name to the directory spec\r\n                    //  and recurse.\r\n                    //\r\n                    if (FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)\r\n                    {\r\n                        lstrcpy(DirectorySpecEnd, FindData.cFileName);\r\n                        lstrcat(DirectorySpecEnd, SZ_BACKSLASH);\r\n\r\n                        if (!WFDoCompress(hDlg, DirectorySpec, FileSpec))\r\n                        {\r\n                            FindClose(FindHandle);\r\n                            return (FALSE);\r\n                        }\r\n                    }\r\n                }\r\n\r\n            } while (FindNextFile(FindHandle, &FindData));\r\n\r\n            FindClose(FindHandle);\r\n        }\r\n    }\r\n\r\n    return (TRUE);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  UncompressFile\r\n//\r\n//  Uncompresses a single file.\r\n//\r\n/////////////////////////////////////////////////////////////////////////////\r\n\r\nBOOL UncompressFile(\r\n    HANDLE Handle,\r\n    PWIN32_FIND_DATA FindData)\r\n{\r\n    USHORT State;\r\n    ULONG Length;\r\n\r\n\r\n    //\r\n    //  Print out the file name and then do the Ioctl to uncompress the\r\n    //  file.  When we are done we'll print the okay message.\r\n    //\r\n    lstrcpy(szGlobalFile, FindData->cFileName);\r\n    DisplayUncompressProgress(PROGRESS_UPD_FILENAME);\r\n\r\n    State = 0;\r\n    if (!DeviceIoControl( Handle,\r\n                          FSCTL_SET_COMPRESSION,\r\n                          &State,\r\n                          sizeof(USHORT),\r\n                          NULL,\r\n                          0,\r\n                          &Length,\r\n                          FALSE ))\r\n    {\r\n        return (FALSE);\r\n    }\r\n\r\n    //\r\n    //  Increment the running total.\r\n    //\r\n    TotalFileCount++;\r\n    DisplayUncompressProgress(PROGRESS_UPD_FILENUMBERS);\r\n\r\n    return (TRUE);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  WFDoUncompress\r\n//\r\n//  Uncompresses a directory and its subdirectories (if necessary).\r\n//\r\n/////////////////////////////////////////////////////////////////////////////\r\n\r\nBOOL WFDoUncompress(\r\n    HWND hDlg,\r\n    LPTSTR DirectorySpec,\r\n    LPTSTR FileSpec)\r\n{\r\n    LPTSTR DirectorySpecEnd;\r\n    HANDLE FileHandle;\r\n    USHORT State;\r\n    ULONG  Length;\r\n    HANDLE FindHandle;\r\n    WIN32_FIND_DATA FindData;\r\n    int MBRet;\r\n\r\n\r\n    //\r\n    //  If the file spec is null, then clear the compression bit for\r\n    //  the directory spec and get out.\r\n    //\r\n    lstrcpy(szGlobalDir, DirectorySpec);\r\n    DisplayUncompressProgress(PROGRESS_UPD_DIRECTORY);\r\n\r\n    if (lstrlen(FileSpec) == 0)\r\n    {\r\nDoUncompressRetryCreate:\r\n\r\n        if (!OpenFileForCompress(&FileHandle, DirectorySpec))\r\n        {\r\n            goto DoUncompressError;\r\n        }\r\n\r\nDoUncompressRetryDevIo:\r\n\r\n        State = 0;\r\n        if (!DeviceIoControl( FileHandle,\r\n                              FSCTL_SET_COMPRESSION,\r\n                              &State,\r\n                              sizeof(USHORT),\r\n                              NULL,\r\n                              0,\r\n                              &Length,\r\n                              FALSE ))\r\n        {\r\nDoUncompressError:\r\n\r\n            if (!bIgnoreAllErrors)\r\n            {\r\n                MBRet = CompressErrMessageBox( hDlg,\r\n                                               DirectorySpec,\r\n                                               &FileHandle );\r\n                if (MBRet == WF_RETRY_CREATE)\r\n                {\r\n                    goto DoUncompressRetryCreate;\r\n                }\r\n                else if (MBRet == WF_RETRY_DEVIO)\r\n                {\r\n                    goto DoUncompressRetryDevIo;\r\n                }\r\n                else if (MBRet == IDABORT)\r\n                {\r\n                    //\r\n                    //  Return error.\r\n                    //  File handle closed by CompressErrMessageBox.\r\n                    //\r\n                    return (FALSE);\r\n                }\r\n                //\r\n                //  Else (MBRet == IDIGNORE)\r\n                //  Continue on as if the error did not occur.\r\n                //\r\n            }\r\n        }\r\n        if (INVALID_HANDLE_VALUE != FileHandle)\r\n        {\r\n            CloseHandle(FileHandle);\r\n            FileHandle = INVALID_HANDLE_VALUE;\r\n        }\r\n\r\n        TotalDirectoryCount++;\r\n        TotalFileCount++;\r\n\r\n        DisplayUncompressProgress(PROGRESS_UPD_DIRCNT);\r\n        DisplayUncompressProgress(PROGRESS_UPD_FILECNT);\r\n\r\n        ChangeFileSystem(FSC_ATTRIBUTES, DirectorySpec, NULL);\r\n\r\n        return (TRUE);\r\n    }\r\n\r\n    //\r\n    //  Get a pointer to the end of the directory spec, so that we can\r\n    //  keep appending names to the end of it.\r\n    //\r\n    DirectorySpecEnd = DirectorySpec + lstrlen(DirectorySpec);\r\n\r\n    TotalDirectoryCount++;\r\n    DisplayUncompressProgress(PROGRESS_UPD_DIRCNT);\r\n\r\n    //\r\n    //  For every file in the directory that matches the file spec,\r\n    //  open the file and uncompress it.\r\n    //\r\n    //  Setup the template for findfirst/findnext.\r\n    //\r\n    lstrcpy(DirectorySpecEnd, FileSpec);\r\n\r\n    if ((FindHandle = FindFirstFile(DirectorySpec, &FindData)) != INVALID_HANDLE_VALUE)\r\n    {\r\n        do\r\n        {\r\n            //\r\n            //  Make sure the user hasn't hit cancel.\r\n            //\r\n            if (bShowProgress && !hDlgProgress)\r\n            {\r\n                break;\r\n            }\r\n\r\n            //\r\n            //  Skip over the . and .. entries.\r\n            //\r\n            if ( !lstrcmp(FindData.cFileName, SZ_DOT) ||\r\n                 !lstrcmp(FindData.cFileName, SZ_DOTDOT) )\r\n            {\r\n                continue;\r\n            }\r\n            else\r\n            {\r\n                //\r\n                //  Append the found file to the directory spec and\r\n                //  open the file.\r\n                //\r\n                lstrcpy(DirectorySpecEnd, FindData.cFileName);\r\n\r\n                if (!(GetFileAttributes(DirectorySpec) & ATTR_COMPRESSED))\r\n                {\r\n                    //\r\n                    //  Already uncompressed, so get the next file.\r\n                    //\r\n                    continue;\r\n                }\r\n\r\nUncompressFileRetryCreate:\r\n\r\n                if (!OpenFileForCompress(&FileHandle, DirectorySpec))\r\n                {\r\n                    goto UncompressFileError;\r\n                }\r\n\r\nUncompressFileRetryDevIo:\r\n\r\n                //\r\n                //  Uncompress the file.\r\n                //\r\n                if (!UncompressFile(FileHandle, &FindData))\r\n                {\r\nUncompressFileError:\r\n\r\n                    if (!bIgnoreAllErrors)\r\n                    {\r\n                        MBRet = CompressErrMessageBox( hDlg,\r\n                                                       DirectorySpec,\r\n                                                       &FileHandle );\r\n                        if (MBRet == WF_RETRY_CREATE)\r\n                        {\r\n                            goto UncompressFileRetryCreate;\r\n                        }\r\n                        else if (MBRet == WF_RETRY_DEVIO)\r\n                        {\r\n                            goto UncompressFileRetryDevIo;\r\n                        }\r\n                        else if (MBRet == IDABORT)\r\n                        {\r\n                            //\r\n                            //  Return error.\r\n                            //  File handle closed by CompressErrMessageBox.\r\n                            //\r\n                            FindClose(FindHandle);\r\n                            return (FALSE);\r\n                        }\r\n                        //\r\n                        //  Else (MBRet == IDIGNORE)\r\n                        //  Continue on as if the error did not occur.\r\n                        //\r\n                    }\r\n                }\r\n                if (INVALID_HANDLE_VALUE != FileHandle)\r\n                {\r\n                    //\r\n                    // Close the file and get the next file.\r\n                    //\r\n                    CloseHandle(FileHandle);\r\n                    FileHandle = INVALID_HANDLE_VALUE;\r\n                }\r\n            }\r\n\r\n        } while (FindNextFile(FindHandle, &FindData));\r\n\r\n        FindClose(FindHandle);\r\n\r\n        ChangeFileSystem(FSC_ATTRIBUTES, DirectorySpec, NULL);\r\n    }\r\n\r\n    //\r\n    //  If we are to do subdirectores, then look for every subdirectory\r\n    //  and recursively call ourselves to list the subdirectory.\r\n    //\r\n    if (DoSubdirectories && hDlgProgress)\r\n    {\r\n        //\r\n        //  Setup findfirst/findnext to search the entire directory.\r\n        //\r\n        lstrcpy(DirectorySpecEnd, SZ_STAR);\r\n\r\n        if ((FindHandle = FindFirstFile(DirectorySpec, &FindData)) != INVALID_HANDLE_VALUE)\r\n        {\r\n            do\r\n            {\r\n                //\r\n                //  Skip over the . and .. entries, otherwise recurse.\r\n                //\r\n                if ( !lstrcmp(FindData.cFileName, SZ_DOT) ||\r\n                     !lstrcmp(FindData.cFileName, SZ_DOTDOT) )\r\n                {\r\n                    continue;\r\n                }\r\n                else\r\n                {\r\n                    //\r\n                    //  If the entry is for a directory, then tack\r\n                    //  on the subdirectory name to the directory spec\r\n                    //  and recurse.\r\n                    //\r\n                    if (FindData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)\r\n                    {\r\n                        lstrcpy(DirectorySpecEnd, FindData.cFileName);\r\n                        lstrcat(DirectorySpecEnd, SZ_BACKSLASH);\r\n\r\n                        if (!WFDoUncompress(hDlg, DirectorySpec, FileSpec))\r\n                        {\r\n                            FindClose(FindHandle);\r\n                            return (FALSE);\r\n                        }\r\n                    }\r\n                }\r\n\r\n            } while (FindNextFile(FindHandle, &FindData));\r\n\r\n            FindClose(FindHandle);\r\n        }\r\n    }\r\n\r\n    return (TRUE);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  GetRootPath\r\n//\r\n//  Gets the root directory path name.  Take into account \"Quoted\" paths\r\n//  because the first char is not the drive letter.\r\n//\r\n/////////////////////////////////////////////////////////////////////////////\r\n\r\nBOOL GetRootPath(\r\n    LPTSTR szPath,\r\n    LPTSTR szReturn)\r\n{\r\n    if (!QualifyPath(szPath))\r\n    {\r\n        return (FALSE);\r\n    }\r\n    else\r\n    {\r\n        szReturn[0] = TEXT('\\0');\r\n    }\r\n\r\n    //\r\n    //  Return the correct drive letter by taking into account\r\n    //  \"quoted\" pathname strings.\r\n    //\r\n\r\n    szReturn[0] = (szPath[0] == CHAR_DQUOTE) ? szPath[1] : szPath[0];\r\n    szReturn[1] = TEXT(':');\r\n    szReturn[2] = TEXT('\\\\');\r\n    szReturn[3] = TEXT('\\0');\r\n\r\n    return (TRUE);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  RedrawAllTreeWindows\r\n//\r\n//  Loops through all windows and invalidates each tree list box so that\r\n//  it will be redrawn.\r\n//\r\n/////////////////////////////////////////////////////////////////////////////\r\n\r\nextern VOID GetTreePath(PDNODE pNode, LPTSTR szDest);\r\n\r\nVOID RedrawAllTreeWindows()\r\n{\r\n    HWND hwnd, hwndTree, hwndLB;\r\n    int cItems, ctr;\r\n    PDNODE pNode;\r\n    TCHAR szPathName[MAXPATHLEN * 2];\r\n\r\n\r\n    for (hwnd = GetWindow(hwndMDIClient, GW_CHILD);\r\n         hwnd;\r\n         hwnd = GetWindow(hwnd, GW_HWNDNEXT))\r\n    {\r\n       if (hwndTree = HasTreeWindow(hwnd))\r\n       {\r\n           hwndLB = GetDlgItem(hwndTree, IDCW_TREELISTBOX);\r\n\r\n           //\r\n           //  Search through all of the pNodes and update the\r\n           //  attributes.\r\n           //\r\n           cItems = (INT)SendMessage(hwndLB, LB_GETCOUNT, 0, 0L);\r\n           for (ctr = 0; ctr < cItems; ctr++)\r\n           {\r\n               SendMessage(hwndLB, LB_GETTEXT, ctr, (LPARAM)&pNode);\r\n\r\n               //\r\n               //  Set the attributes for this directory/junction/symlink.\r\n               //\r\n               GetTreePath(pNode, szPathName);\r\n               SetNodeAttribs(pNode, szPathName);\r\n           }\r\n\r\n           InvalidateRect(hwndLB, NULL, FALSE);\r\n       }\r\n    }\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  CompressErrMessageBox\r\n//\r\n//  Puts up the error message box when a file cannot be compressed or\r\n//  uncompressed.  It also returns the user preference.\r\n//\r\n//  NOTE: The file handle is closed if the abort or ignore option is\r\n//        chosen by the user.\r\n//\r\n/////////////////////////////////////////////////////////////////////////////\r\n\r\nint CompressErrMessageBox(\r\n    HWND hwndActive,\r\n    LPTSTR szFile,\r\n    PHANDLE phFile)\r\n{\r\n    int rc;\r\n\r\n\r\n    //\r\n    //  Put up the error message box - ABORT, RETRY, IGNORE, IGNORE ALL.\r\n    //\r\n    rc = (int)DialogBoxParam( hAppInstance,\r\n                              (LPTSTR) MAKEINTRESOURCE(COMPRESSERRDLG),\r\n                              hwndFrame,\r\n                              CompressErrDialogProc,\r\n                              (LPARAM)szFile );\r\n\r\n    //\r\n    //  Return the user preference.\r\n    //\r\n    if (rc == IDRETRY)\r\n    {\r\n        if (*phFile == INVALID_HANDLE_VALUE)\r\n        {\r\n            return (WF_RETRY_CREATE);\r\n        }\r\n        else\r\n        {\r\n            return (WF_RETRY_DEVIO);\r\n        }\r\n    }\r\n    else\r\n    {\r\n        //\r\n        //  IDABORT or IDIGNORE\r\n        //\r\n        //  Close the file handle and return the message box result.\r\n        //\r\n        if (*phFile != INVALID_HANDLE_VALUE)\r\n        {\r\n            CloseHandle(*phFile);\r\n            *phFile = INVALID_HANDLE_VALUE;\r\n        }\r\n\r\n        return (rc);\r\n    }\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  CompressErrDialogProc\r\n//\r\n//  Puts up a dialog to allow the user to Abort, Retry, Ignore, or\r\n//  Ignore All when an error occurs during compression.\r\n//\r\n/////////////////////////////////////////////////////////////////////////////\r\n\r\nINT_PTR CALLBACK CompressErrDialogProc(\r\n    HWND hDlg,\r\n    UINT uMsg,\r\n    WPARAM wParam,\r\n    LPARAM lParam)\r\n{\r\n    WORD Id = TRUE;\r\n\r\n    switch (uMsg)\r\n    {\r\n        case ( WM_INITDIALOG ) :\r\n        {\r\n            //\r\n            //  Set the dialog message text.\r\n            //\r\n            LoadString( hAppInstance,\r\n                        IDS_COMPRESS_ATTRIB_ERR,\r\n                        szTitle,\r\n                        COUNTOF(szTitle) );\r\n            wsprintf(szMessage, szTitle, (LPTSTR)lParam);\r\n            SetDlgItemText(hDlg, IDD_TEXT1, szMessage);\r\n            EnableWindow (hDlg, TRUE);\r\n\r\n            break;\r\n        }\r\n        case ( WM_COMMAND ) :\r\n        {\r\n            Id = GET_WM_COMMAND_ID(wParam, lParam);\r\n            switch (Id)\r\n            {\r\n                case ( IDD_IGNOREALL ) :\r\n                {\r\n                    bIgnoreAllErrors = TRUE;\r\n\r\n                    //  fall through...\r\n                }\r\n                case ( IDABORT ) :\r\n                case ( IDRETRY ) :\r\n                case ( IDIGNORE ) :\r\n                {\r\n                    EndDialog(hDlg, Id);\r\n                    break;\r\n                }\r\n                default :\r\n                {\r\n                    return (FALSE);\r\n                }\r\n            }\r\n            break;\r\n        }\r\n        default :\r\n        {\r\n            return (FALSE);\r\n        }\r\n    }\r\n    return (Id);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////////////\r\n//\r\n//  OpenFileForCompress\r\n//\r\n//  Opens the file for compression.  It handles the case where a READONLY\r\n//  file is trying to be compressed or uncompressed.  Since read only files\r\n//  cannot be opened for WRITE_DATA, it temporarily resets the file to NOT\r\n//  be READONLY in order to open the file, and then sets it back once the\r\n//  file has been compressed.\r\n//\r\n/////////////////////////////////////////////////////////////////////////////\r\n\r\nBOOL OpenFileForCompress(\r\n    PHANDLE phFile,\r\n    LPTSTR szFile)\r\n{\r\n    HANDLE hAttr;\r\n    BY_HANDLE_FILE_INFORMATION fi;\r\n\r\n\r\n    //\r\n    //  Try to open the file - READ_DATA | WRITE_DATA.\r\n    //\r\n    if ((*phFile = CreateFile( szFile,\r\n                               FILE_READ_DATA | FILE_WRITE_DATA,\r\n                               FILE_SHARE_READ | FILE_SHARE_WRITE,\r\n                               NULL,\r\n                               OPEN_EXISTING,\r\n                               FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_SEQUENTIAL_SCAN,\r\n                               NULL )) != INVALID_HANDLE_VALUE)\r\n    {\r\n        //\r\n        //  Successfully opened the file.\r\n        //\r\n        return (TRUE);\r\n    }\r\n\r\n    if (GetLastError() != ERROR_ACCESS_DENIED)\r\n    {\r\n        return (FALSE);\r\n    }\r\n\r\n    //\r\n    //  Try to open the file - READ_ATTRIBUTES | WRITE_ATTRIBUTES.\r\n    //\r\n    if ((hAttr = CreateFile( szFile,\r\n                             FILE_READ_ATTRIBUTES | FILE_WRITE_ATTRIBUTES,\r\n                             FILE_SHARE_READ | FILE_SHARE_WRITE,\r\n                             NULL,\r\n                             OPEN_EXISTING,\r\n                             FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_SEQUENTIAL_SCAN,\r\n                             NULL )) == INVALID_HANDLE_VALUE)\r\n    {\r\n        return (FALSE);\r\n    }\r\n\r\n    //\r\n    //  See if the READONLY attribute is set.\r\n    //\r\n    if ( (!GetFileInformationByHandle(hAttr, &fi)) ||\r\n         (!(fi.dwFileAttributes & FILE_ATTRIBUTE_READONLY)) )\r\n    {\r\n        //\r\n        //  If the file could not be open for some reason other than that\r\n        //  the readonly attribute was set, then fail.\r\n        //\r\n        CloseHandle(hAttr);\r\n        return (FALSE);\r\n    }\r\n\r\n    //\r\n    //  Turn OFF the READONLY attribute.\r\n    //\r\n    fi.dwFileAttributes &= ~FILE_ATTRIBUTE_READONLY;\r\n    if (!SetFileAttributes(szFile, fi.dwFileAttributes))\r\n    {\r\n        CloseHandle(hAttr);\r\n        return (FALSE);\r\n    }\r\n\r\n    //\r\n    //  Try again to open the file - READ_DATA | WRITE_DATA.\r\n    //\r\n    *phFile = CreateFile( szFile,\r\n                          FILE_READ_DATA | FILE_WRITE_DATA,\r\n                          FILE_SHARE_READ | FILE_SHARE_WRITE,\r\n                          NULL,\r\n                          OPEN_EXISTING,\r\n                          FILE_FLAG_BACKUP_SEMANTICS | FILE_FLAG_SEQUENTIAL_SCAN,\r\n                          NULL );\r\n\r\n    //\r\n    //  Close the file handle opened for READ_ATTRIBUTE | WRITE_ATTRIBUTE.\r\n    //\r\n    CloseHandle(hAttr);\r\n\r\n    //\r\n    //  Make sure the open succeeded.  If it still couldn't be opened with\r\n    //  the readonly attribute turned off, then fail.\r\n    //\r\n    if (*phFile == INVALID_HANDLE_VALUE)\r\n    {\r\n        return (FALSE);\r\n    }\r\n\r\n    //\r\n    //  Turn the READONLY attribute back ON.\r\n    //\r\n    fi.dwFileAttributes |= FILE_ATTRIBUTE_READONLY;\r\n    if (!SetFileAttributes(szFile, fi.dwFileAttributes))\r\n    {\r\n        CloseHandle(*phFile);\r\n        *phFile = INVALID_HANDLE_VALUE;\r\n        return (FALSE);\r\n    }\r\n\r\n    //\r\n    //  Return success.  A valid file handle is in *phFile.\r\n    //\r\n    return (TRUE);\r\n}\r\n\r\n"
  },
  {
    "path": "src/wfgoto.cpp",
    "content": "/********************************************************************\r\n\r\n    wfgoto.cpp\r\n\r\n    This file contains code that supports the goto directory command\r\n\r\n    Copyright (c) Microsoft Corporation. All rights reserved.\r\n    Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"BagOValues.h\"\r\n#include <iterator>\r\n\r\nextern \"C\"\r\n{\r\n#include \"winfile.h\"\r\n#include \"treectl.h\"\r\n#include \"lfn.h\"\r\n#include \"resize.h\"\r\n}\r\n\r\nvoid BuildDirectoryBagOValues(BagOValues<PDNODE> *pbov, LPTSTR szRoot, PDNODE pNode, DWORD scanEpoc, LPTSTR szCachedRootLower);\r\nvoid FreeDirectoryBagOValues(BagOValues<PDNODE> *pbov);\r\n\r\nDWORD g_driveScanEpoc;\t\t\t\t// incremented when a refresh is requested; old bags are discarded; scans are aborted if epoc changes\r\nBagOValues<PDNODE> *g_pBagOCDrive;\t// holds the values from the scan per g_driveScanEpoc\r\nvector<PDNODE> *g_allNodes;\t\t\t// holds the nodes we created to make freeing them simpler (e.g., because some are reused)\r\n\r\n// compare path starting at the root; returns:\r\n// 0: paths are the same length and same names\r\n// -2: first difference in the paths has a sort lower\r\n// -1: path a is a prefix of path b\r\n// +1: path b is a prefix of path a\r\n// +2: first difference in the paths has b sort lower\r\nint ParentOrdering(const PDNODE& a, const PDNODE& b)\r\n{\r\n\tint wCmp;\r\n\tif (a->nLevels == b->nLevels)\r\n\t{\r\n\t\t// when they are the same elements, definitely the same name; no need to recurse up\r\n\t\tif (a == b)\r\n\t\t\treturn 0;\r\n\r\n\t\tif (a->nLevels != 0)\r\n\t\t{\r\n\t\t\twCmp = ParentOrdering(a->pParent, b->pParent);\r\n\r\n\t\t\t// if parents are different, that is the result (-2 or 2)\r\n\t\t\tif (wCmp != 0)\r\n\t\t\t\treturn wCmp;\r\n\t\t}\r\n\r\n\t\twCmp = lstrcmpi(a->szName, b->szName);\r\n\t\tif (wCmp < 0)\r\n\t\t\twCmp = -2;\r\n\t\telse if (wCmp > 0)\r\n\t\t\twCmp = 2;\r\n\r\n\t\treturn wCmp;\r\n\t}\r\n\r\n\t// if not same level, find the parent which makes the levels the same\r\n\tPDNODE pa = a;\r\n\tPDNODE pb = b;\r\n\tif (a->nLevels < b->nLevels)\r\n\t{\r\n\t\twhile (pa->nLevels != pb->nLevels)\r\n\t\t{\r\n\t\t\tpb = pb->pParent;\r\n\t\t}\r\n\t}\r\n\telse\r\n\t{\r\n\t\twhile (pa->nLevels != pb->nLevels)\r\n\t\t{\r\n\t\t\tpa = pa->pParent;\r\n\t\t}\r\n\t}\r\n\r\n\twCmp = ParentOrdering(pa, pb);\r\n\tif (wCmp == 0)\r\n\t{\r\n\t\t// parents for matching levels are equal; return -1 or 1 based on which is longer (a or b)\r\n\t\treturn (a->nLevels < b->nLevels) ? -1 : 1;\r\n\t}\r\n\telse\r\n\t{\r\n\t\t// return match based on subset of parents (-2 or 2)\r\n\t\treturn wCmp;\r\n\t}\r\n}\r\n\r\n// returns true if a strictly less than b\r\nbool CompareNodes(const PDNODE& a, const PDNODE& b)\r\n{\r\n\treturn ParentOrdering(a, b) < 0;\r\n}\r\n\r\nvector<PDNODE> FilterBySubtree(vector<PDNODE> const& parents, vector<PDNODE>  const& children)\r\n{\r\n\tvector<PDNODE> results;\r\n\r\n\t// for each child, if parent in parents, return\r\n\tstd::copy_if(std::cbegin(children),\r\n\t\t\t\t std::cend(children),\r\n\t\t\t\t std::back_inserter(results),\r\n\t\t\t\t [&parents](auto const& child)\r\n\t{\r\n\t\tPDNODE parent = child->pParent;\r\n\t\treturn (find(std::cbegin(parents), std::cend(parents), parent) != std::end(parents));\r\n\t});\r\n\r\n\treturn results;\r\n}\r\n\r\nvector<PDNODE> TreeIntersection(vector<vector<PDNODE>>& trees)\r\n{\r\n\tvector<PDNODE> result;\r\n\r\n\tif (trees.empty())\r\n\t\treturn result;\r\n\r\n\t// If any tree is empty, return empty\r\n\tif (std::any_of(std::cbegin(trees), std::cend(trees), [](auto& tree) { return tree.size() == 0; }))\r\n\t\treturn result;\r\n\r\n\tsize_t maxOutput = 0;\r\n\tfor (auto& tree : trees)\r\n\t{\r\n\t\tsort(tree.begin(), tree.end(), CompareNodes);\r\n\t\tif (tree.size() > maxOutput)\r\n\t\t\tmaxOutput = tree.size();\r\n\t}\r\n\r\n\t// if just one, return it (after sort above)\r\n\tsize_t count = trees.size();\r\n\tif (count == 1)\r\n\t\treturn trees.at(0);\r\n\r\n\t// use up to two outputs and switch back and forth; lastOutput is last number output \r\n\tvector<PDNODE> outputA(maxOutput);\r\n\tvector<PDNODE> outputB(maxOutput);\r\n\tvector<PDNODE> *combined = nullptr;\r\n\tsize_t lastOutput = 0;\r\n\r\n\t// first is left side of merge; changes each time through the loop\r\n\tvector<PDNODE>* first = nullptr;\r\n\r\n\t// for all other result sets, merge\r\n\tfor (size_t i = 1; i < count; i++)\r\n\t{\r\n\t\tsize_t out = 0;\t\t\t// always start writing to the beginning of the output\r\n\r\n\t\tsize_t first1 = 0;\t\t// scan index for last result in combined result (thus far)\r\n\t\tsize_t last1;\t\t\t// count of items in 'first'; set below\r\n\r\n\t\tif (i == 1)\r\n\t\t{\r\n\t\t\t// on first time through loop, output is A and 'first' is trees[0];\r\n\t\t\tfirst = &trees[0];\r\n\t\t\tlast1 = first->size();\r\n\t\t\tcombined = &outputA;\r\n\t\t}\r\n\t\telse if (i % 2 == 0)\r\n\t\t{\r\n\t\t\t// even passes: output is B and 'first' is outputA; create output B if it doesn't exist yet\r\n\t\t\tfirst = &outputA;\r\n\t\t\tlast1 = lastOutput;\r\n\r\n\t\t\tcombined = &outputB;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t// odd passes except first: output is A and 'first' is B; both outputs already exist\r\n\t\t\tfirst = &outputB;\r\n\t\t\tlast1 = lastOutput;\r\n\t\t\tcombined = &outputA;\r\n\t\t}\r\n\r\n\t\tauto second = &trees[i];\t// second results\r\n\t\tsize_t first2 = 0;\t\t// scan index for second results\r\n\t\tsize_t last2 = second->size();\t// end of second results\r\n\r\n\t\t// while results in both sets\r\n\t\twhile (first1 < last1 && first2 < last2)\r\n\t\t{\r\n\t\t\tPDNODE& p1 = first->at(first1);\r\n\t\t\tPDNODE& p2 = second->at(first2);\r\n\r\n\t\t\tint wCmp = ParentOrdering(p1, p2);\r\n\t\t\tswitch (wCmp)\r\n\t\t\t{\r\n\t\t\tcase -2:\r\n\t\t\t\t// p1 is first in any case; skip first\r\n\t\t\t\tfirst1++;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase -1:\r\n\t\t\t\t// p1 is prefix of p2; take p2; skip past p2\r\n\t\t\t\tcombined->at(out) = p2;\r\n\t\t\t\tout++;\r\n\t\t\t\tfirst2++;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 0: // p1 == p2; take p1; skip both\r\n\t\t\t\tcombined->at(out) = p1;\r\n\t\t\t\tout++;\r\n\t\t\t\tfirst1++;\r\n\t\t\t\tfirst2++;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 1: // p2 is prefix of p1; take p1; skip past p1\r\n\t\t\t\tcombined->at(out) = p1;\r\n\t\t\t\tout++;\r\n\t\t\t\tfirst1++;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase 2:\r\n\t\t\t\t// p2 is first in any case; skip second\r\n\t\t\t\tfirst2++;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// shrink logical output to actual items written in each round\r\n\t\tlastOutput = out;\r\n\t}\r\n\r\n\t// shrink actual vector to final size\r\n\tcombined->resize(lastOutput);\r\n\r\n\treturn (*combined);\r\n}\r\n\r\nPDNODE CreateNode(PDNODE pParentNode, WCHAR *szName, DWORD dwAttribs)\r\n{\r\n\tPDNODE pNode;\r\n\tDWORD len = lstrlen(szName);\r\n\r\n\tpNode = (PDNODE)LocalAlloc(LPTR, sizeof(DNODE) + ByteCountOf(len));\r\n\tif (!pNode)\r\n\t{\r\n\t\treturn nullptr;\r\n\t}\r\n\r\n\tpNode->pParent = pParentNode;\r\n\tpNode->nLevels = pParentNode ? (pParentNode->nLevels + (BYTE)1) : (BYTE)0;\r\n\tpNode->wFlags = (BYTE)NULL;\r\n\tpNode->dwNetType = (DWORD)-1;\r\n\tpNode->dwAttribs = dwAttribs;\r\n\tpNode->dwExtent = (DWORD)-1;\r\n\r\n\tlstrcpy(pNode->szName, szName);\r\n\r\n\tif (pParentNode)\r\n\t\tpParentNode->wFlags |= TF_HASCHILDREN;      // mark the parent\r\n\r\n\treturn pNode;\r\n}\r\n\r\n// for some reason this causes an error in xlocnum\r\n#undef abs\r\n\r\n#include <sstream>\r\n\r\nvector<wstring> SplitIntoWords(LPCTSTR szText)\r\n{\r\n\tvector<wstring> words;\r\n\r\n\twchar_t tempStr[MAXPATHLEN];\r\n\twcscpy_s(tempStr, szText);\r\n\tPWCHAR token{ nullptr };\r\n\tPWCHAR word = wcstok_s(tempStr, szPunctuation, &token);\r\n\twhile (word)\r\n\t{\r\n\t\twords.push_back(word);\r\n\t\tword = wcstok_s(nullptr, szPunctuation, &token);\r\n\t}\r\n\r\n\treturn words;\r\n}\r\n\r\nvoid FreeDirectoryBagOValues(BagOValues<PDNODE> *pbov, vector<PDNODE> *pNodes)\r\n{\r\n\t// free all PDNODE in BagOValues\r\n\tfor (PDNODE p : *pNodes)\r\n\t{\r\n\t\tLocalFree(p);\r\n\t}\r\n\r\n\t// free that vector and the BagOValues itself\r\n\tdelete pNodes;\r\n\tdelete pbov;\r\n}\r\n\r\nBOOL BuildDirectoryBagOValues(BagOValues<PDNODE> *pbov, vector<PDNODE> *pNodes, LPCTSTR szRoot, PDNODE pNodeParent, DWORD scanEpoc, LPTSTR szCachedRootLower)\r\n{\r\n\tLFNDTA lfndta;\r\n\tWCHAR szPath[MAXPATHLEN];\r\n\tLPWSTR szEndPath;\r\n\tBOOL bFound;\r\n\tDWORD dwAttr;\r\n\r\n\tlstrcpy(szPath, szRoot);\r\n\tif (lstrlen(szPath) + 1 >= COUNTOF(szPath))\r\n\t{\r\n\t\t// path too long\r\n\t\treturn TRUE;\r\n\t}\r\n\r\n\tAddBackslash(szPath);\r\n\tszEndPath = szPath + lstrlen(szPath);\r\n\r\n\tif (pNodeParent == nullptr)\r\n\t{\r\n\t\t// create first one; assume directory; \"name\" is full path starting with <drive>:\r\n\t\t// normally name is just directory name by itself\r\n\t\tpNodeParent = CreateNode(nullptr, szPath, FILE_ATTRIBUTE_DIRECTORY);\r\n\t\tif (pNodeParent == nullptr)\r\n\t\t{\r\n\t\t\t// out of memory\r\n\t\t\treturn TRUE;\r\n\t\t}\r\n\r\n\t\tpNodes->push_back(pNodeParent);\r\n\t\tpbov->Add(szPath, pNodeParent);\r\n\t}\r\n\r\n\tif (lstrlen(szPath) + lstrlen(szStarDotStar) >= COUNTOF(szPath))\r\n\t{\r\n\t\t// path too long\r\n\t\treturn TRUE;\r\n\t}\r\n\r\n\t// add *.* to end of path\r\n\tlstrcat(szPath, szStarDotStar);\r\n\r\n\tdwAttr = ATTR_DIR;\r\n\tif (bIndexHiddenSystem)\r\n\t{\r\n\t\tdwAttr = dwAttr | ATTR_HS;\r\n\t}\r\n\r\n\tbFound = WFFindFirst(&lfndta, szPath, dwAttr);\r\n\r\n\twhile (bFound)\r\n\t{\r\n\t\tif (g_driveScanEpoc != scanEpoc)\r\n\t\t{\r\n\t\t\t// new scan started; abort this one\r\n\t\t\tWFFindClose(&lfndta);\r\n\t\t\treturn FALSE;\r\n\t\t}\r\n\r\n\t\t// for all directories at this level, insert into BagOValues\r\n\t\t// do not insert the directories '.' or '..'; or insert empty directory names (cf. issue #194)\r\n\r\n\t\tif ((lfndta.fd.dwFileAttributes & ATTR_DIR) == 0 || ISDOTDIR(lfndta.fd.cFileName) || lfndta.fd.cFileName[0] == CHAR_NULL)\r\n\t\t{\r\n\t\t\tbFound = WFFindNext(&lfndta);\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tPDNODE pNodeChild = CreateNode(pNodeParent, lfndta.fd.cFileName, lfndta.fd.dwFileAttributes);\r\n\t\tif (pNodeChild == nullptr)\r\n\t\t{\r\n\t\t\t// out of memory\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tpNodes->push_back(pNodeChild);\r\n\r\n\t\t// if spaces, each word individually (and not whole thing)\r\n\t\tvector<wstring> words = SplitIntoWords(lfndta.fd.cFileName);\r\n\r\n\t\tfor (auto word : words)\r\n\t\t{\r\n\t\t\t// TODO: how to mark which word is primary to avoid double free?\r\n\t\t\tpbov->Add(word, pNodeChild);\r\n\t\t}\r\n\r\n\t\t//\r\n\t\t// Construct the path to this new subdirectory.\r\n\t\t//\r\n\t\t*szEndPath = CHAR_NULL;\r\n\t\tif (lstrlen(szPath) + 1 + lstrlen(lfndta.fd.cFileName) >= COUNTOF(szPath))\r\n\t\t{\r\n\t\t\t// path too long\r\n\t\t\treturn TRUE;\r\n\t\t}\r\n\r\n\t\tAddBackslash(szPath);\r\n\t\tlstrcat(szPath, lfndta.fd.cFileName);         // cFileName is ANSI now\r\n\r\n\t\t// do not follow inner reparse points\r\n\t\tBOOL bFollow = FALSE;\r\n\t\tif (lfndta.fd.dwFileAttributes & FILE_ATTRIBUTE_REPARSE_POINT)\r\n\t\t{\r\n\t\t\t// Check which reparsepoint\r\n\t\t\twchar_t szTemp[MAXPATHLEN];\r\n\t\t\tDWORD tag = DecodeReparsePoint(szPath, szTemp, MAXPATHLEN);\r\n\t\t\tswitch (tag) \r\n\t\t\t{\r\n\t\t\t// We always want to follow OneDrive\r\n\t\t\tcase IO_REPARSE_TAG_CLOUD:\r\n\t\t\tcase IO_REPARSE_TAG_CLOUD_1:\r\n\t\t\tcase IO_REPARSE_TAG_CLOUD_2:\r\n\t\t\tcase IO_REPARSE_TAG_CLOUD_3:\r\n\t\t\tcase IO_REPARSE_TAG_CLOUD_4:\r\n\t\t\tcase IO_REPARSE_TAG_CLOUD_5:\r\n\t\t\tcase IO_REPARSE_TAG_CLOUD_6:\r\n\t\t\tcase IO_REPARSE_TAG_CLOUD_7:\r\n\t\t\tcase IO_REPARSE_TAG_CLOUD_8:\r\n\t\t\tcase IO_REPARSE_TAG_CLOUD_9:\r\n\t\t\tcase IO_REPARSE_TAG_CLOUD_A:\r\n\t\t\tcase IO_REPARSE_TAG_CLOUD_B:\r\n\t\t\tcase IO_REPARSE_TAG_CLOUD_C:\r\n\t\t\tcase IO_REPARSE_TAG_CLOUD_D:\r\n\t\t\tcase IO_REPARSE_TAG_CLOUD_E:\r\n\t\t\tcase IO_REPARSE_TAG_CLOUD_F:\r\n\t\t\t\tbFollow = TRUE;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tcase IO_REPARSE_TAG_SYMLINK:\r\n\t\t\tcase IO_REPARSE_TAG_MOUNT_POINT:\r\n\t\t\t\t// Check if it is an inner reparsepoint, because we don't want to follow \r\n\t\t\t\t// inner peparse points, because they would cause double enumeration\r\n\r\n\t\t\t\t// If the anchor is not part of the path then it is an outer reparse point\r\n\t\t\t\t// e.g. outer reparsepoint: szCachedRootLower == c:\\bla, szTemp == d:\\foo\r\n\t\t\t\t// e.g. inner reparsepoint: szCachedRootLower == c:\\bla, szTemp == c:\\bla\\foo\r\n\t\t\t\t_wcslwr_s(szTemp, MAXPATHLEN);\r\n\t\t\t\tif (!wcsstr(szTemp, szCachedRootLower))\r\n\t\t\t\t\tbFollow = TRUE;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tdefault:\r\n\t\t\t\tbFollow = FALSE;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tbFollow = TRUE;\r\n\t\t}\r\n\r\n\t\tif (bFollow)\r\n\t\t{\r\n\t\t\t// add directories in subdir\r\n\t\t\tif (!BuildDirectoryBagOValues(pbov, pNodes, szPath, pNodeChild, scanEpoc, szCachedRootLower))\r\n\t\t\t{\r\n\t\t\t\tWFFindClose(&lfndta);\r\n\t\t\t\treturn FALSE;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tbFound = WFFindNext(&lfndta);\r\n\t}\r\n\r\n\tWFFindClose(&lfndta);\r\n\r\n\treturn TRUE;\r\n}\r\n\r\nvector<PDNODE> GetDirectoryOptionsFromText(LPCTSTR szText, BOOL *pbLimited)\r\n{\r\n\tif (g_pBagOCDrive == nullptr)\r\n\t\treturn vector<PDNODE>{};\r\n\r\n\tvector<wstring> words = SplitIntoWords(szText);\r\n\r\n\tvector<vector<PDNODE>> options_per_word;\r\n\r\n\tfor (auto word : words)\r\n\t{\r\n\t\tvector<PDNODE> options;\r\n\t\tsize_t pos = word.find_first_of(L'\\\\');\r\n\t\tif (pos == word.size() - 1)\r\n\t\t{\r\n\t\t\t// '\\' at end; remove\r\n\t\t\tword = word.substr(0, pos);\r\n\t\t\tpos = string::npos;\r\n\t\t}\r\n\t\tbool fPrefix = true;\r\n\t\tif (word[0] == L'\\'')\r\n\t\t{\r\n\t\t\tfPrefix = false;\r\n\t\t\tword = word.substr(1);\r\n\t\t}\r\n\t\tif (pos == string::npos)\r\n\t\t{\r\n\t\t\toptions = g_pBagOCDrive->Retrieve(word, fPrefix, 1000);\r\n\r\n\t\t\tif (options.size() == 1000)\r\n\t\t\t\t*pbLimited = TRUE;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\t// \"foo\\bar\" -> find candidates foo* which have subdir bar*\r\n\t\t\twstring first = word.substr(0, pos);\r\n\t\t\twstring second = word.substr(pos + 1);\r\n\r\n\t\t\tvector<PDNODE> options1 = std::move(g_pBagOCDrive->Retrieve(first, fPrefix, 1000));\r\n\t\t\tvector<PDNODE> options2 = std::move(g_pBagOCDrive->Retrieve(second, fPrefix, 1000));\r\n\r\n\t\t\tif (options1.size() == 1000 ||\r\n\t\t\t\toptions2.size() == 1000)\r\n\t\t\t\t*pbLimited = TRUE;\r\n\r\n\t\t\toptions = std::move(FilterBySubtree(options1, options2));\r\n\t\t}\r\n\r\n\t\toptions_per_word.emplace_back(std::move(options));\r\n\t}\r\n\r\n\tvector<PDNODE> final_options = std::move(TreeIntersection(options_per_word));\r\n\r\n\treturn final_options;\r\n}\r\n\r\nVOID UpdateGotoList(HWND hDlg)\r\n{\r\n\tBOOL bLimited = FALSE;\r\n\tTCHAR szText[MAXPATHLEN];\r\n\r\n\tDWORD dw = GetDlgItemText(hDlg, IDD_GOTODIR, szText, COUNTOF(szText));\r\n\r\n\tvector<PDNODE> options = GetDirectoryOptionsFromText(szText, &bLimited);\r\n\r\n\tHWND hwndLB = GetDlgItem(hDlg, IDD_GOTOLIST);\r\n\r\n\t// Since we're probably about to add a lot of items, suppress redraw\r\n\t// and do it once at the end\r\n\tSendMessage(hwndLB, WM_SETREDRAW, FALSE, 0);\r\n\tSendMessage(hwndLB, LB_RESETCONTENT, 0, 0);\r\n\r\n\tif (!options.empty())\r\n\t{\r\n\t\tconst size_t resultCount = min((size_t)1000, options.size());\r\n\r\n\t\t// Try to allocate enough space in the list to avoid repeated\r\n\t\t// allocations.  This is an optimization and doesn't need to be\r\n\t\t// perfect, although being slightly too large is probably better\r\n\t\t// than slightly too small.  Since building the paths for this\r\n\t\t// seems needlessly expensive, assume each entry will be MAX_PATH.\r\n\t\tSendMessage(hwndLB, LB_INITSTORAGE, resultCount, resultCount * MAX_PATH);\r\n\t\tfor (size_t i = 0; i < resultCount; ++i)\r\n\t\t{\r\n\t\t\tGetTreePath(options.at(i), szText);\r\n\r\n\t\t\tSendMessage(hwndLB, LB_ADDSTRING, 0, (LPARAM)szText);\r\n\t\t}\r\n\r\n\t\tif (bLimited)\r\n\t\t{\r\n\t\t\tSendMessage(hwndLB, LB_ADDSTRING, 0, (LPARAM)TEXT(\"... limited ...\"));\r\n\t\t}\r\n\t\telse if (options.size() > resultCount)\r\n\t\t{\r\n\t\t\tSendMessage(hwndLB, LB_ADDSTRING, 0, (LPARAM)TEXT(\"... more ...\"));\r\n\t\t}\r\n\r\n\t\tSendMessage(hwndLB, LB_SETCURSEL, 0, 0);\r\n\t}\r\n\r\n\t// Perform the redraw\r\n\tSendMessage(hwndLB, WM_SETREDRAW, TRUE, 0);\r\n\tRedrawWindow(hwndLB, NULL, NULL, RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_ALLCHILDREN);\r\n}\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  GotoDirDlgProc() -                                                      */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nWNDPROC wpOrigEditProc;\r\n\r\n// Subclass procedure: use arrow keys to change selection in listbox below.\r\nLRESULT APIENTRY GotoEditSubclassProc(\r\n\tHWND hwnd,\r\n\tUINT uMsg,\r\n\tWPARAM wParam,\r\n\tLPARAM lParam)\r\n{\r\n\tswitch (uMsg)\r\n\t{\r\n\tcase WM_GETDLGCODE:\r\n\t\tif (lParam) {\r\n\t\t\tLPMSG lpmsg = (LPMSG)lParam;\r\n\r\n\t\t\tif ((lpmsg->message == WM_KEYDOWN || lpmsg->message == WM_KEYUP) && \r\n\t\t\t\t(lpmsg->wParam == VK_DOWN ||\r\n\t\t\t\t lpmsg->wParam == VK_UP ||\r\n\t\t\t\t lpmsg->wParam == VK_HOME ||\r\n\t\t\t\t lpmsg->wParam == VK_END ||\r\n\t\t\t\t lpmsg->wParam == VK_PRIOR ||\r\n\t\t\t\t lpmsg->wParam == VK_NEXT)) {\r\n\r\n\t\t\t\tHWND hwndDlg = GetParent(hwnd);\r\n\t\t\t\tSendDlgItemMessage(hwndDlg, IDD_GOTOLIST, lpmsg->message, lpmsg->wParam, lpmsg->lParam);\r\n\t\t\t\treturn DLGC_WANTALLKEYS;\r\n\t\t\t}\r\n\t\t}\r\n\t\tbreak;\r\n\t}\r\n\treturn CallWindowProc(wpOrigEditProc, hwnd, uMsg, wParam, lParam);\r\n}\r\n\r\nVOID\r\nSetCurrentPathOfWindow(LPWSTR szPath)\r\n{\r\n\tTCHAR szFullPath[MAXPATHLEN];\r\n\tLPTSTR szFilePart;\r\n\tDWORD result;\r\n\tHWND hwndActive;\r\n\tHWND hwndNew;\r\n\tHWND hwndTree;\r\n\r\n\tresult = GetFullPathName(szPath, COUNTOF(szFullPath), szFullPath, &szFilePart);\r\n\tif (result == 0 || result >= COUNTOF(szFullPath) || ISUNCPATH(szFullPath))\r\n\t{\r\n\t\treturn;\r\n\t}\r\n\r\n\thwndActive = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n\thwndNew = CreateDirWindow(szFullPath, TRUE, hwndActive);\r\n\thwndTree = HasTreeWindow(hwndNew);\r\n\r\n\tif (hwndTree)\r\n\t{\r\n\t\tSetFocus(hwndTree);\r\n\t}\r\n}\r\n\r\nINT_PTR\r\nCALLBACK\r\nGotoDirDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n\tHWND hwndEdit;\r\n\tDWORD command_id;\r\n\r\n\tif (ResizeDialogProc(hDlg, wMsg, wParam, lParam)) {\r\n\t\treturn TRUE;\r\n\t}\r\n\r\n\tswitch (wMsg)\r\n\t{\r\n\tcase WM_INITDIALOG:\r\n\t\t// Retrieve the handle to the edit control. \r\n\t\thwndEdit = GetDlgItem(hDlg, IDD_GOTODIR);\r\n\r\n\t\t// Subclass the edit control. \r\n\t\twpOrigEditProc = (WNDPROC)SetWindowLongPtr(hwndEdit, GWLP_WNDPROC, (LONG_PTR)GotoEditSubclassProc);\r\n\r\n\t\tSendDlgItemMessage(hDlg, IDD_GOTOLIST, LB_ADDSTRING, 0, (LPARAM)TEXT(\"<type name fragments into edit box>\"));\r\n\t\tbreak;\r\n\r\n\tcase WM_COMMAND:\r\n\t\tcommand_id = GET_WM_COMMAND_ID(wParam, lParam);\r\n\t\tswitch (command_id)\r\n\t\t{\r\n\t\tcase IDD_GOTODIR:\r\n\t\t\tswitch (HIWORD(wParam))\r\n\t\t\t{\r\n\t\t\tcase EN_UPDATE:\r\n\t\t\t\t// repopulate listbox with candidate directories; select first one\r\n\t\t\t\tUpdateGotoList(hDlg);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\r\n\t\tcase IDD_HELP:\r\n\t\t\tgoto DoHelp;\r\n\r\n\t\tcase IDCANCEL:\r\n\t\t\tEndDialog(hDlg, FALSE);\r\n\t\t\tbreak;\r\n\r\n\t\tcase IDOK:\r\n\t\t{\r\n\t\t\tTCHAR szPath[MAXPATHLEN];\r\n\t\t\tDWORD iSel;\r\n\r\n\t\t\tEndDialog(hDlg, TRUE);\r\n\r\n\t\t\tiSel = (DWORD)SendDlgItemMessage(hDlg, IDD_GOTOLIST, LB_GETCURSEL, 0, 0);\r\n\t\t\tif (iSel == LB_ERR)\r\n\t\t\t{\r\n\t\t\t\tif (GetDlgItemText(hDlg, IDD_GOTODIR, szPath, COUNTOF(szPath)) != 0)\r\n\t\t\t\t{\r\n\t\t\t\t\tif (PathIsDirectory(szPath))\r\n\t\t\t\t\t\tiSel = 0;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tif (SendDlgItemMessage(hDlg, IDD_GOTOLIST, LB_GETTEXT, iSel, (LPARAM)szPath) == LB_ERR ||\r\n\t\t\t\t\t!PathIsDirectory(szPath))\r\n\t\t\t\t\tiSel = LB_ERR;\r\n\t\t\t}\r\n\r\n\t\t\tif (iSel != LB_ERR)\r\n\t\t\t{\r\n\t\t\t\tSetCurrentPathOfWindow(szPath);\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\t}\r\n\r\n\t\tdefault:\r\n\t\t\treturn(FALSE);\r\n\t\t}\r\n\t\tbreak;\r\n\r\n\tcase WM_DESTROY:\r\n\t\thwndEdit = GetDlgItem(hDlg, IDD_GOTODIR);\r\n\r\n\t\t// Remove the subclass from the edit control. \r\n\t\tSetWindowLongPtr(hwndEdit, GWLP_WNDPROC, (LONG_PTR)wpOrigEditProc);\r\n\t\tbreak;\r\n\r\n\tdefault:\r\n\t\tif (wMsg == wHelpMessage) {\r\n\t\tDoHelp:\r\n\t\t\tWFHelp(hDlg);\r\n\r\n\t\t\treturn TRUE;\r\n\t\t}\r\n\t\telse\r\n\t\t\treturn FALSE;\r\n\t}\r\n\treturn TRUE;\r\n}\r\n\r\nDWORD WINAPI\r\nBuildDirectoryTreeBagOValues(PVOID pv)\r\n{\r\n\tDWORD scanEpocNew = InterlockedIncrement(&g_driveScanEpoc);\r\n\r\n\tBagOValues<PDNODE> *pBagNew = new BagOValues<PDNODE>();\r\n\tvector<PDNODE> *pNodes = new vector<PDNODE>();\r\n\r\n\tSendMessage(hwndStatus, SB_SETTEXT, 2, (LPARAM)TEXT(\"BUILDING GOTO CACHE\"));\r\n\r\n\t// Read pathes, which shall be cached from winfile.ini\r\n\tGetPrivateProfileString(szSettings, szGotoCachePunctuation, TEXT(\"- _.\"), szPunctuation, MAXPATHLEN, szTheINIFile);\r\n\r\n\t// Read pathes, which shall be cached from winfile.ini\r\n\tGetPrivateProfileString(szSettings, szCachedPath, TEXT(\"c:\\\\\"), szCachedPathIni, MAXPATHLEN, szTheINIFile);\r\n\r\n\t// Create a local copy, because once we save it to winfile.ini on exit we need the original value\r\n\tTCHAR szCached[MAXPATHLEN];\r\n\tlstrcpy(szCached, szCachedPathIni);\r\n\r\n\t// Iterate through ; seperated list of to be cached pathes\r\n\tBOOL     buildBag{ FALSE };\r\n\tWCHAR \tseps[]{ L\";\" };\r\n\tPWCHAR   token{ nullptr };\r\n\tPWCHAR   szCachedRoot = wcstok_s(szCached, seps, &token);\r\n\tTCHAR    szCachedRootLower[MAXPATHLEN];\r\n\r\n\twhile (szCachedRoot)\r\n\t{\r\n\t\tlstrcpy(szCachedRootLower, szCachedRoot);\r\n\t\t_wcslwr_s(szCachedRootLower, MAXPATHLEN - (szCachedRoot - szCached));\r\n\t\tbuildBag |= BuildDirectoryBagOValues(pBagNew, pNodes, szCachedRoot, nullptr, scanEpocNew, szCachedRootLower);\r\n\r\n\t\tszCachedRoot = wcstok_s(NULL, seps, &token);\r\n\t}\r\n\r\n\t// If at least one cache location has been read successfully, build the bag\r\n\tif (buildBag)\r\n\t{\r\n\t\tpBagNew->Sort();\r\n\r\n\t\tpBagNew = (BagOValues<PDNODE> *)InterlockedExchangePointer((PVOID *)&g_pBagOCDrive, pBagNew);\r\n\t\tpNodes = (vector<PDNODE> *)InterlockedExchangePointer((PVOID *)&g_allNodes, pNodes);\r\n\t}\r\n\r\n\tif (pBagNew != nullptr)\r\n\t{\r\n\t\tFreeDirectoryBagOValues(pBagNew, pNodes);\r\n\t}\r\n\r\n\tUpdateMoveStatus(ReadMoveStatus());\r\n\r\n\treturn ERROR_SUCCESS;\r\n}\r\n\r\n// We're building a Trie structure (not just a directory tree)\r\nDWORD\r\nStartBuildingDirectoryTrie()\r\n{\r\n\tHANDLE hThreadCopy;\r\n\tDWORD dwIgnore;\r\n\r\n\t//\r\n\t// Move/Copy things.\r\n\t//\r\n\thThreadCopy = CreateThread(nullptr,\r\n\t\t0L,\r\n\t\tBuildDirectoryTreeBagOValues,\r\n\t\tnullptr,\r\n\t\t0L,\r\n\t\t&dwIgnore);\r\n\r\n\tif (!hThreadCopy) {\r\n\t\treturn GetLastError();\r\n\t}\r\n\r\n\tSetThreadPriority(hThreadCopy, THREAD_PRIORITY_BELOW_NORMAL);\r\n\r\n\tCloseHandle(hThreadCopy);\r\n\r\n\treturn 0;\r\n}\r\n"
  },
  {
    "path": "src/wfgwl.h",
    "content": "/********************************************************************\r\n\r\n   wfgwl.h\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\ntypedef struct {\r\n    HWND  hwnd;\r\n    HWND  hwndLastFocus;\r\n    WORD  wDriveNum;\r\n    WORD  wView;\r\n    BOOL  fFSCFlag;\r\n    WORD  wSort;\r\n    DWORD dwAttribs;\r\n    INT   iSplit;\r\n    LPTREECTLDATA lptcd;\r\n    LPDIRDDATA    lpdird;\r\n    LPDRIVESDATA  lpdrvd;\r\n} TREEDATA, FAR *LPTREEDATA;\r\n\r\ntypedef struct {\r\n    HWND  hwnd;\r\n    INT   iReadLevel;\r\n    HWND  hwndLB;\r\n    LPTREEDATA lptreed;\r\n} TREECTLDATA, FAR *LPTREECTLDATA;\r\n\r\ntypedef struct {\r\n    HWND   hwnd;\r\n    INT    iFirstTab;\r\n    HANDLE hDTA;\r\n    HWND   hwndLB;\r\n    LPTREEDATA lptreed;\r\n} DIRDATA, FAR *LPDIRDATA;\r\n\r\ntypedef struct {\r\n    HWND  hwnd;\r\n    LPTSTR lpstrVolume;\r\n    INT   iCurDriveInd;\r\n    INT   iCurDriveFocus;\r\n    LPTREEDATA lptreed;\r\n} DRIVESDATA, FAR *LPDRIVESDATA;\r\n\r\ntypedef struct {\r\n    HWND  hwnd;\r\n    WORD  wDriveNum;\r\n    WORD  wView;\r\n    BOOL  fFSCFlag;\r\n    WORD  wSort;\r\n    DWORD dwAttribs;\r\n    HANDLE hDTASearch;\r\n    HWND  hwndLB;\r\n    LPTREEDATA lptreed;\r\n} SEARCHDATA, FAR *LPSEARCHDATA;\r\n\r\n"
  },
  {
    "path": "src/wfhelp.h",
    "content": "/********************************************************************\r\n\r\n   wfhelp.h\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n//\r\n//\r\n// Help Context String map:\r\n//\r\n// begin: 5000          IDM_*\r\n//         ..\r\n//        5000 + 2000   IDH_SYSMENU\r\n//        5000 + 2001   MB_*  (message boxes)\r\n//        5000 + 2099   IDH_SYSMENUCHILD\r\n//        5000 + 3000   DLGs\r\n//\r\n\r\n#define IDH_HELPFIRST      5000\r\n#define IDH_SYSMENU        (IDH_HELPFIRST + 2000)\r\n\r\n#define IDH_MBFIRST           (IDH_HELPFIRST + 2001)\r\n#define IDH_MB_FORMATCURERR   (IDH_MBFIRST + 0)\r\n#define IDH_ASSOC_BROWSE      (IDH_MBFIRST + 1)\r\n#define IDH_FONT              (IDH_MBFIRST + 3)\r\n#define IDH_MBLAST            (IDH_HELPFIRST + 2098)\r\n\r\n#define IDH_SYSMENUCHILD      (IDH_HELPFIRST + 2099)\r\n\r\n\r\n#define IDH_DLGFIRST          (IDH_HELPFIRST + 3000)\r\n\r\n#define IDH_DLG_PREV             (IDH_DLGFIRST + PREVIOUSDLG)\r\n#define IDH_DLG_CONFIRMREPLACE   (IDH_DLGFIRST + CONFIRMREPLACE)\r\n#define IDH_DLG_CONFIRMRMDIR     (IDH_DLGFIRST + CONFIRMRMDIR)\r\n#define IDH_DLG_CONFIRMRENAME    (IDH_DLGFIRST + CONFIRMRENAME)\r\n#define IDH_DLG_CONFIRMMOVE      (IDH_DLGFIRST + CONFIRMMOVE)\r\n#define IDH_DLG_CONFIRMDEL       (IDH_DLGFIRST + CONFIRMDELETE)\r\n#define IDH_DLG_LFNTOFATDLG (IDH_DLGFIRST + LFNTOFATDLG)\r\n#define IDH_DLG_ASSOCIATEFILEDLG       (IDH_DLGFIRST + ASSOCIATEFILEDLG)\r\n#define IDH_DLG_ASSOCIATEFILEDLGCONFIG (IDH_DLGFIRST + ASSOCIATEFILEDLGCONFIG)\r\n#define IDH_FILE  (IDM_FILE + IDH_HELPFIRST)\r\n#define IDH_OPEN  (IDM_OPEN + IDH_HELPFIRST)\r\n#define IDH_PRINT    (IDM_PRINT + IDH_HELPFIRST)\r\n#define IDH_ASSOCIATE   (IDM_ASSOCIATE + IDH_HELPFIRST)\r\n#define IDH_SEARCH   (IDM_SEARCH + IDH_HELPFIRST)\r\n#define IDH_RUN   (IDM_RUN  + IDH_HELPFIRST)\r\n#define IDH_MOVE  (IDM_MOVE + IDH_HELPFIRST)\r\n#define IDH_COPY  (IDM_COPY + IDH_HELPFIRST)\r\n#define IDH_DELETE   (IDM_DELETE + IDH_HELPFIRST)\r\n#define IDH_RENAME   (IDM_RENAME + IDH_HELPFIRST)\r\n#define IDH_ATTRIBS  (IDM_ATTRIBS + IDH_HELPFIRST)\r\n#define IDH_MAKEDIR  (IDM_MAKEDIR + IDH_HELPFIRST)\r\n#define IDH_SELALL   (IDM_SELALL + IDH_HELPFIRST)\r\n#define IDH_DESELALL    (IDM_DESELALL + IDH_HELPFIRST)\r\n#define IDH_UNDO  (IDM_UNDO + IDH_HELPFIRST)\r\n#define IDH_EXIT  (IDM_EXIT + IDH_HELPFIRST)\r\n#define IDH_SELECT   (IDM_SELECT + IDH_HELPFIRST)\r\n// was  IDH_UNDELETE    (IDM_UNDELETE + IDH_HELPFIRST)\r\n#define IDH_COPYTOCLIPBOARD (IDM_COPYTOCLIPBOARD + IDH_HELPFIRST)\r\n#define IDH_COMPRESS  (IDM_COMPRESS + IDH_HELPFIRST)\r\n#define IDH_UNCOMPRESS  (IDM_UNCOMPRESS + IDH_HELPFIRST)\r\n#define IDH_GROUP_ATTRIBS  (IDM_GROUP_ATTRIBS + IDH_HELPFIRST)\r\n#define IDH_DISK  (IDM_DISK + IDH_HELPFIRST)\r\n#define IDH_DISKCOPY    (IDM_DISKCOPY + IDH_HELPFIRST)\r\n#define IDH_LABEL    (IDM_LABEL + IDH_HELPFIRST)\r\n#define IDH_FORMAT   (IDM_FORMAT + IDH_HELPFIRST)\r\n#define IDH_SYSDISK  (IDM_SYSDISK + IDH_HELPFIRST)\r\n#define IDH_CONNECT  (IDM_CONNECT + IDH_HELPFIRST)\r\n#define IDH_DISCONNECT  (IDM_DISCONNECT + IDH_HELPFIRST)\r\n#define IDH_CONNECTIONS (IDM_CONNECTIONS + IDH_HELPFIRST)\r\n#define IDH_DRIVESMORE  (IDM_DRIVESMORE + IDH_HELPFIRST)\r\n\r\n#define IDH_SHAREAS  (IDM_SHAREAS + IDH_HELPFIRST)\r\n#define IDH_STOPSHARE   (IDM_STOPSHARE + IDH_HELPFIRST)\r\n\r\n#define IDH_TREE  (IDM_TREE + IDH_HELPFIRST)\r\n#define IDH_EXPONE   (IDM_EXPONE + IDH_HELPFIRST)\r\n#define IDH_EXPSUB   (IDM_EXPSUB + IDH_HELPFIRST)\r\n#define IDH_EXPALL   (IDM_EXPALL + IDH_HELPFIRST)\r\n#define IDH_COLLAPSE    (IDM_COLLAPSE + IDH_HELPFIRST)\r\n#define IDH_ADDPLUSES   (IDM_ADDPLUSES + IDH_HELPFIRST)\r\n\r\n#define IDH_VIEW  (IDM_VIEW + IDH_HELPFIRST)\r\n#define IDH_VNAME    (IDM_VNAME + IDH_HELPFIRST)\r\n#define IDH_VDETAILS    (IDM_VDETAILS + IDH_HELPFIRST)\r\n#define IDH_VOTHER   (IDM_VOTHER + IDH_HELPFIRST)\r\n#define IDH_BYNAME   (IDM_BYNAME + IDH_HELPFIRST)\r\n#define IDH_BYTYPE   (IDM_BYTYPE + IDH_HELPFIRST)\r\n#define IDH_BYSIZE   (IDM_BYSIZE + IDH_HELPFIRST)\r\n#define IDH_BYDATE   (IDM_BYDATE + IDH_HELPFIRST)\r\n#define IDH_VINCLUDE    (IDM_VINCLUDE + IDH_HELPFIRST)\r\n#define IDH_REPLACE  (IDM_REPLACE + IDH_HELPFIRST)\r\n#define IDH_TREEONLY    (IDM_TREEONLY + IDH_HELPFIRST)\r\n#define IDH_DIRONLY  (IDM_DIRONLY + IDH_HELPFIRST)\r\n#define IDH_BOTH  (IDM_BOTH + IDH_HELPFIRST)\r\n#define IDH_SPLIT    (IDM_SPLIT + IDH_HELPFIRST)\r\n\r\n#define IDH_OPTIONS  (IDM_OPTIONS + IDH_HELPFIRST)\r\n#define IDH_CONFIRM  (IDM_CONFIRM + IDH_HELPFIRST)\r\n#define IDH_FONT_MENU   (IDM_FONT + IDH_HELPFIRST)\r\n#define IDH_CTBAR    (IDM_TOOLBARCUST + IDH_HELPFIRST)\r\n#define IDH_TOOLBAR  (IDM_TOOLBAR + IDH_HELPFIRST)\r\n#define IDH_DRIVEBAR    (IDM_DRIVEBAR + IDH_HELPFIRST)\r\n#define IDH_STATUSBAR   (IDM_STATUSBAR + IDH_HELPFIRST)\r\n#define IDH_MINONRUN    (IDM_MINONRUN + IDH_HELPFIRST)\r\n#define IDH_INDEXONLAUNCH  (IDM_INDEXONLAUNCH + IDH_HELPFIRST)\r\n#define IDH_SAVESETTINGS   (IDM_SAVESETTINGS + IDH_HELPFIRST)\r\n\r\n#define IDH_EXTENSIONS  (IDM_EXTENSIONS + IDH_HELPFIRST)\r\n\r\n#define IDH_WINDOW   (IDM_WINDOW + IDH_HELPFIRST)\r\n#define IDH_CASCADE  (IDM_CASCADE + IDH_HELPFIRST)\r\n#define IDH_TILEH    (IDM_TILEHORIZONTALLY + IDH_HELPFIRST)\r\n#define IDH_TILEV    (IDM_TILE + IDH_HELPFIRST)\r\n#define IDH_REFRESH  (IDM_REFRESH + IDH_HELPFIRST)\r\n#define IDH_CLOSEALL    (IDM_CLOSEALL + IDH_HELPFIRST)\r\n#define IDH_CHILDSTART  (IDM_CHILDSTART + IDH_HELPFIRST)\r\n#define IDH_SAVE  (IDM_SAVE + IDH_HELPFIRST)\r\n#define IDH_ARRANGE  (IDM_ARRANGE + IDH_HELPFIRST)\r\n#define IDH_NEWWINDOW   (IDM_NEWWINDOW + IDH_HELPFIRST)\r\n#define IDH_ONWOCON  (IDM_NEWWINONCONNECT + IDH_HELPFIRST)\r\n\r\n#define IDH_HELPGENERAL  (IDM_HELP + IDH_HELPFIRST)\r\n#define IDH_HELPINDEX   (IDM_HELPINDEX + IDH_HELPFIRST)\r\n#define IDH_HELPKEYS    (IDM_HELPKEYS + IDH_HELPFIRST)\r\n#define IDH_HELPCOMMANDS   (IDM_HELPCOMMANDS + IDH_HELPFIRST)\r\n#define IDH_HELPPROCS   (IDM_HELPPROCS + IDH_HELPFIRST)\r\n#define IDH_HELPHELP    (IDM_HELPHELP + IDH_HELPFIRST)\r\n#define IDH_ABOUT    (IDM_ABOUT + IDH_HELPFIRST)\r\n\r\n#define IDH_LOWERCASE   (IDM_LOWERCASE + IDH_HELPFIRST)\r\n#define IDH_EXPANDTREE  (IDM_EXPANDTREE + IDH_HELPFIRST)\r\n"
  },
  {
    "path": "src/wfinfo.c",
    "content": "/********************************************************************\r\n\r\n   wfinfo.c\r\n\r\n   Handles caching and refreshing of drive information.\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n#include \"wnetcaps.h\"\r\n#include <commctrl.h>\r\n\r\n\r\n#define U_HEAD(type) \\\r\n   VOID \\\r\n   U_##type (DRIVE drive) { \\\r\n   PDRIVEINFO pDriveInfo = &aDriveInfo[drive];\r\n\r\n//\r\n// Warning:\r\n//\r\n// Never jump into or out of a IF_READ END_IF or ENTER_MODIFY EXIT_MODIFY\r\n// blocks for obvious critical section reasons.\r\n//\r\n#define IF_READ(type) \\\r\n   if (!pDriveInfo->s##type.bValid || pDriveInfo->s##type.bRefresh) {\r\n\r\n#define ENTER_MODIFY(type) \\\r\n   EnterCriticalSection(&CriticalSectionInfo##type); \\\r\n   if (!pDriveInfo->s##type.bValid || pDriveInfo->s##type.bRefresh) {\r\n\r\n#define EXIT_MODIFY(type) \\\r\n      pDriveInfo->s##type.bValid   = TRUE; \\\r\n      pDriveInfo->s##type.bRefresh = FALSE; \\\r\n   } \\\r\n   LeaveCriticalSection(&CriticalSectionInfo##type);\r\n\r\n#define END_IF(type)     }\r\n\r\n#define SET_RETVAL(type, val) \\\r\n   pDriveInfo->s##type.dwRetVal = (val)\r\n\r\n#define U_CLOSE(type) \\\r\n   return; }\r\n\r\nVOID NetCon_UpdateLines(DRIVE drive, DWORD dwType);\r\nINT  UpdateDriveListWorker(VOID);\r\n\r\n\r\nCRITICAL_SECTION CriticalSectionUpdate;\r\n\r\n//\r\n// Translation table from ALTNAME -> WNFMT_*\r\n//\r\nDWORD adwAltNameTrans[MAX_ALTNAME] = {\r\n   WNFMT_MULTILINE,           // Must match ALTNAME_MULTI\r\n   WNFMT_ABBREVIATED          // Must match ALTNAME_SHORT\r\n};\r\n\r\n//\r\n// In characters\r\n//\r\n#define REMOTE_DEFAULT_SIZE (64-DRIVE_INFO_NAME_HEADER)\r\n\r\n\r\n//\r\n// Initialize/destroy Info handler\r\n//\r\nVOID\r\nM_Info(VOID)\r\n{\r\n   InitializeCriticalSection(&CriticalSectionUpdate);\r\n}\r\n\r\nVOID\r\nD_Info(VOID)\r\n{\r\n   DeleteCriticalSection(&CriticalSectionUpdate);\r\n}\r\n\r\nU_HEAD(Type)\r\n\r\n   TCHAR szDrive[] = SZ_ACOLONSLASH;\r\n   UINT uType;\r\n\r\n   DRIVESET(szDrive, drive);\r\n\r\n   IF_READ(Type)\r\n      uType = GetDriveType(szDrive);\r\n\r\n      ENTER_MODIFY(Type)\r\n\r\n         pDriveInfo->uType = uType;\r\n\r\n      EXIT_MODIFY(Type)\r\n\r\n   END_IF(Type)\r\n\r\nU_CLOSE(Type)\r\n\r\nU_HEAD(Space)\r\n\r\n   ULARGE_INTEGER qFreeSpace;\r\n   ULARGE_INTEGER qTotalSpace;\r\n\r\n   IF_READ(Space)\r\n      GetDiskSpace(drive, &qFreeSpace, &qTotalSpace);\r\n\r\n      ENTER_MODIFY(Space)\r\n\r\n         aDriveInfo[drive].qFreeSpace.QuadPart = qFreeSpace.QuadPart;\r\n         aDriveInfo[drive].qTotalSpace.QuadPart = qTotalSpace.QuadPart;\r\n\r\n      EXIT_MODIFY(Space)\r\n\r\n   END_IF(Space)\r\n\r\nU_CLOSE(Space)\r\n\r\n\r\n// Must leave DRIVE_INFO_NAME_HEADER (4) characters header free!\r\n\r\nU_HEAD(VolInfo)\r\n\r\n   TCHAR szVolName[COUNTOF(pDriveInfo->szVolNameMinusFour)-4];\r\n   DWORD dwVolumeSerialNumber;\r\n   DWORD dwMaximumComponentLength;\r\n   DWORD dwFileSystemFlags;\r\n   TCHAR szFileSysName[COUNTOF(pDriveInfo->szFileSysName)];\r\n   TCHAR szTemp[MAX_FILESYSNAME];\r\n\r\n   DWORD dwRetVal;\r\n\r\n   IF_READ(VolInfo)\r\n      dwRetVal = FillVolumeInfo( drive,\r\n                                 szVolName,\r\n                                 &dwVolumeSerialNumber,\r\n                                 &dwMaximumComponentLength,\r\n                                 &dwFileSystemFlags,\r\n                                 szFileSysName );\r\n\r\n      ENTER_MODIFY(VolInfo)\r\n\r\n         SET_RETVAL(VolInfo, dwRetVal);\r\n\r\n         lstrcpy(pDriveInfo->szVolNameMinusFour+4, szVolName);\r\n         pDriveInfo->dwVolumeSerialNumber = dwVolumeSerialNumber;\r\n         pDriveInfo->dwMaximumComponentLength = dwMaximumComponentLength;\r\n         pDriveInfo->dwFileSystemFlags = dwFileSystemFlags;\r\n\r\n         lstrcpy(pDriveInfo->szFileSysName, szFileSysName);\r\n         if (dwFileSystemFlags & FS_VOL_IS_COMPRESSED)\r\n         {\r\n             /*\r\n              *  Drive is compressed, so get the \"compressed\" string.\r\n              */\r\n             LoadString( hAppInstance,\r\n                         IDS_DRIVE_COMPRESSED,\r\n                         szTemp,\r\n                         COUNTOF(szTemp) );\r\n\r\n             /*\r\n              *  Append the \"compressed\" string to the file system name.\r\n              */\r\n             lstrcat( pDriveInfo->szFileSysName, szTemp );\r\n         }\r\n\r\n         pDriveInfo->dwVolNameMax = lstrlen(szVolName);\r\n\r\n      EXIT_MODIFY(VolInfo)\r\n\r\n   END_IF(VolInfo)\r\n\r\nU_CLOSE(VolInfo)\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     NetCon\r\n//\r\n// Synopsis: Handles all WNetGetConnection2/FMT information\r\n//\r\n// Assumes:  Never called for remembered connections unless an active\r\n//           connection has taken over a remembered one.\r\n//           (remembered defined as bRemembered bit)\r\n//\r\n// Effects:  lpConnectInfo\r\n//           dwConnectInfoMax\r\n//           lpszRemoteName{Short,Multi}MinusFour\r\n//           dwRemoteName{Short,Multi}Max\r\n//           dwLines\r\n//           dwAltNameError\r\n//\r\n// Notes:    The status of NetCon is true iff WNetGetConnection2.\r\n//           Value of dwAltNameError is independent of NetCon status.\r\n//\r\n// Status state:\r\n//\r\n// >> bRemembered == 1\r\n//\r\n//    Nothing changes\r\n//\r\n// >> ERROR_*\r\n//\r\n//    No strings are valid.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nU_HEAD(NetCon)\r\n\r\n   DWORD dwSize;\r\n   WNET_CONNECTIONINFO * lpConnectInfo = pDriveInfo->lpConnectInfo;\r\n\r\n   TCHAR szDrive[] = SZ_ACOLON;\r\n   DWORD dwRetVal;\r\n\r\n   //\r\n   // If not a remote drive, just return.\r\n   //\r\n   if (!IsRemoteDrive(drive))\r\n      goto DoneSafe;\r\n\r\n   if (!WAITNET_LOADED) {\r\n      SET_RETVAL(NetCon, ERROR_DLL_INIT_FAILED);\r\n      goto DoneSafe;\r\n   }\r\n\r\n   //\r\n   // If remembered connection, simply validate and return\r\n   //\r\n   if (pDriveInfo->bRemembered)\r\n      goto DoneSafe;\r\n\r\n   DRIVESET(szDrive,drive);\r\n\r\n   IF_READ(NetCon)\r\n\r\n      ENTER_MODIFY(NetCon)\r\n\r\n         // If error, zero it out!\r\n         // DRIVE_INFO_NAME_HEADER characters before string must be allocated!\r\n\r\n         dwSize = pDriveInfo->dwConnectInfoMax;\r\n\r\n         if (!dwSize)\r\n            dwSize = REMOTE_DEFAULT_SIZE;\r\n\r\n         if (!lpConnectInfo) {\r\nRetry:\r\n            lpConnectInfo = (WNET_CONNECTIONINFO *) LocalAlloc(LPTR, dwSize);\r\n            pDriveInfo->lpConnectInfo = lpConnectInfo;\r\n         }\r\n\r\n         if (!lpConnectInfo) {\r\n\r\n            pDriveInfo->dwConnectInfoMax = 0;\r\n            SET_RETVAL(NetCon,ERROR_NOT_ENOUGH_MEMORY);\r\n\r\n            //\r\n            // Go ahead and validate\r\n            //\r\n\r\n            goto Done;\r\n         }\r\n\r\n         pDriveInfo->dwConnectInfoMax = dwSize;\r\n\r\n         dwRetVal = WNetGetConnection2(szDrive, lpConnectInfo, &dwSize);\r\n\r\n         if (ERROR_MORE_DATA == dwRetVal) {\r\n\r\n            LocalFree((HLOCAL)lpConnectInfo);\r\n            goto Retry;\r\n         }\r\n\r\n         SET_RETVAL(NetCon,dwRetVal);\r\n\r\n         //\r\n         // Now get the multiline version\r\n         //\r\n         NetCon_UpdateAltName(drive, dwRetVal);\r\n\r\nDone:\r\n\r\n   EXIT_MODIFY(NetCon)\r\n\r\n   END_IF(NetCon)\r\nDoneSafe:\r\nU_CLOSE(NetCon)\r\n\r\n\r\nD_PROTO(NetCon)\r\n{\r\n   INT i;\r\n   DRIVE drive;\r\n   PDRIVEINFO pDriveInfo;\r\n\r\n   for (drive = 0, pDriveInfo = aDriveInfo;\r\n        drive < MAX_DRIVES;\r\n        drive++, pDriveInfo++)\r\n   {\r\n      if (pDriveInfo->lpConnectInfo)\r\n      {\r\n         LocalFree((HLOCAL)pDriveInfo->lpConnectInfo);\r\n      }\r\n\r\n      for (i = 0; i < MAX_ALTNAME; i++)\r\n      {\r\n         if (pDriveInfo->lpszRemoteNameMinusFour[i])\r\n         {\r\n            LocalFree((HLOCAL)pDriveInfo->lpszRemoteNameMinusFour[i]);\r\n         }\r\n      }\r\n   }\r\n   D_Destroy(NetCon);\r\n}\r\n\r\n\r\nINT\r\nNetCon_UpdateAltName(DRIVE drive, DWORD dwRetVal)\r\n{\r\n   PDRIVEINFO pDriveInfo = &aDriveInfo[drive];\r\n   LPTSTR lpszBuf;\r\n   DWORD dwSize;\r\n   WNET_CONNECTIONINFO * lpConnectInfo = pDriveInfo->lpConnectInfo;\r\n   DWORD i;\r\n\r\n   for (i = 0; i < MAX_ALTNAME; i++) {\r\n\r\n      //\r\n      // If dwRetVal is in error state,\r\n      // fail for all.\r\n      //\r\n      if (dwRetVal)\r\n         break;\r\n\r\n      lpszBuf = pDriveInfo->lpszRemoteNameMinusFour[i];\r\n      dwSize = pDriveInfo->dwRemoteNameMax[i];\r\n\r\n      if (!dwSize)\r\n         dwSize = REMOTE_DEFAULT_SIZE;\r\n\r\n      if (!lpszBuf) {\r\nRetry:\r\n         lpszBuf = (LPTSTR) LocalAlloc(LPTR, ByteCountOf(dwSize + DRIVE_INFO_NAME_HEADER));\r\n      }\r\n\r\n\r\n      pDriveInfo->lpszRemoteNameMinusFour[i] = lpszBuf;\r\n\r\n      if (!lpszBuf) {\r\n\r\n         pDriveInfo->dwRemoteNameMax[i]=0;\r\n\r\n         dwRetVal = ERROR_NOT_ENOUGH_MEMORY;\r\n         goto Done;\r\n      }\r\n\r\n      dwRetVal = WNetFormatNetworkNameW(lpConnectInfo->lpProvider,\r\n         lpConnectInfo->lpRemoteName,\r\n         lpszBuf + DRIVE_INFO_NAME_HEADER,\r\n         &dwSize,\r\n         adwAltNameTrans[i],\r\n         cchDriveListMax);\r\n\r\n      if (ERROR_MORE_DATA == dwRetVal) {\r\n\r\n         //\r\n         // If need more space, free buffer and retry\r\n         // (dwSize is updated by WNetFormatNetworkName)\r\n         //\r\n\r\n         LocalFree((HLOCAL)lpszBuf);\r\n         goto Retry;\r\n      }\r\n\r\n      if (dwRetVal) {\r\n         break;\r\n      }\r\n\r\n      NetCon_UpdateLines(drive, i);\r\n   }\r\nDone:\r\n   if (dwRetVal)\r\n   {\r\n      //\r\n      // Set everything to 1!\r\n      //\r\n      for (i = 0; i < MAX_ALTNAME; i++)\r\n      {\r\n         pDriveInfo->dwLines[i] = 1;\r\n      }\r\n   }\r\n   pDriveInfo->dwAltNameError = dwRetVal;\r\n   return dwRetVal;\r\n}\r\n\r\n\r\n\r\nVOID\r\nNetCon_UpdateLines(DRIVE drive, DWORD dwType)\r\n{\r\n   LPTSTR lpNext;\r\n   DWORD dwLines=0;\r\n\r\n   //\r\n   // Scan for the number of \\n in the text\r\n   //\r\n\r\n   lpNext = aDriveInfo[drive].lpszRemoteNameMinusFour[dwType] +\r\n      DRIVE_INFO_NAME_HEADER;\r\n\r\n   do\r\n   {\r\n      dwLines++;\r\n      lpNext = StrChr(lpNext, CHAR_NEWLINE);\r\n   } while (lpNext++);\r\n\r\n   aDriveInfo[drive].dwLines[dwType] = dwLines;\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Doc implementation\r\n//\r\n// Fixed size hashing function:\r\n// Hashing on first char, first DOCBUCKETMAX bits\r\n//\r\n// 6 buckets wasted.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n//\r\n// Warning: DOCBUCKETMAXBIT can't go past the number of bits in\r\n// lpszExt[0].\r\n//\r\n\r\n#define DOCBUCKETMAXBIT 5\r\n#define DOCBUCKETMAX (1 << DOCBUCKETMAXBIT)\r\n\r\n#define DOCHASHFUNC(x) (x[0] & ~(~0 << DOCBUCKETMAXBIT))\r\n\r\nstruct _DOC_BUCKET {\r\n   PDOCBUCKET next;\r\n   TCHAR szExt[EXTSIZ];\r\n   HICON hIcon;\r\n   LPTSTR lpszFI;\r\n} DOCBUCKET;\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DocConstruct\r\n//\r\n// Synopsis: Creates and initializes Doc structure for IsDocument\r\n//\r\n// IN        VOID\r\n//\r\n// Return:   PPDOCBUCKET or NULL\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nPPDOCBUCKET\r\nDocConstruct(VOID)\r\n{\r\n   return (PPDOCBUCKET) LocalAlloc(LPTR, sizeof(PDOCBUCKET)*DOCBUCKETMAX);\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DocDestruct\r\n//\r\n// Synopsis: Frees doc structure\r\n//\r\n// INC       PPDOCBUCKET -- Doc structure to free\r\n//\r\n// Return:   VOID\r\n//\r\n// Assumes:\r\n//\r\n// Effects:  PDOCBUCKET is destroyed\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nDocDestruct(PPDOCBUCKET ppDocBucket)\r\n{\r\n   INT i;\r\n   PDOCBUCKET pDocBucket;\r\n   PDOCBUCKET pDocBucketNext;\r\n\r\n   if (!ppDocBucket)\r\n      return;\r\n\r\n   for(i=0; i<DOCBUCKETMAX; i++) {\r\n\r\n      for(pDocBucket = ppDocBucket[i]; pDocBucket;\r\n         pDocBucket=pDocBucketNext) {\r\n\r\n         pDocBucketNext = pDocBucket->next;\r\n         DestroyIcon(pDocBucket->hIcon);\r\n         LocalFree((HLOCAL)pDocBucket->lpszFI);\r\n         LocalFree((HLOCAL)pDocBucket);\r\n      }\r\n   }\r\n   LocalFree(ppDocBucket);\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     RemoveEndQuote\r\n//\r\n// Synopsis: Removes the quote at the end of the extension string.\r\n//\r\n// INC       lpszExt     -- Extension string\r\n//\r\n// Return:   Nothing\r\n//\r\n// Assumes:  No leading quote.  Will remove all quotes in the string\r\n//           starting from the end of the string.\r\n//\r\n// Effects:  lpszExt is modified\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nRemoveEndQuote(\r\n    LPTSTR lpszExt)\r\n{\r\n    LPTSTR ptr;\r\n\r\n    if (lpszExt)\r\n    {\r\n        ptr = lpszExt + (lstrlen(lpszExt) - 1);\r\n        while ((ptr >= lpszExt) && (*ptr == CHAR_DQUOTE))\r\n        {\r\n            *ptr = CHAR_NULL;\r\n            ptr--;\r\n        }\r\n    }\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DocInsert\r\n//\r\n// Synopsis: Inserts an extension into a pDocBucket structure\r\n//\r\n// INOUTC    ppDocBucket  --  Doc struct to add to\r\n// INOUTC    lpszExt      --  Extension to add\r\n//\r\n// Return:   INT   -1  Item already exists\r\n//                 0   Error\r\n//                 1   Successfully added\r\n//\r\n// Assumes:\r\n//\r\n// Effects:  ppDocBucket is updated\r\n//           lpszExt is lowercased.\r\n//\r\n//\r\n// Notes:    Stores everything in lowercase\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nINT\r\nDocInsert(PPDOCBUCKET ppDocBucket,\r\n         LPTSTR lpszExt,\r\n         LPTSTR lpszFileIcon)\r\n{\r\n   PDOCBUCKET pDocBucket;\r\n   INT iBucket;\r\n   TCHAR szExt[EXTSIZ];\r\n\r\n\r\n   //\r\n   // Only allow certain lengths; if invalid ppDocBucket, fail\r\n   //\r\n   if (lstrlen(lpszExt) >= EXTSIZ || !ppDocBucket)\r\n      return FALSE;\r\n\r\n   //\r\n   // Disallow duplicates\r\n   //\r\n   if (DocFind(ppDocBucket, lpszExt)) {\r\n      return -1;\r\n   }\r\n\r\n   pDocBucket = (PDOCBUCKET) LocalAlloc(LPTR,sizeof(DOCBUCKET));\r\n\r\n   if (!pDocBucket) {\r\n      return 0;\r\n   }\r\n\r\n   iBucket = DOCHASHFUNC(lpszExt);\r\n\r\n   //\r\n   // Set up bucket; always char lower\r\n   //\r\n   pDocBucket->next = ppDocBucket[iBucket];\r\n\r\n   CharLower(lpszExt);\r\n   lstrcpy(szExt, lpszExt);\r\n   RemoveEndQuote(szExt);\r\n   lstrcpy(pDocBucket->szExt, szExt);\r\n\r\n   pDocBucket->hIcon = NULL;\r\n   pDocBucket->lpszFI = NULL;\r\n   \r\n   if (lpszFileIcon != NULL)\r\n      pDocBucket->lpszFI = (LPTSTR) LocalAlloc(LPTR, ByteCountOf(lstrlen(lpszFileIcon)+1));\r\n   if (pDocBucket->lpszFI != NULL)\r\n      lstrcpy(pDocBucket->lpszFI, lpszFileIcon);\r\n\r\n   ppDocBucket[iBucket] = pDocBucket;\r\n\r\n   return 1;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DocFind\r\n//\r\n// Synopsis: Finds if lpszExt is a document\r\n//\r\n// INC       pDocBucket  -- Structure to search\r\n// INC       lpszExt     -- Ext to check\r\n//\r\n// Return:   pDocBucket, if found,\r\n//           NULL if not.\r\n//\r\n// Assumes:  Properly formed ext, no leading dot.\r\n//\r\n// Effects:  Nothing\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nPDOCBUCKET\r\nDocFind(PPDOCBUCKET ppDocBucket, LPTSTR lpszExt)\r\n{\r\n   PDOCBUCKET pDocBucket;\r\n   TCHAR szExt[EXTSIZ];\r\n\r\n   //\r\n   // Disallow long exts; if invalid ppDocBucket, fail\r\n   //\r\n   if (lstrlen(lpszExt) >= EXTSIZ || !ppDocBucket)\r\n      return FALSE;\r\n\r\n   lstrcpy(szExt, lpszExt);\r\n\r\n   CharLower(szExt);\r\n   RemoveEndQuote(szExt);\r\n\r\n   for (pDocBucket=ppDocBucket[DOCHASHFUNC(szExt)]; pDocBucket; pDocBucket = pDocBucket->next) {\r\n\r\n      if (!lstrcmp(pDocBucket->szExt, szExt)) {\r\n\r\n         return pDocBucket;\r\n      }\r\n   }\r\n\r\n   return NULL;\r\n}\r\n\r\n\r\n\r\nHICON DocGetIcon(PDOCBUCKET pDocBucket)\r\n{\r\n   if (pDocBucket == NULL)\r\n      return NULL;\r\n\r\n   if (pDocBucket->hIcon == NULL && pDocBucket->lpszFI != NULL)\r\n   {\r\n      TCHAR *pchT = wcsrchr(pDocBucket->lpszFI, ',');\r\n\r\n      if (pchT != NULL)\r\n      {\r\n          INT index = atoi(pchT+1);\r\n          HICON hIcon;\r\n\r\n          *pchT = '\\0';\r\n          if (ExtractIconEx(pDocBucket->lpszFI, index, NULL, &hIcon, 1) == 1)\r\n             pDocBucket->hIcon = hIcon;\r\n      }\r\n   }\r\n   return pDocBucket->hIcon;\r\n}\r\n\r\n\r\n#ifdef DOCENUM\r\n\r\n//\r\n// Enumeration routines for DOCs\r\n//\r\n// On if DOCENUM is defined.  Currently not used.\r\n//\r\nstruct _DOC_ENUM {\r\n   PPDOCBUCKET ppDocBucketBase;\r\n   INT iCurChain;\r\n   PDOCBUCKET pDocBucketCur;\r\n};\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DocOpenEnum\r\n//\r\n// Synopsis: Enumerates all items in the doc struct\r\n//\r\n// INC       ppDocBucket -- ppDocBucket to traverse\r\n//\r\n//\r\n//\r\n// Return:   PDOCENUM, NULL if fail\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nPDOCENUM\r\nDocOpenEnum(PPDOCBUCKET ppDocBucket)\r\n{\r\n   PDOCENUM pDocEnum;\r\n\r\n   pDocEnum = LocalAlloc(LMEM_FIXED, sizeof(DOCENUM));\r\n\r\n   if (!pDocEnum)\r\n      return NULL;\r\n\r\n   pDocEnum->ppDocBucketBase = ppDocBucket;\r\n   pDocEnum->iCurChain = 0;\r\n   pDocEnum->pDocBucketCur = *ppDocBucket;\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DocEnum\r\n//\r\n// Synopsis: Enumerates the pDocEnum structure\r\n//\r\n// IN        pDocEnum\r\n// OUT       phIcon\r\n//\r\n// Return:   szExt\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nLPTSTR\r\nDocEnum(PDOCENUM pDocEnum, PHICON phIcon)\r\n{\r\n   LPTSTR pszExt;\r\n\r\n   while (!pDocEnum->pDocBucketCur) {\r\n\r\n      pDocEnum->iCurChain++;\r\n\r\n      //\r\n      // Check if last chain\r\n      //\r\n      if (DOCBUCKETMAX == pDocEnum->iCurChain) {\r\n         pDocEnum->pDocBucketCur = NULL;\r\n         return NULL;\r\n      }\r\n\r\n      pDocEnum->pDocBucketCur = pDocEnum->ppDocBucketBase[pDocEnum->iCurChain];\r\n   }\r\n\r\n   *phIcon = pDocEnum->pDocBucketCur->hIcon;\r\n   pszExt = pDocEnum->pDocBucketCur->szExt;\r\n\r\n   //\r\n   // Now update to the next one\r\n   //\r\n   pDocEnum->pDocBucketCur =  pDocEnum->pDocBucketCur->next;\r\n\r\n\r\n   return pszExt;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     DocCloseEnum\r\n//\r\n// Synopsis: Closes enumeration\r\n//\r\n// IN        pDocEnum\r\n//\r\n// Return:\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nDocCloseEnum(PDOCENUM pDocEnum)\r\n{\r\n   LocalFree(pDocEnum);\r\n}\r\n#endif\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Update Implementation\r\n//\r\n// Handle background updates for quicker response\r\n//\r\n// Basic Strategy: Do a partial update on the current aDriveInfo and related\r\n// variables.  Signal the main thread, then update all information in the\r\n// aDriveInfo structure.  When this is completed, send a message to the\r\n// main thread (stable sync time) to update everyone.\r\n//\r\n// ** NOTE **  Update and aDriveInfo data is provided only for the main\r\n//             thread.  All other threads must synchronize on their own.\r\n//\r\n// Assume that:\r\n//\r\n// 1. WNetOpenEnum(), WNetEnumResource() are slow [finding remembered drives]\r\n// 2. WNetGetConnection2(), WNetFormatNetworkName() are slow [share names]\r\n// 3. GetDriveType() is fast.\r\n//\r\n// The worker thread waits for hEventUpdate, then:\r\n//\r\n// 1. Calls GetDriveType() on all drives.\r\n// 2. Updates cDrives, rgiDrive[]\r\n// 3. Turn on bUpdating in all drives.\r\n//\r\n// 4. Sets hEventUpdatePartial\r\n//    This allows the main thread to continue processing, since we are at a\r\n//    clean state.\r\n//\r\n// 5. Get remembered connections\r\n//    (WNetEnumResource)\r\n//\r\n// 6. Send a message to main thread to update the drive bar\r\n//    FS_UPDATEDRIVETYPECOMPLETE\r\n//\r\n// 7. Update aDriveInfo\r\n//    (WNetGetConnection2, WNetFormatNetworkName)\r\n//    Since bUpdating is TRUE, the network info is safe to update.\r\n//\r\n// 8. Update phantom rgiDrive[]\r\n//\r\n//    As soon as a drive is completely read, flip bUpdating off for that drive.\r\n//\r\n// 9. Send a message to the main thread to update everything\r\n//    In the send message, phantom and real rgiDrive are swapped.\r\n//    FS_UPDATEDRIVELISTCOMPLETE\r\n//\r\n// A. Clear hEventUpdate.  Do this last to prevent setting while in above steps.\r\n// B. Couldn't see its shadow, go back to sleep.\r\n//\r\n//\r\n// Callee responsibility sequence (main thread):\r\n//\r\n// 1. Call UpdateDriveList()\r\n//\r\n// ... continue processing, stable state.\r\n//\r\n//\r\n// Any conflicts of U_{Type, Space, VolInfo}(drive) called with the same\r\n// drive but from different threads won't be a problem since:\r\n//\r\n// 1. Slow work goes to temporary stack space\r\n//\r\n// 2. Critical sections guarantee single update; lagging thread discards\r\n//    its information instead of modifying state.\r\n//\r\n// 3. It is assumed that all threads will attempt U_ before using info.\r\n//\r\n// This technique isn't used for share name reads.  Instead a guard bit\r\n// is used (bUpdating), since this is a common slow case.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     UpdateInit\r\n//\r\n// Synopsis: Handles update worker thread\r\n//\r\n// IN        VOID\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:  cDrives\r\n//           aDriveInfo\r\n//\r\n//\r\n// Notes:    Until hEventUpdatePartial, no one can access:\r\n//           cDrives, aDriveInfo.\r\n//\r\n//           This is guaranteed to be synchronous with the main thread.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nDWORD\r\nWINAPI\r\nUpdateInit(PVOID ThreadParameter)\r\n{\r\n   INT cDrivesTmp;\r\n\r\n   while (bUpdateRun) {\r\n\r\n      WaitForSingleObject(hEventUpdate, INFINITE);\r\n\r\n      if (!bUpdateRun)\r\n         break;\r\n\r\n      if (!WAITNET_LOADED) {\r\n\r\n         if (!NetLoad()) {\r\n\r\n            //\r\n            // Do something friendly here before we quit!\r\n            //\r\n            LoadFailMessage();\r\n\r\n            ExitProcess(1);\r\n         }\r\n         SetThreadPriority(GetCurrentThread(),THREAD_PRIORITY_BELOW_NORMAL);\r\n\r\n      } else {\r\n\r\n         //\r\n         // ResetDriveInfo called much earlier in main thread in\r\n         // InitFileManager.\r\n         //\r\n         ResetDriveInfo();\r\n         SetEvent(hEventUpdatePartial);\r\n      }\r\n\r\n      cDrivesTmp = UpdateDriveListWorker();\r\n\r\n      PostMessage(hwndFrame, FS_UPDATEDRIVELISTCOMPLETE, cDrivesTmp, 0L);\r\n\r\n      //\r\n      // We must protect hEventUpdate{,Partial} to prevent deadlock.\r\n      //\r\n      // Possible scenario w/o CriticalSectionUpdate:\r\n      //\r\n      // Main:                         Worker:\r\n      // Set hEventUpdate\r\n      //                               Reset hEventUpdate\r\n      //                               Reset hEventUpdatePartial\r\n      // Wait hEventUpdatePartial\r\n      //\r\n      // Worker never wakes up since hEventUpdate is reset.\r\n      //\r\n      EnterCriticalSection(&CriticalSectionUpdate);\r\n      ResetEvent(hEventUpdate);\r\n      ResetEvent(hEventUpdatePartial);\r\n      LeaveCriticalSection(&CriticalSectionUpdate);\r\n\r\n   }\r\n\r\n   return  0;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     UpdateDriveListWorker\r\n//\r\n// Synopsis: Updates the drive information for worker thread.\r\n//\r\n// IN        VOID\r\n//\r\n// Return:   new cDrives value\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:  Fills rgiDrives[]\r\n//           aDriveInfo updated\r\n//           cDrives updated\r\n//\r\n//\r\n// Notes:    Also checks for remembered connections\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n#define BUF_SIZ 0x4000      // 16k buffer\r\n\r\nINT\r\nUpdateDriveListWorker(VOID)\r\n{\r\n   INT cRealDrives = 0;\r\n   INT i;\r\n   HANDLE hEnum;\r\n   LPTCH pcBuf;       // 16k buffer.  blech.\r\n   DWORD dwEntries;\r\n   DRIVE drive;\r\n   DWORD dwBufSiz = BUF_SIZ;\r\n   BOOL bCheckEnum = FALSE;\r\n   DWORD dwLen, dwLen2;\r\n   PDRIVEINFO pDriveInfo;\r\n   LPTCH pcBufT;\r\n\r\n#define bFirst TRUE\r\n\r\n   BOOL bOpenEnumSucceed = FALSE;\r\n   DWORD dwDrivesRemembered = 0;\r\n\r\n   INT iUpdatePhantom = iUpdateReal ^ 1;\r\n\r\n   hEnum = NULL;\r\n\r\n\r\n   //\r\n   // GetLogicalDrives simply calls GetDriveType,\r\n   // so just do that here since we need to do it later\r\n   // anyway.\r\n   //\r\n\r\n   //\r\n   // !! NOTE !!\r\n   // This really should be IsValidDisk(drive), but this macro\r\n   // is faster.\r\n   //\r\n#define VALIDDRIVE(drive)                               \\\r\n   ( (aDriveInfo[drive].uType != DRIVE_UNKNOWN) &&      \\\r\n     (aDriveInfo[drive].uType != DRIVE_NO_ROOT_DIR) )\r\n\r\n   // Now toss in a few remote drives\r\n\r\n   // Initialize enumeration for all remembered disks that\r\n   // are connectable of any type.\r\n\r\n   // New \"if\" added if not connected, don't show remembered!\r\n   // No else clause needed since defaults to no remembered connections.\r\n\r\n   //\r\n   // bFirst static added  (Always TRUE)\r\n   //\r\n   if (bFirst && WAITNET_LOADED) {\r\n\r\n      pcBuf = (LPTCH) LocalAlloc(LPTR, ByteCountOf(BUF_SIZ));\r\n\r\n      if (pcBuf) {\r\n\r\n         if (NO_ERROR == WNetOpenEnum(RESOURCE_REMEMBERED,\r\n            RESOURCETYPE_DISK, RESOURCEUSAGE_CONNECTABLE,NULL,&hEnum)) {\r\n\r\n            bOpenEnumSucceed = TRUE;\r\n\r\n            // Enumerate all the resources.\r\n            // take no prisoners or error messages.\r\n            // BONK!  Fix this in the future.\r\n\r\nEnumRetry:\r\n            // Get all entries\r\n            dwEntries = 0xffffffff;\r\n\r\n            switch (WNetEnumResource(hEnum, &dwEntries, pcBuf, &dwBufSiz)) {\r\n\r\n            case NO_ERROR:\r\n\r\n               // Yes, we have no error so allow the next loop to\r\n               // check the pcBuf for remembered connections.\r\n\r\n               bCheckEnum = TRUE;\r\n\r\n               // Setup Bitfield for remembered connections\r\n               for (i = 0; i < (INT)dwEntries; i++) {\r\n\r\n                  // Check if lpLocalName is non-NULL\r\n\r\n                  if ( ((LPNETRESOURCE) pcBuf)[i].lpLocalName ) {\r\n\r\n                     //\r\n                     // Make sure this is a drive letter\r\n                     //\r\n\r\n                     if (((LPNETRESOURCE) pcBuf)[i].lpLocalName[1] != CHAR_COLON)\r\n                        continue;\r\n\r\n                     drive = (((LPNETRESOURCE) pcBuf)[i].lpLocalName[0] & 0x001f) - 1;\r\n\r\n                     //\r\n                     // If this is also an active drive, it isn't\r\n                     // a remembered drive; continue\r\n                     //\r\n\r\n                     if (VALIDDRIVE(drive))\r\n                        continue;\r\n\r\n                     dwDrivesRemembered |= (1 << drive);\r\n\r\n                     pDriveInfo = &aDriveInfo[drive];\r\n\r\n                     //\r\n                     // Free buffer if used\r\n                     //\r\n                     if (pDriveInfo->lpConnectInfo)\r\n                        LocalFree((HLOCAL)pDriveInfo->lpConnectInfo);\r\n\r\n                     //\r\n                     // To avoid redundancy and preserve persistent connection\r\n                     // remote names when LanmanWorkstation stops, we\r\n                     // save the names enumerated here.\r\n                     //\r\n                     dwLen = lstrlen( ((LPNETRESOURCE) pcBuf)[i].lpRemoteName) + 1;\r\n                     dwLen2 = lstrlen( ((LPNETRESOURCE) pcBuf)[i].lpProvider) + 1;\r\n\r\n                     pDriveInfo->dwConnectInfoMax = ByteCountOf(dwLen + dwLen2) +\r\n                        sizeof(WNET_CONNECTIONINFO);\r\n\r\n\r\n                     pDriveInfo->lpConnectInfo =\r\n                        (LPWNET_CONNECTIONINFO) LocalAlloc(LPTR, pDriveInfo->dwConnectInfoMax);\r\n\r\n                     //\r\n                     // Memory error handling\r\n                     //\r\n                     if (!pDriveInfo->lpConnectInfo) {\r\n                        C_NetCon(drive, ERROR_NOT_ENOUGH_MEMORY);\r\n                        continue;\r\n                     }\r\n\r\n\r\n                     //\r\n                     // setup fake ConnectInfo structure\r\n                     //\r\n                     // NOTE: ConnectInfo assumed WORD aligned when this\r\n                     // thing goes UNICODE: (which it coincidentally is)\r\n                     //\r\n                     // LATER: WORDUP sizeof ConnectInfo to prevent\r\n                     // misalignment on MIPS.\r\n                     //\r\n\r\n                     pDriveInfo->lpConnectInfo->lpRemoteName = (LPTSTR)\r\n                        (((LPBYTE)pDriveInfo->lpConnectInfo) +\r\n                        sizeof(WNET_CONNECTIONINFO));\r\n\r\n                     lstrcpy(pDriveInfo->lpConnectInfo->lpRemoteName,\r\n                        ((LPNETRESOURCE) pcBuf)[i].lpRemoteName);\r\n\r\n                     pDriveInfo->lpConnectInfo->lpProvider =\r\n                        pDriveInfo->lpConnectInfo->lpRemoteName + dwLen;\r\n\r\n                     lstrcpy(pDriveInfo->lpConnectInfo->lpProvider,\r\n                        ((LPNETRESOURCE) pcBuf)[i].lpProvider);\r\n\r\n                     //\r\n                     // Now get the multiline and short names\r\n                     //\r\n\r\n                     NetCon_UpdateAltName(drive, ERROR_SUCCESS);\r\n                  }\r\n               }\r\n\r\n\r\n               // Must continue til ERROR_NO_MORE_ITEMS\r\n               goto EnumRetry;\r\n\r\n            case ERROR_MORE_DATA:\r\n\r\n               // Buffer is too small; realloc with bigger buffer\r\n               dwBufSiz += BUF_SIZ;\r\n\r\n               pcBufT = pcBuf;\r\n               pcBuf = (LPTCH) LocalReAlloc((HLOCAL)pcBuf, ByteCountOf(dwBufSiz), LMEM_MOVEABLE);\r\n\r\n               // Only retry if pcBuf is successfully reallocated.\r\n               // If it wasn't, then just fall through since\r\n               // bCheckEnum is defaulted false and we won't use pcBuf.\r\n\r\n               if (pcBuf)\r\n                  goto EnumRetry;\r\n\r\n               // Failed memory allocation, free pcBufT\r\n               LocalFree((HLOCAL)pcBufT);\r\n\r\n            case ERROR_NO_MORE_ITEMS:\r\n               break;\r\n\r\n            default:\r\n               break;\r\n            }\r\n         }\r\n      }\r\n\r\n\r\n   } else {\r\n\r\n      // Set pcBuf to Null so we don't free it below\r\n      pcBuf = NULL;\r\n   }\r\n\r\n\r\n   // In this else case (Not connected to net), don't use pcBuf below\r\n   // bCheckEnum defaults to FALSE;\r\n\r\n   for (i = 0, pDriveInfo = &aDriveInfo[0];\r\n        i < MAX_DRIVES;\r\n        i++, pDriveInfo++)\r\n   {\r\n      //\r\n      // Take only active drives--ignore remembered ones.\r\n      // This is ok since UpdateInit calls ResetDriveInfo which\r\n      // turns off bRemembered for real drives.\r\n      //\r\n      if (VALIDDRIVE(i) && !pDriveInfo->bRemembered) {\r\n         rgiDriveReal[iUpdatePhantom][cRealDrives++] = i;\r\n\r\n         R_NetCon(i);\r\n\r\n         //\r\n         // Force a refresh\r\n         //\r\n         // No need for Type; done above.\r\n         //\r\n\r\n      } else if (bCheckEnum && (1 << i) & dwDrivesRemembered) {\r\n\r\n         //\r\n         // This handles remembered connections that don't already exist.\r\n         //\r\n\r\n         // if the enumerator successed (bCheckEnum)\r\n         // and there are entries remaining, check for drives remembered.\r\n\r\n         // Since we must do things in order (rgiDrive must hold\r\n         // drive sequentially, from a-z), plop in our enumerated ones\r\n         // only when they are next.\r\n\r\n         rgiDriveReal[iUpdatePhantom][cRealDrives++] = i;\r\n\r\n         pDriveInfo->bRemembered = TRUE;\r\n         pDriveInfo->uType =  DRIVE_REMOTE;\r\n         pDriveInfo->iOffset = GetDriveOffset(i);\r\n\r\n         C_Type(i, ERROR_SUCCESS);\r\n         C_NetCon(i, ERROR_CONNECTION_UNAVAIL);\r\n\r\n      } else {\r\n\r\n         //\r\n         // No need for Type; done above.\r\n         //\r\n         I_NetCon(i);      // Invalidate NetCon!\r\n\r\n         //\r\n         // No longer remembered, either.  We must clear this out because\r\n         // during the first phase of updates, we pretend that this bit\r\n         // is valid since it doesn't change much.\r\n         //\r\n         pDriveInfo->bRemembered = FALSE;\r\n      }\r\n\r\n      //\r\n      // Now the drive is in a safe state.\r\n      //\r\n   }\r\n\r\n   // Clear out other drives\r\n\r\n   for (i=cRealDrives; i < MAX_DRIVES; i++) {\r\n      rgiDriveReal[iUpdatePhantom][i] = 0;\r\n   }\r\n\r\n   if (bOpenEnumSucceed) {\r\n      WNetCloseEnum(hEnum);\r\n   }\r\n\r\n   if (pcBuf) {\r\n      LocalFree((HANDLE)pcBuf);\r\n   }\r\n\r\n\r\n   PostMessage(hwndFrame, FS_UPDATEDRIVETYPECOMPLETE, (WPARAM)cRealDrives, 0L);\r\n\r\n   //\r\n   // Now go through and update all the VolInfo/NetCon stuff\r\n   //\r\n   for (i = 0; i < cRealDrives; i++) {\r\n\r\n      drive = rgiDriveReal[iUpdatePhantom][i];\r\n\r\n      if (IsRemoteDrive(drive)) {\r\n\r\n         U_NetCon(drive);\r\n         aDriveInfo[drive].bUpdating = FALSE;\r\n\r\n      } else {\r\n\r\n         if (!IsRemovableDrive(drive) && !IsCDRomDrive(drive)) {\r\n\r\n            U_VolInfo(drive);\r\n         }\r\n      }\r\n   }\r\n\r\n   return cRealDrives;\r\n\r\n#undef BUF_SIZ\r\n#undef VALIDDRIVE\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     WFGetConnection\r\n//\r\n// Synopsis: gets connection information including disconnected drives.\r\n//\r\n// INC   drive           Drive # to look up\r\n// INC   bConvertClosed  BOOL   FALSE => convert closed/err drives ret SUCCESS\r\n// OUTC  ppPath          LPTSTR* Net name; user must NOT free!\r\n//                       ppPath[-4] .. ppPath[-1] ARE valid!\r\n//                       ppPath may be NULL!\r\n// INC   dwType          Format of Net Con string (valid for net con only)\r\n//           ALTNAME_MULTI:   multiline format, header valid\r\n//           ALTNAME_SHORT:   short format, header valid\r\n//           ALTNAME_REG:     standard default, header INVALID\r\n//\r\n// Returns:  ERROR_*     error code\r\n//           DE_REGNAME  Regname returned when ALTNAME requested.\r\n//\r\n// Assumes:  If second char is colon (':'), assumes first char is a valid\r\n//           drive letter ([A-Z]).\r\n//\r\n//           drive is a network drive\r\n//\r\n// Effects:  aDriveInfo NetCon cache\r\n//\r\n//\r\n// Notes:    Callee must not free or modify returned buffer. ***  BUT  ***\r\n//           they can modify ppPath[-4] .. ppPath[-1] inclusive if\r\n//           called with any style other than ALTNAME_REG for Networks.\r\n//\r\n//           Header is only valid if return value is 0 and not ALTNAME_REG!!!\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nDWORD\r\nWFGetConnection(DRIVE drive, LPTSTR* ppPath, BOOL bConvertClosed, DWORD dwType)\r\n{\r\n   DWORD dwRetVal;\r\n   BOOL bConverted = FALSE;\r\n\r\n   //\r\n   // If bUpdating, skip the U_NetCon for speed.\r\n   //\r\n   if (!aDriveInfo[drive].bUpdating) {\r\n      U_NetCon(drive);\r\n   }\r\n\r\n   //\r\n   // Get the status of the main network name.\r\n   //\r\n   dwRetVal = GETRETVAL(NetCon,drive);\r\n\r\n   //\r\n   // Convert error codes here\r\n   //\r\n   // ERROR_NO_NETWORK         -> ERROR_NOT_CONNECTED\r\n   // ERROR_CONNECTION_UNAVAIL -> remembered\r\n   //\r\n   if (dwRetVal == ERROR_NO_NETWORK) {\r\n      dwRetVal = ERROR_NOT_CONNECTED;\r\n   } else {\r\n\r\n      if (!bConvertClosed) {\r\n         if (dwRetVal == ERROR_CONNECTION_UNAVAIL &&\r\n            aDriveInfo[drive].bRemembered) {\r\n\r\n            //\r\n            // Since bRemembered is set, we know that the string\r\n            // is valid since it was successfully allocated in\r\n            // UpdateDriveListWorker().\r\n            //\r\n            dwRetVal = ERROR_SUCCESS;\r\n            bConverted = TRUE;\r\n         }\r\n      }\r\n   }\r\n\r\n   //\r\n   // Check if we want to return a share name\r\n   //\r\n   if (ppPath) {\r\n\r\n      //\r\n      // If updating, return error updating.\r\n      //\r\n      if (aDriveInfo[drive].bUpdating) {\r\n\r\n         return DE_UPDATING;\r\n      }\r\n\r\n      //\r\n      // Check if we want an altname.\r\n      //\r\n      if (dwType < MAX_ALTNAME) {\r\n\r\n         if (aDriveInfo[drive].dwAltNameError) {\r\n\r\n            //\r\n            // We had an error, check if main name is ok\r\n            //\r\n            if (!dwRetVal) {\r\n\r\n               //\r\n               // Yes, return the main name with an error.\r\n               //\r\n               dwRetVal = DE_REGNAME;\r\n               goto UseRegName;\r\n            }\r\n\r\n            //\r\n            // Return this error code\r\n            //\r\n            dwRetVal = aDriveInfo[drive].dwAltNameError;\r\n\r\n         } else {\r\n\r\n            *ppPath = aDriveInfo[drive].lpszRemoteNameMinusFour[dwType] +\r\n               DRIVE_INFO_NAME_HEADER;\r\n         }\r\n\r\n      } else {\r\n\r\n         //\r\n         // We want to use the regular name.\r\n         //\r\n         if (!dwRetVal) {\r\n\r\n            //\r\n            // No error occurred, this is ok.\r\n            //\r\nUseRegName:\r\n            *ppPath = aDriveInfo[drive].lpConnectInfo->lpRemoteName;\r\n         }\r\n      }\r\n   }\r\n   return dwRetVal;\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     UpdateDriveListComplete\r\n//\r\n// Synopsis: Worker thread read completed, update everything.\r\n//\r\n// IN        VOID\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:  We are called via a SendMessage from the worker thread\r\n//           to hwndFrame.  This ensures that we are in a safe state\r\n//           for updating.\r\n//\r\n//           bUpdating for everyone is off\r\n//\r\n//           iUpdateReal has been updated\r\n//\r\n// Effects:  TBC\r\n//\r\n//\r\n// Notes:    UpdateConnections should already close any open windows for\r\n//           quick response time based on rgiDriveType.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nUpdateDriveListComplete(VOID)\r\n{\r\n   HWND hwnd, hwndNext;\r\n   DRIVE drive;\r\n   DRIVEIND driveInd;\r\n   INT CurSel;\r\n   TCHAR szPath[2*MAXPATHLEN];\r\n   LPTSTR lpszVol, lpszOldVol;\r\n\r\n   for (hwnd = GetWindow(hwndMDIClient, GW_CHILD); hwnd; hwnd = hwndNext) {\r\n\r\n      hwndNext = GetWindow(hwnd, GW_HWNDNEXT);\r\n\r\n      // ignore the titles and search window\r\n      if (GetWindow(hwnd, GW_OWNER) || hwnd == hwndSearch)\r\n         continue;\r\n\r\n      drive = (DRIVE)GetWindowLongPtr(hwnd, GWL_TYPE);\r\n\r\n      //\r\n      // Invalidate cache to get real one in case the user reconnected\r\n      // d: from \\\\popcorn\\public to \\\\rastaman\\ntwin\r\n      //\r\n      // Previously used MDI window title to determine if the volume\r\n      // has changed.  Now we will just check DriveInfo structure\r\n      // (bypass status bits).\r\n      //\r\n\r\n      //\r\n      // Now only do this for remote drives!\r\n      //\r\n\r\n      if (IsRemoteDrive(drive)) {\r\n\r\n         if (!WFGetConnection(drive, &lpszVol, FALSE, ALTNAME_REG)) {\r\n            lpszOldVol = (LPTSTR) GetWindowLongPtr(hwnd, GWL_VOLNAME);\r\n\r\n            if (lpszOldVol && lpszVol) {\r\n\r\n               if (lstrcmpi(lpszVol, lpszOldVol)) {\r\n\r\n                  //\r\n                  // Share has changed, refresh.\r\n                  // Don't call UpdateDriveList... we just did that!\r\n                  //\r\n                  RefreshWindow(hwnd, FALSE, FALSE);\r\n\r\n                  continue;\r\n               }\r\n            }\r\n         }\r\n\r\n         //\r\n         // Just update drive window title\r\n         //\r\n\r\n         GetMDIWindowText(hwnd, szPath, COUNTOF(szPath));\r\n         SetMDIWindowText(hwnd, szPath);\r\n      }\r\n   }\r\n\r\n   //\r\n   // Redo all of the drives.\r\n   //\r\n   if (hwndDriveList)\r\n   {\r\n       SendMessage(hwndDriveList, WM_SETREDRAW, FALSE, 0);\r\n       CurSel = (INT)SendMessage(hwndDriveList, CB_GETCURSEL, 0, 0);\r\n       for (driveInd = 0; driveInd < cDrives; driveInd++)\r\n       {\r\n           if (aDriveInfo[rgiDrive[driveInd]].dwLines[ALTNAME_MULTI] != 1)\r\n           {\r\n              SendMessage(hwndDriveList, CB_DELETESTRING, driveInd, 0);\r\n              SendMessage(hwndDriveList, CB_INSERTSTRING, driveInd, rgiDrive[driveInd]);\r\n           }\r\n       }\r\n       SendMessage(hwndDriveList, CB_SETCURSEL, CurSel, 0);\r\n       SendMessage(hwndDriveList, WM_SETREDRAW, TRUE, 0);\r\n\r\n       InvalidateRect(hwndDriveList, NULL, TRUE);\r\n       UpdateWindow(hwndDriveList);\r\n   }\r\n}\r\n\r\n\r\nVOID\r\nUpdateDriveList(VOID)\r\n{\r\n   if (!WAITNET_LOADED)\r\n      return;\r\n\r\n   EnterCriticalSection(&CriticalSectionUpdate);\r\n\r\n   SetEvent(hEventUpdate);\r\n   WaitForSingleObject(hEventUpdatePartial, INFINITE);\r\n\r\n   LeaveCriticalSection(&CriticalSectionUpdate);\r\n}\r\n\r\n\r\nVOID\r\nUpdateWaitQuit(VOID)\r\n{\r\n   bUpdateRun = FALSE;\r\n\r\n   EnterCriticalSection(&CriticalSectionUpdate);\r\n   SetEvent(hEventUpdate);\r\n   LeaveCriticalSection(&CriticalSectionUpdate);\r\n\r\n   WaitForSingleObject(hThreadUpdate, INFINITE);\r\n}\r\n\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n//  Background net stuff.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     NetLoad\r\n//\r\n// Synopsis: Loads the net after initfilemanager is called.\r\n//\r\n// IN        VOID\r\n//\r\n// Return:   BOOL  T/F success/fail\r\n//\r\n//\r\n// Assumes:  hEventWaitNet initialized\r\n//\r\n// Effects:  hEventNetLoad set when done\r\n//           bNetShareLoad set when done\r\n//           bNetTypeLoad set when done\r\n//           bNetLoad set when done\r\n//\r\n//           Updates screen after calling WNetGetDirectoryType on all\r\n//           windows (before bNetTypeLoad set).\r\n//\r\n// Notes:    Calls InitMenus to load extensions after net loads.\r\n//           We _cannot_ do any SendMessages here!\r\n//\r\n//           ** This code must not do any synchronous calls to\r\n//           ** the main thread (including SendMessages).  The\r\n//           ** main thread may be waiting on one of the events that\r\n//           ** we set here!\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nNetLoad(VOID)\r\n{\r\n   HMENU hMenuFrame;\r\n   FMS_LOAD ls;\r\n   const WORD bias = (IDM_SECURITY + 1) * 100;\r\n\r\n   HWND hwnd, hwndT;\r\n   DWORD dwType;\r\n   DRIVE drive;\r\n\r\n   TCHAR szPath[] = SZ_ACOLONSLASH;\r\n\r\n   if (WNetStat(NS_CONNECT))  {\r\n      hMPR = LoadSystemLibrary(MPR_DLL);\r\n\r\n      if (!hMPR)\r\n         return FALSE;\r\n\r\n\r\n      //\r\n      // This is used to reduce typing.\r\n      // Each function (e.g. Foo) has three things:\r\n      //\r\n      // lpfnFoo                  pointer to function\r\n      // NETWORK_Foo              name for GetProcAddress\r\n      // #define Foo (*lpfnFoo)   make it transparent\r\n      //\r\n\r\n#define GET_PROC(x) \\\r\n      if (!(lpfn##x = (PVOID) GetProcAddress(hMPR,NETWORK_##x))) \\\r\n         return FALSE\r\n\r\n      GET_PROC(WNetCloseEnum);\r\n      GET_PROC(WNetConnectionDialog2);\r\n      GET_PROC(WNetDisconnectDialog2);\r\n\r\n      GET_PROC(WNetEnumResourceW);\r\n      GET_PROC(WNetGetConnection2W);\r\n      GET_PROC(WNetGetDirectoryTypeW);\r\n      GET_PROC(WNetGetLastErrorW);\r\n      GET_PROC(WNetGetPropertyTextW);\r\n      GET_PROC(WNetOpenEnumW);\r\n      GET_PROC(WNetPropertyDialogW);\r\n      GET_PROC(WNetFormatNetworkNameW);\r\n\r\n      if ((lpfnWNetRestoreSingleConnectionW = (PVOID) GetProcAddress(hMPR,\"WNetRestoreSingleConnectionW\")) == NULL)\r\n      {\r\n         GET_PROC(WNetRestoreConnectionW);\r\n      }\r\n\r\n#ifdef NETCHECK\r\n      GET_PROC(WNetDirectoryNotifyW);\r\n#endif\r\n\r\n#undef GET_PROC\r\n\r\n      bNetLoad = TRUE;\r\n   }\r\n\r\n   if (WNetStat(NS_SHAREDLG)) {\r\n\r\n      hNtshrui = LoadSystemLibrary(NTSHRUI_DLL);\r\n\r\n      if (hNtshrui) {\r\n         lpfnShowShareFolderUI = (PVOID)GetProcAddress(hNtshrui, \"ShowShareFolderUI\");\r\n         if (lpfnShowShareFolderUI)\r\n            PostMessage(hwndToolbar, TB_ENABLEBUTTON, IDM_SHAREAS, TRUE);\r\n         else {\r\n\r\n            PostMessage(hwndToolbar, TB_ENABLEBUTTON, IDM_SHAREAS, FALSE);\r\n            EnableMenuItem(GetMenu(hwndFrame), IDM_SHAREAS, MF_BYCOMMAND | MF_GRAYED);\r\n         }\r\n\r\n         //\r\n         // If bNetShareLoad is FALSE, then we know that the share stuff\r\n         // is not available.  Therefore, we won't try to use\r\n         // WNetGetDirectoryType below, which leaves bNetTypeLoad FALSE,\r\n         // which prevents future use of WNetGetDirectoryType.\r\n         //\r\n         bNetShareLoad = TRUE;\r\n\r\n         PostMessage(hwndToolbar, TB_ENABLEBUTTON, IDM_STOPSHARE, FALSE);\r\n         EnableMenuItem(GetMenu(hwndFrame), IDM_STOPSHARE, MF_BYCOMMAND | MF_GRAYED);\r\n      }\r\n\r\n   }\r\n\r\n   SetEvent(hEventNetLoad);\r\n   bNetDone = TRUE;\r\n\r\n   //\r\n   // Try loading acledit.  If we fail, then gray out the button and\r\n   // remove the popup menu.\r\n   //\r\n   hAcledit = LoadSystemLibrary(ACLEDIT_DLL);\r\n\r\n   hMenuFrame = GetMenu(hwndFrame);\r\n\r\n   if (hAcledit) {\r\n\r\n      lpfnAcledit = (FM_EXT_PROC) GetProcAddress(hAcledit, FM_EXT_PROC_ENTRYW);\r\n      if (!lpfnAcledit)\r\n         lpfnAcledit = (FM_EXT_PROC) GetProcAddress(hAcledit, FM_EXT_PROC_ENTRYA);\r\n\r\n      ls.wMenuDelta = bias;\r\n      ls.hMenu = GetSubMenu(hMenuFrame, IDM_SECURITY);\r\n\r\n      if (!lpfnAcledit ||\r\n         !(*lpfnAcledit)(hwndFrame, FMEVENT_LOAD, (LPARAM)(LPFMS_LOAD)&ls)) {\r\n\r\n         FreeLibrary(hAcledit);\r\n\r\n         lpfnAcledit = NULL;\r\n      }\r\n   }\r\n\r\n   if (!lpfnAcledit) {\r\n\r\n      DeleteMenu(hMenuFrame, MapIDMToMenuPos(IDM_SECURITY), MF_BYPOSITION);\r\n      bSecMenuDeleted = TRUE;\r\n      DrawMenuBar(hwndFrame);\r\n\r\n      PostMessage(hwndToolbar, TB_ENABLEBUTTON, IDM_PERMISSIONS, FALSE);\r\n   }\r\n\r\n   SetEvent(hEventAcledit);\r\n   bNetAcleditDone = TRUE;\r\n\r\n   //\r\n   // We need to check both, since this is a sharing thing,\r\n   // but the api is in network.\r\n   //\r\n   if (bNetShareLoad && bNetLoad) {\r\n\r\n      //\r\n      // Now go through and call WNetGetDirectoryType for all windows\r\n      // to pre-cache this info without stalling the user.\r\n      //\r\n\r\n      for (hwnd = GetWindow(hwndMDIClient, GW_CHILD); hwnd; hwnd = GetWindow(hwnd, GW_HWNDNEXT)) {\r\n\r\n         if (hwnd != hwndSearch && !GetWindow(hwnd, GW_OWNER)) {\r\n\r\n            drive = (DRIVE)GetWindowLongPtr(hwnd, GWL_TYPE);\r\n            DRIVESET(szPath, drive);\r\n\r\n            if (!aDriveInfo[drive].bShareChkTried  &&\r\n               WN_SUCCESS != WNetGetDirectoryType(szPath, &dwType, TRUE)) {\r\n\r\n               aDriveInfo[drive].bShareChkFail = TRUE;\r\n            }\r\n\r\n            aDriveInfo[drive].bShareChkTried = TRUE;\r\n         }\r\n      }\r\n\r\n      bNetTypeLoad = TRUE;\r\n\r\n      for (hwnd = GetWindow(hwndMDIClient, GW_CHILD); hwnd; hwnd = GetWindow(hwnd, GW_HWNDNEXT)) {\r\n\r\n         if (hwnd != hwndSearch && !GetWindow(hwnd, GW_OWNER)) {\r\n\r\n            if (hwndT = HasTreeWindow(hwnd)) {\r\n               InvalidateRect(GetDlgItem(hwndT, IDCW_TREELISTBOX), NULL, FALSE);\r\n            }\r\n            if (hwndT = HasDirWindow(hwnd)) {\r\n               InvalidateRect(GetDlgItem(hwndT, IDCW_LISTBOX), NULL, FALSE);\r\n            }\r\n         }\r\n      }\r\n   }\r\n\r\n   return TRUE;\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     ResetDriveInfo\r\n//\r\n// Synopsis: Resets the drive info struct to a stable, minimum info state.\r\n//\r\n// IN      VOID\r\n//\r\n// Return: VOID\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects: cDrives, aDriveInfo, rgiDrive\r\n//\r\n//\r\n// Notes:   !! BUGBUG !!\r\n//\r\n//          Race condition with IsNetDir!\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nResetDriveInfo()\r\n{\r\n   PDRIVEINFO pDriveInfo;\r\n   DRIVE drive;\r\n   INT i;\r\n\r\n   //\r\n   // Initialize the count of drives.\r\n   //\r\n   cDrives = 0;\r\n\r\n   //\r\n   // We must be quick until the reset events...\r\n   //\r\n   for (drive = 0, pDriveInfo = &aDriveInfo[0];\r\n        drive < MAX_DRIVES;\r\n        drive++, pDriveInfo++)\r\n   {\r\n      R_Type(drive);\r\n      U_Type(drive);\r\n\r\n      R_Space(drive);\r\n      R_VolInfo(drive);\r\n\r\n      //\r\n      // Should call IsValidDisk, but this is faster.\r\n      //\r\n      if ( (pDriveInfo->uType != DRIVE_UNKNOWN) &&\r\n           (pDriveInfo->uType != DRIVE_NO_ROOT_DIR) )\r\n      {\r\n         //\r\n         // Update cDrives\r\n         //\r\n         rgiDrive[cDrives] = drive;\r\n\r\n         pDriveInfo->bRemembered = FALSE;\r\n         pDriveInfo->iOffset = GetDriveOffset(drive);\r\n\r\n         if (IsRemoteDrive(drive))\r\n         {\r\n            //\r\n            // Update dwLines for WM_MEASUREITEM\r\n            //\r\n            for (i = 0; i < MAX_ALTNAME; i++)\r\n            {\r\n               pDriveInfo->dwLines[i] = 1;\r\n            }\r\n            C_NetCon(drive, ERROR_SUCCESS);\r\n         }\r\n         else\r\n         {\r\n            C_NetCon(drive, ERROR_NO_NETWORK);\r\n         }\r\n\r\n         cDrives++;\r\n      }\r\n      else if (pDriveInfo->bRemembered)\r\n      {\r\n         //\r\n         // Hack: assume remembered connections don't change too much.\r\n         //\r\n\r\n         //\r\n         // Also, at this point, the state information in aDriveInfo\r\n         // hasn't changed for this remembered connection.\r\n         //\r\n         rgiDrive[cDrives] = drive;\r\n         cDrives++;\r\n      }\r\n\r\n      //\r\n      // Any clearing of drive information should be done\r\n      // here.  As soon as a drive is invalid, we reset the\r\n      // necessary stuff when it becomes valid.\r\n      // (Must be set for \"good\" drives elsewhere)\r\n      //\r\n\r\n      //\r\n      // Clear all invalid drives' bShareChkFail.\r\n      //\r\n      // (This bool checks if a IsNetDir / IsNetPath fails-- due to\r\n      // WNetGetDirectoryType failing (due to not being administrator on\r\n      // remote machine).  Only call WNetGetDirectory once, since it is\r\n      // s-l-o-w for fails.  It's also cached, too.\r\n      //\r\n      pDriveInfo->bShareChkFail  = FALSE;\r\n      pDriveInfo->bShareChkTried = FALSE;\r\n\r\n      aDriveInfo[drive].bUpdating = TRUE;\r\n   }\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     LoadComdlg\r\n//\r\n// Synopsis: Loads funcs GetOpenFileName and ChooseFont dynamically\r\n//\r\n// IN:       VOID\r\n//\r\n// Return:   BOOL  T=Success, F=FAILURE\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:  hComdlg, lpfn{GetOpenFilename, ChooseFont}\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nLoadComdlg(VOID)\r\n{\r\n   UINT uErrorMode;\r\n\r\n   //\r\n   // Have we already loaded it?\r\n   //\r\n   if (hComdlg)\r\n      return TRUE;\r\n\r\n   //\r\n   // Let the system handle errors here\r\n   //\r\n   uErrorMode = SetErrorMode(0);\r\n   hComdlg = LoadSystemLibrary(COMDLG_DLL);\r\n   SetErrorMode(uErrorMode);\r\n\r\n   if (!hComdlg)\r\n      return FALSE;\r\n\r\n#define GET_PROC(x) \\\r\n   if (!(lpfn##x = (PVOID) GetProcAddress(hComdlg,COMDLG_##x))) \\\r\n      return FALSE\r\n\r\n   GET_PROC(ChooseFontW);\r\n   GET_PROC(GetOpenFileNameW);\r\n\r\n#undef GET_PROC\r\n\r\n   return TRUE;\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     WaitLoadEvent\r\n//\r\n// Synopsis: Waits for event and puts up hourglass\r\n//\r\n// INC:      BOOL   bNet    TRUE   wait on net\r\n//                          FALSE  wait on acledit\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nWaitLoadEvent(BOOL bNet)\r\n{\r\n   HCURSOR hCursor;\r\n\r\n   if (!(bNet ? bNetDone : bNetAcleditDone)) {\r\n\r\n      hCursor = LoadCursor(NULL, IDC_WAIT);\r\n\r\n      if (hCursor)\r\n         hCursor = SetCursor(hCursor);\r\n\r\n      ShowCursor(TRUE);\r\n\r\n      SetThreadPriority(hThreadUpdate, THREAD_PRIORITY_NORMAL);\r\n\r\n      WaitForSingleObject(bNet ?\r\n            hEventNetLoad :\r\n            hEventAcledit,\r\n         INFINITE);\r\n\r\n      SetThreadPriority(hThreadUpdate, THREAD_PRIORITY_BELOW_NORMAL);\r\n\r\n      if (hCursor)\r\n         SetCursor(hCursor);\r\n\r\n      ShowCursor(FALSE);\r\n   }\r\n}\r\n\r\n\r\n"
  },
  {
    "path": "src/wfinfo.h",
    "content": "/********************************************************************\r\n\r\n   wfinfo.h\r\n\r\n   DriveInformation handler header:\r\n   Handles caching and refreshing of drive information.\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#ifndef _WFINFO_H\r\n#define _WFINFO_H\r\n\r\n#ifdef _GLOBALS\r\n#define Extern\r\n#define EQ(x) = x\r\n#else\r\n#define Extern extern\r\n#define EQ(x)\r\n#endif\r\n\r\n//\r\n// Set up altname stuff\r\n//\r\n\r\n#define MAX_ALTNAME 2\r\n\r\n#define ALTNAME_MULTI 0\r\n#define ALTNAME_SHORT 1\r\n#define ALTNAME_REG   MAX_ALTNAME  // Request regular name\r\n\r\n\r\n//\r\n// Get RetVal\r\n//\r\n\r\n#define GETRETVAL(type, drive) \\\r\n   (aDriveInfo[drive].s##type.dwRetVal)\r\n\r\n\r\ntypedef struct _INFO_STATUS {\r\n   BOOL bValid : 1;\r\n   BOOL bRefresh : 1;\r\n   DWORD dwRetVal;\r\n} INFOSTATUS, *PINFOSTATUS;\r\n\r\n#define STATUSNAME(name) INFOSTATUS s##name\r\n\r\n\r\n#define R_REFRESH(type, drive) \\\r\n   aDriveInfo[drive].s##type.bRefresh = TRUE\r\n\r\n#define I_INVALIDATE(type, drive) \\\r\n   aDriveInfo[drive].s##type.bValid = FALSE\r\n\r\n#define C_CLOSE(type, drive, retval) \\\r\n   { \\\r\n   aDriveInfo[drive].s##type.bValid = TRUE; \\\r\n   aDriveInfo[drive].s##type.bRefresh = FALSE; \\\r\n   aDriveInfo[drive].s##type.dwRetVal = retval;\\\r\n   }\r\n\r\n#define R_Type(drive)     R_REFRESH(Type, drive)\r\n#define R_Space(drive)    R_REFRESH(Space, drive)\r\n#define R_NetCon(drive)   R_REFRESH(NetCon, drive)\r\n#define R_VolInfo(drive)  R_REFRESH(VolInfo, drive)\r\n\r\n\r\n#define I_Type(drive)     I_INVALIDATE(Type, drive)\r\n#define I_Space(drive)    I_INVALIDATE(Space, drive)\r\n#define I_NetCon(drive)   I_INVALIDATE(NetCon, drive)\r\n#define I_VolInfo(drive)  I_INVALIDATE(VolInfo, drive)\r\n\r\n\r\n#define C_Type(drive,retval)     C_CLOSE(Type, drive, retval)\r\n#define C_Space(drive,retval)    C_CLOSE(Space, drive, retval)\r\n#define C_NetCon(drive,retval)   C_CLOSE(NetCon, drive, retval)\r\n#define C_VolInfo(drive,retval)  C_CLOSE(VolInfo, drive, retval)\r\n\r\n\r\n\r\n#define U_PROTO(type) VOID U_##type(DRIVE drive)\r\n\r\nU_PROTO(Type);\r\nU_PROTO(Space);\r\nU_PROTO(NetCon);\r\nU_PROTO(VolInfo);\r\n\r\n\r\n//\r\n// Define variables\r\n//\r\n#define V_Variable(type) Extern CRITICAL_SECTION CriticalSectionInfo##type\r\n\r\nV_Variable(Type);\r\nV_Variable(Space);\r\nV_Variable(NetCon);\r\nV_Variable(VolInfo);\r\n\r\n\r\n\r\n//\r\n// Define constructors\r\n//\r\n\r\n#define M_PROTO(type) VOID M_##type(DRIVE drive)\r\n#define M_Make(type)  InitializeCriticalSection(&CriticalSectionInfo##type)\r\n\r\n// Default Constructors or prototypes\r\n\r\nVOID M_Info(VOID);\r\n\r\n#define M_Type()     M_Make(Type)\r\n#define M_Space()    M_Make(Space)\r\n#define M_NetCon()   M_Make(NetCon)\r\n#define M_VolInfo()  M_Make(VolInfo)\r\n\r\n\r\n//\r\n// Define destructors\r\n//\r\n\r\n#define D_PROTO(type) VOID D_##type(VOID)\r\n#define D_Destroy(type) DeleteCriticalSection(&CriticalSectionInfo##type)\r\n\r\n// Default Destructors or prototypes\r\n\r\nVOID D_Info(VOID);\r\n\r\n#define D_Type()     D_Destroy(Type)\r\n#define D_Space()    D_Destroy(Space)\r\nD_PROTO(NetCon);\r\n#define D_VolInfo()  D_Destroy(VolInfo)\r\n\r\n\r\n//\r\n// Misc prototypes\r\n//\r\n\r\nINT NetCon_UpdateAltName(DRIVE drive, DWORD dwRetVal);\r\n\r\n\r\n//\r\n// Background update support\r\n//\r\n\r\nBOOL NetLoad(VOID);\r\n\r\nDWORD WINAPI UpdateInit(PVOID ThreadParameter);\r\nDWORD  WFGetConnection(DRIVE,LPTSTR*,BOOL,DWORD);\r\nDWORD GetVolShare(DRIVE drive, LPTSTR* ppszVolShare, DWORD dwType);\r\nVOID UpdateDriveListComplete(VOID);\r\nVOID UpdateDriveList(VOID);\r\nVOID ResetDriveInfo(VOID);\r\n\r\nBOOL LoadComdlg(VOID);\r\nVOID UpdateWaitQuit(VOID);\r\nVOID WaitLoadEvent(BOOL bNet);\r\n\r\n\r\nExtern BOOL   bUpdateRun;\r\nExtern HANDLE hThreadUpdate;\r\nExtern HANDLE hEventUpdate;\r\nExtern HANDLE hEventUpdatePartial;\r\n\r\n\r\n#endif // ndef _WFINFO_H\r\n"
  },
  {
    "path": "src/wfinit.c",
    "content": "/********************************************************************\r\n\r\n   wfinit.c\r\n\r\n   Windows File System Initialization Routines\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include <stdlib.h>\r\n\r\n#include \"winfile.h\"\r\n#include \"lfn.h\"\r\n#include \"wnetcaps.h\"         // WNetGetCaps()\r\n\r\n#include <ole2.h>\r\n#include <shlobj.h>\r\n#include \"resize.h\"\r\n\r\n#include \"dbg.h\"\r\n\r\nTCHAR szNTlanman[] = TEXT(\"ntlanman.dll\");\r\nTCHAR szHelv[] = TEXT(\"MS Shell Dlg\");\r\n/*\r\n** 6/13/95 FloydR Note re: MS Gothic, MS Shell Dlg and System fonts for Japan.\r\n** For 3.51J, the \"MS Shell Dlg\" font is linked to the \"MS Gothic\" Japanese\r\n** TTF.  This means that all this stuff about using different fonts for\r\n** Japan (and Korea/China) is gone.\r\n*/\r\n\r\nHBITMAP hbmSave;\r\n\r\nDWORD   RGBToBGR(DWORD rgb);\r\nVOID    BoilThatDustSpec(WCHAR *pStart, BOOL bLoadIt);\r\nVOID    DoRunEquals(PINT pnCmdShow);\r\nVOID    GetSavedWindow(LPWSTR szBuf, PWINDOW pwin);\r\nVOID    GetSettings(VOID);\r\n\r\n#define MENU_STRING_SIZ 80\r\n#define PROFILE_STRING_SIZ 300\r\n\r\n\r\nINT\r\nGetHeightFromPointsString(LPTSTR szPoints)\r\n{\r\n   HDC hdc;\r\n   INT height;\r\n\r\n   hdc = GetDC(NULL);\r\n   height = MulDiv(-atoi(szPoints), GetDeviceCaps(hdc, LOGPIXELSY), 72);\r\n   ReleaseDC(NULL, hdc);\r\n\r\n   return height;\r\n}\r\n\r\n\r\nVOID\r\nBiasMenu(HMENU hMenu, UINT Bias)\r\n{\r\n   UINT pos, id, count;\r\n   HMENU hSubMenu;\r\n   TCHAR szMenuString[MENU_STRING_SIZ];\r\n\r\n   count = GetMenuItemCount(hMenu);\r\n\r\n   if (count == (UINT) -1)\r\n      return;\r\n\r\n   for (pos = 0; pos < count; pos++) {\r\n\r\n      id = GetMenuItemID(hMenu, pos);\r\n\r\n      if (id  == (UINT) -1) {\r\n         // must be a popup, recurse and update all ID's here\r\n         if (hSubMenu = GetSubMenu(hMenu, pos))\r\n            BiasMenu(hSubMenu, Bias);\r\n      } else if (id) {\r\n         // replace the item that was there with a new\r\n         // one with the id adjusted\r\n\r\n         // makes sure id range is 0=99 first; really should assert or throw an exception\r\n         id %= 100;\r\n\r\n         GetMenuString(hMenu, pos, szMenuString, COUNTOF(szMenuString), MF_BYPOSITION);\r\n         DeleteMenu(hMenu, pos, MF_BYPOSITION);\r\n         InsertMenu(hMenu, pos, MF_BYPOSITION | MF_STRING, id + Bias, szMenuString);\r\n      }\r\n   }\r\n}\r\n\r\n\r\nVOID\r\nInitExtensions()\r\n{\r\n   TCHAR szBuf[PROFILE_STRING_SIZ];\r\n   TCHAR szPath[MAXPATHLEN];\r\n   LPTSTR p;\r\n   HANDLE hMod;\r\n   FM_EXT_PROC fp;\r\n   HMENU hMenu;\r\n   INT iMenuBase;\r\n   HMENU hMenuFrame;\r\n   INT iMenuOffset=0;\r\n   BOOL bUnicode;\r\n\r\n   hMenuFrame = GetMenu(hwndFrame);\r\n\r\n   ASSERT(!bSecMenuDeleted);\r\n   iMenuBase = MapIDMToMenuPos(IDM_EXTENSIONS);\r\n\r\n   GetPrivateProfileString(szAddons, NULL, szNULL, szBuf, COUNTOF(szBuf), szTheINIFile);\r\n\r\n   for (p = szBuf; *p && iNumExtensions < MAX_EXTENSIONS; p += lstrlen(p) + 1) {\r\n\r\n      GetPrivateProfileString(szAddons, p, szNULL, szPath, COUNTOF(szPath), szTheINIFile);\r\n\r\n      hMod = LoadLibrary(szPath);\r\n\r\n      if (hMod) {\r\n         fp = (FM_EXT_PROC)GetProcAddress(hMod, FM_EXT_PROC_ENTRYW);\r\n         if (fp) {\r\n            bUnicode = TRUE;\r\n         } else {\r\n            fp = (FM_EXT_PROC)GetProcAddress(hMod, FM_EXT_PROC_ENTRYA);\r\n            bUnicode = FALSE;\r\n         }\r\n\r\n         if (fp) {\r\n            UINT bias;\r\n            FMS_LOADA lsA;\r\n            FMS_LOADW lsW;\r\n\r\n            bias = ((IDM_EXTENSIONS + iNumExtensions + 1)*100);\r\n\r\n            // We are now going to bias each menu, since extensions\r\n            // don't know about each other and may clash IDM_xx if\r\n            // we don't.\r\n\r\n            // Our system is as follow:  IDMs 100 - 699 are reserved\r\n            // for us (menus 0 - 5 inclusive).  Thus, IDMs\r\n            // 700 - 1699 is reserved for extensions.\r\n            // This is why we added 1 in the above line to compute\r\n            // NOTE: IDMs 0000-0099 are not used for menu 0.\r\n\r\n            if (bUnicode)\r\n               lsW.wMenuDelta = bias;\r\n            else\r\n               lsA.wMenuDelta = bias;\r\n\r\n            if ((*fp)(hwndFrame, FMEVENT_LOAD, bUnicode ? (LPARAM)&lsW : (LPARAM)&lsA)) {\r\n\r\n               if ((bUnicode ? lsW.dwSize : lsA.dwSize)\r\n                  != (bUnicode ? sizeof(FMS_LOADW) : sizeof(FMS_LOADA)))\r\n                  goto LoadFail;\r\n\r\n               hMenu = bUnicode ? lsW.hMenu : lsA.hMenu;\r\n\r\n               extensions[iNumExtensions].ExtProc = fp;\r\n               extensions[iNumExtensions].Delta = bias;\r\n               extensions[iNumExtensions].hModule = hMod;\r\n               extensions[iNumExtensions].hMenu = hMenu;\r\n               extensions[iNumExtensions].bUnicode = bUnicode;\r\n\r\n               // these are set when FMEVENT_TOOLBARLOAD is called\r\n               extensions[iNumExtensions].hbmButtons = NULL;\r\n               extensions[iNumExtensions].idBitmap = 0;\r\n               extensions[iNumExtensions].iStartBmp = 0;\r\n               extensions[iNumExtensions].bRestored = FALSE;\r\n\r\n               if (hMenu) {\r\n                  BiasMenu(hMenu, bias);\r\n\r\n                  if (bUnicode) {\r\n                     InsertMenuW(hMenuFrame,\r\n                        iMenuBase + iMenuOffset,\r\n                        MF_BYPOSITION | MF_POPUP,\r\n                        (UINT_PTR) hMenu, lsW.szMenuName);\r\n                  } else {\r\n                     InsertMenuA(hMenuFrame,\r\n                        iMenuBase + iMenuOffset,\r\n                        MF_BYPOSITION | MF_POPUP,\r\n                        (UINT_PTR) hMenu, lsA.szMenuName);\r\n                  }\r\n                  iMenuOffset++;\r\n               }\r\n\r\n               iNumExtensions++;\r\n\r\n            } else {\r\n               goto LoadFail;\r\n            }\r\n         } else {\r\nLoadFail:\r\n            FreeLibrary(hMod);\r\n         }\r\n      }\r\n   }\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  GetSettings() -                                                         */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nVOID\r\nGetSettings()\r\n{\r\n   TCHAR szTemp[128];\r\n   INT size;\r\n   INT weight;\r\n\r\n   INT bfCharset;\r\n\r\n   /* Get the flags out of the INI file. */\r\n   bMinOnRun            = GetPrivateProfileInt(szSettings, szMinOnRun,            bMinOnRun,            szTheINIFile);\r\n   bIndexOnLaunch       = GetPrivateProfileInt(szSettings, szIndexOnLaunch,       bIndexOnLaunch,       szTheINIFile);\r\n   bIndexHiddenSystem   = GetPrivateProfileInt(szSettings, szIndexHiddenSystem,   bIndexHiddenSystem,   szTheINIFile);\r\n   wTextAttribs         = (WORD)GetPrivateProfileInt(szSettings, szLowerCase,     wTextAttribs,         szTheINIFile);\r\n   bStatusBar           = GetPrivateProfileInt(szSettings, szStatusBar,           bStatusBar,           szTheINIFile);\r\n   bDisableVisualStyles = GetPrivateProfileInt(szSettings, szDisableVisualStyles, bDisableVisualStyles, szTheINIFile);\r\n   bMirrorContent       = GetPrivateProfileInt(szSettings, szMirrorContent,    DefaultLayoutRTL(), szTheINIFile);\r\n\r\n   bDriveBar       = GetPrivateProfileInt(szSettings, szDriveBar,      bDriveBar,      szTheINIFile);\r\n   bToolbar        = GetPrivateProfileInt(szSettings, szToolbar,       bToolbar,       szTheINIFile);\r\n\r\n   bNewWinOnConnect = GetPrivateProfileInt(szSettings, szNewWinOnNetConnect, bNewWinOnConnect, szTheINIFile);\r\n   bConfirmDelete  = GetPrivateProfileInt(szSettings, szConfirmDelete, bConfirmDelete, szTheINIFile);\r\n   bConfirmSubDel  = GetPrivateProfileInt(szSettings, szConfirmSubDel, bConfirmSubDel, szTheINIFile);\r\n   bConfirmReplace = GetPrivateProfileInt(szSettings, szConfirmReplace,bConfirmReplace,szTheINIFile);\r\n   bConfirmMouse   = GetPrivateProfileInt(szSettings, szConfirmMouse,  bConfirmMouse,  szTheINIFile);\r\n   bConfirmFormat  = GetPrivateProfileInt(szSettings, szConfirmFormat, bConfirmFormat, szTheINIFile);\r\n   bConfirmReadOnly= GetPrivateProfileInt(szSettings, szConfirmReadOnly, bConfirmReadOnly, szTheINIFile);\r\n   uChangeNotifyTime= GetPrivateProfileInt(szSettings, szChangeNotifyTime, uChangeNotifyTime, szTheINIFile);\r\n   bSaveSettings   = GetPrivateProfileInt(szSettings, szSaveSettings,  bSaveSettings, szTheINIFile);\r\n   bScrollOnExpand = GetPrivateProfileInt(szSettings, szScrollOnExpand, bScrollOnExpand, szTheINIFile);\r\n   weight = GetPrivateProfileInt(szSettings, szFaceWeight, 400, szTheINIFile);\r\n\r\n   GetPrivateProfileString(szSettings,\r\n                           szSize,\r\n                           bJAPAN ?\r\n                              TEXT(\"14\") :\r\n                              TEXT(\"8\"),\r\n                           szTemp,\r\n                           COUNTOF(szTemp),\r\n                           szTheINIFile);\r\n\r\n   size = GetHeightFromPointsString(szTemp);\r\n\r\n   GetPrivateProfileString(szSettings,\r\n                           szFace,\r\n                           szHelv,\r\n                           szTemp,\r\n                           COUNTOF(szTemp),\r\n                           szTheINIFile);\r\n\r\n\r\n   bfCharset = bJAPAN ?\r\n                  GetPrivateProfileInt(szSettings,\r\n                                       szSaveCharset,\r\n                                       SHIFTJIS_CHARSET,\r\n                                       szTheINIFile) :\r\n                  ANSI_CHARSET;\r\n\r\n   hFont = CreateFont(size,\r\n                      0, 0, 0, weight,\r\n                      wTextAttribs & TA_ITALIC, 0, 0,\r\n                      bfCharset,\r\n                      OUT_DEFAULT_PRECIS,\r\n                      CLIP_DEFAULT_PRECIS,\r\n                      DEFAULT_QUALITY,\r\n                      DEFAULT_PITCH | FF_SWISS,\r\n                      szTemp);\r\n\r\n}\r\n\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  GetInternational() -                                                    */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nVOID\r\nGetInternational()\r\n{\r\n   GetLocaleInfoW(lcid, LOCALE_STHOUSAND, (LPWSTR) szComma, COUNTOF(szComma));\r\n   GetLocaleInfoW(lcid, LOCALE_SDECIMAL, (LPWSTR) szDecimal, COUNTOF(szDecimal));\r\n}\r\n\r\n\r\nINT\r\nGetDriveOffset(DRIVE drive)\r\n{\r\n   if (IsRemoteDrive(drive)) {\r\n\r\n      if (aDriveInfo[drive].bRemembered)\r\n         return dxDriveBitmap * 5;\r\n      else\r\n         return dxDriveBitmap * 4;\r\n   }\r\n\r\n\r\n   if (IsRemovableDrive(drive))\r\n      return dxDriveBitmap * 1;\r\n\r\n   if (IsRamDrive(drive))\r\n      return dxDriveBitmap * 3;\r\n\r\n   if (IsCDRomDrive(drive))\r\n      return dxDriveBitmap * 0;\r\n\r\n   return dxDriveBitmap * 2;\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  InitMenus() -                                                           */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nVOID\r\nInitMenus()\r\n{\r\n   HMENU hMenu;\r\n   TCHAR szValue[MAXPATHLEN];\r\n   HMENU hMenuOptions;\r\n\r\n   //\r\n   // use submenu because we are doing this by position\r\n   //\r\n   hMenu = GetSubMenu(GetMenu(hwndFrame), MapIDMToMenuPos(IDM_DISK));\r\n\r\n   if (WNetStat(NS_CONNECTDLG)) {  // Network Connections...\r\n\r\n      InsertMenu(hMenu, 4, MF_BYPOSITION | MF_SEPARATOR, 0, NULL);\r\n\r\n      LoadString(hAppInstance, IDS_NEWWINONCONNECT, szValue, COUNTOF(szValue));\r\n      hMenuOptions = GetSubMenu(GetMenu(hwndFrame), 4);\r\n      InsertMenu(hMenuOptions, 8, MF_BYPOSITION | MF_STRING, IDM_NEWWINONCONNECT, szValue);\r\n\r\n      LoadString(hAppInstance, IDS_CONNECT, szValue, COUNTOF(szValue));\r\n      InsertMenu(hMenu, 5, MF_BYPOSITION | MF_STRING, IDM_CONNECT, szValue);\r\n\r\n      LoadString(hAppInstance, IDS_DISCONNECT, szValue, COUNTOF(szValue));\r\n      InsertMenu(hMenu, 6, MF_BYPOSITION | MF_STRING, IDM_DISCONNECT, szValue);\r\n\r\n   }\r\n\r\n   // Shared Directories\r\n   if (WNetStat(NS_SHAREDLG)) {\r\n\r\n      InsertMenu(hMenu, 7, MF_BYPOSITION | MF_SEPARATOR, 0, NULL);\r\n\r\n      LoadString(hAppInstance, IDS_SHAREAS, szValue, COUNTOF(szValue));\r\n      InsertMenu(hMenu, 8, MF_BYPOSITION | MF_STRING, IDM_SHAREAS, szValue);\r\n\r\n      // IDM_STOPSHARE not shown anymore, because there is no way to open then 'Stop Share Dialog' with W7/10/11 \r\n      // LoadString(hAppInstance, IDS_STOPSHARE, szValue, COUNTOF(szValue));\r\n      // InsertMenu(hMenu, 9, MF_BYPOSITION | MF_STRING, IDM_STOPSHARE, szValue);\r\n   }\r\n\r\n   //\r\n   // Init the Disk menu.\r\n   //\r\n   hMenu = GetMenu(hwndFrame);\r\n\r\n   if (nFloppies == 0) {\r\n      EnableMenuItem(hMenu, IDM_DISKCOPY, MF_BYCOMMAND | MF_GRAYED);\r\n   }\r\n\r\n\r\n   if (bStatusBar)\r\n      CheckMenuItem(hMenu, IDM_STATUSBAR, MF_BYCOMMAND | MF_CHECKED);\r\n   if (bMinOnRun)\r\n      CheckMenuItem(hMenu, IDM_MINONRUN,  MF_BYCOMMAND | MF_CHECKED);\r\n   if (bIndexOnLaunch)\r\n      CheckMenuItem(hMenu, IDM_INDEXONLAUNCH, MF_BYCOMMAND | MF_CHECKED);\r\n\r\n   if (bSaveSettings)\r\n      CheckMenuItem(hMenu, IDM_SAVESETTINGS,  MF_BYCOMMAND | MF_CHECKED);\r\n\r\n   if (bDriveBar)\r\n      CheckMenuItem(hMenu, IDM_DRIVEBAR, MF_BYCOMMAND | MF_CHECKED);\r\n   if (bToolbar)\r\n      CheckMenuItem(hMenu, IDM_TOOLBAR, MF_BYCOMMAND | MF_CHECKED);\r\n\r\n   if (bNewWinOnConnect)\r\n      CheckMenuItem(hMenu, IDM_NEWWINONCONNECT, MF_BYCOMMAND | MF_CHECKED);\r\n\r\n\r\n   //\r\n   // Init menus after the window/menu has been created\r\n   //\r\n   InitExtensions();\r\n\r\n   InitToolbarButtons();\r\n\r\n   //\r\n   // Redraw the menu bar since it's already displayed\r\n   //\r\n   DrawMenuBar(hwndFrame);\r\n}\r\n\r\n// maps all IDM_* values, even those of submenus, into a top level menu position;\r\n// File menu is position 0 except when maximized in which it is position 1;\r\n// when the security menu is missing (due to not loading acledit.dll),\r\n// the menus to the right of security are shifted left by one.\r\nUINT\r\nMapIDMToMenuPos(UINT idm)\r\n{\r\n    UINT pos;\r\n\r\n    if (idm < 100)\r\n    {\r\n        // idm values < 100 are just the top level menu IDM_ value (e.g., IDM_FILE)\r\n        pos = idm;\r\n    }\r\n    else\r\n    {\r\n        // these are the built in or extension menu IDM_ values; IDM_OPEN is 101 and thus pos will be 0 (IDM_FILE)\r\n        pos = idm / 100 - 1;\r\n    }\r\n\r\n    // if maximized, menu position shifted one to the right\r\n    HWND hwndActive;\r\n    hwndActive = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n    if (hwndActive && GetWindowLongPtr(hwndActive, GWL_STYLE) & WS_MAXIMIZE)\r\n        pos++;\r\n\r\n    // if pos >= IDM_EXTENSIONS, subtract one if security menu missing\r\n    if (pos >= IDM_EXTENSIONS && bSecMenuDeleted)\r\n    {\r\n        pos--;\r\n    }\r\n\r\n    return pos;\r\n}\r\n\r\n// opposite of the above, but only works for top level menu positions\r\nUINT  MapMenuPosToIDM(UINT pos)\r\n{\r\n    UINT idm = pos;\r\n\r\n    // if maximized, idm is one position to the left\r\n    HWND hwndActive;\r\n    hwndActive = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n    if (hwndActive && GetWindowLongPtr(hwndActive, GWL_STYLE) & WS_MAXIMIZE)\r\n        idm--;\r\n\r\n    // if pos >= IDM_SECURITY, add one if security menu missing\r\n    if (idm >= IDM_SECURITY && bSecMenuDeleted)\r\n    {\r\n        idm++;\r\n    }\r\n\r\n    if (idm >= IDM_EXTENSIONS + (UINT)iNumExtensions)\r\n    {\r\n        idm += MAX_EXTENSIONS - (UINT)iNumExtensions;\r\n    }\r\n\r\n    return idm;\r\n}\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  BoilThatDustSpec() -                                                    */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n/* Parses the command line (if any) passed into WINFILE and exec's any tokens\r\n * it may contain.\r\n */\r\n\r\nVOID\r\nBoilThatDustSpec(TCHAR *pStart, BOOL bLoadIt)\r\n{\r\n   TCHAR *       pEnd;\r\n   DWORD         ret;\r\n   BOOL          bFinished;\r\n\r\n   if (*pStart == CHAR_NULL)\r\n      return;\r\n\r\n   bFinished = FALSE;\r\n   while (!bFinished) {\r\n      pEnd = pStart;\r\n      while ((*pEnd) && (*pEnd != CHAR_SPACE) && (*pEnd != CHAR_COMMA))\r\n         ++pEnd;\r\n\r\n      if (*pEnd == CHAR_NULL)\r\n         bFinished = TRUE;\r\n      else\r\n         *pEnd = CHAR_NULL;\r\n\r\n      ret = ExecProgram(pStart, szNULL, NULL, bLoadIt, FALSE);\r\n      if (ret)\r\n         MyMessageBox(NULL, IDS_EXECERRTITLE, ret, MB_OK | MB_ICONEXCLAMATION | MB_SYSTEMMODAL);\r\n\r\n      pStart = pEnd+1;\r\n   }\r\n}\r\n\r\n\r\n//\r\n// BOOL LoadBitmaps()\r\n//\r\n// this routine loads DIB bitmaps, and \"fixes up\" their color tables\r\n// so that we get the desired result for the device we are on.\r\n//\r\n// this routine requires:\r\n//      the DIB is a 16 color DIB authored with the standard windows colors\r\n//      bright green (FF 00 00) is converted to the background color!\r\n//      light grey  (C0 C0 C0) is replaced with the button face color\r\n//      dark grey   (80 80 80) is replaced with the button shadow color\r\n//\r\n// this means you can't have any of these colors in your bitmap\r\n//\r\n\r\n#define BACKGROUND      0x0000FF00      // bright green\r\n#define BACKGROUNDSEL   0x00FF00FF      // bright red\r\n#define BUTTONFACE      0x00C0C0C0      // bright grey\r\n#define BUTTONSHADOW    0x00808080      // dark grey\r\n\r\nDWORD\r\nFlipColor(DWORD rgb)\r\n{\r\n   return RGB(GetBValue(rgb), GetGValue(rgb), GetRValue(rgb));\r\n}\r\n\r\n\r\nBOOL\r\nLoadBitmaps(VOID)\r\n{\r\n   HDC                   hdc;\r\n   HANDLE                h;\r\n   DWORD FAR             *p;\r\n   LPBYTE                lpBits;\r\n   HANDLE                hRes;\r\n   LPBITMAPINFOHEADER    lpBitmapInfo;\r\n   INT                   numcolors;\r\n   DWORD                 rgbSelected;\r\n   DWORD                 rgbUnselected;\r\n   UINT                  cbBitmapSize;\r\n   LPBITMAPINFOHEADER    lpBitmapData;\r\n\r\n   rgbSelected = FlipColor(GetSysColor(COLOR_HIGHLIGHT));\r\n   rgbUnselected = FlipColor(GetSysColor(COLOR_WINDOW));\r\n\r\n   h = FindResource(hAppInstance, (LPTSTR) MAKEINTRESOURCE(BITMAPS), RT_BITMAP);\r\n   hRes = LoadResource(hAppInstance, h);\r\n\r\n   // Lock the bitmap data and make a copy of it for the mask and the bitmap.\r\n   //\r\n   cbBitmapSize = SizeofResource( hAppInstance, h );\r\n   lpBitmapData  = (LPBITMAPINFOHEADER)( hRes );\r\n\r\n   lpBitmapInfo = (LPBITMAPINFOHEADER) LocalAlloc(LMEM_FIXED, cbBitmapSize);\r\n\r\n   if (!lpBitmapInfo) {\r\n      return FALSE;\r\n   }\r\n\r\n   CopyMemory( (PBYTE)lpBitmapInfo, (PBYTE)lpBitmapData, cbBitmapSize );\r\n\r\n   //\r\n   // Get a pointer into the color table of the bitmaps, cache the number of\r\n   // bits per pixel\r\n   //\r\n   p = (DWORD FAR *)((PBYTE)(lpBitmapInfo) + lpBitmapInfo->biSize);\r\n\r\n   //\r\n   // Search for the Solid Blue entry and replace it with the current\r\n   // background RGB.\r\n   //\r\n   numcolors = 16;\r\n\r\n   while (numcolors-- > 0) {\r\n      if (*p == BACKGROUND)\r\n         *p = rgbUnselected;\r\n      else if (*p == BACKGROUNDSEL)\r\n         *p = rgbSelected;\r\n      else if (*p == BUTTONFACE)\r\n         *p = FlipColor(GetSysColor(COLOR_BTNFACE));\r\n      else if (*p == BUTTONSHADOW)\r\n         *p = FlipColor(GetSysColor(COLOR_BTNSHADOW));\r\n\r\n      p++;\r\n   }\r\n\r\n   //\r\n   // Now create the DIB.\r\n   //\r\n\r\n   //\r\n   // First skip over the header structure\r\n   //\r\n   lpBits = (LPBYTE)(lpBitmapInfo + 1);\r\n\r\n   //\r\n   //  Skip the color table entries, if any\r\n   //\r\n   lpBits += (DWORD)(1 << (lpBitmapInfo->biBitCount)) * sizeof(RGBQUAD);\r\n\r\n   //\r\n   // Create a color bitmap compatible with the display device\r\n   //\r\n   hdc = GetDC(NULL);\r\n   if (hdcMem = CreateCompatibleDC(hdc)) {\r\n\r\n      if (hbmBitmaps = CreateDIBitmap(hdc, lpBitmapInfo, (DWORD)CBM_INIT, lpBits, (LPBITMAPINFO)lpBitmapInfo, DIB_RGB_COLORS))\r\n         hbmSave = SelectObject(hdcMem, hbmBitmaps);\r\n\r\n   }\r\n   ReleaseDC(NULL, hdc);\r\n\r\n#ifndef KKBUGFIX\r\n//It is not necessary to free a resource loaded by using the LoadResource function.\r\n   LocalUnlock(hRes);\r\n   FreeResource(hRes);\r\n#endif\r\n\r\n   LocalFree(lpBitmapInfo);\r\n\r\n   return TRUE;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     GetSavedWindow\r\n//\r\n// Synopsis:\r\n//\r\n// IN        szBuf  buffer to parse out all save win info (NULL = default)\r\n// OUT       pwin   pwin filled with szBuf fields.\r\n//\r\n// Return:\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nVOID\r\nGetSavedWindow(\r\n   LPWSTR szBuf,\r\n   PWINDOW pwin)\r\n{\r\n   PINT pint;\r\n   INT count;\r\n\r\n   //\r\n   // defaults\r\n   //\r\n   // (CW_USEDEFAULT must be type casted since it is defined\r\n   // as an int.\r\n   //\r\n   pwin->rc.right = pwin->rc.left = (LONG)CW_USEDEFAULT;\r\n   pwin->pt.x = pwin->pt.y = pwin->rc.top = pwin->rc.bottom = 0;\r\n   pwin->sw = SW_SHOWNORMAL;\r\n   pwin->dwSort = IDD_NAME;\r\n   pwin->dwView = VIEW_NAMEONLY;\r\n   pwin->dwAttribs = ATTR_DEFAULT;\r\n   pwin->nSplit = 0;\r\n\r\n   pwin->szDir[0] = CHAR_NULL;\r\n\r\n   if (!szBuf)\r\n      return;\r\n\r\n   //\r\n   // BUGBUG: (LATER)\r\n   // This assumes the members of the point structure are\r\n   // the same size as INT (sizeof(LONG) == sizeof(INT) == sizeof(UINT))!\r\n   //\r\n\r\n   count = 0;\r\n   pint = (PINT)&pwin->rc;         // start by filling the rect\r\n\r\n   while (*szBuf && count < 11) {\r\n\r\n      *pint++ = atoi(szBuf);  // advance to next field\r\n\r\n      while (*szBuf && *szBuf != CHAR_COMMA)\r\n         szBuf++;\r\n\r\n      while (*szBuf && *szBuf == CHAR_COMMA)\r\n         szBuf++;\r\n\r\n      count++;\r\n   }\r\n\r\n   lstrcpy(pwin->szDir, szBuf);    // this is the directory\r\n}\r\n\r\n\r\nBOOL\r\nCheckDirExists(\r\n   LPWSTR szDir)\r\n{\r\n   BOOL bRet = FALSE;\r\n\r\n   if (IsNetDrive(DRIVEID(szDir)) == 2) {\r\n\r\n      CheckDrive(hwndFrame, DRIVEID(szDir), FUNC_SETDRIVE);\r\n      return TRUE;\r\n   }\r\n\r\n   if (IsValidDisk(DRIVEID(szDir)))\r\n      bRet = SetCurrentDirectory(szDir);\r\n\r\n   return bRet;\r\n}\r\n\r\n\r\nBOOL\r\nCreateSavedWindows(\r\n    LPCWSTR pszInitialDir\r\n    )\r\n{\r\n   WCHAR buf[2*MAXPATHLEN+7*7], key[10];\r\n   WINDOW win;\r\n   LPTSTR FilePart;\r\n   DWORD SizeAvailable;\r\n   DWORD CharsCopied;\r\n\r\n   //\r\n   // since win.szDir is bigger.\r\n   //\r\n   WCHAR szDir[2*MAXPATHLEN];\r\n\r\n   INT nDirNum;\r\n   HWND hwnd;\r\n   INT iNumTrees;\r\n\r\n   //\r\n   // Initialize window geometry to use system default\r\n   //\r\n   win.rc.left = CW_USEDEFAULT;\r\n   win.rc.top = 0;\r\n   win.rc.right = win.rc.left + CW_USEDEFAULT;\r\n   win.rc.bottom = 0;\r\n   win.nSplit = -1;\r\n\r\n   win.dwView = dwNewView;\r\n   win.dwSort = dwNewSort;\r\n   win.dwAttribs = dwNewAttribs;\r\n\r\n   //\r\n   // make sure this thing exists so we don't hit drives that don't\r\n   // exist any more\r\n   //\r\n   nDirNum = 1;\r\n   iNumTrees = 0;\r\n\r\n   do\r\n   {\r\n      wsprintf(key, szDirKeyFormat, nDirNum++);\r\n\r\n      GetPrivateProfileString(szSettings, key, szNULL, buf, COUNTOF(buf), szTheINIFile);\r\n\r\n      if (*buf)\r\n      {\r\n         GetSavedWindow(buf, &win);\r\n\r\n         if (pszInitialDir == NULL)\r\n         {\r\n            //\r\n            // Winfile won't retain any relative paths in the INI file, but if\r\n            // one was provided externally, convert it into a full path\r\n            //\r\n\r\n            SizeAvailable = COUNTOF(szDir);\r\n            CharsCopied = GetFullPathName(win.szDir, SizeAvailable, szDir, &FilePart);\r\n            if (CharsCopied == 0 || CharsCopied >= SizeAvailable || ISUNCPATH(szDir)) {\r\n               continue;\r\n            }\r\n            lstrcpy(win.szDir, szDir);\r\n\r\n            //\r\n            // clean off some junk so we can do this test\r\n            //\r\n            StripFilespec(szDir);\r\n            StripBackslash(szDir);\r\n\r\n            if (!CheckDirExists(szDir)) {\r\n               continue;\r\n            }\r\n\r\n            dwNewView = win.dwView;\r\n            dwNewSort = win.dwSort;\r\n            dwNewAttribs = win.dwAttribs;\r\n\r\n            hwnd = CreateTreeWindow(win.szDir,\r\n                                    win.rc.left,\r\n                                    win.rc.top,\r\n                                    win.rc.right - win.rc.left,\r\n                                    win.rc.bottom - win.rc.top,\r\n                                    win.nSplit);\r\n\r\n            if (!hwnd) {\r\n               continue;\r\n            }\r\n\r\n            iNumTrees++;\r\n\r\n            //\r\n            // keep track of this for now...\r\n            //\r\n            if (IsIconic(hwnd)) {\r\n               SetWindowPos(hwnd, NULL, win.pt.x, win.pt.y, 0, 0, SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE);\r\n            }\r\n\r\n            ShowWindow(hwnd, win.sw);\r\n         }\r\n      }\r\n\r\n   } while (*buf);\r\n\r\n   //\r\n   //  If the user requested to open the program with a specific directory,\r\n   //  open it\r\n   //\r\n\r\n   if (pszInitialDir != NULL)\r\n   {\r\n      SizeAvailable = COUNTOF(buf) - (DWORD)wcslen(szStarDotStar) - 1;\r\n      CharsCopied = GetFullPathName(pszInitialDir, SizeAvailable, buf, &FilePart);\r\n      if (CharsCopied > 0 &&\r\n          CharsCopied < SizeAvailable &&\r\n          !ISUNCPATH(buf) &&\r\n          CheckDirExists(buf))\r\n      {\r\n         AddBackslash(buf);\r\n         lstrcat(buf, szStarDotStar);\r\n\r\n         //\r\n         // use the settings of the most recent window as defaults\r\n         //\r\n\r\n         dwNewView = win.dwView;\r\n         dwNewSort = win.dwSort;\r\n         dwNewAttribs = win.dwAttribs;\r\n\r\n         hwnd = CreateTreeWindow(buf,\r\n                                 win.rc.left,\r\n                                 win.rc.top,\r\n                                 win.rc.right - win.rc.left,\r\n                                 win.rc.bottom - win.rc.top,\r\n                                 win.nSplit);\r\n\r\n         if (!hwnd) {\r\n            return FALSE;\r\n         }\r\n\r\n         //\r\n         // Default to maximized since the user requested to open a single\r\n         // directory\r\n         //\r\n         ShowWindow(hwnd, SW_MAXIMIZE);\r\n\r\n         iNumTrees++;\r\n      }\r\n   }\r\n\r\n   //\r\n   // if nothing was saved or specified, create a tree for the current drive\r\n   //\r\n   if (!iNumTrees) {\r\n\r\n      lstrcpy(buf, szOriginalDirPath);\r\n      AddBackslash(buf);\r\n      lstrcat(buf, szStarDotStar);\r\n\r\n      //\r\n      // default to split window\r\n      //\r\n      hwnd = CreateTreeWindow(buf, CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, -1);\r\n\r\n      if (!hwnd)\r\n         return FALSE;\r\n\r\n      iNumTrees++;\r\n   }\r\n\r\n   return TRUE;\r\n}\r\n\r\n\r\n// void  GetTextStuff(HDC hdc)\r\n//\r\n// this computes all the globals that are dependent on the\r\n// currently selected font\r\n//\r\n// in:\r\n//      hdc     DC with font selected into it\r\n//\r\n\r\nVOID\r\nGetTextStuff(HDC hdc)\r\n{\r\n   SIZE size;\r\n   TEXTMETRIC tm;\r\n\r\n   GetTextExtentPoint32(hdc, TEXT(\"W\"), 1, &size);\r\n\r\n   dxText = size.cx;\r\n   dyText = size.cy;\r\n\r\n   //\r\n   // the old method of GetTextExtent(\"M\") was not good enough for the\r\n   // drive bar because in Arial 8 (the default font), a lowercase 'w'\r\n   // is actually wider than an uppercase 'M', which causes drive W in\r\n   // the drive bar to clip.  rather than play around with a couple of\r\n   // sample letters and taking the max, or fudging the width, we just\r\n   // get the metrics and use the real max character width.\r\n   //\r\n   // to avoid the tree window indents looking too wide, we use the old\r\n   // 'M' extent everywhere besides the drive bar, though.\r\n   //\r\n   GetTextMetrics(hdc, &tm);\r\n\r\n   //\r\n   // these are all dependent on the text metrics\r\n   //\r\n   dxDrive = dxDriveBitmap + tm.tmMaxCharWidth + (4*dyBorderx2);\r\n   dyDrive = max(dyDriveBitmap + (4*dyBorderx2), dyText);\r\n   dyFileName = max(dyText, dyFolder);  //  + dyBorder;\r\n}\r\n\r\nUINT\r\nFillDocType(\r\n   PPDOCBUCKET ppDoc,\r\n   LPCWSTR pszSection,\r\n   LPCWSTR pszDefault)\r\n{\r\n   LPWSTR pszDocuments = NULL;\r\n   LPWSTR p;\r\n   LPWSTR p2;\r\n   UINT uLen = 0;\r\n\r\n   UINT uRetval = 0;\r\n\r\n   do {\r\n\r\n      uLen += 32;\r\n\r\n      if (pszDocuments)\r\n         LocalFree((HLOCAL)pszDocuments);\r\n\r\n      pszDocuments = LocalAlloc(LMEM_FIXED, uLen*sizeof(WCHAR));\r\n\r\n      if (!pszDocuments) {\r\n         return 0;\r\n      }\r\n\r\n   } while (GetProfileString(szWindows,\r\n                             pszSection,\r\n                             pszDefault,\r\n                             pszDocuments,\r\n                             uLen) == (DWORD)uLen-2);\r\n\r\n   //\r\n   // Parse through string, searching for blanks\r\n   //\r\n   for (p=pszDocuments; *p; p++) {\r\n\r\n      if (CHAR_SPACE == *p) {\r\n         *p = CHAR_NULL;\r\n      }\r\n   }\r\n\r\n   for(p2=pszDocuments; p2<p; p2++) {\r\n\r\n      if (*p2) {\r\n         if (DocInsert(ppDoc, p2, NULL) == 1)\r\n            uRetval++;\r\n\r\n         while(*p2 && p2!=p)\r\n            p2++;\r\n      }\r\n   }\r\n\r\n   LocalFree((HLOCAL)pszDocuments);\r\n\r\n   return uRetval;\r\n}\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  InitFileManager() -                                                     */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nBOOL\r\nInitFileManager(\r\n   HANDLE hInstance,\r\n   LPWSTR lpCmdLine,\r\n   INT nCmdShow)\r\n{\r\n   INT           i;\r\n   HDC           hdcScreen;\r\n\r\n   //\r\n   // 2*MAXPATHLEN since may have huge filter.\r\n   //\r\n   WCHAR         szBuffer[2*MAXPATHLEN];\r\n\r\n   HCURSOR       hcurArrow;\r\n   WNDCLASS      wndClass;\r\n   WINDOW        win;\r\n   HWND          hwnd;\r\n   HANDLE        hOld;\r\n   RECT          rcT, rcS;\r\n   WCHAR         szTemp[80];\r\n   DWORD         Ignore;\r\n\r\n   HANDLE        hThread;\r\n   DWORD         dwRetval;\r\n   DWORD         dwExStyle = 0L;\r\n   LPWSTR        pszInitialDir = NULL;\r\n\r\n   hThread = GetCurrentThread();\r\n\r\n   SetThreadPriority(hThread, THREAD_PRIORITY_ABOVE_NORMAL);\r\n\r\n   InitializeCriticalSection(&CriticalSectionPath);\r\n\r\n   hKernel32 = GetModuleHandle(KERNEL32_DLL);\r\n   if (hKernel32)\r\n   {\r\n      lpfnCreateSymbolicLinkW = (PVOID)GetProcAddress(hKernel32, KERNEL32_CreateSymbolicLinkW);\r\n      lpfnGetLocaleInfoEx = (PVOID)GetProcAddress(hKernel32, KERNEL32_GetLocaleInfoEx);\r\n      lpfnLocaleNameToLCID = (PVOID)GetProcAddress(hKernel32, KERNEL32_LocaleNameToLCID);\r\n      lpfnWow64DisableWow64FsRedirection = (PVOID)GetProcAddress(hKernel32, KERNEL32_Wow64DisableWow64FsRedirection);\r\n      lpfnWow64RevertWow64FsRedirection = (PVOID)GetProcAddress(hKernel32, KERNEL32_Wow64RevertWow64FsRedirection);\r\n   }\r\n\r\n   // ProfStart();\r\n\r\n   //\r\n   // Preserve this instance's module handle\r\n   //\r\n   hAppInstance = hInstance;\r\n\r\n   // setup ini file location\r\n   lstrcpy(szTheINIFile, szBaseINIFile);\r\n   dwRetval = GetEnvironmentVariable(TEXT(\"APPDATA\"), szBuffer, MAXPATHLEN);\r\n   if (dwRetval > 0 && dwRetval <= (DWORD)(MAXPATHLEN - lstrlen(szRoamINIPath) - 1 - lstrlen(szBaseINIFile) - 1)) {\r\n      wsprintf(szTheINIFile, TEXT(\"%s%s\"), szBuffer, szRoamINIPath);\r\n      if (CreateDirectory(szTheINIFile, NULL) || GetLastError() == ERROR_ALREADY_EXISTS) {\r\n         wsprintf(szTheINIFile, TEXT(\"%s%s\\\\%s\"), szBuffer, szRoamINIPath, szBaseINIFile);\r\n      }\r\n      else {\r\n         wsprintf(szTheINIFile, TEXT(\"%s\\\\%s\"), szBuffer, szBaseINIFile);\r\n      }\r\n   }\r\n\r\n   // e.g., UILanguage=zh-CN; UI language defaults to OS set language or English if that language is not supported.\r\n   GetPrivateProfileString(szSettings, szUILanguage, szNULL, szTemp, COUNTOF(szTemp), szTheINIFile);\r\n   if (szTemp[0])\r\n   {\r\n       LCID lcidUI = WFLocaleNameToLCID(szTemp, 0);\r\n       if (lcidUI != 0)\r\n       {\r\n           SetThreadUILanguage((LANGID)lcidUI);\r\n\r\n           // update to current local used for dispaly\r\n           SetThreadLocale(lcidUI);\r\n       }\r\n   }\r\n\r\n   lcid = GetThreadLocale();\r\n\r\nJAPANBEGIN\r\n   bJapan = (PRIMARYLANGID(LANGIDFROMLCID(lcid)) == LANG_JAPANESE);\r\nJAPANEND\r\n\r\n   //\r\n   // Constructors for info system.\r\n   // Must always do since these never fail and we don't test for\r\n   // non-initialization during destruction (if FindWindow returns valid)\r\n   //\r\n   M_Info();\r\n\r\n   M_Type();\r\n   M_Space();\r\n   M_NetCon();\r\n   M_VolInfo();\r\n\r\n   //\r\n   // Bounce errors to us, not fs.\r\n   //\r\n   SetErrorMode(1);\r\n\r\n   for (i=0; i<26;i++) {\r\n      I_Space(i);\r\n   }\r\n\r\n   if (OleInitialize(0) != NOERROR)\r\n      return FALSE;\r\n\r\n   //\r\n   // Remember the current directory.\r\n   //\r\n   GetCurrentDirectory(COUNTOF(szOriginalDirPath), szOriginalDirPath);\r\n\r\n   if (*lpCmdLine)\r\n   {\r\n      LPWSTR lpArgs;\r\n\r\n      //\r\n      //  Note this isn't just finding the next argument, it's NULL\r\n      //  terminating lpCmdLine at the point of the next argument\r\n      //\r\n      lpArgs = pszNextComponent(lpCmdLine);\r\n      lpCmdLine = pszRemoveSurroundingQuotes(lpCmdLine);\r\n\r\n      if (WFIsDir(lpCmdLine))\r\n      {\r\n         pszInitialDir = lpCmdLine;\r\n      }\r\n      else\r\n      {\r\n         nCmdShow = SW_SHOWMINNOACTIVE;\r\n\r\n         dwRetval = ExecProgram(lpCmdLine, lpArgs, NULL, FALSE, FALSE);\r\n         if (dwRetval != 0)\r\n         {\r\n            MyMessageBox(NULL, IDS_EXECERRTITLE, dwRetval, MB_OK | MB_ICONEXCLAMATION | MB_SYSTEMMODAL);\r\n         }\r\n      }\r\n   }\r\n\r\n   //\r\n   // Read WINFILE.INI and set the appropriate variables.\r\n   //\r\n   GetSettings();\r\n\r\n   //\r\n   // If the user specified an initial directory on the command line, that\r\n   // directory will be opened, and save settings is disabled by default.\r\n   //\r\n   if (pszInitialDir != NULL) {\r\n      bSaveSettings = FALSE;\r\n   }\r\n\r\n   dwExStyle = MainWindowExStyle();\r\n\r\n   dyBorder = GetSystemMetrics(SM_CYBORDER);\r\n   dyBorderx2 = dyBorder * 2;\r\n   dxFrame = GetSystemMetrics(SM_CXFRAME) - dyBorder;\r\n\r\n   dxDriveBitmap = DRIVES_WIDTH;\r\n   dyDriveBitmap = DRIVES_HEIGHT;\r\n   dxFolder = FILES_WIDTH;\r\n   dyFolder = FILES_HEIGHT;\r\n\r\n   LoadUxTheme();\r\n\r\n   if (!LoadBitmaps())\r\n      return FALSE;\r\n\r\n   hicoTree = LoadIcon(hAppInstance, (LPTSTR) MAKEINTRESOURCE(TREEICON));\r\n   hicoTreeDir = LoadIcon(hAppInstance, (LPTSTR) MAKEINTRESOURCE(TREEDIRICON));\r\n   hicoDir = LoadIcon(hAppInstance, (LPTSTR) MAKEINTRESOURCE(DIRICON));\r\n\r\n   chFirstDrive = CHAR_a;\r\n\r\n   // now build the parameters based on the font we will be using\r\n\r\n   hdcScreen = GetDC(NULL);\r\n\r\n   hOld = SelectObject(hdcScreen, hFont);\r\n   GetTextStuff(hdcScreen);\r\n   if (hOld)\r\n      SelectObject(hdcScreen, hOld);\r\n\r\n   dxClickRect = max(GetSystemMetrics(SM_CXDOUBLECLK) / 2, 2 * dxText);\r\n   dyClickRect = max(GetSystemMetrics(SM_CYDOUBLECLK) / 2, dyText);\r\n\r\n   GetPrivateProfileString(szSettings,\r\n                           szDriveListFace,\r\n                           szHelv,\r\n                           szTemp,\r\n                           COUNTOF(szTemp),\r\n                           szTheINIFile);\r\n\r\n   hfontDriveList = CreateFont(GetHeightFromPointsString(TEXT(\"8\")),\r\n                               0, 0,\r\n                               0, 400, 0,\r\n                               0,\r\n                               0,\r\n                               bJAPAN ?\r\n                                 SHIFTJIS_CHARSET :\r\n                                 ANSI_CHARSET,\r\n                               OUT_DEFAULT_PRECIS,\r\n                               CLIP_DEFAULT_PRECIS,\r\n                               DEFAULT_QUALITY,\r\n                               VARIABLE_PITCH | FF_SWISS,\r\n                               szTemp);\r\n\r\n    // use the smaller font for Status bar so that messages fix in it.\r\n   if( bJAPAN) {\r\n       hFontStatus = CreateFont(GetHeightFromPointsString(TEXT(\"10\")),\r\n                               0, 0,\r\n                               0, 400, 0,\r\n                               0,\r\n                               0,\r\n                               SHIFTJIS_CHARSET,\r\n                               OUT_DEFAULT_PRECIS,\r\n                               CLIP_DEFAULT_PRECIS,\r\n                               DEFAULT_QUALITY,\r\n                               VARIABLE_PITCH,\r\n                               szHelv );\r\n    }\r\n   ReleaseDC(NULL, hdcScreen);\r\n\r\n   /* Load the accelerator table. */\r\n   hAccel = LoadAccelerators(hInstance, (LPTSTR) MAKEINTRESOURCE(WFACCELTABLE));\r\n\r\n   wHelpMessage = RegisterWindowMessage(TEXT(\"ShellHelp\"));\r\n   wBrowseMessage = RegisterWindowMessage(TEXT(\"commdlg_help\"));\r\n\r\n   hhkMsgFilter = SetWindowsHook(WH_MSGFILTER, MessageFilter);\r\n\r\n   hcurArrow = LoadCursor(NULL, IDC_ARROW);\r\n\r\n   wndClass.lpszClassName  = szFrameClass;\r\n   wndClass.style          = 0L;\r\n   wndClass.lpfnWndProc    = FrameWndProc;\r\n   wndClass.cbClsExtra     = 0;\r\n   wndClass.cbWndExtra     = 0;\r\n   wndClass.hInstance      = hInstance;\r\n   wndClass.hIcon          = LoadIcon(hInstance, (LPTSTR) MAKEINTRESOURCE(APPICON));\r\n   wndClass.hCursor        = hcurArrow;\r\n   wndClass.hbrBackground  = (HBRUSH)(COLOR_APPWORKSPACE + 1); // COLOR_WINDOW+1;\r\n   wndClass.lpszMenuName   = (LPTSTR) MAKEINTRESOURCE(FRAMEMENU);\r\n\r\n   if (!RegisterClass(&wndClass)) {\r\n      return FALSE;\r\n   }\r\n\r\n   wndClass.lpszClassName  = szTreeClass;\r\n\r\n   wndClass.style          = 0;  //WS_CLIPCHILDREN;  //CS_VREDRAW | CS_HREDRAW;\r\n\r\n   wndClass.lpfnWndProc    = TreeWndProc;\r\n// wndClass.cbClsExtra     = 0;\r\n\r\n   wndClass.cbWndExtra     = GWL_LASTFOCUS + sizeof(LONG_PTR);\r\n\r\n\r\n// wndClass.hInstance      = hInstance;\r\n   wndClass.hIcon          = NULL;\r\n   wndClass.hCursor        = LoadCursor(hInstance, (LPTSTR) MAKEINTRESOURCE(SPLITCURSOR));\r\n   wndClass.hbrBackground  = (HBRUSH)(COLOR_WINDOW+1);\r\n   wndClass.lpszMenuName   = NULL;\r\n\r\n   if (!RegisterClass(&wndClass)) {\r\n      return FALSE;\r\n   }\r\n\r\n   wndClass.lpszClassName  = szDrivesClass;\r\n   wndClass.style          = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;\r\n   wndClass.lpfnWndProc    = DrivesWndProc;\r\n// wndClass.cbClsExtra     = 0;\r\n   wndClass.cbWndExtra     = sizeof(LONG_PTR) +// GWL_CURDRIVEIND\r\n                             sizeof(LONG_PTR) +// GWL_CURDRIVEFOCUS\r\n                             sizeof(LONG_PTR); // GWL_LPSTRVOLUME\r\n\r\n// wndClass.hInstance      = hInstance;\r\n// wndClass.hIcon          = NULL;\r\n   wndClass.hCursor        = hcurArrow;\r\n   wndClass.hbrBackground  = (HBRUSH)(COLOR_BTNFACE+1);\r\n// wndClass.lpszMenuName   = NULL;\r\n\r\n   if (!RegisterClass(&wndClass)) {\r\n      return FALSE;\r\n   }\r\n\r\n   wndClass.lpszClassName  = szTreeControlClass;\r\n   wndClass.style          = CS_DBLCLKS;\r\n   wndClass.lpfnWndProc    = TreeControlWndProc;\r\n// wndClass.cbClsExtra     = 0;\r\n   wndClass.cbWndExtra     = 2 * sizeof(LONG_PTR); // GWL_READLEVEL, GWL_XTREEMAX\r\n// wndClass.hInstance      = hInstance;\r\n// wndClass.hIcon          = NULL;\r\n   wndClass.hCursor        = hcurArrow;\r\n   wndClass.hbrBackground  = NULL;\r\n// wndClass.lpszMenuName   = NULL;\r\n\r\n   if (!RegisterClass(&wndClass)) {\r\n      return FALSE;\r\n   }\r\n\r\n   wndClass.lpszClassName  = szDirClass;\r\n   wndClass.style          = 0;  //CS_VREDRAW | CS_HREDRAW;\r\n   wndClass.lpfnWndProc    = DirWndProc;\r\n// wndClass.cbClsExtra     = 0;\r\n   wndClass.cbWndExtra     = GWL_OLEDROP + sizeof(LONG_PTR);\r\n// wndClass.hInstance      = hInstance;\r\n   wndClass.hIcon          = NULL;\r\n// wndClass.hCursor        = hcurArrow;\r\n   wndClass.hbrBackground  = (HBRUSH)(COLOR_WINDOW+1);\r\n// wndClass.lpszMenuName   = NULL;\r\n\r\n   if (!RegisterClass(&wndClass)) {\r\n      return FALSE;\r\n   }\r\n\r\n   wndClass.lpszClassName  = szSearchClass;\r\n   wndClass.style          = 0L;\r\n   wndClass.lpfnWndProc    = SearchWndProc;\r\n// wndClass.cbClsExtra     = 0;\r\n   wndClass.cbWndExtra     = GWL_LASTFOCUS + sizeof(LONG_PTR);\r\n\r\n// wndClass.hInstance      = hInstance;\r\n   wndClass.hIcon          = LoadIcon(hInstance, (LPTSTR) MAKEINTRESOURCE(DIRICON));\r\n// wndClass.hCursor        = NULL;\r\n   wndClass.hbrBackground  = NULL;\r\n// wndClass.lpszMenuName   = NULL;\r\n\r\n   if (!RegisterClass(&wndClass)) {\r\n      return FALSE;\r\n   }\r\n\r\n#if 0\r\n   wndClass.lpszClassName  = szListbBox;\r\n   wndClass.style          = 0L;\r\n   wndClass.lpfnWndProc    = DirListBoxWndProc;\r\n// wndClass.cbClsExtra     = 0;\r\n   wndClass.cbWndExtra     = sizeof(LONG_PTR);\r\n\r\n// wndClass.hInstance      = hInstance;\r\n   wndClass.hIcon          = LoadIcon(hInstance, (LPTSTR) MAKEINTRESOURCE(DIRICON));\r\n// wndClass.hCursor        = NULL;\r\n   wndClass.hbrBackground  = NULL;\r\n// wndClass.lpszMenuName   = NULL;\r\n\r\n   if ((atomDirListBox = RegisterClass(&wndClass)) == 0) {\r\n      return FALSE;\r\n   }\r\n#endif\r\n\r\n   if (!ResizeDialogInitialize(hInstance)) {\r\n      return FALSE;\r\n   }\r\n\r\n   if (!LoadString(hInstance, IDS_WINFILE, szTitle, COUNTOF(szTitle))) {\r\n      return FALSE;\r\n   }\r\n\r\n   GetPrivateProfileString(szSettings, szWindow, szNULL, szBuffer, COUNTOF(szBuffer), szTheINIFile);\r\n   GetSavedWindow(szBuffer, &win);\r\n\r\n   // Check that at least some portion of the window is visible;\r\n   // set to screen size if not\r\n\r\n   // OLD: SystemParametersInfo(SPI_GETWORKAREA, 0, (PVOID)&rcT, 0);\r\n   rcT.left = GetSystemMetrics(SM_XVIRTUALSCREEN);\r\n   rcT.top = GetSystemMetrics(SM_YVIRTUALSCREEN);\r\n   rcT.right = rcT.left + GetSystemMetrics(SM_CXVIRTUALSCREEN);\r\n   rcT.bottom = rcT.top + GetSystemMetrics(SM_CYVIRTUALSCREEN);\r\n\r\n   // right and bottom are width and height, so convert to coordinates\r\n\r\n   // NOTE: in the cold startup case (no value in winfile.ini), the coordinates are\r\n   // left: CW_USEDEFAULT, top: 0, right: CW_USEDEFAULT, bottom: 0.\r\n\r\n   win.rc.right += win.rc.left;\r\n   win.rc.bottom += win.rc.top;\r\n\r\n   if (!IntersectRect(&rcS, &rcT, &win.rc))\r\n   {\r\n      // window off virtual screen or initial case; reset to defaults\r\n       win.rc.right = win.rc.left = (LONG)CW_USEDEFAULT;\r\n       win.rc.top = win.rc.bottom = 0;\r\n\r\n       // compenstate as above so the conversion below still results in the defaults\r\n       win.rc.right += win.rc.left;\r\n       win.rc.bottom += win.rc.top;\r\n   }\r\n\r\n   // Now convert back again\r\n\r\n   win.rc.right -= win.rc.left;\r\n   win.rc.bottom -= win.rc.top;\r\n\r\n   // We need to know about all reparse tags\r\n   hNtdll = GetModuleHandle(NTDLL_DLL);\r\n   if (hNtdll)\r\n   {\r\n      pfnRtlSetProcessPlaceholderCompatibilityMode = (RtlSetProcessPlaceholderCompatibilityMode_t)GetProcAddress(hNtdll, \"RtlSetProcessPlaceholderCompatibilityMode\");\r\n      if (pfnRtlSetProcessPlaceholderCompatibilityMode)\r\n         pfnRtlSetProcessPlaceholderCompatibilityMode(PHCM_EXPOSE_PLACEHOLDERS);\r\n   }\r\n\r\n   //\r\n   // Check to see if another copy of winfile is running.  If\r\n   // so, either bring it to the foreground, or restore it to\r\n   // a window (from an icon).\r\n   //\r\n   {\r\n      HWND hwndPrev;\r\n      HWND hwnd;\r\n\r\n      hwndPrev = NULL; // FindWindow (szFrameClass, NULL);\r\n\r\n      // Check if developer mode is available in Windows10\r\n      OSVERSIONINFO  osversion;\r\n      osversion.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);\r\n#pragma warning ( push )\r\n#pragma warning( disable : 4996 )\r\n      GetVersionEx(&osversion);\r\n#pragma warning ( pop )\r\n      if (osversion.dwMajorVersion >= 10 && osversion.dwBuildNumber >= 14972)\r\n         bDeveloperModeAvailable = TRUE;\r\n\r\n      if (hwndPrev != NULL) {\r\n         //  For Win32, this will accomplish almost the same effect as the\r\n         //  above code does for Win 3.0/3.1   [stevecat]\r\n\r\n         hwnd = GetLastActivePopup(hwndPrev);\r\n\r\n         if (IsIconic(hwndPrev)) {\r\n            ShowWindow (hwndPrev, SW_RESTORE);\r\n            SetForegroundWindow (hwndPrev);\r\n         } else {\r\n            SetForegroundWindow (hwnd);\r\n         }\r\n\r\n         return FALSE;\r\n      }\r\n\r\n   }\r\n\r\n\r\n   if (!CreateWindowEx(dwExStyle, szFrameClass, szTitle, WS_OVERLAPPEDWINDOW | WS_CLIPCHILDREN,\r\n      win.rc.left, win.rc.top, win.rc.right, win.rc.bottom,\r\n      NULL, NULL, hInstance, NULL)) {\r\n\r\n      return FALSE;\r\n   }\r\n\r\n   // Now, we need to start the Change Notify thread, so that any changes\r\n   // that happen will be notified.  This thread will create handles for\r\n   // each viewed directory and wait on them.  If any of the handles are\r\n   // awakened, then the appropriate directory will be sent a message to\r\n   // refresh itself.  Another thread will also be created to watch for\r\n   // network connections/disconnections.  This will be done via the\r\n   // registry.  !! LATER !!\r\n\r\n   InitializeWatchList();\r\n\r\n   bUpdateRun = TRUE;\r\n   //\r\n   // Now create our worker thread and two events to communicate by\r\n   //\r\n   hEventUpdate        = CreateEvent(NULL, TRUE, FALSE, NULL);\r\n   hEventUpdatePartial = CreateEvent(NULL, TRUE, FALSE, NULL);\r\n   hEventNetLoad       = CreateEvent(NULL, TRUE, FALSE, NULL);\r\n   hEventAcledit       = CreateEvent(NULL, TRUE, FALSE, NULL);\r\n\r\n   hThreadUpdate = CreateThread( NULL,\r\n      0L,\r\n      UpdateInit,\r\n      NULL,\r\n      0L,\r\n      &Ignore);\r\n\r\n   if (!hEventUpdate ||\r\n      !hEventUpdatePartial ||\r\n      !hThreadUpdate ||\r\n      !hEventNetLoad ||\r\n      !hEventAcledit) {\r\n\r\n      LoadFailMessage();\r\n\r\n      bUpdateRun = FALSE;\r\n\r\n      return FALSE;\r\n   }\r\n\r\n   SetThreadPriority(hThreadUpdate, THREAD_PRIORITY_BELOW_NORMAL);\r\n\r\n   //\r\n   // Reset simple drive info, and don't let anyone block\r\n   //\r\n   ResetDriveInfo();\r\n   SetEvent(hEventUpdatePartial);\r\n\r\n   nFloppies = 0;\r\n   for (i=0; i < cDrives; i++) {\r\n      if (IsRemovableDrive(rgiDrive[i])) {\r\n\r\n         //\r\n         // Avoid Phantom B: problems.\r\n         //\r\n         if ((nFloppies == 1) && (i > 1))\r\n            nFloppies = 2;\r\n\r\n         nFloppies++;\r\n      }\r\n   }\r\n\r\n   //\r\n   // Turn off redraw for hwndDriveList since we will display it later\r\n   // (avoid flicker)\r\n   //\r\n   SendMessage(hwndDriveList,WM_SETREDRAW,0,0l);\r\n\r\n   //\r\n   // support forced min or max\r\n   //\r\n   if (nCmdShow == SW_SHOW || nCmdShow == SW_SHOWNORMAL &&\r\n      win.sw != SW_SHOWMINIMIZED)\r\n   {\r\n      nCmdShow = win.sw;\r\n   }\r\n\r\n   ShowWindow(hwndFrame, nCmdShow);\r\n\r\n   if (bDriveBar) {\r\n      //\r\n      // Update the drive bar\r\n      //\r\n      InvalidateRect(hwndDriveBar, NULL, TRUE);\r\n   }\r\n   UpdateWindow(hwndFrame);\r\n\r\n   //\r\n   // Party time...\r\n   // Slow stuff here\r\n   //\r\n\r\n   LoadString(hInstance, IDS_DIRSREAD, szDirsRead, COUNTOF(szDirsRead));\r\n   LoadString(hInstance, IDS_BYTES, szBytes, COUNTOF(szBytes));\r\n   LoadString(hInstance, IDS_SBYTES, szSBytes, COUNTOF(szSBytes));\r\n\r\n   //\r\n   // Read the International constants out of WIN.INI.\r\n   //\r\n   GetInternational();\r\n\r\n   if (ppProgBucket = DocConstruct()) {\r\n\r\n      FillDocType(ppProgBucket, L\"Programs\", szDefPrograms);\r\n   }\r\n\r\n   BuildDocumentStringWorker();\r\n\r\n   if (!InitDirRead()) {\r\n\r\n      LoadFailMessage();\r\n      return FALSE;\r\n   }\r\n\r\n   //\r\n   // Now draw drive list box\r\n   //\r\n   FillToolbarDrives(0);\r\n   SendMessage(hwndDriveList,WM_SETREDRAW,(WPARAM)TRUE,0l);\r\n   InvalidateRect(hwndDriveList, NULL, TRUE);\r\n\r\n\r\n   //\r\n   // Init Menus fast stuff\r\n   //\r\n   // Init the Disk menu\r\n   //\r\n   InitMenus();\r\n\r\n\r\n   if (!CreateSavedWindows(pszInitialDir)) {\r\n      return FALSE;\r\n   }\r\n\r\n   ShowWindow(hwndMDIClient, SW_NORMAL);\r\n\r\n   //\r\n   // Kick start the background net read\r\n   //\r\n   // Note: We must avoid deadlock situations by kick starting the network\r\n   // here.  There is a possible deadlock if you attempt a WAITNET() before\r\n   // hEventUpdate is first set.  This can occur in the wfYield() step\r\n   // of the background read below.\r\n   //\r\n   SetEvent(hEventUpdate);\r\n\r\n   // now refresh all tree windows (start background tree read)\r\n   //\r\n   // since the tree reads happen in the background the user can\r\n   // change the Z order by activating windows once the read\r\n   // starts.  to avoid missing a window we must restart the\r\n   // search through the MDI child list, checking to see if the\r\n   // tree has been read yet (if there are any items in the\r\n   // list box).  if it has not been read yet we start the read\r\n\r\n   hwnd = GetWindow(hwndMDIClient, GW_CHILD);\r\n\r\n   while (hwnd) {\r\n      HWND hwndTree;\r\n\r\n      if ((hwndTree = HasTreeWindow(hwnd)) &&\r\n         (INT)SendMessage(GetDlgItem(hwndTree, IDCW_TREELISTBOX), LB_GETCOUNT, 0, 0L) == 0) {\r\n\r\n         SendMessage(hwndTree, TC_SETDRIVE, MAKEWORD(FALSE, 0), 0L);\r\n         hwnd = GetWindow(hwndMDIClient, GW_CHILD);\r\n      } else {\r\n         hwnd = GetWindow(hwnd, GW_HWNDNEXT);\r\n      }\r\n   }\r\n\r\n   // ProfStop();\r\n\r\n   // drive refresh taken out of update drive list, must be manually\r\n   // placed here for screen init.  Do last.\r\n   // Commented out (unnecessary)\r\n   //    FillToolbarDrives(GetSelectedDrive());\r\n\r\n   SetThreadPriority(hThread, THREAD_PRIORITY_NORMAL);\r\n\r\n   if (bIndexOnLaunch)\r\n   {\r\n      StartBuildingDirectoryTrie();\r\n   }\r\n\r\n   return TRUE;\r\n}\r\n\r\n\r\nVOID\r\nDeleteBitmaps()\r\n{\r\n   if (hdcMem) {\r\n\r\n      SelectObject(hdcMem, hbmSave);\r\n\r\n      if (hbmBitmaps)\r\n         DeleteObject(hbmBitmaps);\r\n      DeleteDC(hdcMem);\r\n   }\r\n}\r\n\r\n\r\n//--------------------------------------------------------------------------\r\n//\r\n//  FreeFileManager() -\r\n//\r\n//--------------------------------------------------------------------------\r\n\r\nVOID\r\nFreeFileManager()\r\n{\r\n   if (hThreadUpdate && bUpdateRun) {\r\n      UpdateWaitQuit();\r\n      CloseHandle(hThreadUpdate);\r\n   }\r\n\r\n   DeleteCriticalSection(&CriticalSectionPath);\r\n\r\n#define CLOSEHANDLE(handle) if (handle) CloseHandle(handle)\r\n\r\n   CLOSEHANDLE(hEventNetLoad);\r\n   CLOSEHANDLE(hEventAcledit);\r\n   CLOSEHANDLE(hEventUpdate);\r\n   CLOSEHANDLE(hEventUpdatePartial);\r\n\r\n   DestroyWatchList();\r\n   DestroyDirRead();\r\n\r\n   D_Info();\r\n\r\n   D_Type();\r\n   D_Space();\r\n   D_NetCon();\r\n   D_VolInfo();\r\n\r\n   DocDestruct(ppDocBucket);\r\n   DocDestruct(ppProgBucket);\r\n\r\n   DeleteBitmaps();\r\n\r\n   if (hFont)\r\n      DeleteObject(hFont);\r\n\r\n   if (hfontDriveList)\r\n      DeleteObject(hfontDriveList);\r\n\r\n    // use the smaller font for Status bar so that messages fix in it.\r\n    if( bJAPAN ) {\r\n        if (hFontStatus)\r\n            DeleteObject(hFontStatus);\r\n    }\r\n\r\n   //\r\n   // Free the fmifs junk\r\n   //\r\n   if (hfmifsDll)\r\n      FreeLibrary(hfmifsDll);\r\n\r\n   if (hNtshrui)\r\n      FreeLibrary(hNtshrui);\r\n\r\n   if (hMPR)\r\n      FreeLibrary(hMPR);\r\n\r\n   if (hVersion)\r\n      FreeLibrary(hVersion);\r\n\r\n   OleUninitialize();\r\n\r\n#undef CLOSEHANDLE\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     LoadFailMessage\r\n//\r\n// Synopsis: Puts up message on load failure.\r\n//\r\n// IN        VOID\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nLoadFailMessage(VOID)\r\n{\r\n   WCHAR szMessage[MAXMESSAGELEN];\r\n\r\n   szMessage[0]=0;\r\n\r\n   LoadString(hAppInstance,\r\n      IDS_INITUPDATEFAIL,\r\n      szMessage,\r\n      COUNTOF(szMessage));\r\n\r\n   FormatError(FALSE, szMessage, COUNTOF(szMessage), GetLastError());\r\n\r\n   LoadString(hAppInstance,\r\n      IDS_INITUPDATEFAILTITLE,\r\n      szTitle,\r\n      COUNTOF(szTitle));\r\n\r\n   MessageBox(hwndFrame, szMessage, szTitle, MB_ICONEXCLAMATION|MB_OK|MB_APPLMODAL);\r\n\r\n   return;\r\n}\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     LoadUxTheme\r\n//\r\n// Synopsis: Loads function SetWindowTheme dynamically\r\n//\r\n// IN:       VOID\r\n//\r\n// Return:   BOOL  T=Success, F=FAILURE\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:  hUxTheme, lpfnSetWindowTheme\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nLoadUxTheme(VOID)\r\n{\r\n  UINT uErrorMode;\r\n\r\n  //\r\n  // Have we already loaded it?\r\n  //\r\n  if (hUxTheme)\r\n    return TRUE;\r\n\r\n  //\r\n  // Let the system handle errors here\r\n  //\r\n  uErrorMode = SetErrorMode(0);\r\n  hUxTheme = LoadSystemLibrary(UXTHEME_DLL);\r\n  SetErrorMode(uErrorMode);\r\n\r\n  if (!hUxTheme)\r\n    return FALSE;\r\n\r\n#define GET_PROC(x) \\\r\n   if (!(lpfn##x = (PVOID) GetProcAddress(hUxTheme, UXTHEME_##x))) \\\r\n      return FALSE\r\n\r\n  GET_PROC(SetWindowTheme);\r\n\r\n#undef GET_PROC\r\n\r\n  return TRUE;\r\n}\r\n"
  },
  {
    "path": "src/wfloc.c",
    "content": "/********************************************************************\n\nwfloc.c\n\nWinfile localization selection procedures\n\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the MIT License.\n\n********************************************************************/\n#include \"winfile.h\"\n\n/*\nThe Language names are sorted like this because CBS_SORT Flag for comboboxes causes bugs.\ncf. https://msdn.microsoft.com/en-us/library/cc233982.aspx\n*/\n\ntypedef struct _FM_LANG {\n    LPCWSTR String;\n    LANGID Lang;\n} FM_LANG;\n\nFM_LANG fmLCIDs[] = {\n    {TEXT(\"zh-CN\"), MAKELANGID(LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED)}, // Chinese, Simplified\n    {TEXT(\"en-US\"), MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)},         // English, United States\n    {TEXT(\"he-IL\"), MAKELANGID(LANG_HEBREW, SUBLANG_HEBREW_ISRAEL)},       // Hebrew, Israel\n    {TEXT(\"ja-JP\"), MAKELANGID(LANG_JAPANESE, SUBLANG_JAPANESE_JAPAN)},    // Japanese, Japan\n    {TEXT(\"pl-PL\"), MAKELANGID(LANG_POLISH, SUBLANG_POLISH_POLAND)},       // Polish, Poland\n    {TEXT(\"de-DE\"), MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN)},              // German, Germany\n    {TEXT(\"tr-TR\"), MAKELANGID(LANG_TURKISH, SUBLANG_TURKISH_TURKEY)},     // Turkish, Turkey\n    {TEXT(\"pt-PT\"), MAKELANGID(LANG_PORTUGUESE, SUBLANG_PORTUGUESE)},      // Portuguese, Portugal\n    {TEXT(\"ko-KR\"), MAKELANGID(LANG_KOREAN, SUBLANG_KOREAN)}               // Korean, Korea\n};\n\nLCID\nWFLocaleNameToLCID(LPCWSTR lpName, DWORD dwFlags)\n{\n    LCID lcidTemp;\n    DWORD i;\n\n    lcidTemp = LOCALE_USER_DEFAULT;\n\n    if (LocaleNameToLCID != NULL)\n    {\n        lcidTemp = LocaleNameToLCID(lpName, 0);\n    }\n\n    for (i = 0; i <= COUNTOF(fmLCIDs) - 1; i++)\n    {\n        if (lstrcmpi(lpName, fmLCIDs[i].String) == 0)\n        {\n            lcidTemp = MAKELCID(fmLCIDs[i].Lang, SORT_DEFAULT);\n            break;\n        }\n    }\n\n    return lcidTemp;\n}\n\nVOID InitLangList(HWND hCBox)\n{\n    // Propogate the list\n    for (UINT i = 0; i <= (COUNTOF(fmLCIDs) - 1); i++)\n    {\n        TCHAR szLangName[MAXPATHLEN] = { 0 };\n        LCID lcidTemp;\n\n        lcidTemp = WFLocaleNameToLCID(fmLCIDs[i].String, 0);\n\n        if (GetLocaleInfoEx != NULL)\n        {\n            if (GetLocaleInfoEx(fmLCIDs[i].String, LOCALE_SLOCALIZEDDISPLAYNAME, szLangName, COUNTOF(szLangName)) == 0)\n            {\n                lstrcpy(szLangName, TEXT(\"BUGBUG\"));\n            }\n        }\n        else\n        {\n            if (GetLocaleInfo(lcidTemp, LOCALE_SLOCALIZEDDISPLAYNAME, szLangName, COUNTOF(szLangName)) == 0)\n            {\n                lstrcpy(szLangName, TEXT(\"BUGBUG\"));\n            }\n        }\n\n        // every entry in the array above needs to be addd to the list box;\n        // SaveLang() below depends on each index in the listbox being valid.\n        SendMessage(hCBox, CB_ADDSTRING, 0, (LPARAM)szLangName);\n\n        //Select entry if its the currently active language\n        if (lcidTemp == lcid)\n        {\n            SendMessage(hCBox, CB_SETCURSEL, i, 0);\n        }\n    }\n}\n\nVOID SaveLang(HWND hCBox)\n{\n    int iIndex = (INT)SendMessage(hCBox, CB_GETCURSEL, 0, 0);\n\n    if (iIndex == CB_ERR)\n        return; // do nothing\n\n    WritePrivateProfileString(szSettings, szUILanguage, fmLCIDs[iIndex].String, szTheINIFile);\n}\n\n// returns whether the current language is default RTL; ARABIC, HEBREW: true; else false;\n// ideally this would call GetLocalInfoEx with LOCALE_IREADINGLAYOUT, but that API was >=  Win7\nBOOL DefaultLayoutRTL()\n{\n    switch (PRIMARYLANGID(LANGIDFROMLCID(lcid)))\n    {\n    /* Additional Languages can be added */\n    case LANG_ARABIC:\n    case LANG_HEBREW:\n        return TRUE;\n    default:\n        return FALSE;\n    }\n}\n\n// returns the extended style bits for the main window;\n// if bMirrorContent, essentially reverses the RTL setting (but not the main layout in RTL langauges)\nDWORD MainWindowExStyle()\n{\n    DWORD exStyle = 0L;\n\n    if (DefaultLayoutRTL())\n    {\n        exStyle = WS_EX_LAYOUTRTL;\n        if (!bMirrorContent)\n            exStyle |= WS_EX_NOINHERITLAYOUT;\n    }\n    else\n    {\n        exStyle = bMirrorContent ? WS_EX_LAYOUTRTL : 0;\n    }\n\n    return exStyle;\n}\n\nVOID PreserveBitmapInRTL(HDC hdc)\n{\n    if (GetLayout(hdc) == LAYOUT_RTL)\n        SetLayout(hdc, LAYOUT_RTL | LAYOUT_BITMAPORIENTATIONPRESERVED);\n}\n"
  },
  {
    "path": "src/wfmem.c",
    "content": "/********************************************************************\r\n\r\n   wfmem.c\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#define BLOCK_SIZE_GRANULARITY 1024     // must be larger than XDTA\r\n#define ALIGNBLOCK(x) (((x)+7)&~7)      // quad word align for Alpha\r\n\r\n#ifdef HEAPCHECK\r\n#include \"heap.h\"\r\n#endif\r\n\r\n#include <windows.h>\r\n#include \"wfdocb.h\"\r\n#include \"wfmem.h\"\r\n\r\nLPXDTALINK\r\nMemNew()\r\n{\r\n   LPXDTALINK lpStart;\r\n   LPXDTAHEAD lpHead;\r\n\r\n   lpStart = (LPXDTALINK) LocalAlloc(LMEM_FIXED, BLOCK_SIZE_GRANULARITY);\r\n\r\n   if (!lpStart)\r\n      return NULL;\r\n\r\n   //\r\n   // Initialize the link structure\r\n   //\r\n   lpStart->next = NULL;\r\n#ifdef MEMDOUBLE\r\n   lpStart->dwSize = BLOCK_SIZE_GRANULARITY;\r\n#endif\r\n   lpStart->dwNextFree = LINKHEADSIZE;\r\n\r\n   //\r\n   // Create the XDTAHEAD block and initialize\r\n   //\r\n   lpHead = MemLinkToHead(lpStart);\r\n\r\n   //\r\n   // Initialize winfile specific data\r\n   //\r\n   lpHead->dwEntries = 0;\r\n   lpHead->dwTotalCount = 0;\r\n   lpHead->qTotalSize.HighPart = 0;\r\n   lpHead->qTotalSize.LowPart = 0;\r\n   lpHead->alpxdtaSorted = NULL;\r\n   lpHead->fdwStatus = 0;\r\n\r\n   //\r\n   // lpHead->dwAlternateFileNameExtent = 0;\r\n   // lpHead->iError = 0;\r\n   //\r\n#ifdef TESTING\r\n// TESTING\r\n   {TCHAR szT[100]; wsprintf(szT,\r\n   L\"MemNew %x\\n\", lpStart); OutputDebugString(szT);}\r\n#endif\r\n\r\n   return lpStart;\r\n}\r\n\r\n\r\nVOID\r\nMemDelete(\r\n   LPXDTALINK lpStart)\r\n{\r\n   LPXDTALINK lpLink;\r\n   LPXDTAHEAD lpHead;\r\n   LPXDTA* plpxdta;\r\n\r\n#ifdef TESTING\r\n// TESTING\r\n   {TCHAR szT[100]; wsprintf(szT,\r\n   L\"MemDelete %x\\n\", lpStart); OutputDebugString(szT);}\r\n#endif\r\n\r\n   if (!lpStart)\r\n      return;\r\n\r\n   lpHead = MemLinkToHead(lpStart);\r\n   plpxdta = lpHead->alpxdtaSorted;\r\n\r\n   if (plpxdta)\r\n      LocalFree(plpxdta);\r\n\r\n   while (lpStart) {\r\n\r\n      lpLink = lpStart->next;\r\n      LocalFree(lpStart);\r\n\r\n      lpStart = lpLink;\r\n   }\r\n\r\n   return;\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     MemAdd\r\n//\r\n// Synopsis: Allocates space (if nec) to the memory structure\r\n//\r\n// lpLast               _must_ be the last link of the mem struct\r\n// cchFileName          char count of name (not including NULL)\r\n// cchAlternateFileName char count of altname (not including NULL)\r\n//\r\n// Return:\r\n//\r\n//\r\n// Assumes:\r\n//\r\n//    lpLast is really the last item block\r\n//\r\n// Effects:\r\n//\r\n//    Sets up internal pointers\r\n//\r\n// Notes:\r\n//\r\n// Invariants:\r\n//\r\n//    lpLast*->dwNextFree maintained\r\n//    lpLast*->next linked list maintained\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nLPXDTA\r\nMemAdd(\r\n   LPXDTALINK* plpLast,\r\n   UINT cchFileName,\r\n   UINT cchAlternateFileName)\r\n{\r\n   LPXDTA lpxdta;\r\n   UINT cbSpace;\r\n   LPXDTALINK lpLast = *plpLast;\r\n#ifdef MEMDOUBLE\r\n   DWORD dwNewSize;\r\n#endif\r\n\r\n   cbSpace = ALIGNBLOCK((cchFileName+\r\n                         cchAlternateFileName+2)*sizeof(WCHAR)+\r\n                         sizeof(XDTA));\r\n\r\n#ifdef MEMDOUBLE\r\n   if (cbSpace + lpLast->dwNextFree > lpLast->dwSize) {\r\n\r\n      //\r\n      // Must allocate a new block\r\n      //\r\n      dwNewSize = lpLast->dwSize*2;\r\n\r\n      if (dwNewSize < lpLast->dwSize)\r\n         dwNewSize = lpLast->dwSize;\r\n\r\n      lpLast->next = LocalAlloc(LMEM_FIXED, dwNewSize);\r\n\r\n      if (!lpLast->next)\r\n         return NULL;\r\n\r\n      lpLast = *plpLast = lpLast->next;\r\n\r\n      lpLast->dwSize = dwNewSize;\r\n#else\r\n   if (cbSpace + lpLast->dwNextFree > BLOCK_SIZE_GRANULARITY) {\r\n\r\n      //\r\n      // Must allocate a new block\r\n      //\r\n      lpLast->next = LocalAlloc(LMEM_FIXED, BLOCK_SIZE_GRANULARITY);\r\n\r\n      if (!lpLast->next)\r\n         return NULL;\r\n\r\n      lpLast = *plpLast = lpLast->next;\r\n#endif\r\n\r\n      lpLast->next = NULL;\r\n      lpLast->dwNextFree = ALIGNBLOCK(sizeof(XDTALINK));\r\n   }\r\n\r\n   //\r\n   // We have enough space in this link now\r\n   // Update everything\r\n   //\r\n\r\n   lpxdta = (LPXDTA)((PBYTE)lpLast+lpLast->dwNextFree);\r\n\r\n   lpLast->dwNextFree += cbSpace;\r\n   lpxdta->dwSize = cbSpace;\r\n   lpxdta->cchFileNameOffset = cchFileName+1;\r\n\r\n   return lpxdta;\r\n}\r\n\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     MemClone\r\n//\r\n// Synopsis: returns a copy of the specified block\r\n//\r\n//\r\n// Return:   Full Copy or NULL\r\n//\r\n// Assumes:  lpStart stable and safe\r\n//\r\n// Effects:\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nLPXDTALINK\r\nMemClone(LPXDTALINK lpStart)\r\n{\r\n   LPXDTALINK lpStartCopy;\r\n   LPXDTALINK lpPrev;\r\n   LPXDTALINK lpLink;\r\n   LPXDTALINK lpNext;\r\n   SIZE_T dwSize;\r\n\r\n#ifdef TESTING\r\n// TESTING\r\n   {TCHAR szT[100]; wsprintf(szT,\r\n   L\"MemClone %x \", lpStart); OutputDebugString(szT);}\r\n#endif\r\n\r\n   for (lpPrev = NULL, lpStartCopy = NULL; lpStart; lpStart = lpNext)\r\n   {\r\n      lpNext = lpStart->next;\r\n\r\n      dwSize = LocalSize((HLOCAL)lpStart);\r\n\r\n      lpLink = LocalAlloc(LMEM_FIXED, dwSize);\r\n      if (!lpLink)\r\n      {\r\n         MemDelete(lpStartCopy);\r\n         return NULL;\r\n      }\r\n\r\n      CopyMemory((PBYTE)lpLink, (PBYTE)lpStart, dwSize);\r\n\r\n      if (!lpStartCopy)\r\n      {\r\n         lpStartCopy = lpLink;\r\n\r\n         //\r\n         // MUST set lpxdtaDst->head.alpxdtaSorted to NULL,\r\n         // otherwise it will attempt to use the original one's space\r\n         //\r\n         MemLinkToHead(lpStartCopy)->alpxdtaSorted = NULL;\r\n      }\r\n\r\n      //\r\n      // Setup link (must null out last one since we can free it at\r\n      // any time if memory alloc fails).\r\n      //\r\n      lpLink->next = NULL;\r\n\r\n      if (lpPrev)\r\n      {\r\n         lpPrev->next = lpLink;\r\n      }\r\n      lpPrev = lpLink;\r\n   }\r\n\r\n#ifdef TESTING\r\n// TESTING\r\n   {TCHAR szT[100]; wsprintf(szT,\r\n   L\"rets %x\\n\", lpStartCopy); OutputDebugString(szT);}\r\n#endif\r\n\r\n   return lpStartCopy;\r\n}\r\n\r\nLPXDTA\r\nMemNext(LPXDTALINK* plpLink, LPXDTA lpxdta)\r\n{\r\n   LPXDTALINK lpLinkCur = *plpLink;\r\n\r\n   if ((PBYTE)lpxdta + lpxdta->dwSize - (PBYTE)lpLinkCur == (INT)lpLinkCur->dwNextFree)\r\n   {\r\n      *plpLink = lpLinkCur->next;\r\n      return (LPXDTA)(((PBYTE)*plpLink)+sizeof(XDTALINK));\r\n   }\r\n   else\r\n   {\r\n      return (LPXDTA)((PBYTE)lpxdta + lpxdta->dwSize);\r\n   }\r\n}\r\n\r\n"
  },
  {
    "path": "src/wfmem.h",
    "content": "/********************************************************************\r\n\r\n   wfmem.h\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#ifndef _WFMEM_H\r\n#define _WFMEM_H\r\n\r\ntypedef struct _XDTAHEAD* LPXDTAHEAD;\r\ntypedef struct _XDTA* LPXDTA;\r\ntypedef struct _XDTALINK* LPXDTALINK;\r\n\r\ntypedef struct _XDTALINK {\r\n   LPXDTALINK next;\r\n#ifdef MEMDOUBLE\r\n   DWORD dwSize;\r\n#endif\r\n   DWORD dwNextFree;\r\n#ifdef MEMDOUBLE\r\n   DWORD dwPad;            /* quad word align for Alpha */\r\n#endif\r\n} XDTALINK;\r\n\r\n#define LPXDTA_STATUS_READING 0x1   // Reading by ReadDirLevel\r\n#define LPXDTA_STATUS_CLOSE   0x2   // ReadDirLevel must free\r\n\r\n\r\ntypedef struct _XDTAHEAD {\r\n\r\n   DWORD dwEntries;\r\n   DWORD dwTotalCount;\r\n   LARGE_INTEGER qTotalSize;\r\n   LPXDTA* alpxdtaSorted;\r\n\r\n   DWORD dwAlternateFileNameExtent;\r\n   DWORD fdwStatus;\r\n\r\n   DWORD dwPad;            /* quad word align for Alpha */\r\n\r\n} XDTAHEAD;\r\n\r\ntypedef struct _XDTA {\r\n\r\n   DWORD dwSize;\r\n   DWORD dwAttrs;\r\n   FILETIME ftLastWriteTime;\r\n   LARGE_INTEGER qFileSize;\r\n   UINT  cchFileNameOffset;\r\n\r\n   BYTE  byBitmap;\r\n   BYTE  byType;\r\n\r\n   PDOCBUCKET pDocB;\r\n\r\n   WCHAR cFileNames[1];\r\n} XDTA;\r\n\r\n#define LINKHEADSIZE (sizeof(XDTALINK) + sizeof(XDTAHEAD))\r\n\r\nLPXDTALINK MemNew();\r\nVOID   MemDelete(LPXDTALINK lpStart);\r\n\r\nLPXDTALINK MemClone(LPXDTALINK lpStart);\r\nLPXDTA MemAdd(LPXDTALINK* plpLast, UINT cchFileName, UINT cchAlternateFileName);\r\nLPXDTA MemNext(LPXDTALINK* plpLink, LPXDTA lpxdta);\r\n\r\n#define MemFirst(lpStart) ((LPXDTA)(((PBYTE)lpStart) + LINKHEADSIZE))\r\n#define MemGetAlternateFileName(lpxdta) (&lpxdta->cFileNames[lpxdta->cchFileNameOffset])\r\n#define MemGetFileName(lpxdta)          (lpxdta->cFileNames)\r\n#define MemLinkToHead(link) ((LPXDTAHEAD)((PBYTE)link+sizeof(XDTALINK)))\r\n\r\n#define pdtaNext(pdta) ((LPXDTA)((PBYTE)(pdta) + ((LPXDTA)pdta)->dwSize))\r\n\r\n\r\n#endif // ndef _WFMEM_H\r\n"
  },
  {
    "path": "src/wfprint.c",
    "content": "/********************************************************************\r\n\r\n   wfprint.c\r\n\r\n   Windows Print Routines\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  PrintFile() -                                                           */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nDWORD\r\nPrintFile(HWND hwnd, LPTSTR szFile)\r\n{\r\n   DWORD_PTR     ret;\r\n   INT           iCurCount;\r\n   INT           i;\r\n   HCURSOR       hCursor;\r\n   WCHAR      szDir[MAXPATHLEN];\r\n\r\n   ret = 0;\r\n\r\n   hCursor = SetCursor(LoadCursor(NULL, IDC_WAIT));\r\n   iCurCount = ShowCursor(TRUE) - 1;\r\n\r\n   //\r\n   // This returns Ansi chars, and that's what ShellExecute expects\r\n   //\r\n   GetSelectedDirectory(0, szDir);\r\n\r\n   //\r\n   // open the object\r\n   //\r\n   SetErrorMode(0);\r\n   ret = (DWORD_PTR)ShellExecute(hwnd, L\"print\", szFile, szNULL, szDir, SW_SHOWNORMAL);\r\n   SetErrorMode(1);\r\n\r\n   switch (ret) {\r\n   case 0:\r\n   case 8:\r\n      ret = IDS_PRINTMEMORY;\r\n      break;\r\n\r\n   case 2:\r\n      ret = IDS_FILENOTFOUNDMSG;\r\n      break;\r\n\r\n   case 3:\r\n      ret = IDS_BADPATHMSG;\r\n      break;\r\n\r\n   case 5:\r\n      ret = IDS_NOACCESSFILE;\r\n      break;\r\n\r\n   case SE_ERR_SHARE:\r\n      ret = IDS_SHAREERROR;\r\n      break;\r\n\r\n   case SE_ERR_ASSOCINCOMPLETE:\r\n      ret = IDS_ASSOCINCOMPLETE;\r\n      break;\r\n\r\n   case SE_ERR_DDETIMEOUT:\r\n   case SE_ERR_DDEFAIL:\r\n   case SE_ERR_DDEBUSY:\r\n      ret = IDS_DDEFAIL;\r\n      break;\r\n\r\n   case SE_ERR_NOASSOC:\r\n      ret = IDS_NOASSOCMSG;\r\n      break;\r\n\r\n   default:\r\n      if (ret <= 32)\r\n         goto EPExit;\r\n      ret = 0;\r\n   }\r\n\r\nEPExit:\r\n   i = ShowCursor(FALSE);\r\n\r\n   //\r\n   // Make sure that the cursor count is still balanced.\r\n   //\r\n   if (i != iCurCount)\r\n      ShowCursor(TRUE);\r\n\r\n   SetCursor(hCursor);\r\n\r\n   return (DWORD)ret;\r\n}\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  WFPrint() -                                                             */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nDWORD\r\nWFPrint(LPTSTR pSel)\r\n{\r\n  TCHAR szFile[MAXPATHLEN];\r\n  TCHAR szTemp[MAXPATHLEN];\r\n  DWORD ret;\r\n\r\n  /* Turn off the print button. */\r\n  if (hdlgProgress)\r\n      EnableWindow(GetDlgItem(hdlgProgress, IDOK), FALSE);\r\n\r\n  if (!(pSel = GetNextFile(pSel, szFile, COUNTOF(szFile))))\r\n      return TRUE;\r\n\r\n  /* See if there is more than one file to print.  Abort if so\r\n   */\r\n  if (pSel = GetNextFile(pSel, szTemp, COUNTOF(szTemp))) {\r\n      MyMessageBox(hwndFrame, IDS_WINFILE, IDS_PRINTONLYONE, MB_OK | MB_ICONEXCLAMATION);\r\n      return(FALSE);\r\n  }\r\n\r\n  if (hdlgProgress) {\r\n      /* Display the name of the file being printed. */\r\n      LoadString(hAppInstance, IDS_PRINTINGMSG, szTitle, COUNTOF(szTitle));\r\n      wsprintf(szMessage, szTitle, szFile);\r\n      SetDlgItemText(hdlgProgress, IDD_STATUS, szMessage);\r\n  }\r\n\r\n  ret = PrintFile(hdlgProgress ? hdlgProgress : hwndFrame, szFile);\r\n\r\n  if (ret) {\r\n     MyMessageBox(hwndFrame, IDS_PRINTERRTITLE, ret, MB_OK | MB_ICONEXCLAMATION);\r\n     return FALSE;\r\n  }\r\n\r\n  return TRUE;\r\n}\r\n"
  },
  {
    "path": "src/wfsearch.c",
    "content": "/********************************************************************\r\n\r\n    WFSearch.c - Windows File Manager Search code\r\n\r\n    Copyright(c) Microsoft Corporation.All rights reserved.\r\n    Licensed under the MIT License.\r\n\r\n    Strategy for single multithreaded search:\r\n\r\n    3 ways to terminate search\r\n      1. Search completes normally\r\n      2. User hits cancel on search progress dlg (search dlg)\r\n      3. User closes mdi search window (search window) while searching\r\n\r\n    bCancel indicates quit searching (cases 2,3)\r\n          2-> SEARCH_CANCEL\r\n          3-> SEARCH_MDICLOSE\r\n\r\n    Case 1:  W: SendMessage FS_SEARCHEND to hwndFrame\r\n             M: hThread = NULL               < FS_SEARCHEND >\r\n                if search dlg up\r\n                   kill search dlg\r\n                   hSearchDlg = NULL\r\n             M: invalidate hwndLB            < SearchEnd >\r\n                if SEARCH_ERROR\r\n                   message, quit\r\n                if no matches\r\n                   message, quit\r\n                show normal window\r\n             W: Worker thread dies\r\n\r\n    Case 2:  M: bCancel = TRUE\r\n                SEARCH_CANCEL\r\n             W: handle like Case 1.\r\n\r\n    Case 3:  M: bCancel = TRUE\r\n                SEARCH_MDICLOSE\r\n                hwndSearch = NULL\r\n             M: ClearSearchLB()               < WM_DESTROY >\r\n             M: Listbox cleared               < ClearSearchLB >\r\n                MDI search window destroyed\r\n\r\n             << asynchronous >>\r\n\r\n             W: SendMessage FS_SEARCHEND\r\n\r\n             << Now synchronous >>\r\n\r\n             M: hThread = NULL\r\n                destroy search dlg\r\n             M: ClearSearchLB()               < SearchEnd >\r\n             M: free memory                   < ClearSearchLB >\r\n\r\n    All race conditions are eliminated by using SendMessages to\r\n    the main thread or by \"don't care\" situations.\r\n\r\n    Other race conditions:\r\n\r\n       M:               W:\r\n                        Search completes\r\n       Hide/Cancel hit\r\n                        FS_SEARCHEND sent\r\n\r\n       No problem, since Hide/Cancel normally force a search completion.\r\n       Now it just happens sooner.\r\n\r\n\r\n       M:               W:\r\n       MDI search close\r\n                        Search completes\r\n\r\n       MDI Search close must complete before FS_SEARCHEND can process.\r\n       (Since it is SendMessage'd by W:)\r\n\r\n    Freeing associated memory.  This is done by whoever leaves last.\r\n    If the search window is closed first, the worker thread cleans up.  If\r\n    the search completes and then the mdi search window is closed, the\r\n    memory is freed by the mdi search window.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n#include \"lfn.h\"\r\n\r\n#include <commctrl.h>\r\n\r\nINT maxExt;\r\nINT iDirsRead;\r\nDWORD dwLastUpdateTime;\r\nINT maxExtLast;\r\n\r\n\r\nVOID UpdateIfDirty(HWND hWnd);\r\nINT  FillSearchLB(HWND hwndLB, LPWSTR szSearchFileSpec, BOOL bRecurse, BOOL bIncludeSubdirs);\r\nINT  SearchList(\r\n   HWND hwndLB,\r\n   LPWSTR szPath,\r\n   LPWSTR szFileSpec,\r\n   BOOL bRecurse,\r\n   BOOL bIncludeSubdirs,\r\n   LPXDTALINK* plpStart,\r\n   INT iFileCount,\r\n   BOOL bRoot);\r\nVOID ClearSearchLB(BOOL bWorkerCall);\r\nDWORD WINAPI SearchDrive(LPVOID lpParameter);\r\n\r\n#define SEARCH_FILE_WIDTH_DEFAULT 50\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     SearchList\r\n//\r\n// Synopsis: Recursive search\r\n//\r\n//\r\n// Return:   INT, # of files found\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nINT\r\nSearchList(\r\n   HWND hwndLB,\r\n   LPWSTR szPath,\r\n   LPWSTR szFileSpec,\r\n   BOOL bRecurse,\r\n   BOOL bIncludeSubdirs,\r\n   LPXDTALINK* plpStart,\r\n   INT iFileCount,\r\n   BOOL bRoot)\r\n{\r\n   INT iRetVal;\r\n   SIZE size;\r\n   BOOL bFound;\r\n   LPWSTR pszNewPath;\r\n   LPWSTR pszNextFile;\r\n   LFNDTA lfndta;\r\n   LPXDTA lpxdta;\r\n\r\n   HDC hdc;\r\n   HANDLE hOld;\r\n   DWORD dwTimeNow;\r\n\r\n   BOOL bLowercase;\r\n   WCHAR szTemp[MAXPATHLEN];\r\n\r\n   BOOL bLFN;\r\n   DWORD dwAttrs;\r\n   INT iBitmap;\r\n\r\n   //\r\n   // hack: setup ATTR_LOWERCASE if a letter'd (NON-unc) drive\r\n   // LATER: do GetVolumeInfo for UNC too!\r\n   //\r\n\r\n   bLowercase = (wTextAttribs & TA_LOWERCASEALL) ||\r\n      ((wTextAttribs & TA_LOWERCASE) && !SearchInfo.bCasePreserved);\r\n\r\n   dwTimeNow = GetTickCount();\r\n\r\n   if (dwTimeNow > dwLastUpdateTime+1000) {\r\n      dwLastUpdateTime = dwTimeNow;\r\n\r\n      SearchInfo.iDirsRead = iDirsRead;\r\n      SearchInfo.iFileCount = iFileCount;\r\n\r\n      PostMessage(hwndFrame, FS_SEARCHUPDATE, iDirsRead, iFileCount);\r\n   }\r\n\r\n   iDirsRead++;\r\n\r\n   if (!*plpStart) {\r\n\r\n      *plpStart = MemNew();\r\n\r\n      if (!*plpStart) {\r\nMemoryError:\r\n         SearchInfo.dwError = ERROR_NOT_ENOUGH_MEMORY;\r\n         SearchInfo.eStatus = SEARCH_ERROR;\r\n         return iFileCount;\r\n      }\r\n\r\n      //\r\n      // Never shows altname\r\n      //\r\n      MemLinkToHead(*plpStart)->dwAlternateFileNameExtent = 0;\r\n\r\n      SetWindowLongPtr(GetParent(hwndLB), GWL_HDTA, (LPARAM)*plpStart);\r\n      SearchInfo.lpStart = *plpStart;\r\n   }\r\n\r\n   //\r\n   // allocate the buffer for this level\r\n   //\r\n   pszNewPath = (LPWSTR)LocalAlloc(LPTR, ByteCountOf(lstrlen(szPath) + MAXFILENAMELEN + 2));\r\n\r\n   if (!pszNewPath) {\r\n      goto MemoryError;\r\n   }\r\n\r\n   lstrcpy(pszNewPath, szPath);\r\n   AddBackslash(pszNewPath);\r\n\r\n   pszNextFile = pszNewPath + lstrlen(pszNewPath);\r\n   lstrcpy(pszNextFile, szFileSpec);\r\n\r\n   bFound = WFFindFirst(&lfndta, pszNewPath, ATTR_ALL);\r\n\r\n   hdc = GetDC(hwndLB);\r\n   hOld = SelectObject(hdc, hFont);\r\n\r\n   //\r\n   // Ignore file not found errors AND access denied errors\r\n   // AND PATH_NOT_FOUND when not in the root\r\n   //\r\n\r\n   if (!bFound && ERROR_FILE_NOT_FOUND != lfndta.err &&\r\n      (bRoot ||\r\n         ERROR_ACCESS_DENIED != lfndta.err &&\r\n         ERROR_PATH_NOT_FOUND != lfndta.err &&\r\n         ERROR_INVALID_REPARSE_DATA != lfndta.err &&\r\n         ERROR_CANT_ACCESS_FILE != lfndta.err &&\r\n         ERROR_SYMLINK_CLASS_DISABLED != lfndta.err &&\r\n         ERROR_INVALID_NAME != lfndta.err)) {\r\n\r\n      SearchInfo.eStatus = SEARCH_ERROR;\r\n      SearchInfo.dwError = lfndta.err;\r\n      bRecurse = FALSE;\r\n\r\n      goto SearchCleanup;\r\n   }\r\n\r\n   while (bFound) {\r\n\r\n      //\r\n      // allow escape to exit\r\n      //\r\n      if (SearchInfo.bCancel) {\r\n\r\n         bRecurse = FALSE;\r\n         break;\r\n      }\r\n\r\n      // default ftSince is 0 and so normally this will be true\r\n      bFound = CompareFileTime(&SearchInfo.ftSince, &lfndta.fd.ftLastWriteTime) < 0;\r\n\r\n      // if we otherwise match, but shouldn't include directories in the output, skip\r\n      if (bFound && !bIncludeSubdirs && (lfndta.fd.dwFileAttributes & ATTR_DIR) != 0)\r\n      {\r\n         bFound = FALSE;\r\n      }\r\n\r\n      //\r\n      // Make sure this matches date (if specified) and is not a \".\" or \"..\" directory \r\n      //\r\n      if (bFound && !ISDOTDIR(lfndta.fd.cFileName)) {\r\n\r\n         lstrcpy(pszNextFile, lfndta.fd.cFileName);\r\n\r\n         // Warning: was OemToChar(pszNewPath, szMessage);\r\n         // but taken out since no translation necessary.\r\n         // Here on out _was_ using szMessage\r\n         // (Multithreaded=> szMessage usage BAD)\r\n\r\n         bLFN = IsLFN(lfndta.fd.cFileName);\r\n\r\n         if (bLowercase) {\r\n            lstrcpy(szTemp, pszNewPath);\r\n            CharLower(szTemp);\r\n\r\n            GetTextExtentPoint32(hdc, szTemp, lstrlen(szTemp), &size);\r\n         } else {\r\n            GetTextExtentPoint32(hdc, pszNewPath, lstrlen(pszNewPath), &size);\r\n         }\r\n\r\n         maxExt = max(size.cx,maxExt);\r\n\r\n         lpxdta = MemAdd(plpStart, lstrlen(pszNewPath), 0);\r\n\r\n         if (!lpxdta) {\r\n\r\n            bRecurse = FALSE;       // simulate an abort\r\n            SearchInfo.dwError = ERROR_NOT_ENOUGH_MEMORY;\r\n            SearchInfo.eStatus = SEARCH_ERROR;\r\n\r\n            break;\r\n         }\r\n\r\n         dwAttrs = lpxdta->dwAttrs = lfndta.fd.dwFileAttributes;\r\n         lpxdta->ftLastWriteTime = lfndta.fd.ftLastWriteTime;\r\n         lpxdta->qFileSize.LowPart = lfndta.fd.nFileSizeLow;\r\n         lpxdta->qFileSize.HighPart = lfndta.fd.nFileSizeHigh;\r\n\r\n         lstrcpy(MemGetFileName(lpxdta), pszNewPath);\r\n         MemGetAlternateFileName(lpxdta)[0] = CHAR_NULL;\r\n\r\n         if (bLFN)\r\n            lpxdta->dwAttrs |= ATTR_LFN;\r\n\r\n         if (!SearchInfo.bCasePreserved)\r\n            lpxdta->dwAttrs |= ATTR_LOWERCASE;\r\n\r\n         if (dwAttrs & ATTR_DIR) {\r\n            if (dwAttrs & (ATTR_SYMBOLIC | ATTR_JUNCTION))\r\n               iBitmap = BM_IND_CLOSEREPARSE;\r\n            else\r\n               iBitmap = BM_IND_CLOSE;\r\n         }\r\n         else if (dwAttrs & (ATTR_HIDDEN | ATTR_SYSTEM))\r\n            iBitmap = BM_IND_RO;\r\n         else if (IsProgramFile(lfndta.fd.cFileName))\r\n            iBitmap = BM_IND_APP;\r\n         else if (IsDocument(lfndta.fd.cFileName))\r\n            iBitmap = BM_IND_DOC;\r\n         else\r\n            iBitmap = BM_IND_FIL;\r\n\r\n         lpxdta->byBitmap = iBitmap;\r\n         lpxdta->pDocB = NULL;\r\n\r\n         SendMessage(hwndFrame,\r\n                     FS_SEARCHLINEINSERT,\r\n                     (WPARAM)&iFileCount,\r\n                     (LPARAM)lpxdta);\r\n\r\n      }\r\n\r\n      //\r\n      // Search for more files in the current directory\r\n      //\r\n      bFound = WFFindNext(&lfndta);\r\n   }\r\n\r\nSearchCleanup:\r\n\r\n   WFFindClose(&lfndta);\r\n\r\n   if (hOld)\r\n      SelectObject(hdc, hOld);\r\n   ReleaseDC(hwndLB, hdc);\r\n\r\n   if (!bRecurse)\r\n      goto SearchEnd;\r\n\r\n   //\r\n   // Now see if there are any subdirectories here\r\n   //\r\n   lstrcpy(pszNextFile, szStarDotStar);\r\n\r\n   bFound = WFFindFirst(&lfndta, pszNewPath, ATTR_DIR | ATTR_HS);\r\n\r\n   while (bFound) {\r\n\r\n      //\r\n      // allow escape to exit\r\n      //\r\n      if (SearchInfo.bCancel) {\r\n\r\n         bRecurse = FALSE;\r\n         break;\r\n      }\r\n\r\n      //\r\n      // Make sure this is not a \".\" or \"..\" directory.\r\n      //\r\n      if (!ISDOTDIR(lfndta.fd.cFileName) &&\r\n         (lfndta.fd.dwFileAttributes & ATTR_DIR)) {\r\n\r\n         //\r\n         // Yes, search and add files in this directory\r\n         //\r\n         lstrcpy(pszNextFile, lfndta.fd.cFileName);\r\n\r\n         //\r\n         // Add all files in this subdirectory.\r\n         //\r\n         iRetVal = SearchList(hwndLB,\r\n                              pszNewPath,\r\n                              szFileSpec,\r\n                              bRecurse,\r\n                              bIncludeSubdirs,\r\n                              plpStart,\r\n                              iFileCount,\r\n                              FALSE);\r\n\r\n         iFileCount = iRetVal;\r\n\r\n         if (SEARCH_ERROR == SearchInfo.eStatus) {\r\n            break;\r\n         }\r\n\r\n      }\r\n      bFound = WFFindNext(&lfndta);\r\n   }\r\n\r\n   WFFindClose(&lfndta);\r\n\r\nSearchEnd:\r\n\r\n\r\n   //\r\n   // Save the number of files in the xdtahead structure.\r\n   //\r\n   MemLinkToHead(SearchInfo.lpStart)->dwEntries = iFileCount;\r\n\r\n   LocalFree((HANDLE)pszNewPath);\r\n   return iFileCount;\r\n}\r\n\r\n\r\nVOID\r\nFixUpFileSpec(\r\n   LPWSTR szFileSpec)\r\n{\r\n  WCHAR szTemp[MAXPATHLEN+1];\r\n  LPWSTR p;\r\n\r\n  if (*szFileSpec == CHAR_DOT) {\r\n    lstrcpy(szTemp, SZ_STAR);\r\n    lstrcat(szTemp, szFileSpec);\r\n    lstrcpy(szFileSpec, szTemp);\r\n  }\r\n\r\n\r\n  //\r\n  // HACK:  If there isn't a dot and the last char is a *, append \".*\"\r\n  //\r\n  p = szFileSpec;\r\n  while ((*p) && (*p != CHAR_DOT))\r\n      ++p;\r\n\r\n  if ((!*p) && (p != szFileSpec)) {\r\n     --p;\r\n\r\n     if (*p == CHAR_STAR)\r\n        lstrcat(p, SZ_DOTSTAR);\r\n  }\r\n}\r\n\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  FillSearchLB() -                                                        */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n/*  This parses the given string for Drive, PathName, FileSpecs and\r\n *  calls SearchList() with proper parameters;\r\n *\r\n *  hwndLB           : List box where files are to be displayed;\r\n *  szSearchFileSpec : ANSI path to search\r\n *  bSubDirOnly      : TRUE, if only subdirectories are to be searched;\r\n */\r\n\r\nINT\r\nFillSearchLB(HWND hwndLB, LPWSTR szSearchFileSpec, BOOL bRecurse, BOOL bIncludeSubdirs)\r\n{\r\n   INT iRet;\r\n   INT iFileCount;\r\n   WCHAR szFileSpec[MAXPATHLEN+1];\r\n   WCHAR szPathName[MAXPATHLEN+1];\r\n   WCHAR szWildCard[MAXPATHLEN+1];\r\n   LPWCH lpszCurrentFileSpecStart;\r\n   LPWCH lpszCurrentFileSpecEnd;\r\n   LPXDTALINK lpStart = NULL;\r\n\r\n   //\r\n   // Get the file specification part of the string.\r\n   //\r\n   lstrcpy(szFileSpec, szSearchFileSpec);\r\n   lstrcpy(szPathName, szSearchFileSpec);\r\n\r\n   StripPath(szFileSpec);\r\n   StripFilespec(szPathName);\r\n\r\n   lpszCurrentFileSpecEnd = szFileSpec;\r\n\r\n   maxExt = 0;\r\n\r\n   iDirsRead = 1;\r\n   dwLastUpdateTime = 0;\r\n   iRet = 0;\r\n   iFileCount = 0;\r\n\r\n   //\r\n   // This loop runs for each subspec in the search string\r\n   //\r\n   while (*lpszCurrentFileSpecEnd) {\r\n      lpszCurrentFileSpecStart = lpszCurrentFileSpecEnd;\r\n\r\n      // Find the next separator or the end of the string\r\n      while ((*lpszCurrentFileSpecEnd) && (*lpszCurrentFileSpecEnd) != ';')\r\n      {\r\n         lpszCurrentFileSpecEnd++;\r\n      }\r\n\r\n      // If a separator is reached, add the string terminator and move the\r\n      // end after the terminator for the next cycle\r\n      if (*lpszCurrentFileSpecEnd == ';') {\r\n         *lpszCurrentFileSpecEnd = TEXT('\\0');\r\n         lpszCurrentFileSpecEnd++;\r\n      }\r\n\r\n      // copy the wild card to a temporary buffer sine FixUpFileSpec modifies the buffer\r\n      wcsncpy_s(szWildCard, COUNTOF(szWildCard), lpszCurrentFileSpecStart, _TRUNCATE);\r\n\r\n      FixUpFileSpec(szWildCard);\r\n\r\n      iRet = SearchList(hwndLB,\r\n          szPathName,\r\n          szWildCard,\r\n          bRecurse,\r\n          bIncludeSubdirs,\r\n          &lpStart,\r\n          iFileCount,\r\n          TRUE);\r\n\r\n      iFileCount = iRet;\r\n   }\r\n\r\n   //\r\n   // Only SetSel if none set already\r\n   //\r\n   if (LB_ERR == SendMessage(hwndLB, LB_GETCURSEL, 0, 0L))\r\n      SendMessage(hwndLB, LB_SETSEL, TRUE, 0L);\r\n\r\n   return(iRet);\r\n}\r\n\r\n\r\nVOID\r\nGetSearchPath(HWND hWnd, LPWSTR pszPath)\r\n{\r\n   LPWSTR p;\r\n\r\n   WCHAR szTemp[MAXPATHLEN+32];\r\n\r\n   // the search window doesn't have a current directory\r\n   GetWindowText(hWnd, szTemp, COUNTOF(szTemp));\r\n\r\n   // the window text looks like \"Search Results: C:\\FOO\\BAR\\*.*\"\r\n\r\n   p = szTemp;\r\n   while (*p && *p != CHAR_COLON) // find the :\r\n      ++p;\r\n\r\n   p += 2;                 // skip the \": \"\r\n\r\n   lstrcpy(pszPath, p);\r\n}\r\n\r\n//--------------------------------------------------------------------------\r\n//\r\n//  UpdateSearchStatus() -\r\n//\r\n//--------------------------------------------------------------------------\r\n\r\nVOID\r\nUpdateSearchStatus(HWND hwndLB, INT nCount)\r\n{\r\n   SetStatusText(0, SST_FORMAT|SST_RESOURCE, (LPWSTR) MAKEINTRESOURCE(IDS_SEARCHMSG), nCount);\r\n\r\n   if (SearchInfo.hThread)\r\n      SetStatusText(1, SST_RESOURCE, (LPWSTR) MAKEINTRESOURCE(IDS_SEARCHING));\r\n   else\r\n      SetStatusText(1, 0, szNULL);\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     SearchWndProc\r\n//\r\n// Synopsis:\r\n//\r\n// Return:\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nLRESULT\r\nCALLBACK\r\nSearchWndProc(\r\n   HWND hwnd,\r\n   UINT uMsg,\r\n   WPARAM wParam,\r\n   LPARAM lParam)\r\n{\r\n   INT  iSel;\r\n   HWND hwndLB;\r\n   WCHAR szPath[MAXPATHLEN];\r\n   WCHAR szTitle[128];\r\n   WCHAR szMessage[MAXMESSAGELEN];\r\n\r\n   hwndLB = GetDlgItem(hwnd, IDCW_LISTBOX);\r\n\r\n   switch (uMsg) {\r\n\r\n   case WM_COMPAREITEM:\r\n#define lpcis ((LPCOMPAREITEMSTRUCT)lParam)\r\n#define lpItem1 ((LPXDTA)(lpcis->itemData1))\r\n#define lpItem2 ((LPXDTA)(lpcis->itemData2))\r\n\r\n      // simple name sort if no date; otherwise sort by date (newest on top)\r\n      if (SearchInfo.ftSince.dwHighDateTime == 0 && SearchInfo.ftSince.dwLowDateTime == 0) {\r\n         return lstrcmpi(MemGetFileName(lpItem1), MemGetFileName(lpItem2));\r\n      } else {\r\n         return CompareFileTime(&lpItem2->ftLastWriteTime, &lpItem1->ftLastWriteTime);\r\n      }\r\n\r\n#undef lpcis\r\n#undef lpItem1\r\n#undef lpItem2\r\n\r\n   case WM_CLOSE:\r\n\r\n      //\r\n      // This should be ok since we can't pre-empt ourselves\r\n      //\r\n      if (SearchInfo.hThread) {\r\n         SearchInfo.bCancel = TRUE;\r\n         SearchInfo.eStatus = SEARCH_MDICLOSE;\r\n      }\r\n      hwndSearch = NULL;\r\n\r\n      SendMessage(hwndMDIClient, WM_MDIDESTROY, (WPARAM) hwnd, 0L);\r\n\r\n      return 0;\r\n\r\n   case FS_GETDRIVE:\r\n\r\n      //\r\n      // Returns the letter of the corresponding directory\r\n      //\r\n      // !! BUGBUG !!\r\n      //\r\n      // returns error on UNC\r\n      //\r\n      SendMessage(hwnd, FS_GETDIRECTORY, COUNTOF(szPath), (LPARAM)szPath);\r\n      return (LRESULT) CHAR_A + DRIVEID(szPath);\r\n\r\n   case FS_GETDIRECTORY:\r\n\r\n      GetSearchPath(hwnd, szPath);\r\n\r\n      StripFilespec(szPath);        // remove the filespec\r\n      AddBackslash(szPath);         // to be the same as DirWndProc\r\n      lstrcpy((LPWSTR)lParam, szPath);\r\n      break;\r\n\r\n   case FS_GETFILESPEC:\r\n\r\n      // the search window doesn't have a current directory\r\n      GetSearchPath(hwnd, szPath);\r\n      StripPath(szPath);                    // remove the path (leave the filespec)\r\n      lstrcpy((LPWSTR)lParam, szPath);\r\n      break;\r\n\r\n   case FS_SETSELECTION:\r\n      // wParam is the select(TRUE)/deselect(FALSE) param\r\n      // lParam is the filespec to match against\r\n\r\n      SendMessage(hwndLB, WM_SETREDRAW, FALSE, 0L);\r\n      DSSetSelection(hwndLB, wParam != 0, (LPWSTR)lParam, TRUE);\r\n      SendMessage(hwndLB, WM_SETREDRAW, TRUE, 0L);\r\n      InvalidateRect(hwndLB, NULL, TRUE);\r\n      break;\r\n\r\n   case FS_GETSELECTION:\r\n      return (LRESULT)DirGetSelection(NULL,\r\n                                   hwnd,\r\n                                   hwndLB,\r\n                                   (INT)wParam,\r\n                                   (BOOL *)lParam,\r\n                                   NULL);\r\n      break;\r\n\r\n   case WM_MDIACTIVATE:\r\n\r\n      //\r\n      // Invalidate the cache since we are switching windows\r\n      //\r\n      ExtSelItemsInvalidate();\r\n\r\n      //\r\n      // we are receiving the activation\r\n      //\r\n      if (GET_WM_MDIACTIVATE_FACTIVATE(hwnd, wParam, lParam)) {\r\n\r\n         EnableCheckTBButtons(hwnd);\r\n\r\n         //\r\n         // update status bar\r\n         // and inform SearchList to update the status bar\r\n         //\r\n         UpdateSearchStatus(hwndLB,(INT)SendMessage(hwndLB, LB_GETCOUNT, 0, 0L));\r\n         SearchInfo.bUpdateStatus = TRUE;\r\n\r\n         //\r\n         // if we are dirty, ask if we should update\r\n         //\r\n         UpdateIfDirty(hwnd);\r\n      } else {\r\n\r\n         //\r\n         // Don't update status\r\n         //\r\n         SearchInfo.bUpdateStatus = FALSE;\r\n      }\r\n      break;\r\n\r\n   case WM_FSC:\r\n\r\n      //\r\n      // if the search window is not active or FSCs are disabled\r\n      // don't prompt now, wait till we get the end FSC or are\r\n      // activated (above in WM_ACTIVATE)\r\n      //\r\n      if (cDisableFSC ||\r\n         (hwnd != (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L)) ||\r\n         (GetActiveWindow() != hwndFrame)) {\r\n\r\n         SetWindowLongPtr(hwnd, GWL_FSCFLAG, TRUE);\r\n         break;\r\n      }\r\n\r\n      SetWindowLongPtr(hwnd, GWL_FSCFLAG, FALSE);\r\n      SendMessage(hwnd, FS_CHANGEDISPLAY, CD_SEARCHUPDATE, 0L);\r\n\r\n      break;\r\n\r\n   case FS_CHANGEDISPLAY:\r\n\r\n      //\r\n      // For safety, clear the CD_DONTSTEAL flag, although\r\n      // it should never be set here (set by DrivesSetDrive)\r\n      //\r\n      wParam &= ~CD_DONTSTEAL;\r\n\r\n      if (wParam == CD_VIEW || wParam == CD_SEARCHFONT) {\r\n         dwNewView = (DWORD)GetWindowLongPtr(hwnd, GWL_VIEW);\r\n\r\n         //\r\n         // in case font changed, update maxExt\r\n         //\r\n         if (CD_SEARCHFONT == wParam) {\r\n\r\n            //\r\n            // Update dwEntries.. bogus since duplicated in iFileCount,\r\n            // but quick fix.\r\n            //\r\n            MemLinkToHead(SearchInfo.lpStart)->dwEntries =\r\n               (DWORD)SendMessage(hwndLB, LB_GETCOUNT, 0, 0L);\r\n\r\n            maxExt = GetMaxExtent(hwndLB, SearchInfo.lpStart, FALSE);\r\n         }\r\n\r\n         FixTabsAndThings(hwndLB,\r\n                          (WORD *)GetWindowLongPtr(hwnd, GWL_TABARRAY),\r\n                          maxExt + dxText,\r\n                          0,\r\n                          dwNewView);\r\n\r\n         InvalidateRect(hwndLB, NULL, TRUE);\r\n\r\n      } else {\r\n\r\n         // Allow only 1 thread to be created!\r\n         if (SearchInfo.hThread)\r\n            return 0L;\r\n\r\n         if (wParam == CD_SEARCHUPDATE) {\r\n            LoadString(hAppInstance, IDS_SEARCHTITLE, szTitle, COUNTOF(szTitle));\r\n            LoadString(hAppInstance, IDS_SEARCHREFRESH, szMessage, COUNTOF(szMessage));\r\n            int msg = MessageBox(hwnd, szMessage, szTitle, MB_ABORTRETRYIGNORE | MB_ICONQUESTION);\r\n\r\n            if (msg == IDABORT)\r\n            {\r\n               HWND hwndNext = GetWindow(hwndSearch, GW_HWNDNEXT);\r\n               SendMessage(hwndMDIClient, WM_MDIACTIVATE, (WPARAM)hwndNext, 0);\r\n               SendMessage(hwndSearch, WM_CLOSE, 0, 0L);\r\n            }\r\n            if (msg != IDRETRY)\r\n            {\r\n               break;\r\n            }\r\n         }\r\n\r\n         //\r\n         // Now clear the listbox\r\n         //\r\n         ClearSearchLB(FALSE);\r\n\r\n         //\r\n         // is this a refresh?\r\n         //\r\n\r\n         if (!lParam) {\r\n            GetSearchPath(hwnd, szPath);\r\n         } else {\r\n            lstrcpy(szPath, (LPWSTR)lParam);   // explicit re-search\r\n         }\r\n\r\n         LoadString(hAppInstance, IDS_SEARCHTITLE, szMessage, COUNTOF(szMessage));\r\n         lstrcat(szMessage, szPath);\r\n         SetWindowText(hwnd, szMessage);\r\n\r\n         //\r\n         // Init, just like SearchDlgProc\r\n         //\r\n\r\n         SearchInfo.iDirsRead = 0;\r\n         SearchInfo.iFileCount = 0;\r\n         SearchInfo.eStatus = SEARCH_NULL;\r\n         SearchInfo.bCancel = FALSE;\r\n\r\n         // Create our dialog!  (modeless)\r\n         CreateDialog(hAppInstance, (LPWSTR) MAKEINTRESOURCE(SEARCHPROGDLG), hwndFrame, SearchProgDlgProc);\r\n\r\n      }  // ELSE from wParam == CD_VIEW\r\n\r\n      break;\r\n\r\n   case WM_SETFOCUS:\r\n\r\n      SetFocus(hwndLB);\r\n      UpdateIfDirty(hwnd);\r\n      return SendMessage(hwndLB, LB_GETCOUNT, 0, 0L);\r\n\r\n   case WM_COMMAND:\r\n\r\n      //\r\n      // Was this a double-click?\r\n      //\r\n      switch (GET_WM_COMMAND_CMD(wParam, lParam)) {\r\n      case LBN_DBLCLK:\r\n\r\n         SendMessage(hwndFrame,\r\n                     WM_COMMAND,\r\n                     GET_WM_COMMAND_MPS(IDM_OPEN, 0, 0));\r\n         break;\r\n\r\n      case LBN_SELCHANGE:\r\n      {\r\n         INT i;\r\n\r\n         ExtSelItemsInvalidate();\r\n\r\n         for (i = 0; i < iNumExtensions; i++) {\r\n            (extensions[i].ExtProc)(hwndFrame, FMEVENT_SELCHANGE, 0L);\r\n         }\r\n         break;\r\n      }\r\n      }\r\n      break;\r\n\r\n   case WM_DESTROY:\r\n   {\r\n      HANDLE hMem;\r\n\r\n      ClearSearchLB(FALSE);\r\n      SearchInfo.hwndLB = NULL;\r\n\r\n      if (hMem = (HANDLE)GetWindowLongPtr(hwnd, GWL_TABARRAY))\r\n         LocalFree(hMem);\r\n\r\n      break;\r\n   }\r\n   case WM_CREATE:\r\n   {\r\n      // globals used:\r\n      //    SearchInfo.szSearch        path to start search at\r\n      //    SearchInfo.bDontSearchSubs tells us not to do a recursive search\r\n\r\n      RECT      rc;\r\n      WORD      *pwTabs;\r\n\r\n      GetClientRect(hwnd, &rc);\r\n      hwndLB = CreateWindowEx(0L, szListbox, NULL,\r\n         WS_CHILD | WS_BORDER | LBS_SORT | LBS_NOTIFY |\r\n         LBS_OWNERDRAWFIXED | LBS_EXTENDEDSEL |\r\n         LBS_NOINTEGRALHEIGHT | LBS_WANTKEYBOARDINPUT |\r\n         WS_VSCROLL | WS_HSCROLL | WS_VISIBLE,\r\n         -1, -1, rc.right+2, rc.bottom+2,\r\n         hwnd, (HMENU)IDCW_LISTBOX,\r\n         hAppInstance, NULL);\r\n\r\n      if (!hwndLB)\r\n         return -1L;\r\n\r\n      if ((pwTabs = (WORD *)LocalAlloc(LPTR,sizeof(WORD) * MAX_TAB_COLUMNS)) == NULL)\r\n         return -1L;\r\n\r\n      hwndSearch = hwnd;\r\n      SetWindowLongPtr(hwnd, GWL_TYPE,   TYPE_SEARCH);\r\n      SetWindowLongPtr(hwnd, GWL_VIEW,   dwNewView);\r\n      SetWindowLongPtr(hwnd, GWL_SORT,   IDD_NAME);\r\n      SetWindowLongPtr(hwnd, GWL_ATTRIBS,ATTR_DEFAULT);\r\n      SetWindowLongPtr(hwnd, GWL_FSCFLAG,   FALSE);\r\n      SetWindowLongPtr(hwnd, GWL_HDTA, 0L);\r\n      SetWindowLongPtr(hwnd, GWL_TABARRAY, (LPARAM)pwTabs);\r\n      SetWindowLongPtr(hwnd, GWL_LASTFOCUS, (LPARAM)hwndLB);\r\n\r\n      SetWindowLongPtr(hwnd, GWL_LISTPARMS, (LPARAM)hwnd);\r\n      SetWindowLongPtr(hwnd, GWL_IERROR, 0);\r\n\r\n      //\r\n      // Fill the listbox\r\n      //\r\n      SendMessage(hwndLB, WM_SETFONT, (WPARAM)hFont, MAKELPARAM(TRUE, 0));\r\n\r\n      SearchInfo.hwndLB = hwndLB;\r\n\r\n      //\r\n      // Create our dialog!  (modeless)\r\n      //\r\n      CreateDialog(hAppInstance, (LPWSTR) MAKEINTRESOURCE(SEARCHPROGDLG), hwndFrame, SearchProgDlgProc);\r\n\r\n      break;\r\n   }\r\n\r\n   case WM_DRAGLOOP:\r\n\r\n      //\r\n      // WM_DRAGLOOP is sent to the source window as the object is moved.\r\n      //\r\n      //    wParam: TRUE if the object is currently over a droppable sink\r\n      //    lParam: LPDROPSTRUCT\r\n      //\r\n\r\n      // based on current drop location scroll the sink up or down\r\n      DSDragScrollSink((LPDROPSTRUCT)lParam);\r\n\r\n      //\r\n      // DRAGLOOP is used to turn the source bitmaps on/off as we drag.\r\n      //\r\n\r\n      DSDragLoop(hwndLB, wParam, (LPDROPSTRUCT)lParam);\r\n      break;\r\n\r\n   case WM_CONTEXTMENU:\r\n      ActivateCommonContextMenu(hwnd, hwndLB, lParam);\r\n      break;\r\n\r\n   case WM_DRAGSELECT:\r\n\r\n      //\r\n      // WM_DRAGSELECT is sent to a sink whenever an new object is dragged\r\n      // inside of it.\r\n      //\r\n      //    wParam: TRUE if the sink is being entered, FALSE if it's being\r\n      //            exited.\r\n      //    lParam: LPDROPSTRUCT\r\n      //\r\n\r\n      //\r\n      // DRAGSELECT is used to turn our selection rectangle on or off.\r\n      //\r\n#define lpds ((LPDROPSTRUCT)lParam)\r\n\r\n      //\r\n      // Turn on/off status bar\r\n      //\r\n\r\n      SendMessage(hwndStatus,\r\n                  SB_SETTEXT,\r\n                  SBT_NOBORDERS|255,\r\n                  (LPARAM)szNULL);\r\n\r\n      SendMessage(hwndStatus, SB_SIMPLE, (wParam ? 1 : 0), 0L);\r\n      UpdateWindow(hwndStatus);\r\n\r\n      iSelHighlight = lpds->dwControlData;\r\n      DSRectItem(hwndLB, iSelHighlight, (BOOL)wParam, TRUE);\r\n      break;\r\n\r\n   case WM_DRAGMOVE:\r\n\r\n      //\r\n      // WM_DRAGMOVE is sent to a sink as the object is being dragged\r\n      // within it.\r\n      //\r\n      //   wParam: Unused\r\n      //   lParam: LPDROPSTRUCT\r\n      //\r\n\r\n      //\r\n      // DRAGMOVE is used to move our selection rectangle among sub-items.\r\n      //\r\n\r\n#define lpds ((LPDROPSTRUCT)lParam)\r\n\r\n      //\r\n      // Get the subitem we are over.\r\n      //\r\n      iSel = lpds->dwControlData;\r\n\r\n      //\r\n      // Is it a new one?\r\n      //\r\n      if (iSel == iSelHighlight)\r\n         break;\r\n\r\n      //\r\n      // Yup, un-select the old item.\r\n      //\r\n      DSRectItem(hwndLB, iSelHighlight, FALSE, TRUE);\r\n\r\n      //\r\n      // Select the new one.\r\n      iSelHighlight = iSel;\r\n      DSRectItem(hwndLB, iSel, TRUE, TRUE);\r\n      break;\r\n\r\n   case WM_DRAWITEM:\r\n   {\r\n      LPDRAWITEMSTRUCT lpLBItem;\r\n      PWORD pwTabs;\r\n      DWORD dwView = (DWORD)GetWindowLongPtr(hwnd, GWL_VIEW);\r\n\r\n      lpLBItem = (LPDRAWITEMSTRUCT)lParam;\r\n      iSel = lpLBItem->itemID;\r\n\r\n      if (iSel < 0)\r\n         break;\r\n\r\n      if (maxExt > maxExtLast) {\r\n\r\n         pwTabs = (WORD *)GetWindowLongPtr(hwndSearch, GWL_TABARRAY);\r\n\r\n         //\r\n         // Need to update tabs\r\n         //\r\n         FixTabsAndThings(SearchInfo.hwndLB,\r\n                          pwTabs,\r\n                          maxExt+dxText,\r\n                          0,\r\n                          dwView);\r\n\r\n         maxExtLast = maxExt;\r\n\r\n         //\r\n         // If there is > 1 column (i.e., wider filenames shift over\r\n         // size/date/time/flags column), then we must invalidate the\r\n         // entire rect to realign everything.\r\n         //\r\n         // Note that we explicitly ignore VIEW_DOSNAMES, since this\r\n         // is not displayed in the search window.\r\n         //\r\n         if (dwView & ~VIEW_DOSNAMES)\r\n            InvalidateRect(SearchInfo.hwndLB, NULL, TRUE);\r\n      }\r\n\r\n      DrawItem(hwnd,\r\n               (DWORD)GetWindowLongPtr(hwnd, GWL_VIEW),\r\n               (LPDRAWITEMSTRUCT)lParam,\r\n               TRUE);\r\n      break;\r\n   }\r\n\r\n   case WM_DROPOBJECT:\r\n\r\n      return DSDropObject(hwnd, hwndLB, (LPDROPSTRUCT)lParam, TRUE);\r\n\r\n   case WM_LBTRACKPOINT:\r\n      return DSTrackPoint(hwnd, hwndLB, wParam, lParam, TRUE);\r\n\r\n   case WM_MEASUREITEM:\r\n#define pLBMItem ((LPMEASUREITEMSTRUCT)lParam)\r\n\r\n      pLBMItem->itemHeight = dyFileName;\r\n      break;\r\n#undef pLBItem\r\n   case WM_QUERYDROPOBJECT:\r\n\r\n      //\r\n      // Ensure that we are dropping on the client area of the listbox.\r\n      //\r\n#define lpds ((LPDROPSTRUCT)lParam)\r\n\r\n      //\r\n      // Ensure that we can accept the format.\r\n      //\r\n      switch (lpds->wFmt) {\r\n      case DOF_EXECUTABLE:\r\n      case DOF_DIRECTORY:\r\n      case DOF_DOCUMENT:\r\n      case DOF_MULTIPLE:\r\n         if (lpds->hwndSink == hwnd)\r\n            lpds->dwControlData = (DWORD)-1L;\r\n         return TRUE;\r\n      }\r\n      return FALSE;\r\n#undef lpds\r\n\r\n   case WM_SIZE:\r\n      if (wParam != SIZEICONIC) {\r\n         MoveWindow(GetDlgItem(hwnd, IDCW_LISTBOX),\r\n                    -1, -1,\r\n                    LOWORD(lParam)+2,\r\n                    HIWORD(lParam)+2,\r\n                    TRUE);\r\n      }\r\n\r\n      /*** FALL THROUGH ***/\r\n\r\n   default:\r\n      return(DefMDIChildProc(hwnd, uMsg, wParam, lParam));\r\n   }\r\n   return(0L);\r\n}\r\n\r\n\r\nVOID\r\nUpdateIfDirty(HWND hwnd)\r\n{\r\n   if (GetWindowLongPtr(hwnd, GWL_FSCFLAG)) {\r\n      //\r\n      // I am clean\r\n      //\r\n      SetWindowLongPtr(hwnd, GWL_FSCFLAG, FALSE);\r\n      SendMessage(hwnd, FS_CHANGEDISPLAY, CD_SEARCHUPDATE, 0L);\r\n   }\r\n}\r\n\r\n\r\nVOID\r\nLockSearchFile()\r\n{\r\n   EnableMenuItem( GetMenu(hwndFrame), IDM_SEARCH, MF_BYCOMMAND | MF_GRAYED );\r\n}\r\n\r\nVOID\r\nUnlockSearchFile()\r\n{\r\n   EnableMenuItem( GetMenu(hwndFrame), IDM_SEARCH, MF_BYCOMMAND | MF_ENABLED );\r\n}\r\n\r\n\r\nINT_PTR CALLBACK\r\nSearchProgDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n   DWORD dwIgnore;\r\n   WCHAR szTemp[MAXPATHLEN];\r\n   INT i;\r\n   DRIVE drive;\r\n\r\n   switch (uMsg) {\r\n   case WM_INITDIALOG:\r\n\r\n      SearchInfo.hSearchDlg = hDlg;\r\n\r\n      //\r\n      // Initialize display\r\n      //\r\n      SendMessage(hwndFrame, FS_SEARCHUPDATE,\r\n         SearchInfo.iDirsRead, SearchInfo.iFileCount);\r\n\r\n      lstrcpy(szTemp,SearchInfo.szSearch);\r\n      StripPath(szTemp);\r\n      SetDlgItemText(hDlg, IDD_NAME, szTemp);\r\n\r\n      if (SearchInfo.ftSince.dwHighDateTime == 0 && SearchInfo.ftSince.dwLowDateTime == 0) {\r\n         SetDlgItemText(hDlg, IDD_DATE, TEXT(\"n/a\"));\r\n      }\r\n      else {\r\n         SYSTEMTIME st;\r\n         FILETIME ftLocal;\r\n         FileTimeToLocalFileTime(&SearchInfo.ftSince, &ftLocal);\r\n         FileTimeToSystemTime(&ftLocal, &st);\r\n         if (st.wHour == 0 && st.wMinute == 0) {\r\n            wsprintf(szTemp, TEXT(\"%4d-%2d-%2d\"), st.wYear, st.wMonth, st.wDay);\r\n         } else {\r\n            wsprintf(szTemp, TEXT(\"%4d-%2d-%2d %02d:%02d\"), st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute);\r\n         }\r\n         SetDlgItemText(hDlg, IDD_DATE, szTemp);\r\n      }\r\n\r\n      lstrcpy(szTemp,SearchInfo.szSearch);\r\n      StripFilespec(szTemp);\r\n      SetDlgItemPath(hDlg, IDD_PATH, szTemp);\r\n\r\n\r\n      // Speedy switch to search window (change drive)\r\n      // And also check if bCasePreserved.\r\n\r\n      if (CHAR_COLON == SearchInfo.szSearch[1]) {\r\n         drive = DRIVEID(SearchInfo.szSearch);\r\n\r\n         SearchInfo.bCasePreserved =  IsCasePreservedDrive(drive);\r\n\r\n         for (i=0; i<cDrives; i++) {\r\n            if (drive == rgiDrive[i]) {\r\n               break;\r\n            }\r\n         }\r\n\r\n         // don't do this if drive doesn't exist\r\n\r\n         if (i != cDrives) {\r\n\r\n            SetWindowLongPtr(hwndDriveBar, GWL_CURDRIVEIND, i);\r\n            SetWindowLongPtr(hwndDriveBar, GWL_CURDRIVEFOCUS, i);\r\n\r\n            UpdateStatus(hwndSearch);\r\n\r\n            SelectToolbarDrive(i);\r\n            InvalidateRect(hwndDriveBar, NULL, TRUE);\r\n            UpdateWindow(hwndDriveBar);\r\n         }\r\n      } else {\r\n\r\n         //\r\n         // LATER: handle UNC case\r\n         //\r\n         // Should actually hit network to see if case preserving\r\n         //\r\n         SearchInfo.bCasePreserved =  FALSE;\r\n      }\r\n\r\n      //\r\n      // Add thread here!\r\n      //\r\n      if (!SearchInfo.hThread) {\r\n         SearchInfo.hThread = CreateThread( NULL,        // Security\r\n            0L,                                          // Stack Size\r\n            SearchDrive,\r\n            NULL,\r\n            0L,\r\n            &dwIgnore );\r\n      }\r\n\r\n      return TRUE;\r\n   case WM_COMMAND:\r\n      switch (GET_WM_COMMAND_ID(wParam, lParam)) {\r\n      case IDCANCEL:\r\n         SearchInfo.bCancel = TRUE;\r\n         SearchInfo.eStatus = SEARCH_CANCEL;\r\n         return TRUE;\r\n      case IDD_HIDE:\r\n         DestroyWindow(SearchInfo.hSearchDlg);\r\n         SearchInfo.hSearchDlg = NULL;\r\n\r\n         return TRUE;\r\n      }\r\n      return TRUE;\r\n\r\n   default:\r\n      return 0;\r\n   }\r\n   return 0;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     SearchEnd\r\n//\r\n// Synopsis: Handles display window of search results/brings up hwndSearch\r\n//\r\n// IN VOID\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:  At this point, either hwndSearch & hwndLB are valid,\r\n//           or eStatus == SEARCH_MDICLOSE.\r\n//\r\n//           This is safe since eStatus is set to SEARCH_MDICLOSE before\r\n//           hwnd{Search,LB} are destroyed.\r\n//\r\n//           Must be called by main thread.\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:    This call is atomic with respect to all SendMessages in\r\n//           the main UI thread.  (This is called only by FS_SEARCHEND\r\n//           in FrameWndProc)  We can safely ignore certain race conditions:\r\n//\r\n//           hwndSearch\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nSearchEnd(VOID)\r\n{\r\n   HWND hwndMDIChild;\r\n\r\n   if (SEARCH_MDICLOSE == SearchInfo.eStatus) {\r\n      //\r\n      // Free up the data structure\r\n      // Actually called by main thread, but on behalf of worker thread.\r\n      //\r\n      ClearSearchLB(TRUE);\r\n   } else {\r\n      InvalidateRect(SearchInfo.hwndLB, NULL, TRUE);\r\n   }\r\n\r\n   if (SEARCH_ERROR == SearchInfo.eStatus) {\r\n\r\n      LoadString(hAppInstance, IDS_SEARCHTITLE, szTitle, COUNTOF(szTitle));\r\n\r\n      FormatError(TRUE, szMessage, COUNTOF(szMessage), SearchInfo.dwError);\r\n      MessageBox(hwndFrame, szMessage, szTitle, MB_OK|MB_ICONEXCLAMATION|MB_APPLMODAL);\r\n\r\n      if (0 == SearchInfo.iRet)\r\n         goto CloseWindow;\r\n\r\n   } else if (0 == SearchInfo.iRet && SEARCH_MDICLOSE != SearchInfo.eStatus) {\r\n\r\n      LoadString(hAppInstance, IDS_SEARCHTITLE, szTitle, COUNTOF(szTitle));\r\n      LoadString(hAppInstance, IDS_SEARCHNOMATCHES, szMessage, COUNTOF(szMessage));\r\n      MessageBox(hwndFrame, szMessage, szTitle, MB_OK | MB_ICONINFORMATION | MB_APPLMODAL);\r\n\r\nCloseWindow:\r\n\r\n      ShowWindow(hwndSearch, SW_HIDE);\r\n      PostMessage(hwndSearch, WM_CLOSE, 0, 0L);\r\n\r\n      return;\r\n\r\n   }\r\n\r\n   if (SEARCH_MDICLOSE != SearchInfo.eStatus) {\r\n\r\n      hwndMDIChild = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n\r\n      if (hwndMDIChild) {\r\n         ShowWindow(hwndSearch,\r\n            GetWindowLongPtr(hwndMDIChild, GWL_STYLE) & WS_MAXIMIZE ?\r\n               SW_SHOWMAXIMIZED :\r\n               SW_SHOWNORMAL);\r\n      }\r\n\r\n      SendMessage(hwndMDIClient, WM_MDIACTIVATE, (WPARAM) hwndSearch, 0L);\r\n\r\n      // for some reason when the results list is short and the window already maximized,\r\n      // the focus doesn't get set on the results window (specifically the LB); do so no.\r\n      PostMessage(hwndSearch, WM_SETFOCUS, 0, 0L);\r\n \r\n      UpdateSearchStatus(SearchInfo.hwndLB,\r\n         (INT)SendMessage(SearchInfo.hwndLB, LB_GETCOUNT, 0, 0L));\r\n   }\r\n}\r\n\r\nDWORD\r\nWINAPI\r\nSearchDrive(LPVOID lpParameter)\r\n{\r\n   maxExtLast = SEARCH_FILE_WIDTH_DEFAULT;\r\n\r\n   FixTabsAndThings(SearchInfo.hwndLB,\r\n                    (WORD *)GetWindowLongPtr(hwndSearch, GWL_TABARRAY),\r\n                    maxExtLast,\r\n                    0,\r\n                    (DWORD)GetWindowLongPtr(hwndSearch, GWL_VIEW));\r\n\r\n   SearchInfo.iRet = FillSearchLB(SearchInfo.hwndLB,\r\n                                  SearchInfo.szSearch,\r\n                                  !SearchInfo.bDontSearchSubs,\r\n                                  SearchInfo.bIncludeSubDirs);\r\n\r\n   if (SearchInfo.hThread) {\r\n      CloseHandle(SearchInfo.hThread);\r\n   } else {\r\n      //\r\n      // Error case?\r\n      //\r\n   }\r\n\r\n   SendMessage(hwndFrame, FS_SEARCHEND,0,0L);\r\n\r\n   ExitThread(0L);\r\n   return 0;\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     ClearSearchLB\r\n//\r\n// Synopsis: Clears out memory associated with search LB/kills LB.\r\n//\r\n// INC  bWorkerCall  --  T/F if called by worker thread\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:  * hThread non-NULL if worker thread up\r\n//             (if hThread=NULL, memory already freed)\r\n//           * SearchInfo.pBrickSearch not changing\r\n//\r\n//           If called by main thread, hwndLB is valid.\r\n//\r\n// Effects:  SearchInfo.pBrickSearch freed\r\n//           hwndLB cleared, if it exists.\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nVOID\r\nClearSearchLB(BOOL bWorkerCall)\r\n{\r\n   //\r\n   // When to free up:\r\n   //\r\n   // 1. Worker thread is dead (called by main thread)   OR\r\n   // 2. Search window is gone (called by worker)\r\n   //\r\n\r\n   if (!SearchInfo.hThread || bWorkerCall) {\r\n\r\n      MemDelete(SearchInfo.lpStart);\r\n   }\r\n\r\n   if (!bWorkerCall) {\r\n\r\n      ExtSelItemsInvalidate();\r\n      SendMessage(SearchInfo.hwndLB, LB_RESETCONTENT, 0, 0);\r\n   }\r\n}\r\n\r\n"
  },
  {
    "path": "src/wftree.c",
    "content": "/********************************************************************\r\n\r\n   wftree.c\r\n\r\n   Windows File System Tree Window Proc Routines\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n#include \"lfn.h\"\r\n#include \"wfcopy.h\"\r\n\r\n#include <commctrl.h>\r\n\r\nHICON\r\nGetTreeIcon(HWND hWnd);\r\n\r\nHICON\r\nGetTreeIcon(HWND hWnd)\r\n{\r\n   HWND hwndTree, hwndDir;\r\n\r\n   hwndTree = HasTreeWindow(hWnd);\r\n   hwndDir = HasDirWindow(hWnd);\r\n\r\n   if (hwndTree && hwndDir)\r\n      return hicoTreeDir;\r\n   else if (hwndTree)\r\n      return hicoTree;\r\n   else\r\n      return hicoDir;\r\n}\r\n\r\n\r\n\r\nVOID\r\nGetTreeWindows( HWND hwnd,\r\n   PHWND phwndTree,\r\n   PHWND phwndDir)\r\n{\r\n   if (phwndTree) {\r\n      *phwndTree = GetDlgItem(hwnd, IDCW_TREECONTROL);\r\n   }\r\n   if (phwndDir) {\r\n      *phwndDir  = GetDlgItem(hwnd, IDCW_DIR);\r\n   }\r\n}\r\n\r\n\r\n// returns hwndTree, hwndDir or hwndDrives depending on the focus tracking\r\n// for the window.  if none is found we return NULL\r\n\r\nHWND\r\nGetTreeFocus(HWND hwndTree)\r\n{\r\n   HWND hwnd, hwndLast = NULL;\r\n\r\n   if (bDriveBar && GetFocus() == hwndDriveBar)\r\n      return hwndDriveBar;\r\n\r\n   hwndLast = hwnd = (HWND)GetWindowLongPtr(hwndTree, GWL_LASTFOCUS);\r\n\r\n   while (hwnd && hwnd != hwndTree) {\r\n      hwndLast = hwnd;\r\n      hwnd = GetParent(hwnd);\r\n   }\r\n\r\n   return hwndLast;\r\n}\r\n\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  CompactPath() -                                                         */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nBOOL\r\nCompactPath(HDC hDC, LPTSTR lpszPath, DWORD dx)\r\n{\r\n   INT           len;\r\n   SIZE          sizeF, sizeT;\r\n   LPTSTR        lpEnd;          /* end of the unfixed string */\r\n   LPTSTR        lpFixed;        /* start of text that we always display */\r\n   BOOL          bEllipsesIn;\r\n   TCHAR         szTemp[MAXPATHLEN];\r\n   DWORD         dxEllipses;\r\n\r\n   //\r\n   // Does it already fit?\r\n   //\r\n   GetTextExtentPoint32(hDC, lpszPath, lstrlen(lpszPath), &sizeF);\r\n   if (sizeF.cx <= (INT)dx)\r\n      return(TRUE);\r\n\r\n   //\r\n   // Search backwards for the '\\', and man, it better be there!\r\n   //\r\n   lpFixed = lpszPath + lstrlen(lpszPath) - 1;\r\n   while (*lpFixed != CHAR_BACKSLASH)\r\n      lpFixed--;\r\n\r\n   // Save this guy to prevent overlap.\r\n   lstrcpy(szTemp, lpFixed);\r\n\r\n   lpEnd = lpFixed;\r\n   bEllipsesIn = FALSE;\r\n\r\n   GetTextExtentPoint32(hDC, szEllipses, 3, &sizeF);\r\n   dxEllipses = sizeF.cx;\r\n\r\n   GetTextExtentPoint32(hDC, lpFixed, lstrlen(lpFixed), &sizeF);\r\n\r\n   while (TRUE) {\r\n      GetTextExtentPoint32(hDC, lpszPath, (int)(lpEnd - lpszPath), &sizeT);\r\n      len = sizeF.cx + sizeT.cx;\r\n\r\n      if (bEllipsesIn)\r\n         len += dxEllipses;\r\n\r\n      if (len <= (INT)dx)\r\n         break;\r\n\r\n      bEllipsesIn = TRUE;\r\n\r\n      if (lpEnd <= lpszPath) {\r\n\r\n         // Things didn't fit.\r\n\r\n         lstrcpy(lpszPath, szEllipses);\r\n         lstrcat(lpszPath, szTemp);\r\n         return(FALSE);\r\n      }\r\n\r\n      // Step back a character.\r\n      --lpEnd;\r\n   }\r\n\r\n   if (bEllipsesIn) {\r\n      lstrcpy(lpEnd, szEllipses);\r\n      lstrcat(lpEnd, szTemp);\r\n   }\r\n\r\n   return(TRUE);\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     ResizeSplit\r\n//\r\n// Synopsis: Creates/resizes kids of MDI child for give path or\r\n//           resizes (perhaps creating/destroying) kids based on dxSplit\r\n//\r\n// IN        hwnd    Window to change\r\n// IN        dxSplit\r\n//\r\n//\r\n// Return:   TRUE = success\r\n//           FALSE = fail (out of mem, can't create win, unresizable tree)\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nResizeSplit(HWND hwnd, INT dxSplit)\r\n{\r\n   RECT rc;\r\n   HWND hwndTree, hwndDir, hwndLB;\r\n\r\n   GetTreeWindows(hwnd, &hwndTree, &hwndDir);\r\n\r\n   if (hwndTree && GetWindowLongPtr(hwndTree, GWL_READLEVEL))\r\n      return FALSE;\r\n\r\n   GetClientRect(hwnd, &rc);\r\n\r\n   if (dxSplit > dxDriveBitmap * 2) {\r\n\r\n      if (!hwndTree) {        // make new tree window\r\n\r\n         hwndTree = CreateWindowEx(0L,\r\n                                   szTreeControlClass,\r\n                                   NULL,\r\n                                   WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN,\r\n                                   0, 0, 0, 0,\r\n                                   hwnd,\r\n                                   (HMENU)IDCW_TREECONTROL,\r\n                                   hAppInstance, NULL);\r\n\r\n         if (!hwndTree)\r\n            return FALSE;\r\n\r\n         //\r\n         // only reset this if the dir window already\r\n         // exists, that is we are creating the tree\r\n         // by splitting open a dir window\r\n         //\r\n         if (hwndDir)\r\n            SendMessage(hwndTree, TC_SETDRIVE, MAKEWORD(FALSE, 0), 0L);\r\n      }\r\n   } else {\r\n\r\n      //\r\n      // In this conditional, always set dxSplit=0.\r\n      //\r\n      if (hwndTree) {          // we are closing the tree window\r\n\r\n         //\r\n         // If the directory window is empty, then set the focus to the\r\n         // drives window.\r\n         //\r\n         if (hwndDir) {\r\n            hwndLB = GetDlgItem (hwndDir,IDCW_LISTBOX);\r\n            if (hwndLB) {\r\n               PVOID pv;\r\n               SendMessage (hwndLB,LB_GETTEXT,0,(LPARAM)(LPTSTR) &pv);\r\n               if (!pv)\r\n                  SetFocus(hwndDriveBar);\r\n            }\r\n         }\r\n         DestroyWindow(hwndTree);\r\n      }\r\n      dxSplit = 0;\r\n   }\r\n\r\n   if ((rc.right - dxSplit) > dxDriveBitmap * 2) {\r\n\r\n      if (!hwndDir) {\r\n         hwndDir = CreateWindowEx(0L,\r\n                                  szDirClass,\r\n                                  NULL,\r\n                                  WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN,\r\n                                  0, 0, 0, 0,\r\n                                  hwnd,\r\n                                  (HMENU)IDCW_DIR,\r\n                                  hAppInstance,\r\n                                  NULL);\r\n         if (!hwndDir)\r\n            return FALSE;\r\n\r\n      } else {\r\n\r\n         //\r\n         // Must invalidate: if viewing extreme left, paint residue left.\r\n         //\r\n         InvalidateRect(hwndDir, NULL, TRUE);\r\n      }\r\n   } else {\r\n\r\n      //\r\n      // Again, always set dxSplit\r\n      //\r\n      if (hwndDir) {\r\n         DestroyWindow(hwndDir);\r\n      }\r\n      dxSplit = rc.right;\r\n   }\r\n\r\n\r\n   SetWindowLongPtr(hwnd, GWL_SPLIT, dxSplit);\r\n\r\n   SendMessage(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)GetTreeIcon(hwnd));\r\n\r\n   UpdateStatus(hwnd);\r\n   EnableCheckTBButtons(hwnd);\r\n\r\n   return TRUE;\r\n}\r\n\r\n\r\nVOID\r\nSwitchDriveSelection(HWND hwndChild, BOOL bSelectToolbarDrive)\r\n{\r\n   DRIVE drive;\r\n   DRIVEIND i, driveIndOld, driveIndOldFocus;\r\n   RECT rc;\r\n\r\n   drive = (DRIVE)GetWindowLongPtr(hwndChild, GWL_TYPE);\r\n\r\n   if (TYPE_SEARCH == drive) {\r\n\r\n      drive = (DRIVE)SendMessage(hwndSearch, FS_GETDRIVE, 0, 0L) - CHAR_A;\r\n   }\r\n\r\n\r\n   driveIndOld      = (DRIVEIND)GetWindowLongPtr(hwndDriveBar, GWL_CURDRIVEIND);\r\n   driveIndOldFocus = (DRIVEIND)GetWindowLongPtr(hwndDriveBar, GWL_CURDRIVEFOCUS);\r\n\r\n   for (i=0; i < cDrives; i++) {\r\n      if (rgiDrive[i] == drive) {\r\n         SetWindowLongPtr(hwndDriveBar, GWL_CURDRIVEIND, i);\r\n         SetWindowLongPtr(hwndDriveBar, GWL_CURDRIVEFOCUS, i);\r\n\r\n         break;\r\n      }\r\n   }\r\n\r\n   if (i == cDrives)\r\n      return;     // didn't find drive;  it must have been invalidated\r\n                  // other code (such as tree walk) will handle\r\n\r\n   if (bDriveBar) {\r\n\r\n      //\r\n      // Optimization: don't invalidate whole drive bar, just the\r\n      // two drives that change.\r\n      //\r\n      // was: InvalidateRect(hwndDriveBar, NULL, TRUE);\r\n      //\r\n\r\n      GetDriveRect(i, &rc);\r\n      InvalidateRect(hwndDriveBar, &rc, TRUE);\r\n\r\n      GetDriveRect(driveIndOld, &rc);\r\n      InvalidateRect(hwndDriveBar, &rc, TRUE);\r\n\r\n      GetDriveRect(driveIndOldFocus, &rc);\r\n      InvalidateRect(hwndDriveBar, &rc, TRUE);\r\n\r\n      UpdateWindow(hwndDriveBar);\r\n   }\r\n\r\n   // made optional to prevent extra refreshing.\r\n   if (bSelectToolbarDrive)\r\n      SelectToolbarDrive(i);\r\n}\r\n\r\n\r\n//--------------------------------------------------------------------------*/\r\n//                                                                          */\r\n//  TreeWndProc() -                                                         */\r\n//                                                                          */\r\n//--------------------------------------------------------------------------*/\r\n\r\n// WndProc for the MDI child window containing the drives, volume, and\r\n// directory tree child windows.\r\n\r\nLRESULT\r\nCALLBACK\r\nTreeWndProc(\r\n   HWND hwnd,\r\n   UINT uMsg,\r\n   WPARAM wParam,\r\n   LPARAM lParam)\r\n{\r\n   HWND hwndTree, hwndDir, hwndFocus;\r\n   TCHAR szDir[2*MAXPATHLEN];\r\n\r\n   RECT rc;\r\n   HDC hdc;\r\n\r\n   switch (uMsg) {\r\n\r\n   case WM_MENUSELECT:\r\n\r\n      if (GET_WM_MENUSELECT_HMENU(wParam, lParam)) {\r\n\r\n         //\r\n         // Save the menu the user selected\r\n         //\r\n         uMenuID = GET_WM_MENUSELECT_CMD(wParam, lParam);\r\n         uMenuFlags = GET_WM_MENUSELECT_FLAGS(wParam, lParam);\r\n         hMenu = GET_WM_MENUSELECT_HMENU(wParam, lParam);\r\n\r\n         bMDIFrameSysMenu = FALSE;\r\n      }\r\n\r\n      if (uMenuFlags & MF_POPUP)\r\n      {\r\n          // NormalHelp with MF_POPUP case; fix up ids to workaround some bugs in MenuHelp\r\n          INT idm = MapMenuPosToIDM(uMenuID);\r\n          dwMenuIDs[MHPOP_CURRENT] = MH_POPUP + idm;\r\n          dwMenuIDs[MHPOP_CURRENT + 1] = uMenuID;\r\n      }\r\n\r\n      MenuHelp((WORD)uMsg, wParam, lParam, GetMenu(hwndFrame),\r\n         hAppInstance, hwndStatus, (LPDWORD)dwMenuIDs);\r\n      break;\r\n\r\n   case WM_FSC:\r\n\r\n      if (hwndDir = HasDirWindow(hwnd))\r\n         SendMessage(hwndDir, uMsg, wParam, lParam);\r\n\r\n      break;\r\n\r\n   case FS_NOTIFYRESUME:\r\n\r\n      if (hwndDir = HasDirWindow(hwnd)) {\r\n         SendMessage(hwnd, FS_GETDIRECTORY, COUNTOF(szDir), (LPARAM)szDir);\r\n\r\n         ModifyWatchList(hwnd, szDir, FILE_NOTIFY_CHANGE_FLAGS);\r\n      }\r\n      break;\r\n\r\n   case FS_CHANGEDRIVES:\r\n      {\r\n         GetMDIWindowText(hwnd, szDir, COUNTOF(szDir));\r\n         SetMDIWindowText(hwnd, szDir);  /* refresh label in title */\r\n         RedoDriveWindows((HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L));\r\n\r\n         break;\r\n      }\r\n\r\n      case FS_GETSELECTION:\r\n        {\r\n#define pfDir            (BOOL *)lParam\r\n          LPTSTR p;\r\n\r\n          GetTreeWindows(hwnd, &hwndTree, &hwndDir);\r\n          hwndFocus = GetTreeFocus(hwnd);\r\n\r\n          if (hwndFocus == hwndDir || !hwndTree) {\r\n              return SendMessage(hwndDir, FS_GETSELECTION, wParam, lParam);\r\n          } else {\r\n\r\n             //\r\n             // +2 for checkesc safety\r\n             //\r\n             p = (LPTSTR)LocalAlloc(LPTR, ByteCountOf(MAXPATHLEN + 2));\r\n             if (p) {\r\n                SendMessage(hwnd, FS_GETDIRECTORY, MAXPATHLEN, (LPARAM)(LPTSTR)p);\r\n                StripBackslash(p);\r\n\r\n                if (!(wParam & 16)) CheckEsc(p);\r\n\r\n                if (wParam == 2) {      // BUG ??? wParam should be fMostRecentOnly\r\n                   if (pfDir) {\r\n                      *pfDir = IsLFN(p);\r\n                   }\r\n                   LocalFree((HANDLE)p);\r\n                   return (LRESULT)p;\r\n                }\r\n             }\r\n             if (pfDir) {\r\n                *pfDir = TRUE;\r\n             }\r\n             return (LRESULT)p;\r\n          }\r\n#undef pfDir\r\n        }\r\n\r\n      case FS_GETDIRECTORY:\r\n\r\n          // wParam is the length of the string pointed to by lParam\r\n          // returns in lParam ANSI directory string with\r\n          // a trailing backslash.  if you want to do a SetCurrentDirector()\r\n          // you must first StripBackslash() the thing!\r\n\r\n          GetMDIWindowText(hwnd, (LPTSTR)lParam, (INT)wParam);        // get the string\r\n          StripFilespec((LPTSTR)lParam);        // Remove the trailing extension\r\n          AddBackslash((LPTSTR)lParam);        // terminate with a backslash\r\n          break;\r\n\r\n\r\n      case FS_GETFILESPEC:\r\n\r\n          // WARNING: Requires ((LPTSTR)lparam)[MAXPATHLEN] space!\r\n          // (TreeControlWndProc WM_COMMAND LBN_SELCHANGE broke this!)\r\n\r\n          // returns the current filespec (from View.Include...).  this is\r\n          // an uppercase ANSI string\r\n\r\n          GetMDIWindowText(hwnd, (LPTSTR)lParam, (INT)wParam);\r\n          StripPath((LPTSTR)lParam);\r\n          break;\r\n\r\n          // redirect these messages to the drive icons to get the same\r\n          // result as dropping on the active drive.\r\n          // this is especially useful when we are minimized\r\n\r\n      case WM_DRAGSELECT:\r\n      case WM_QUERYDROPOBJECT:\r\n      case WM_DROPOBJECT:\r\n\r\n         // This code is really messed up since there is only one drive bar.\r\n         // Fix the case for Iconic windows but the uniconic state is weird\r\n\r\n#define lpds   ((LPDROPSTRUCT)lParam)\r\n\r\n         if (IsIconic(hwnd) || hwnd != (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L)) {\r\n            if (hwndDir = HasDirWindow(hwnd)) {\r\n               lpds->dwControlData = (DWORD) -1;\r\n               return SendMessage(hwndDir, uMsg, wParam, lParam);\r\n            } else {\r\n               break;\r\n            }\r\n         }\r\n#undef lpds\r\n\r\n         if (hwndDriveBar) {\r\n\r\n            LRESULT lRet;\r\n\r\n            hwndDropChild = hwnd;\r\n            lRet = SendMessage(hwndDriveBar, uMsg, wParam, lParam);\r\n            hwndDropChild = NULL;\r\n            return lRet;\r\n         }\r\n\r\n         if (hwndDir = HasDirWindow(hwnd)) {\r\n            return SendMessage(hwndDir, uMsg, wParam, lParam);\r\n         }\r\n\r\n         break;\r\n\r\n      case FS_GETDRIVE:\r\n\r\n          GetTreeWindows(hwnd, &hwndTree, &hwndDir);\r\n\r\n          if (hwndTree)\r\n             return SendMessage(hwndTree, uMsg, wParam, lParam);\r\n          else\r\n             return SendMessage(hwndDir, uMsg, wParam, lParam);\r\n\r\n          break;\r\n\r\n      case WM_CREATE:\r\n         {\r\n#define lpcs ((LPCREATESTRUCT)lParam)\r\n#define lpmdics ((LPMDICREATESTRUCT)(lpcs->lpCreateParams))\r\n\r\n            INT dxSplit;\r\n            DRIVE drive;\r\n            DWORD dwNewExStyle;\r\n            WCHAR szPath[2 * MAXFILENAMELEN];\r\n\r\n            //\r\n            // lpcs->lpszName is the path we are opening the\r\n            // window for (has extension stuff \"*.*\")\r\n            //\r\n            drive = DRIVEID(lpcs->lpszName);\r\n\r\n            SetWindowLongPtr(hwnd, GWL_TYPE, drive);\r\n\r\n            //\r\n            // if dxSplit is negative we split in the middle\r\n            //\r\n            dxSplit = (INT)lpmdics->lParam;\r\n\r\n            //\r\n            // if dxSplit is negative we split in the middle\r\n            //\r\n            if (dxSplit < 0)\r\n               dxSplit = lpcs->cx / 2;\r\n\r\n            SetWindowLongPtr(hwnd, GWL_NOTIFYPAUSE, 0L);\r\n            SetWindowLongPtr(hwnd, GWL_SPLIT, dxSplit);\r\n            SetWindowLongPtr(hwnd, GWL_LASTFOCUS, 0L);\r\n            SetWindowLongPtr(hwnd, GWL_FSCFLAG, FALSE);\r\n\r\n            SetWindowLongPtr(hwnd, GWL_VOLNAME, 0L);\r\n            SetWindowLongPtr(hwnd, GWL_PATHLEN, 0L);\r\n\r\n            //\r\n            // Add a sunken border to the window\r\n            //\r\n            dwNewExStyle = GetWindowLong(hwnd, GWL_EXSTYLE);\r\n            dwNewExStyle = dwNewExStyle | WS_EX_CLIENTEDGE;\r\n            SetWindowLong(hwnd, GWL_EXSTYLE, dwNewExStyle);\r\n\r\n            //\r\n            // Refresh its frame so the child windows below are created\r\n            // in the correct place now the border is in place\r\n            //\r\n            SetWindowPos(hwnd, NULL, 0, 0, 0, 0, SWP_FRAMECHANGED | SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_NOCOPYBITS);\r\n\r\n            if (!ResizeSplit(hwnd, dxSplit))\r\n               return -1;\r\n\r\n            GetTreeWindows(hwnd, &hwndTree, &hwndDir);\r\n            SetWindowLongPtr(hwnd, GWL_LASTFOCUS, (LPARAM)(hwndTree ? hwndTree : hwndDir));\r\n\r\n            iNumWindows++;\r\n\r\n            GetMDIWindowText(hwnd, szPath, COUNTOF(szPath));\r\n            SetMDIWindowText(hwnd, szPath);\r\n\r\n            break;\r\n#undef lpcs\r\n#undef lpmdics\r\n         }\r\n\r\n      case WM_CLOSE:\r\n\r\n         if (hwndTree = HasTreeWindow(hwnd)) {\r\n\r\n            //\r\n            // don't close if we are reading the tree\r\n            //\r\n            if (GetWindowLongPtr(hwndTree, GWL_READLEVEL))\r\n               break;\r\n         }\r\n\r\n         //\r\n         // don't allow the last MDI child to be closed!\r\n         //\r\n\r\n         if (!IsLastWindow()) {\r\n            iNumWindows--;\r\n\r\n            //\r\n            // don't leave current dir on floppies\r\n            //\r\n            GetSystemDirectory(szDir, COUNTOF(szDir));\r\n            SetCurrentDirectory(szDir);\r\n\r\n            goto DEF_MDI_PROC;      // this will close this window\r\n         }\r\n\r\n         break;\r\n\r\n      case WM_DESTROY:\r\n      {\r\n         LPWSTR lpszVolName;\r\n\r\n         //\r\n         // Free GWL_VOLNAME\r\n         //\r\n         lpszVolName = (LPTSTR)GetWindowLongPtr(hwnd, GWL_VOLNAME);\r\n\r\n         if (lpszVolName)\r\n            LocalFree(lpszVolName);\r\n\r\n         break;\r\n      }\r\n      case WM_MDIACTIVATE:\r\n\r\n         //\r\n         // Invalidate the cache since we are switching windows\r\n         //\r\n         ExtSelItemsInvalidate();\r\n\r\n         //\r\n         // we are receiving the activation\r\n         //\r\n         if (GET_WM_MDIACTIVATE_FACTIVATE(hwnd, wParam, lParam)) {\r\n\r\n            EnableCheckTBButtons(hwnd);\r\n\r\n            SPC_SET_INVALID(qFreeSpace);\r\n\r\n            UpdateStatus(hwnd);\r\n\r\n            hwndFocus = (HWND)GetWindowLongPtr(hwnd, GWL_LASTFOCUS);\r\n            SetFocus(hwndFocus);\r\n\r\n            SwitchDriveSelection(hwnd, TRUE);\r\n         }\r\n         else if (hwndDriveBar)\r\n            SendMessage(hwndDriveBar, uMsg, wParam, lParam);\r\n         break;\r\n\r\n      case WM_SETFOCUS:\r\n\r\n          hwndFocus = (HWND)GetWindowLongPtr(hwnd, GWL_LASTFOCUS);\r\n          SetFocus(hwndFocus);\r\n          break;\r\n\r\n      case WM_INITMENUPOPUP:\r\n          if (HIWORD(lParam)) {\r\n             EnableMenuItem((HMENU)wParam, SC_CLOSE,\r\n               IsLastWindow() ? MF_BYCOMMAND | MF_DISABLED | MF_GRAYED :\r\n               MF_ENABLED);\r\n          }\r\n          break;\r\n\r\n      case WM_SYSCOMMAND:\r\n\r\n          if (wParam != SC_SPLIT)\r\n                goto DEF_MDI_PROC;\r\n\r\n          GetClientRect(hwnd, &rc);\r\n\r\n          lParam = MAKELONG(rc.right / 2, 0);\r\n\r\n          // fall through\r\n\r\n      case WM_LBUTTONDOWN:\r\n          {\r\n          MSG msg;\r\n          INT x, y, dx, dy;\r\n\r\n          if (IsIconic(hwnd))\r\n             break;\r\n\r\n          y = 0;\r\n\r\n          x = LOWORD(lParam);\r\n\r\n          GetClientRect(hwnd, &rc);\r\n\r\n          dx = 4;\r\n          dy = rc.bottom - y;   // the height of the client less the drives window\r\n\r\n          hdc = GetDC(hwnd);\r\n\r\n          // split bar loop\r\n\r\n          PatBlt(hdc, x - dx / 2, y, dx, dy, PATINVERT);\r\n\r\n          SetCapture(hwnd);\r\n\r\n          while (GetMessage(&msg, NULL, 0, 0)) {\r\n\r\n             if (msg.message == WM_KEYDOWN || msg.message == WM_SYSKEYDOWN ||\r\n                (msg.message >= WM_MOUSEFIRST && msg.message <= WM_MOUSELAST)) {\r\n\r\n                if (msg.message == WM_LBUTTONUP || msg.message == WM_LBUTTONDOWN)\r\n                   break;\r\n\r\n                if (msg.message == WM_KEYDOWN) {\r\n\r\n                   if (msg.wParam == VK_LEFT) {\r\n                      msg.message = WM_MOUSEMOVE;\r\n                      msg.pt.x -= 2;\r\n                   } else if (msg.wParam == VK_RIGHT) {\r\n                      msg.message = WM_MOUSEMOVE;\r\n                      msg.pt.x += 2;\r\n                   } else if (msg.wParam == VK_RETURN ||\r\n                   msg.wParam == VK_ESCAPE) {\r\n                      break;\r\n                   }\r\n\r\n                   SetCursorPos(msg.pt.x, msg.pt.y);\r\n                }\r\n\r\n                if (msg.message == WM_MOUSEMOVE) {\r\n\r\n                   // erase old\r\n\r\n                   PatBlt(hdc, x - dx / 2, y, dx, dy, PATINVERT);\r\n                   ScreenToClient(hwnd, &msg.pt);\r\n                   x = msg.pt.x;\r\n\r\n                   // put down new\r\n\r\n                   PatBlt(hdc, x - dx / 2, y, dx, dy, PATINVERT);\r\n                }\r\n             } else {\r\n                DispatchMessage(&msg);\r\n             }\r\n          }\r\n          ReleaseCapture();\r\n\r\n          // erase old\r\n\r\n          PatBlt(hdc, x - dx / 2, y, dx, dy, PATINVERT);\r\n          ReleaseDC(hwnd, hdc);\r\n\r\n          if (msg.wParam != VK_ESCAPE) {\r\n\r\n             if (ResizeSplit(hwnd, x))\r\n                SendMessage(hwnd, WM_SIZE, SIZENOMDICRAP, MAKELONG(rc.right, rc.bottom));\r\n          }\r\n\r\n          break;\r\n          }\r\n\r\n      case WM_QUERYDRAGICON:\r\n          return (LRESULT)GetTreeIcon(hwnd);\r\n          break;\r\n\r\n      case WM_ERASEBKGND:\r\n\r\n         if (IsIconic(hwnd)) {\r\n            // this paints the background of the icon properly, doing\r\n            // brush alignment and other nasty stuff\r\n\r\n            DefWindowProc(hwnd, WM_ICONERASEBKGND, wParam, 0L);\r\n         } else {\r\n            //\r\n            // Don't bother since we will be redrawing everything\r\n            // over it anyway.\r\n            //\r\n         }\r\n         break;\r\n\r\n      case WM_PAINT:\r\n          {\r\n             PAINTSTRUCT ps;\r\n             HBRUSH hbr;\r\n\r\n             hdc = BeginPaint(hwnd, &ps);\r\n\r\n             if (IsIconic(hwnd)) {\r\n                DrawIcon(hdc, 0, 0, GetTreeIcon(hwnd));\r\n             } else {\r\n                GetClientRect(hwnd, &rc);\r\n                rc.left = GetSplit(hwnd);\r\n\r\n                if (rc.left >= rc.right)\r\n                        rc.left = 0;\r\n\r\n                rc.right = rc.left + dxFrame;\r\n\r\n                // draw the black pane handle\r\n\r\n                rc.top = rc.bottom - GetSystemMetrics(SM_CYHSCROLL);\r\n                FillRect(hdc, &rc, GetStockObject(BLACK_BRUSH));\r\n\r\n                if (hbr = CreateSolidBrush(GetSysColor(COLOR_WINDOW))) {\r\n\r\n                   rc.bottom = rc.top;\r\n                   rc.top = 0;\r\n\r\n                   FillRect(hdc, &rc, hbr);\r\n\r\n                   DeleteObject(hbr);\r\n                }\r\n             }\r\n             EndPaint(hwnd, &ps);\r\n             break;\r\n         }\r\n\r\n\r\n      case WM_SIZE:\r\n\r\n        if (wParam != SIZEICONIC) {\r\n\r\n           //\r\n           // Must invalidate rect to clear up the hwndDir display\r\n           // when the view is single column (partial/full details)\r\n           // and it's scrolled to the extreme left.  (Either resizing\r\n           // larger or maximizing)\r\n           //\r\n           // To avoid nasty double flicker, we turn off the redraw\r\n           // flag for the list box (hwndDir is set to IDCW_LISTBOX).\r\n           // Then we redraw then repaint.\r\n           //\r\n           if (hwndDir = HasDirWindow(hwnd)) {\r\n\r\n              hwndDir = GetDlgItem(hwndDir, IDCW_LISTBOX);\r\n              SendMessage(hwndDir, WM_SETREDRAW, FALSE, 0L);\r\n           }\r\n\r\n           ResizeWindows(hwnd,LOWORD(lParam),HIWORD(lParam));\r\n\r\n           //\r\n           // When hwndDir is non-NULL, it holds the IDCW_LISTBOX set\r\n           // above.  Now set redraw true and repaint.\r\n           //\r\n           if (hwndDir) {\r\n\r\n              SendMessage(hwndDir, WM_SETREDRAW, TRUE, 0L);\r\n\r\n              InvalidateRect(hwndDir, NULL, TRUE);\r\n              UpdateWindow(hwndDir);\r\n           }\r\n\r\n        } else if (IsLastWindow()) {\r\n\r\n           //\r\n           // A bug in MDI sometimes causes us to get the input focus\r\n           // even though we're minimized.  Prevent that...\r\n           //\r\n           SetFocus(GetParent(hwnd));\r\n        }\r\n\r\n        //\r\n        // if wParam is SIZENOMDICRAP this WM_SIZE was generated by us.\r\n        // don't let this through to the DefMDIChildProc().\r\n        // that might change the min/max state, (show parameter)\r\n        //\r\n\r\n        if (wParam == SIZENOMDICRAP)\r\n           break;\r\n\r\n        //\r\n        // FALL THROUGH\r\n        //\r\n\r\n      default:\r\n\r\nDEF_MDI_PROC:\r\n\r\n          return DefMDIChildProc(hwnd, uMsg, wParam, lParam);\r\n    }\r\n\r\n  return 0L;\r\n}\r\n\r\n\r\nVOID\r\nResizeWindows(HWND hwndParent,INT dxWindow, INT dyWindow)\r\n{\r\n   INT y, dy, split;\r\n\r\n   HWND hwndTree, hwndDir;\r\n   RECT rc;\r\n\r\n   GetTreeWindows(hwndParent, &hwndTree, &hwndDir);\r\n\r\n   y = -dyBorder;\r\n\r\n   split = GetSplit(hwndParent);\r\n\r\n   //\r\n   // user has been fixed to do this right\r\n   //\r\n   dy = dyWindow - y + dyBorder;\r\n\r\n   if (hwndTree) {\r\n      if (!hwndDir)\r\n         MoveWindow(hwndTree, dxFrame, y, dxWindow - dxFrame + dyBorder, dy, TRUE);\r\n      else\r\n         MoveWindow(hwndTree, -dyBorder, y, split + dyBorder, dy, TRUE);\r\n   }\r\n\r\n   if (hwndDir) {\r\n      if (!hwndTree)\r\n         MoveWindow(hwndDir, dxFrame, y, dxWindow - dxFrame + dyBorder, dy, TRUE);\r\n      else\r\n         MoveWindow(hwndDir, split + dxFrame, y,\r\n      dxWindow - split - dxFrame + dyBorder, dy, TRUE);\r\n   }\r\n\r\n   //\r\n   // since this window is not CS_HREDRAW | CS_VREDRAW we need to force\r\n   // the repaint of the split\r\n   //\r\n   rc.top = y;\r\n   rc.bottom = y + dy;\r\n\r\n   //\r\n   // yutakas\r\n   // When split moved, Tree Window couldn't redraw.\r\n   //\r\n   if ((hwndTree) && (!(rc.left = GetScrollPos(GetDlgItem(hwndTree,\r\n                                                          IDCW_TREELISTBOX),\r\n                                               SB_HORZ) ?\r\n                                               0 :\r\n                                               split))) {\r\n\r\n       rc.right = split;\r\n       InvalidateRect(hwndParent, &rc, FALSE);\r\n   }\r\n\r\n   rc.left = split;\r\n   rc.right = split + dxFrame;\r\n\r\n   InvalidateRect(hwndParent, &rc, TRUE);\r\n   UpdateWindow(hwndParent);\r\n}\r\n\r\n"
  },
  {
    "path": "src/wfutil.c",
    "content": "/********************************************************************\r\n\r\n   wfutil.c\r\n\r\n   Windows File System String Utility Functions\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n#include \"lfn.h\"\r\n#include <commctrl.h>\r\n#include <stdlib.h>\r\n\r\nLPTSTR CurDirCache[26];\r\n\r\n#define MAXHISTORY 32\r\nDWORD historyCur = 0;\r\ntypedef struct HistoryDir\r\n{\r\n    HWND hwnd;\r\n    TCHAR szDir[MAXPATHLEN];\r\n} HistoryDir;\r\nHistoryDir rghistoryDir[MAXHISTORY];\r\n\r\nVOID\r\nSaveHistoryDir(HWND hwnd, LPWSTR szDir)\r\n{\r\n    if (rghistoryDir[historyCur].hwnd == hwnd && lstrcmpi(rghistoryDir[historyCur].szDir, szDir) == 0)\r\n        return;\r\n\r\n    historyCur = (historyCur + 1) % MAXHISTORY;\r\n\r\n    rghistoryDir[historyCur].hwnd = hwnd;\r\n    lstrcpy(rghistoryDir[historyCur].szDir, szDir);\r\n\r\n    // always leave one NULL entry after current\r\n    DWORD historyT = (historyCur + 1) % MAXHISTORY;\r\n    rghistoryDir[historyT].hwnd = NULL;\r\n    rghistoryDir[historyT].szDir[0] = '\\0';\r\n}\r\n\r\nBOOL\r\nGetPrevHistoryDir(BOOL forward, HWND *phwnd, LPWSTR szDir)\r\n{\r\n    DWORD historyNext = (historyCur + 1) % MAXHISTORY;\r\n    DWORD historyPrev = (historyCur == 0 ? MAXHISTORY : historyCur )- 1;\r\n    DWORD historyT = forward ? historyNext : historyPrev;\r\n\r\n    if (rghistoryDir[historyT].hwnd == NULL)\r\n        return FALSE;\r\n\r\n    historyCur = historyT;\r\n\r\n    *phwnd = rghistoryDir[historyCur].hwnd;  \r\n    lstrcpy(szDir, rghistoryDir[historyCur].szDir);\r\n    return TRUE;\r\n}\r\n\r\nLPWSTR\r\npszNextComponent(\r\n   LPWSTR p)\r\n{\r\n   BOOL    bInQuotes = FALSE;\r\n\r\n   while (*p == L' ' || *p == L'\\t')\r\n      p++;\r\n\r\n   //\r\n   // Skip executable name\r\n   //\r\n   while (*p) {\r\n\r\n      if ((*p == L' ' || *p == L'\\t') && !bInQuotes)\r\n         break;\r\n\r\n      if (*p == CHAR_DQUOTE)\r\n         bInQuotes = !bInQuotes;\r\n\r\n      p++;\r\n   }\r\n\r\n   if (*p) {\r\n      *p++ = CHAR_NULL;\r\n\r\n      while (*p == L' ' || *p == L'\\t')\r\n         p++;\r\n   }\r\n\r\n   return p;\r\n}\r\n\r\n// If a string starts and ends with a quote, truncate the ending quote and\r\n// return a pointer to the new string start.  Note that parsing such as\r\n// pszNextComponent above support quotes in the middle of strings, which\r\n// this function makes no attempt to remove.\r\nLPWSTR\r\npszRemoveSurroundingQuotes(\r\n   LPWSTR p\r\n   )\r\n{\r\n   if (*p == CHAR_DQUOTE) {\r\n      size_t len;\r\n\r\n      len = wcslen(p);\r\n\r\n      // Length needs to be at least 2 to ensure there are 2 quotes rather\r\n      // than counting the same quote twice\r\n      if (len > 1 && p[len - 1] == CHAR_DQUOTE) {\r\n         p[len - 1] = '\\0';\r\n         p++;\r\n      }\r\n   }\r\n\r\n   return p;\r\n}\r\n\r\n\r\n// Set the status bar text for a given pane\r\n\r\nVOID CDECL\r\nSetStatusText(int nPane, UINT nFlags, LPCTSTR szFormat, ...)\r\n{\r\n   TCHAR szTemp[120+MAXPATHLEN];\r\n   TCHAR szTempFormat[120+MAXPATHLEN];\r\n\r\n   va_list vaArgs;\r\n\r\n   if (!hwndStatus)\r\n      return;\r\n\r\n   if (nFlags & SST_RESOURCE) {\r\n      if (!LoadString(hAppInstance, (DWORD) (LONG_PTR) szFormat,\r\n         szTempFormat, COUNTOF(szTempFormat)))\r\n\r\n         return;\r\n\r\n      szFormat = szTempFormat;\r\n   }\r\n\r\n   if (nFlags & SST_FORMAT) {\r\n\r\n      va_start(vaArgs, szFormat);\r\n      wvsprintf(szTemp, szFormat, vaArgs);\r\n      va_end(vaArgs);\r\n\r\n      szFormat = szTemp;\r\n   }\r\n\r\n   SendMessage(hwndStatus, SB_SETTEXT, nPane, (LPARAM)szFormat);\r\n}\r\n\r\n\r\n// drive   zero based drive number (0 = A, 1 = B)\r\n// returns:\r\n//  TRUE    we have it saved pszPath gets path\r\n//  FALSE   we don't have it saved\r\n\r\nBOOL\r\nGetSavedDirectory(DRIVE drive, LPTSTR pszPath)\r\n{\r\n   if (CurDirCache[drive]) {\r\n      lstrcpy(pszPath, CurDirCache[drive]);\r\n      return TRUE;\r\n   } else\r\n      return FALSE;\r\n}\r\n\r\nVOID\r\nSaveDirectory(LPTSTR pszPath)\r\n{\r\n   DRIVE drive;\r\n\r\n   drive = DRIVEID(pszPath);\r\n\r\n   if (CurDirCache[drive])\r\n      LocalFree((HANDLE)CurDirCache[drive]);\r\n\r\n   CurDirCache[drive] = (LPTSTR)LocalAlloc(LPTR, ByteCountOf(lstrlen(pszPath)+1));\r\n\r\n   if (CurDirCache[drive])\r\n      lstrcpy(CurDirCache[drive], pszPath);\r\n}\r\n\r\n/*\r\n *  GetSelectedDrive() -\r\n *\r\n *  Get the selected drive from the currently active window\r\n *\r\n *  should be in wfutil.c\r\n *\r\n *  Precond: Active MDI window MUST be a drive window\r\n *           (search windows NOT allowed)\r\n */\r\n\r\nINT\r\nGetSelectedDrive()\r\n{\r\n    HWND hwnd;\r\n\r\n    hwnd = (HWND)SendMessage(hwndMDIClient,WM_MDIGETACTIVE,0,0L);\r\n    return (INT)SendMessage(hwnd,FS_GETDRIVE,0,0L) - (INT)CHAR_A;\r\n}\r\n\r\n/*\r\n *  GetSelectedDirectory() -\r\n *\r\n *  Gets the directory selected for the drive. uses the windows\r\n *  z-order to give precedence to windows higher in the order.\r\n *\r\n *  works like GetCurrentDirectory() except it looks through\r\n *  the window list for directories first (and returns ANSI)\r\n *\r\n *  returns:\r\n *  lpDir   ANSI string of current dir\r\n *  NOTE: when drive != 0, string will be empty for an invalid drive.\r\n */\r\n\r\nVOID\r\nGetSelectedDirectory(DRIVE drive, LPTSTR pszDir)\r\n{\r\n    HWND hwnd;\r\n    DRIVE driveT;\r\n\r\n    if (drive) {\r\n       for (hwnd = GetWindow(hwndMDIClient,GW_CHILD);\r\n       hwnd;\r\n       hwnd = GetWindow(hwnd,GW_HWNDNEXT)) {\r\n\r\n          driveT = (DRIVE)SendMessage(hwnd,FS_GETDRIVE,0,0L);\r\n          if (drive == (DRIVE)(driveT - CHAR_A + 1))\r\n             goto hwndfound;\r\n       }\r\n       if (!GetSavedDirectory(drive - 1, pszDir)) {\r\n          GetDriveDirectory(drive, pszDir);\r\n       }\r\n       return;\r\n    } else\r\n       hwnd = (HWND)SendMessage(hwndMDIClient,WM_MDIGETACTIVE,0,0L);\r\n\r\nhwndfound:\r\n    SendMessage(hwnd,FS_GETDIRECTORY,MAXPATHLEN,(LPARAM)pszDir);\r\n\r\n    StripBackslash(pszDir);\r\n}\r\n\r\n\r\nBOOL  GetDriveDirectory(INT iDrive, LPTSTR pszDir)\r\n{\r\n    TCHAR drvstr[4];\r\n    DWORD ret;\r\n\r\n    pszDir[0] = '\\0';\r\n\r\n    if(iDrive!=0)\r\n    {\r\n        drvstr[0] = ('A') - 1 + iDrive;\r\n        drvstr[1] = (':');\r\n        drvstr[2] = ('.');\r\n        drvstr[3] = ('\\0');\r\n    }\r\n    else\r\n    {\r\n        drvstr[0] = ('.');\r\n        drvstr[1] = ('\\0');\r\n    }\r\n\r\n    if (GetFileAttributes(drvstr) == INVALID_FILE_ATTRIBUTES)\r\n        return FALSE;\r\n\r\n//  if (!CheckDirExists(drvstr))\r\n//      return FALSE;\r\n\r\n    ret = GetFullPathName( drvstr, MAXPATHLEN, pszDir, NULL);\r\n\r\n    return ret != 0;\r\n}\r\n\r\n\r\n// similar to GetSelectedDirectory but for all already listed directories\r\n// doesn't change the current directory of the drives, but returns a list of them\r\nVOID\r\nGetAllDirectories(LPTSTR rgszDirs[])\r\n{\r\n    HWND mpdrivehwnd[MAX_DRIVES];\r\n    HWND hwnd;\r\n    DRIVE driveT;\r\n\r\n    for (driveT = 0; driveT < MAX_DRIVES; driveT++)\r\n    {\r\n        rgszDirs[driveT] = NULL;\r\n        mpdrivehwnd[driveT] = NULL;\r\n    }\r\n\r\n    for (hwnd = GetWindow(hwndMDIClient,GW_CHILD); hwnd; hwnd = GetWindow(hwnd,GW_HWNDNEXT)) \r\n    {\r\n        driveT = (DRIVE)SendMessage(hwnd,FS_GETDRIVE,0,0L) - CHAR_A;\r\n        if (mpdrivehwnd[driveT] == NULL)\r\n            mpdrivehwnd[driveT] = hwnd;\r\n    }\r\n\r\n    for (driveT = 0; driveT < MAX_DRIVES; driveT++)\r\n    {\r\n        TCHAR szDir[MAXPATHLEN];\r\n\r\n        if (mpdrivehwnd[driveT] != NULL)\r\n        {\r\n            SendMessage(mpdrivehwnd[driveT],FS_GETDIRECTORY,MAXPATHLEN,(LPARAM)szDir);\r\n\r\n            StripBackslash(szDir);\r\n        }\r\n        else if (!GetSavedDirectory(driveT, szDir))\r\n            szDir[0] = '\\0';\r\n\r\n        if (szDir[0] != '\\0')\r\n        {\r\n            rgszDirs[driveT] = (LPTSTR) LocalAlloc(LPTR, ByteCountOf(lstrlen(szDir)+1));\r\n            lstrcpy(rgszDirs[driveT], szDir);\r\n        }\r\n    }\r\n}\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     RefreshWindow\r\n//\r\n// Synopsis: Refreshes any type of MDI Window\r\n// Return:\r\n// Assumes:\r\n// Effects:\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nVOID\r\nRefreshWindow(\r\n   HWND hwndActive,\r\n   BOOL bUpdateDriveList,\r\n   BOOL bFlushCache)\r\n{\r\n   HWND hwndTree, hwndDir;\r\n   DRIVE drive;\r\n\r\n   //\r\n   // make it optional for speed.\r\n   //\r\n   if (bUpdateDriveList) {\r\n\r\n      UpdateDriveList();\r\n   }\r\n\r\n   //\r\n   // make sure the thing is still there (floppy drive, net drive)\r\n   //\r\n   drive = (DRIVE)GetWindowLongPtr(hwndActive, GWL_TYPE);\r\n\r\n   if ((drive >= 0) && !CheckDrive(hwndActive, drive, FUNC_SETDRIVE)) {\r\n      return;\r\n   }\r\n\r\n   //\r\n   // If bFlushCache, remind ourselves to try it\r\n   //\r\n   if (bFlushCache) {\r\n      aDriveInfo[drive].bShareChkTried = FALSE;\r\n   }\r\n\r\n   // NOTE: similar to CreateDirWindow\r\n\r\n   //\r\n   // update the dir part first so tree can steal later\r\n   //\r\n   if (hwndDir = HasDirWindow(hwndActive)) {\r\n      SendMessage(hwndDir, FS_CHANGEDISPLAY, CD_PATH, 0L);\r\n   }\r\n\r\n   if (hwndTree = HasTreeWindow(hwndActive)) {\r\n\r\n      //\r\n      // update the drives windows\r\n      //\r\n      SendMessage(hwndActive, FS_CHANGEDRIVES, 0, 0L);\r\n\r\n      //\r\n      // update the tree\r\n      //\r\n      SendMessage(hwndTree,\r\n                  TC_SETDRIVE,\r\n                  MAKELONG(MAKEWORD(FALSE,TRUE),TRUE),\r\n                  0L);\r\n   }\r\n\r\n   if (hwndActive == hwndSearch) {\r\n      SendMessage(hwndActive, FS_CHANGEDISPLAY, CD_PATH, 0L);\r\n   }\r\n}\r\n\r\n//\r\n// Assumes there are 2 extra spaces in the array.\r\n//\r\n\r\nVOID\r\nCheckEsc(LPTSTR szFile)\r\n{\r\n   // DrivesDropObject calls w/ 2*MAXPATHLEN\r\n\r\n   TCHAR szT[2 * MAXPATHLEN];\r\n\r\n   TCHAR *p, *pT;\r\n\r\n   for (p = szFile; *p; p++) {\r\n      switch (*p) {\r\n      case CHAR_SPACE:\r\n      case CHAR_COMMA:\r\n      case CHAR_SEMICOLON:\r\n#ifdef CARETESC\r\n      case CHAR_CARET:\r\n#endif\r\n      case CHAR_DQUOTE:\r\n         {\r\n            // this path contains an annoying character\r\n            lstrcpy(szT,szFile);\r\n            p = szFile;\r\n            *p++ = CHAR_DQUOTE;\r\n            for (pT = szT; *pT; ) {\r\n#ifdef CARETESC\r\n               if (*pT == CHAR_CARET || *pT == CHAR_DQUOTE)\r\n                  *p++ = CHAR_CARET;\r\n#endif\r\n               *p++ = *pT++;\r\n            }\r\n            *p++ = CHAR_DQUOTE;\r\n            *p = CHAR_NULL;\r\n            return;\r\n         }\r\n      }\r\n   }\r\n}\r\n\r\n\r\nHWND\r\nGetRealParent(HWND hwnd)\r\n{\r\n   // run up the parent chain until you find a hwnd\r\n   // that doesn't have WS_CHILD set\r\n\r\n   while (GetWindowLongPtr(hwnd, GWL_STYLE) & WS_CHILD)\r\n      hwnd = (HWND)GetWindowLongPtr(hwnd, GWLP_HWNDPARENT);\r\n\r\n   return hwnd;\r\n}\r\n\r\nVOID\r\nWFHelp(HWND hwnd)\r\n{\r\n   if (!WinHelp(hwnd, szWinfileHelp, HELP_CONTEXT, dwContext)) {\r\n      MyMessageBox(hwnd, IDS_WINFILE, IDS_WINHELPERR, MB_OK | MB_ICONEXCLAMATION | MB_SYSTEMMODAL);\r\n   }\r\n\r\n}\r\n\r\n// atoi with decimal comma separators\r\n//\r\n\r\n//#ifdef INLIBRARY\r\nLPTSTR\r\nAddCommasInternal(LPTSTR szBuf, DWORD dw)\r\n{\r\n   TCHAR szTemp[40];\r\n   LPTSTR pTemp;\r\n   INT count, len;\r\n   LPTSTR p;\r\n   INT iCommaLen;\r\n   INT i;\r\n\r\n   // if *szComma[0] == NULL, get out now\r\n\r\n   if (!szComma[0]) {\r\n      wsprintf(szBuf,TEXT(\"%lu\"),dw);\r\n      return szBuf;\r\n   }\r\n\r\n   len = wsprintf(szTemp, TEXT(\"%lu\"), dw);\r\n   iCommaLen = lstrlen(szComma);\r\n\r\n   pTemp = szTemp + len - 1;\r\n\r\n   // szComma size may be < 1 !\r\n\r\n   p = szBuf + len + ((len - 1) / 3)*iCommaLen;\r\n\r\n   *p-- = CHAR_NULL;    // null terminate the string we are building\r\n\r\n   count = 1;\r\n   while (pTemp >= szTemp) {\r\n      *p-- = *pTemp--;\r\n      if (count == 3) {\r\n         count = 1;\r\n         if (p > szBuf) {\r\n            for (i=iCommaLen-1 ; i >=0 ;i--)\r\n               *p-- = szComma[i];\r\n         }\r\n      } else\r\n         count++;\r\n   }\r\n   return szBuf;\r\n}\r\n//#endif\r\n\r\n\r\nBOOL\r\nIsLastWindow()\r\n{\r\n   HWND hwnd;\r\n   INT count;\r\n\r\n   count = 0;\r\n\r\n   // count all non title/search windows to see if close is allowed\r\n\r\n   for (hwnd = GetWindow(hwndMDIClient, GW_CHILD); hwnd; hwnd = GetWindow(hwnd, GW_HWNDNEXT))\r\n      if (!GetWindow(hwnd, GW_OWNER) && ((INT)GetWindowLongPtr(hwnd, GWL_TYPE) >= 0))\r\n         count++;\r\n\r\n   return count == 1;\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     GetMDIWindowText\r\n//\r\n// Synopsis: Goofy way to store directory name\r\n//           Returns number of MDI window & text w/ # stripped off\r\n//\r\n// IN   hwnd     MDIWindow to get from\r\n// OUT  szTitle  target string of title\r\n// IN   size     cch of szTitle\r\n//\r\n// Return:   0   = no number\r\n//           >0  title number\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nINT\r\nGetMDIWindowText(HWND hwnd, LPWSTR szTitle, INT size)\r\n{\r\n   //\r\n   // Need temp buffer due to filter + path\r\n   //\r\n   WCHAR szTemp[2 * MAXPATHLEN + 40];\r\n\r\n   LPWSTR lpLast;\r\n   INT iWindowNumber;\r\n\r\n   EnterCriticalSection(&CriticalSectionPath);\r\n\r\n   InternalGetWindowText(hwnd, szTemp, COUNTOF(szTemp));\r\n\r\n   if (GetWindow(hwnd, GW_OWNER) ||\r\n      GetWindowLongPtr(hwnd, GWL_TYPE) == -1L)\r\n      lpLast = NULL;\r\n   else {\r\n      lpLast = szTemp + GetWindowLongPtr(hwnd, GWL_PATHLEN);\r\n      if (lpLast == szTemp || !*lpLast)\r\n         lpLast = NULL;\r\n   }\r\n\r\n   LeaveCriticalSection(&CriticalSectionPath);\r\n\r\n   //\r\n   // save the window #\r\n   //\r\n   if (lpLast) {\r\n      iWindowNumber = atoi(lpLast + 1);\r\n\r\n      //\r\n      // Delimit title (we just want part of the title)\r\n      //\r\n      *lpLast = CHAR_NULL;\r\n\r\n   } else {\r\n      iWindowNumber = 0;\r\n   }\r\n\r\n   //\r\n   // Make sure the strcpy below doesn't blow up if COUNTOF( szTemp ) > size\r\n   //\r\n   if (COUNTOF(szTemp) > size)\r\n      szTemp[size-1] = CHAR_NULL;\r\n\r\n   lstrcpy( szTitle, szTemp );\r\n\r\n   return iWindowNumber;\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     SetMDIWindowText\r\n//\r\n// Synopsis: Sets the titlebar of a MDI window based on the path/filter\r\n//\r\n// IN        hwnd    --  wnd to modify\r\n// INC       szTitle --  path/filter to add (modified but restored)\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:  title bar of window\r\n//\r\n//\r\n// Notes:    modifies szTitle but restores it.\r\n//\r\n// set the MDI window text and add a \":#\" on the end if\r\n// there is another window with the same title.  this is to\r\n// avoid confusion when there are multiple MDI children\r\n// with the same title.  be sure to use GetMDIWindowText to\r\n// strip off the number stuff.\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nVOID\r\nSetMDIWindowText(\r\n   HWND hwnd,\r\n   LPWSTR szTitle)\r\n{\r\n   WCHAR szTemp[MAXPATHLEN*2+10];  // BONK!  is this big enough?\r\n   WCHAR szNumber[20];\r\n   HWND hwndT;\r\n   INT num, max_num, cur_num;\r\n   LPWSTR lpszVolShare;\r\n   LPWSTR lpszVolName;\r\n\r\n   UINT cchTempLen;\r\n   DRIVE drive;\r\n   BOOL bNumIncrement = FALSE;\r\n   BOOL bNotSame;\r\n\r\n   UINT uTitleLen;\r\n   DWORD dwError;\r\n\r\n   cur_num = GetMDIWindowText(hwnd, szTemp, COUNTOF(szTemp));\r\n\r\n   bNotSame = lstrcmp(szTemp, szTitle);\r\n\r\n   max_num = 0;\r\n\r\n   for (hwndT = GetWindow(hwndMDIClient, GW_CHILD); hwndT; hwndT = GetWindow(hwndT, GW_HWNDNEXT)) {\r\n\r\n      num = GetMDIWindowText(hwndT, szTemp, COUNTOF(szTemp));\r\n\r\n      if (!lstrcmp(szTemp, szTitle)) {\r\n\r\n         if (hwndT == hwnd)\r\n            continue;\r\n\r\n         if (!max_num && !num) {\r\n\r\n            DWORD Length = lstrlen(szTemp);\r\n\r\n            lstrcat(szTemp, SZ_COLONONE);\r\n            // if (wTextAttribs & TA_LOWERCASE)\r\n            //    CharLower(szTemp);\r\n\r\n            drive = (DWORD)GetWindowLongPtr(hwnd, GWL_TYPE);\r\n            if (drive != -1) {     /* if not a search window */\r\n               lstrcat(szTemp, SZ_SPACEDASHSPACE);\r\n\r\n               dwError = GetVolShare(drive, &lpszVolShare, ALTNAME_SHORT);\r\n\r\n               if (!dwError || DE_REGNAME == dwError) {\r\n                  cchTempLen = lstrlen(szTemp);\r\n                  StrNCpy(szTemp + cchTempLen, lpszVolShare,\r\n                     COUNTOF(szTemp) - cchTempLen - 1);\r\n\r\n                  szTemp[COUNTOF(szTemp) - 1] = CHAR_NULL;\r\n               }\r\n            }\r\n\r\n            SetWindowText(hwndT, szTemp);\r\n            max_num = 1;\r\n            SetWindowLongPtr(hwndT, GWL_PATHLEN, Length);\r\n         }\r\n         max_num = max(max_num, num);\r\n      }\r\n   }\r\n\r\n\r\n   drive = (DWORD)GetWindowLongPtr(hwnd, GWL_TYPE);\r\n\r\n   uTitleLen = lstrlen(szTitle);\r\n\r\n   if (max_num) {\r\n\r\n      if (bNotSame || !cur_num) {\r\n         max_num++;\r\n      } else {\r\n         max_num = cur_num;\r\n      }\r\n\r\n      wsprintf(szNumber, TEXT(\":%d\"), max_num);\r\n      lstrcat(szTitle, szNumber);\r\n   }\r\n\r\n   // if (wTextAttribs & TA_LOWERCASE)\r\n   //    CharLower(szTitle);\r\n\r\n   if (drive != -1) {     /* if this isn't a search window */\r\n      lstrcpy(szTemp, szTitle);\r\n      lstrcat(szTemp, SZ_SPACEDASHSPACE);\r\n\r\n      // Must store realname in GWL_VOLNAME\r\n      // But only for remote drives\r\n\r\n      lpszVolName = (LPTSTR)GetWindowLongPtr(hwnd, GWL_VOLNAME);\r\n\r\n      if (lpszVolName)\r\n         LocalFree(lpszVolName);\r\n\r\n      if (GetVolShare(drive, &lpszVolShare, ALTNAME_REG) ||\r\n         !IsRemoteDrive(drive)) {\r\n\r\n         //\r\n         // If error or not a remote drive, then do not store this.\r\n         //\r\n         lpszVolName = NULL;\r\n\r\n      } else {\r\n         lpszVolName = (LPTSTR) LocalAlloc(LPTR, ByteCountOf(lstrlen(lpszVolShare)+1));\r\n\r\n         if (lpszVolName) {\r\n            lstrcpy(lpszVolName, lpszVolShare);\r\n         }\r\n      }\r\n\r\n      SetWindowLongPtr(hwnd, GWL_VOLNAME, (LONG_PTR)lpszVolName);\r\n\r\n      //\r\n      // Use short name in window title\r\n      //\r\n      dwError = GetVolShare(drive, &lpszVolShare, ALTNAME_SHORT);\r\n\r\n      if (!dwError || DE_REGNAME == dwError) {\r\n\r\n         cchTempLen = lstrlen(szTemp);\r\n         StrNCpy(szTemp + cchTempLen, lpszVolShare,\r\n            COUNTOF(szTemp) - cchTempLen - 1);\r\n\r\n         szTemp[COUNTOF(szTemp) - 1] = CHAR_NULL;\r\n      }\r\n\r\n      EnterCriticalSection(&CriticalSectionPath);\r\n\r\n      SetWindowLongPtr(hwnd, GWL_PATHLEN, uTitleLen);\r\n      //\r\n      // c:\\foo\\*.*:1 - [VOL LABEL]\r\n      // h:\\foo\\*.foo - \\\\server\\share\r\n      //\r\n      SetWindowText(hwnd, szTemp);\r\n\r\n      LeaveCriticalSection(&CriticalSectionPath);\r\n\r\n   } else {\r\n\r\n      SetWindowText(hwnd, szTitle);\r\n   }\r\n\r\n   //\r\n   // Now delimit szTitle to keep it the same\r\n   //\r\n   szTitle[uTitleLen] = CHAR_NULL;\r\n\r\n   SaveHistoryDir(hwnd, szTitle);\r\n}\r\n\r\n#define ISDIGIT(c)  ((c) >= TEXT('0') && (c) <= TEXT('9'))\r\n\r\nINT\r\natoiW(LPTSTR sz)\r\n{\r\n    INT n = 0;\r\n    BOOL bNeg = FALSE;\r\n\r\n    if (*sz == CHAR_DASH) {\r\n        bNeg = TRUE;\r\n        sz++;\r\n    }\r\n\r\n    while (ISDIGIT(*sz)) {\r\n        n *= 10;\r\n        n += *sz - TEXT('0');\r\n        sz++;\r\n    }\r\n    return bNeg ? -n : n;\r\n}\r\n\r\n\r\n//\r\n// IsCDROM()  - determine if a drive is a CDROM drive\r\n//\r\n//      drive      drive index (0=A, 1=B, ...)\r\n//\r\n// return TRUE/FALSE\r\n//\r\nBOOL\r\nIsCDRomDrive(DRIVE drive)\r\n{\r\n   if (aDriveInfo[drive].uType == DRIVE_CDROM)\r\n      return(TRUE);\r\n   return(FALSE);\r\n}\r\n\r\n\r\n#if 0\r\n// this is called for every drive at init time so it must\r\n// be sure to not trigger things like the phantom B: drive support\r\n//\r\n// drive is a zero based drive number (0 = A, 1 = B)\r\n\r\nDWORD\r\nIsNetDrive(INT drive)\r\n{\r\n   INT err;\r\n\r\n   if (IsCDRomDrive(drive))   // this is bogus...  move this out\r\n      return 0;\r\n\r\n   if (IsRemoteDrive(drive)) {\r\n\r\n      err = WFGetConnection(drive, NULL, TRUE, ALTNAME_REG);\r\n\r\n      if (err == WN_SUCCESS)\r\n         return 1;\r\n\r\n      if (err == WN_CONNECTION_CLOSED /* || err == 111 */)\r\n         return 2;\r\n\r\n      //\r\n      // For now default on error to an available drive\r\n      //\r\n      return 1;\r\n   }\r\n   return 0;\r\n}\r\n#endif\r\n\r\nBOOL\r\nIsNTFSDrive(DRIVE drive)\r\n{\r\n   U_VolInfo(drive);\r\n\r\n   //\r\n   // Return false if the return value was an error condition.\r\n   //\r\n   if (GETRETVAL(VolInfo, drive))\r\n      return FALSE;\r\n\r\n   //\r\n   // See if it's an NTFS drive.\r\n   //\r\n   return (!lstrcmpi(aDriveInfo[drive].szFileSysName, SZ_NTFSNAME)) ?\r\n           TRUE : FALSE;\r\n}\r\n\r\n\r\n//\r\n// NOTE:  This function really says whether or not the drive is not a\r\n//        FAT drive.  In other words:\r\n//            If it IS a FAT drive, it returns FALSE.\r\n//            If it is NOT a FAT drive, it returns TRUE.\r\n//\r\nBOOL\r\nIsCasePreservedDrive(DRIVE drive)\r\n{\r\n   U_VolInfo(drive);\r\n\r\n   //\r\n   // Return false if the return value was an error condition.\r\n   //\r\n   if (GETRETVAL(VolInfo, drive))\r\n      return FALSE;\r\n\r\n   //\r\n   // Can no longer check the FS_CASE_IS_PRESERVED bit to see if it's a\r\n   // FAT drive (now that FAT is case preserving and stores Unicode\r\n   // on disk.\r\n   //\r\n   // Instead, we will check the file system string to see if the drive\r\n   // is FAT.\r\n   //\r\n   // OLD CODE:\r\n   //   return (aDriveInfo[drive].dwFileSystemFlags & FS_CASE_IS_PRESERVED) ?\r\n   //           TRUE : FALSE;\r\n   //\r\n   return (!lstrcmpi(aDriveInfo[drive].szFileSysName, SZ_FATNAME)) ?\r\n           FALSE : TRUE;\r\n}\r\n\r\n\r\nBOOL\r\nIsRemovableDrive(DRIVE drive)\r\n{\r\n   return aDriveInfo[drive].uType == DRIVE_REMOVABLE;\r\n}\r\n\r\n\r\nBOOL\r\nIsRemoteDrive(DRIVE drive)\r\n{\r\n   return aDriveInfo[drive].uType == DRIVE_REMOTE;\r\n}\r\n\r\n\r\nBOOL\r\nIsRamDrive(DRIVE drive)\r\n{\r\n   return aDriveInfo[drive].uType == DRIVE_RAMDISK;\r\n}\r\n\r\n\r\nBOOL\r\nIsValidDisk(DRIVE drive)\r\n{\r\n   U_Type(drive);\r\n   return ((aDriveInfo[drive].uType != DRIVE_UNKNOWN) &&\r\n           (aDriveInfo[drive].uType != DRIVE_NO_ROOT_DIR));\r\n}\r\n\r\nDWORD\r\nGetVolShare(DRIVE drive, LPTSTR* ppszVolShare, DWORD dwType)\r\n{\r\n   if (IsRemoteDrive(drive)) {\r\n      return WFGetConnection(drive,ppszVolShare,FALSE, dwType);\r\n   } else {\r\n      return GetVolumeLabel(drive, ppszVolShare, TRUE);\r\n   }\r\n}\r\n\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  IsLFNSelected() -                                                       */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nBOOL\r\nIsLFNSelected()\r\n{\r\n  HWND  hwndActive;\r\n  BOOL  fDir;\r\n  LPTSTR p;\r\n\r\n  hwndActive = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n\r\n  p = (LPTSTR)SendMessage(hwndActive, FS_GETSELECTION, 2, (LPARAM)&fDir);\r\n  if (p) {\r\n      LocalFree((HANDLE)p);\r\n  }\r\n\r\n  return(fDir);\r\n}\r\n\r\n\r\n//--------------------------------------------------------------------------\r\n//\r\n//  GetSelection() -\r\n//  caller must free LPTSTR returned.\r\n//\r\n//  LPTSTR must have 2 chars for checkesc safety at end\r\n//\r\n//--------------------------------------------------------------------------\r\n\r\nLPTSTR\r\nGetSelection(INT iSelType, PBOOL pbDir)\r\n{\r\n   HWND  hwndActive;\r\n\r\n   hwndActive = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n\r\n   return (LPTSTR)SendMessage(hwndActive,FS_GETSELECTION,\r\n      (WPARAM)iSelType, (LPARAM)pbDir);\r\n}\r\n\r\n\r\n//\r\n// in:\r\n//      pFrom   pointer that is used as start of selection search.\r\n//              on subsequent calls pass in the previous non NULL\r\n//              return value\r\n//\r\n// out:\r\n//      pTo     buffer that receives the next file in the list\r\n//              for non NULL return\r\n//\r\n// returns:\r\n//      NULL    if no more files in this list (szFile) is undefined\r\n//      pointer to be passed to subsequent calls to this function\r\n//      to enumerate thorough the file list\r\n//\r\n\r\nLPTSTR\r\nGetNextFile(LPTSTR pFrom, LPTSTR pTo, INT cchMax)\r\n{\r\n   INT i;\r\n\r\n// Originally, this code tested if the first char was a double quote,\r\n// then either (1) scanned for the next space or (2) scanned for the next\r\n// quote.  CMD, however, will let you put quotes anywhere.\r\n// Now, the bInQuotes boolean is used instead.\r\n\r\n   BOOL bInQuotes=FALSE;\r\n\r\n   if (!pFrom)\r\n      return NULL;\r\n\r\n   // Skip over leading spaces and commas.\r\n   while (*pFrom && (*pFrom == CHAR_SPACE || *pFrom == CHAR_COMMA))\r\n      pFrom++;\r\n\r\n   if (!*pFrom)\r\n      return(NULL);\r\n\r\n   // Find the next delimiter (space, comma (valid in bInQuotes only))\r\n\r\n   for (i=0; *pFrom && ((*pFrom != CHAR_SPACE && *pFrom != CHAR_COMMA) || bInQuotes);) {\r\n\r\n      // bQuotes flipped if encountered.  ugly.\r\n      // Note: it is also TAKEN OUT!\r\n      if ( CHAR_DQUOTE == *pFrom ) {\r\n         bInQuotes = !bInQuotes;\r\n         ++pFrom;\r\n\r\n         if (!*pFrom)\r\n            break;\r\n\r\n         // Must continue, or else the space (pFrom was inc'd!) will\r\n         // be stored in the pTo string, which is FATAL!\r\n         continue;\r\n      }\r\n\r\n#ifdef CARETESC\r\n      if (*pFrom == CHAR_CARET) {\r\n         ++pFrom;\r\n         if (!*pFrom)\r\n            break;\r\n      }\r\n#endif\r\n\r\n      if (i < cchMax - 1) {\r\n         i++;\r\n         *pTo++ = *pFrom++;\r\n\r\n         // increment to kill off present file name\r\n      } else pFrom++;\r\n\r\n   }\r\n\r\n#ifdef KEEPTRAILSPACE\r\n#else\r\n   // Kill off trailing spaces\r\n\r\n   while ( CHAR_SPACE == *(--pTo) )\r\n      ;\r\n#endif\r\n\r\n   *(++pTo) = CHAR_NULL;\r\n\r\n   return(pFrom);\r\n}\r\n\r\n\r\n// sets the DOS current directory based on the currently active window\r\n\r\nVOID\r\nSetWindowDirectory()\r\n{\r\n// Actually, only needs to be MAX MDI Title = (MAXPATHLEN + few + MAX diskname)\r\n// like \"d:\\aaa .. aaa\\filter.here - [albertt]\"\r\n// which _could_ be > 2*MAXPATHLEN\r\n   TCHAR szTemp[MAXPATHLEN*2];\r\n\r\n   GetSelectedDirectory(0, szTemp);\r\n   SetCurrentDirectory(szTemp);\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  SetDlgDirectory() -                                                     */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n/* Sets the IDD_DIR field of 'hDlg' to whatever the active window says is the\r\n * active directory.\r\n *\r\n * this does not really change the DOS current directory\r\n */\r\n\r\nVOID\r\nSetDlgDirectory(HWND hDlg, LPTSTR pszPath)\r\n{\r\n  HDC       hDC;\r\n  SIZE      size;\r\n  RECT      rc;\r\n  HWND      hDlgItem;\r\n  HANDLE    hFont;\r\n  HANDLE    hFontBak;\r\n  TCHAR     szPath[MAXPATHLEN+5];\r\n  TCHAR     szTemp[MAXPATHLEN+20];\r\n  TCHAR     szMessage[MAXMESSAGELEN];\r\n\r\n  hFontBak = NULL;\r\n\r\n  if (pszPath)\r\n      lstrcpy(szPath, pszPath);\r\n  else\r\n      GetSelectedDirectory(0, szPath);\r\n\r\n  /* Make sure that the current directory fits inside the static text field. */\r\n  hDlgItem = GetDlgItem(hDlg, IDD_DIR);\r\n  GetClientRect(hDlgItem, &rc);\r\n\r\n  if (LoadString(hAppInstance, IDS_CURDIRIS, szMessage, COUNTOF(szMessage))) {\r\n      hDC = GetDC(hDlg);\r\n      hFont = (HANDLE)SendMessage(hDlgItem, WM_GETFONT, 0, 0L);\r\n\r\n      //\r\n      // This is required because Japanese Windows uses System font\r\n      // for dialog box\r\n      //\r\n      if (hFont) {\r\n         hFontBak = SelectObject(hDC, hFont);\r\n      }\r\n\r\n      GetTextExtentPoint32(hDC, szMessage, lstrlen(szMessage), &size);\r\n      CompactPath(hDC, szPath, (rc.right-rc.left-size.cx));\r\n\r\n      if (hFont) {\r\n         SelectObject(hDC, hFontBak);\r\n      }\r\n\r\n      ReleaseDC(hDlg, hDC);\r\n      wsprintf(szTemp, szMessage, szPath);\r\n      SetDlgItemText(hDlg, IDD_DIR, szTemp);\r\n  }\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  WritePrivateProfileBool() -                                             */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nVOID\r\nWritePrivateProfileBool(LPTSTR szKey, BOOL bParam)\r\n{\r\n  TCHAR  szBool[6];\r\n\r\n  wsprintf(szBool, SZ_PERCENTD, bParam);\r\n  WritePrivateProfileString(szSettings, szKey, szBool, szTheINIFile);\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     CleanupMessages\r\n//\r\n// Synopsis: Make sure all the WM_FSC messages have been processed.\r\n//\r\n//\r\n// Return:   VOID\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\n\r\nVOID\r\nCleanupMessages()\r\n{\r\n   MSG   msg;\r\n\r\n   while (PeekMessage(&msg, NULL, 0, 0, TRUE)) {\r\n      if (!IsDialogMessage(hdlgProgress, &msg))\r\n         DispatchMessage(&msg);\r\n   }\r\n   return;\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  IsWild() -                                                              */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n/* Returns TRUE iff the path contains * or ? */\r\n\r\nBOOL\r\nIsWild(LPTSTR lpszPath)\r\n{\r\n  while (*lpszPath)\r\n    {\r\n      if (*lpszPath == CHAR_QUESTION || *lpszPath == CHAR_STAR)\r\n          return(TRUE);\r\n      lpszPath++;\r\n    }\r\n\r\n  return(FALSE);\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  CheckSlashes() -                                                        */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n/* Replaces frontslashes (evil) with backslashes (good). */\r\n\r\nVOID\r\nCheckSlashes(LPTSTR lpT)\r\n{\r\n  while (*lpT)\r\n    {\r\n      if (*lpT == CHAR_SLASH)\r\n          *lpT = CHAR_BACKSLASH;\r\n      lpT++;\r\n    }\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  AddBackslash() -                                                        */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n/* Ensures that a path ends with a backslash. */\r\n\r\nUINT\r\nAddBackslash(LPTSTR lpszPath)\r\n{\r\n   UINT uLen = lstrlen(lpszPath);\r\n\r\n   if (*(lpszPath+uLen-1) != CHAR_BACKSLASH) {\r\n\r\n      lpszPath[uLen++] = CHAR_BACKSLASH;\r\n      lpszPath[uLen]   = CHAR_NULL;\r\n   }\r\n\r\n   return uLen;\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  StripBackslash() -                                                      */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n/* Removes a trailing backslash from a proper directory name UNLESS it is\r\n * the root directory.  Assumes a fully qualified directory path.\r\n */\r\n\r\nVOID\r\nStripBackslash(LPTSTR lpszPath)\r\n{\r\n  UINT len;\r\n\r\n  len = (lstrlen(lpszPath) - 1);\r\n  if ((len == 2) || (lpszPath[len] != CHAR_BACKSLASH))\r\n      return;\r\n\r\n  lpszPath[len] = CHAR_NULL;\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  StripFilespec() -                                                       */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n/* Remove the filespec portion from a path (including the backslash). */\r\n\r\nVOID\r\nStripFilespec(LPTSTR lpszPath)\r\n{\r\n   LPTSTR     p;\r\n\r\n   p = lpszPath + lstrlen(lpszPath);\r\n   while ((*p != CHAR_BACKSLASH) && (*p != CHAR_COLON) && (p != lpszPath))\r\n      p--;\r\n\r\n   if (*p == CHAR_COLON)\r\n      p++;\r\n\r\n   /* Don't strip backslash from root directory entry. */\r\n   if (p != lpszPath) {\r\n      if ((*p == CHAR_BACKSLASH) && (*(p-1) == CHAR_COLON))\r\n         p++;\r\n   }\r\n\r\n   *p = CHAR_NULL;\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  StripPath() -                                                           */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n/* Extract only the filespec portion from a path. */\r\n\r\nVOID\r\nStripPath(LPTSTR lpszPath)\r\n{\r\n  LPTSTR     p;\r\n\r\n  p = lpszPath + lstrlen(lpszPath);\r\n  while ((*p != CHAR_BACKSLASH) && (*p != CHAR_COLON) && (p != lpszPath))\r\n      p--;\r\n\r\n  if (p != lpszPath)\r\n      p++;\r\n\r\n  if (p != lpszPath)\r\n      lstrcpy(lpszPath, p);\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  GetExtension() -                                                        */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n/* Returns the extension part of a filename. */\r\n\r\nLPTSTR\r\nGetExtension(LPTSTR pszFile)\r\n{\r\n  LPTSTR p, pSave = NULL;\r\n\r\n  p = pszFile;\r\n  while (*p)\r\n    {\r\n      if (*p == CHAR_DOT)\r\n          pSave = p;\r\n      p++;\r\n    }\r\n\r\n  if (!pSave)\r\n      return(p);\r\n\r\n  return pSave+1;\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  MyMessageBox() -                                                        */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\nINT\r\nMyMessageBox(HWND hwnd, DWORD idTitle, DWORD idMessage, DWORD wStyle)\r\n{\r\n   TCHAR  szTitle[MAXTITLELEN];\r\n   TCHAR  szMessage[MAXMESSAGELEN];\r\n   TCHAR  szTemp[MAXMESSAGELEN];\r\n\r\n   HWND hwndT;\r\n\r\n   LoadString(hAppInstance, idTitle, szTitle, COUNTOF(szTitle));\r\n\r\n   if (idMessage < 32) {\r\n      LoadString(hAppInstance, IDS_UNKNOWNMSG, szTemp, COUNTOF(szTemp));\r\n      wsprintf(szMessage, szTemp, idMessage);\r\n   } else {\r\n      LoadString(hAppInstance, idMessage, szMessage, COUNTOF(szMessage));\r\n   }\r\n\r\n   if (hwnd)\r\n      hwndT = GetLastActivePopup(hwnd);\r\n   else\r\n      hwndT = hwnd;\r\n\r\n   return MessageBox(hwndT, szMessage, szTitle, wStyle | MB_TASKMODAL);\r\n}\r\n\r\n\r\n/*--------------------------------------------------------------------------*/\r\n/*                                                                          */\r\n/*  ExecProgram() -                                                         */\r\n/*                                                                          */\r\n/*--------------------------------------------------------------------------*/\r\n\r\n// Returns 0 for success.  Otherwise returns a IDS_ string code.\r\n\r\n// Note: many funcs call this with weird parms like:\r\n//  lpPath and lpParms = \"f:\\\\\\\"note pad\\\" \\\"foo\\\".\"\r\n//          = f:\\\"note pad\" \"foo\".         (without escape sequences)\r\n//\r\n//  While this appears illegal, it works just fine since quotes only cause\r\n//  the spaces to be \"non-delimiters.\"  The quote itself isn't a delimiter\r\n//  and seems therefore legal.\r\n//\r\n//  (wfsearch.c 885 does this: it appends a period to the lpParms if\r\n//  there is no extension.  even if it's already quoted!)\r\n\r\nDWORD\r\nExecProgram(LPTSTR lpPath, LPTSTR lpParms, LPTSTR lpDir, BOOL bLoadIt, BOOL bRunAs)\r\n{\r\n  DWORD_PTR     ret;\r\n  INT           iCurCount;\r\n  INT           i;\r\n  HCURSOR       hCursor;\r\n  LPTSTR         lpszTitle;\r\n\r\n  ret = 0;\r\n\r\n  hCursor = SetCursor(LoadCursor(NULL, IDC_WAIT));\r\n  iCurCount = ShowCursor(TRUE) - 1;\r\n\r\n  //\r\n  // Shell Execute takes ansi string.\r\n  //\r\n\r\n  // Set title to file spec only\r\n  // Note: this is set to the app, so\r\n  // drag, drop, execute title shows app, not file\r\n\r\n  // Set up title\r\n  for (lpszTitle=lpPath+lstrlen(lpPath); *lpszTitle != CHAR_BACKSLASH && *lpszTitle != CHAR_COLON &&\r\n     lpszTitle != lpPath; lpszTitle --)\r\n     ;\r\n\r\n  // If we encountered a \\ or : then skip it\r\n\r\n  if (lpszTitle != lpPath)\r\n     lpszTitle++;\r\n\r\n  SetErrorMode(0);\r\n  ret = (DWORD_PTR) ShellExecute(hwndFrame, bRunAs ? L\"runas\" : NULL, lpPath, lpParms, lpDir, bLoadIt ? SW_SHOWMINNOACTIVE : SW_SHOWNORMAL);\r\n\r\n  SetErrorMode(1);\r\n\r\n  switch (ret) {\r\n      case 0:\r\n      case 8:\r\n          ret = IDS_NOMEMORYMSG;\r\n          break;\r\n\r\n      case 2:\r\n          ret = IDS_FILENOTFOUNDMSG;\r\n          break;\r\n\r\n      case 3:\r\n          ret = IDS_BADPATHMSG;\r\n          break;\r\n\r\n      case 5:\r\n          ret = IDS_NOACCESSFILE;\r\n          break;\r\n\r\n      case 11:\r\n          ret = IDS_EXECERRTITLE;\r\n          break;\r\n\r\n      case SE_ERR_SHARE:\r\n          ret = IDS_SHAREERROR;\r\n          break;\r\n\r\n      case SE_ERR_ASSOCINCOMPLETE:\r\n          ret = IDS_ASSOCINCOMPLETE;\r\n          break;\r\n\r\n      case SE_ERR_DDETIMEOUT:\r\n      case SE_ERR_DDEFAIL:\r\n      case SE_ERR_DDEBUSY:\r\n         ret = IDS_DDEFAIL;\r\n         break;\r\n\r\n      case SE_ERR_NOASSOC:\r\n         ret = IDS_NOASSOCMSG;\r\n         break;\r\n\r\n      default:\r\n         if (ret < 32)\r\n            goto EPExit;\r\n\r\n         if (bMinOnRun && !bLoadIt)\r\n            ShowWindow(hwndFrame, SW_SHOWMINNOACTIVE);\r\n         ret = 0;\r\n  }\r\n\r\nEPExit:\r\n  i = ShowCursor(FALSE);\r\n\r\n#if 0\r\n\r\n  /* Make sure that the cursor count is still balanced. */\r\n  if (i != iCurCount)\r\n      ShowCursor(TRUE);\r\n#endif\r\n\r\n  SetCursor(hCursor);\r\n\r\n  return (DWORD)ret;\r\n}\r\n\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     IsProgramFile\r\n//\r\n// Synopsis: Returns TRUE if the Path points to a file which has one of\r\n//           the extensions listed in the \"Programs=\" part of win.ini.\r\n//\r\n// INC       lpszPath -- Path to check\r\n// INC       ppDocBucket -- Bucket to search in\r\n//\r\n// Return:   pBucketTRUE=found\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nPDOCBUCKET\r\nIsBucketFile(LPTSTR lpszPath, PPDOCBUCKET ppBucket)\r\n{\r\n  LPTSTR szExt;\r\n\r\n  //\r\n  // Get the file's extension.\r\n  //\r\n  szExt = GetExtension(lpszPath);\r\n\r\n  if (!*szExt) {\r\n\r\n     //\r\n     // The specified path didn't have an extension.  It can't be a program.\r\n     //\r\n     return(FALSE);\r\n  }\r\n\r\n  return DocFind(ppBucket, szExt);\r\n}\r\n\r\n\r\n\r\n// string always upper case\r\n// returns true if additional characters; false if first one\r\n// repeating the first character leaves only one character\r\n// ch == '\\0' resets the tick and buffer\r\nBOOL TypeAheadString(WCHAR ch, LPWSTR szT)\r\n{\r\n   static DWORD tick64 = 0;\r\n   \r\n   // Ringbuffer for typed chracters\r\n   static WCHAR rgchTA[MAXPATHLEN] = { '\\0' };\r\n   \r\n   // When typing characters all characters so far are the same\r\n   static BOOL sameChar = TRUE;\r\n   DWORD tickT;\r\n   size_t ich;\r\n\r\n   if (ch == '\\0') {\r\n      tick64 = 0;\r\n      rgchTA[0] = '\\0';\r\n      return FALSE;\r\n   }\r\n\r\n   tickT = GetTickCount();\r\n   ch = (WCHAR)CharUpper((LPWSTR)ch);\r\n   ich = wcslen(rgchTA);\r\n\r\n   // if out of space or more than .5s since last char, start over\r\n   if (tickT - tick64 > 500 || ich > MAXPATHLEN - 2)\r\n   {\r\n      ich = 0;\r\n      sameChar = TRUE;\r\n   }\r\n\r\n   rgchTA[ich] = ch;\r\n   rgchTA[ich + 1] = '\\0';\r\n\r\n   tick64 = tickT;\r\n\r\n   if (rgchTA[0] == ch && TRUE == sameChar) {\r\n      // Same consecutive character as the first was pressed so jump ahead by one\r\n      szT[0] = ch;\r\n      szT[1] = '\\0';\r\n\r\n      return FALSE;\r\n   }\r\n   else {\r\n      // not the same character as the first\r\n      sameChar = FALSE;\r\n   }\r\n\r\n   lstrcpy(szT, rgchTA);\r\n\r\n   return ich != 0;\r\n}\r\n\r\n// RegGetValue isn't available on Windows XP\r\nLONG WFRegGetValueW(HKEY hkey, LPCWSTR lpSubKey, LPCWSTR lpValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData)\r\n{\r\n    DWORD dwStatus;\r\n    DWORD dwLocalType;\r\n    DWORD dwOriginalSize;\r\n    DWORD dwLocalSize;\r\n    HKEY hkeySub;\r\n    DWORD dwAllowMask;\r\n    BOOLEAN bTerminated;\r\n\r\n\r\n    if ((dwStatus = RegOpenKey(hkey, lpSubKey, &hkeySub)) == ERROR_SUCCESS)\r\n    {\r\n        dwOriginalSize = 0;\r\n        if (pcbData != NULL)\r\n        {\r\n            dwOriginalSize = *pcbData;\r\n        }\r\n\r\n        dwStatus = RegQueryValueEx(hkeySub, lpValue, NULL, &dwLocalType, pvData, &dwLocalSize);\r\n        if (dwStatus != ERROR_SUCCESS)\r\n        {\r\n            return dwStatus;\r\n        }\r\n\r\n        dwAllowMask = 0;\r\n        switch(dwLocalType)\r\n        {\r\n            case REG_SZ:\r\n                dwAllowMask = RRF_RT_REG_SZ;\r\n                break;\r\n            case REG_EXPAND_SZ:\r\n                dwAllowMask = RRF_RT_REG_EXPAND_SZ;\r\n                break;\r\n            case REG_BINARY:\r\n                dwAllowMask = RRF_RT_REG_BINARY;\r\n                break;\r\n            case REG_DWORD:\r\n                dwAllowMask = RRF_RT_REG_DWORD;\r\n                break;\r\n            case REG_MULTI_SZ:\r\n                dwAllowMask = RRF_RT_REG_MULTI_SZ;\r\n                break;\r\n        }\r\n\r\n        if ((dwAllowMask & dwFlags) == 0)\r\n        {\r\n            return ERROR_INVALID_DATA;\r\n        }\r\n\r\n        //\r\n        //  RegGetValue promises to NULL terminate strings.  Look to see if\r\n        //  we have a string without a NULL terminator.  If so, see if there's\r\n        //  space to add one; if no space, fail.\r\n        //\r\n\r\n        if (dwLocalType == REG_SZ || dwLocalType == REG_EXPAND_SZ || dwLocalType == REG_MULTI_SZ)\r\n        {\r\n            WCHAR * wszData;\r\n\r\n            wszData = pvData;\r\n            bTerminated = FALSE;\r\n\r\n            //\r\n            //  Not an even number of WCHARs, not a valid string\r\n            //\r\n\r\n            if (dwLocalSize & 0x1)\r\n            {\r\n                return ERROR_INVALID_DATA;\r\n            }\r\n\r\n            if (dwLocalSize > 0 && wszData[dwLocalSize / 2 - 1] == '\\0')\r\n            {\r\n                bTerminated = TRUE;\r\n            }\r\n\r\n            if (!bTerminated)\r\n            {\r\n                if (dwOriginalSize > dwLocalSize)\r\n                {\r\n                    wszData[dwLocalSize / 2] = '\\0';\r\n                    dwLocalSize = dwLocalSize + sizeof(WCHAR);\r\n                }\r\n                else\r\n                {\r\n                    dwLocalSize = dwLocalSize + sizeof(WCHAR);\r\n                    *pcbData = dwLocalSize;\r\n                    return ERROR_MORE_DATA;\r\n                }\r\n            }\r\n        }\r\n\r\n        if (pcbData != NULL) {\r\n            *pcbData = dwLocalSize;\r\n        }\r\n\r\n        if (pdwType != NULL) {\r\n            *pdwType = dwLocalType;\r\n        }\r\n\r\n        RegCloseKey(hkeySub);\r\n    }\r\n\r\n    return dwStatus;\r\n}\r\n\r\nLPTSTR GetFullPathInSystemDirectory(LPCTSTR FileName)\r\n{\r\n    UINT LengthRequired;\r\n    UINT LengthReturned;\r\n    UINT FileNameLength;\r\n    LPTSTR FullPath;\r\n\r\n    LengthRequired = GetSystemDirectory(NULL, 0);\r\n    if (LengthRequired == 0) {\r\n        return NULL;\r\n    }\r\n\r\n    FileNameLength = lstrlen(FileName);\r\n    FullPath = LocalAlloc(LMEM_FIXED, (LengthRequired + 1 + FileNameLength + 1) * sizeof(TCHAR));\r\n    if (FullPath == NULL) {\r\n        return NULL;\r\n    }\r\n\r\n    LengthReturned = GetSystemDirectory(FullPath, LengthRequired);\r\n    if (LengthReturned == 0 || LengthReturned > LengthRequired) {\r\n        LocalFree(FullPath);\r\n        return NULL;\r\n    }\r\n\r\n    FullPath[LengthReturned] = '\\\\';\r\n    lstrcpy(&FullPath[LengthReturned + 1], FileName);\r\n    return FullPath;\r\n}\r\n\r\nHMODULE LoadSystemLibrary(LPCTSTR FileName)\r\n{\r\n    LPTSTR FullPath;\r\n    HMODULE Module;\r\n\r\n    FullPath = GetFullPathInSystemDirectory(FileName);\r\n    if (FullPath == NULL) {\r\n        return NULL;\r\n    }\r\n\r\n    Module = LoadLibrary(FullPath);\r\n    LocalFree(FullPath);\r\n    return Module;\r\n}\r\n"
  },
  {
    "path": "src/winexp.h",
    "content": "/********************************************************************\r\n\r\n   winexp.h\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#ifndef NOATOM\r\n/* atom manager internals */\r\n#define ATOMSTRUC struct atomstruct\r\ntypedef ATOMSTRUC *PATOM;\r\ntypedef ATOMSTRUC {\r\n    PATOM chain;\r\n    WORD  usage;             /* Atoms are usage counted. */\r\n    BYTE  len;               /* length of ASCIZ name string */\r\n    BYTE  name;              /* beginning of ASCIZ name string */\r\n} ATOMENTRY;\r\n\r\ntypedef struct {\r\n    int     numEntries;\r\n    PATOM   pAtom[ 1 ];\r\n} ATOMTABLE;\r\nATOMTABLE * PASCAL pAtomTable;\r\n#endif\r\n\r\nLPTSTR FAR PASCAL lstrbscan(LPTSTR, LPTSTR);\r\nLPTSTR FAR PASCAL lstrbskip(LPTSTR, LPTSTR);\r\n\r\nint  FAR PASCAL OpenPathName(LPTSTR, int);\r\nint  FAR PASCAL DeletePathName(LPTSTR);\r\nWORD FAR PASCAL _ldup(int);\r\n\r\n\r\n/* scheduler things that the world knows not */\r\nBOOL        far PASCAL WaitEvent( HANDLE );\r\nBOOL        far PASCAL PostEvent( HANDLE );\r\nBOOL        far PASCAL KillTask( HANDLE );\r\n\r\n/* print screen hooks */\r\nBOOL        FAR PASCAL SetPrtScHook(FARPROC);\r\nFARPROC     FAR PASCAL GetPrtScHook(void);\r\n\r\n/* module stuff */\r\nHANDLE  FAR PASCAL GetDSModule( WORD );\r\nHANDLE  FAR PASCAL GetDSInstance( WORD );\r\n"
  },
  {
    "path": "src/winfile.c",
    "content": "/********************************************************************\r\n\r\n   winfile.c\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#define _GLOBALS\r\n#include \"winfile.h\"\r\n#include \"lfn.h\"\r\n#include <commctrl.h>\r\n#include <shlobj.h>\r\n\r\n//\r\n// Overall Window structure\r\n//\r\n// Frame Window (FrameWndProc(), global hwndFrame)\r\n// Toolbar Window (?, global hwndToolbar)\r\n//    Combo Box for drive list (n/a, global hwndDriveList)\r\n// Drives bar (DrivesWndproc(), global hwndDriveBar)\r\n// MDI Client (n/a, global hwndMDIClient)\r\n//    Tree window (TreeWndProc(), <hwndActive> looked up)\r\n//       Tree control on left (TreeControlWndProc(), hwndTree = HasTreeWindow(hwndActive))\r\n//          Listbox (n/a, GetDlgItem(hwndTree, IDCW_TREELISTBOX))\r\n//       Directory content list on right (DirWndProc(), hwndDir = HasDirWindow(hwndActive), GWL_LISTPARMS -> parent hwndActive)\r\n//          Listbox (n/a, GetDlgItem(hwndDir, IDCW_LISTBOX))\r\n//    Search results window (SearchWndProc(), global hwndSearch, GWL_LISTPARMS -> hwndSearch)\r\n//       Listbox (n/a, GetDlgItem(hwndDir, IDCW_LISTBOX))\r\n// Status window (n/a, hwndStatus)\r\n//\r\n\r\n//\r\n// prototypes\r\n//\r\nBOOL EnablePropertiesMenu(HWND hwnd, LPWSTR pszSel);\r\nBOOL bDialogMessage(PMSG pMsg);\r\n\r\nextern BOOL bCompressReEntry;\r\n\r\nINT APIENTRY\r\nWinMain(\r\n   HINSTANCE hInst,\r\n   HINSTANCE hPrevInst,\r\n   LPSTR pszCmdLineA,\r\n   INT nCmdShow)\r\n{\r\n   MSG       msg;\r\n   LPWSTR    pszCmdLine;\r\n\r\n#ifdef HEAPCHECK\r\n   HeapCheckInit();\r\n#endif\r\n   pszCmdLine = GetCommandLine();\r\n\r\n#if defined(JAPAN) && defined(i386)\r\n   RegGetMachineIdentifierValue( &gdwMachineId );\r\n#endif // defined(JAPAN) && defined(i386)\r\n\r\n   if (!InitFileManager(hInst, pszNextComponent(pszCmdLine), nCmdShow)) {\r\n      FreeFileManager();\r\n      return FALSE;\r\n   }\r\n\r\n   while (TRUE) {\r\n\r\n      vWaitMessage();\r\n\r\n      while (PeekMessage(&msg, (HWND)NULL, 0, 0, PM_REMOVE)) {\r\n\r\n         if (msg.message == WM_QUIT) {\r\n            FreeFileManager();\r\n\r\n#ifdef HEAPCHECK\r\n            HeapCheckDump(0);\r\n            HeapCheckDestroy();\r\n#endif\r\n\r\n            return (INT)msg.wParam;\r\n         }\r\n\r\n         //\r\n         // since we use RETURN as an accelerator we have to manually\r\n         // restore ourselves when we see VK_RETURN and we are minimized\r\n         //\r\n\r\n         if (msg.message == WM_SYSKEYDOWN &&\r\n            msg.wParam == VK_RETURN &&\r\n            IsIconic(hwndFrame)) {\r\n\r\n            ShowWindow(hwndFrame, SW_NORMAL);\r\n\r\n         } else {\r\n\r\n            if (!bDialogMessage(&msg)) {\r\n\r\n               if (!TranslateMDISysAccel(hwndMDIClient, &msg) &&\r\n                  (!hwndFrame || !TranslateAccelerator(hwndFrame,\r\n                                                       hAccel,\r\n                                                       &msg))) {\r\n\r\n                  TranslateMessage(&msg);\r\n                  DispatchMessage(&msg);\r\n               }\r\n            }\r\n         }\r\n      }\r\n   }\r\n}\r\n\r\n\r\nVOID\r\nResizeControls(VOID)\r\n{\r\n   static INT nViews[] = {\r\n      1, 0,                // placeholder for the main menu handle\r\n      1, IDC_TOOLBAR,\r\n      1, IDC_STATUS,\r\n      0, 0                // signify the end of the list\r\n   };\r\n\r\n   RECT rc;\r\n   INT cDrivesPerRow;\r\n   INT dyDriveBar;\r\n\r\n   //\r\n   // These controls move and resize themselves\r\n   //\r\n   if (hwndStatus)\r\n      SendMessage(hwndStatus, WM_SIZE, 0, 0L);\r\n\r\n   //\r\n   // This stuff is nec since bRepaint in MoveWindow seems\r\n   // broken.  By invalidating, we don't scroll bad stuff.\r\n   //\r\n   if (bDriveBar) {\r\n      InvalidateRect(hwndDriveBar,NULL, FALSE);\r\n   }\r\n   InvalidateRect(hwndMDIClient,NULL, FALSE);\r\n\r\n   SendMessage(hwndToolbar, WM_SIZE, 0, 0L);\r\n\r\n   GetEffectiveClientRect(hwndFrame, &rc, nViews);\r\n   rc.right -= rc.left;\r\n\r\n   cDrivesPerRow = rc.right / dxDrive;\r\n   if (!cDrivesPerRow)\r\n      cDrivesPerRow++;\r\n\r\n   dyDriveBar = dyDrive*((cDrives+cDrivesPerRow-1)/cDrivesPerRow)\r\n      + 2*dyBorder;\r\n\r\n   rc.right += 2*dyBorder;\r\n\r\n   MoveWindow(hwndDriveBar, rc.left-dyBorder, rc.top-dyBorder,\r\n      rc.right, dyDriveBar, FALSE);\r\n\r\n\r\n   if (bDriveBar)\r\n      rc.top += dyDriveBar - dyBorder;\r\n\r\n   MoveWindow(hwndMDIClient, rc.left-dyBorder, rc.top-dyBorder,\r\n      rc.right, rc.bottom-rc.top+2*dyBorder-1, TRUE);\r\n}\r\n\r\n\r\nBOOL\r\nInitPopupMenus(UINT uMenus, HMENU hMenu, HWND hwndActive)\r\n{\r\n   DWORD     dwSort;\r\n   DWORD     dwView;\r\n   UINT      uMenuFlags, uCompFlags;\r\n   HWND      hwndTree, hwndDir;\r\n   DRIVE     drive;\r\n   BOOL      bLFN;\r\n   INT       i;\r\n   DWORD     dwFlags;\r\n\r\n\r\n   hwndTree = HasTreeWindow(hwndActive);\r\n   hwndDir = HasDirWindow(hwndActive);\r\n   dwSort = (DWORD)GetWindowLongPtr(hwndActive, GWL_SORT);\r\n   dwView = (DWORD)GetWindowLongPtr(hwndActive, GWL_VIEW);\r\n\r\n   uMenuFlags = MF_BYCOMMAND | MF_ENABLED;\r\n\r\n   bLFN = FALSE;       // For now, ignore the case.\r\n\r\n   if (uMenus & (1 << IDM_FILE)) {\r\n\r\n      LPWSTR    pSel = NULL;\r\n      BOOL      bDir = TRUE;\r\n      IDataObject *pDataObj;\r\n\r\n      //\r\n      // In order to avoid deleting the tree control pNodes while\r\n      // a read is in progress, the Move, Copy, Delete, Rename, and\r\n      // and Create Directory menu items will be disabled.\r\n      //\r\n      // The reason this can happen is that the function ReadDirLevel\r\n      // does a wfYield so that messages can be processed.  As a result,\r\n      // if any operation that deletes the tree list occurs during the\r\n      // yield, the ReadDirLevel function will be accessing freed memory\r\n      // when it continues from the yield.\r\n      //\r\n      if ((hwndTree) && GetWindowLongPtr(hwndTree, GWL_READLEVEL))\r\n      {\r\n         uMenuFlags = MF_BYCOMMAND | MF_GRAYED;\r\n      }\r\n      else\r\n      {\r\n         uMenuFlags = MF_BYCOMMAND;\r\n      }\r\n      EnableMenuItem(hMenu, IDM_MOVE, uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_COPY, uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_DELETE, uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_RENAME, uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_MAKEDIR, uMenuFlags);\r\n\r\n      if (OleGetClipboard(&pDataObj) == S_OK)\r\n      {\r\n         UINT uPaste = uMenuFlags;\r\n         FORMATETC fmtetcDrop = { CF_HDROP, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL };\r\n         FORMATETC fmtetcLFN = { 0, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL };\r\n         unsigned short cp_format_descriptor = RegisterClipboardFormat(CFSTR_FILEDESCRIPTOR);\r\n         unsigned short cp_format_contents = RegisterClipboardFormat(CFSTR_FILECONTENTS);\r\n\r\n         //Set up format structure for the descriptor and contents\r\n         FORMATETC descriptor_format = {cp_format_descriptor, NULL, DVASPECT_CONTENT, -1, TYMED_HGLOBAL};\r\n         FORMATETC contents_format = {cp_format_contents, NULL, DVASPECT_CONTENT, -1, TYMED_ISTREAM};\r\n\r\n         fmtetcLFN.cfFormat = RegisterClipboardFormat(TEXT(\"LongFileNameW\"));\r\n\r\n         if (pDataObj->lpVtbl->QueryGetData(pDataObj, &fmtetcDrop) != S_OK &&\r\n             pDataObj->lpVtbl->QueryGetData(pDataObj, &fmtetcLFN) != S_OK && \r\n             (pDataObj->lpVtbl->QueryGetData(pDataObj, &descriptor_format) != S_OK ||\r\n              pDataObj->lpVtbl->QueryGetData(pDataObj, &contents_format) != S_OK))\r\n         {\r\n            uPaste |= MF_GRAYED;\r\n         }\r\n\r\n          EnableMenuItem(hMenu, IDM_PASTE, uPaste);\r\n\r\n          pDataObj->lpVtbl->Release(pDataObj);\r\n      }\r\n\r\n      if (!hwndDir)\r\n         uMenuFlags = MF_BYCOMMAND | MF_GRAYED;\r\n\r\n      EnableMenuItem(hMenu, IDM_SELALL,   uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_DESELALL, uMenuFlags);\r\n\r\n      if (hwndActive == hwndSearch || hwndDir)\r\n         uMenuFlags = MF_BYCOMMAND;\r\n      else\r\n         uMenuFlags = MF_BYCOMMAND | MF_GRAYED;\r\n\r\n      EnableMenuItem(hMenu, IDM_SELECT, uMenuFlags);\r\n\r\n      pSel = (LPTSTR)SendMessage(hwndActive, FS_GETSELECTION, 5, (LPARAM)&bDir);\r\n\r\n      //\r\n      // can't print or edit a dir\r\n      //\r\n      uMenuFlags = bDir\r\n         ? MF_BYCOMMAND | MF_DISABLED | MF_GRAYED\r\n         : MF_BYCOMMAND | MF_ENABLED;\r\n\r\n      EnableMenuItem(hMenu, IDM_PRINT, uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_EDIT, uMenuFlags);\r\n\r\n      //\r\n      // See if we can enable the Properties... menu\r\n      //\r\n      if (EnablePropertiesMenu(hwndActive, pSel))\r\n         uMenuFlags = MF_BYCOMMAND;\r\n      else\r\n         uMenuFlags = MF_BYCOMMAND | MF_GRAYED;\r\n      EnableMenuItem (hMenu, IDM_ATTRIBS, uMenuFlags);\r\n\r\n      //\r\n      // Check for Compress/Uncompress menu item enabling.\r\n      //\r\n      uCompFlags = MF_BYCOMMAND | MF_GRAYED;          // Compress...\r\n      uMenuFlags = MF_BYCOMMAND | MF_GRAYED;          // Uncompress...\r\n\r\n      if (pSel && !bCompressReEntry)\r\n      {\r\n         WCHAR     szDrv[6];      //  Enough to hold root pathname\r\n\r\n         //\r\n         //  Path is already fully qualified by passing in bit 4 to the\r\n         //  FS_GETSELECTION call, so simply null terminate the string\r\n         //  after the root path.  However, GetRootPath() will take care\r\n         //  quoted paths.\r\n         //\r\n\r\n         // get a buffer big enough for a quoted path\r\n         TCHAR szTemp[MAXPATHLEN + 2 * sizeof(TCHAR)];\r\n\r\n         lstrcpy( szTemp, pSel);\r\n\r\n         GetRootPath (szTemp, szDrv);\r\n\r\n         //\r\n         //  See if the volume allows file compression.\r\n         //\r\n         if (GetVolumeInformation(szDrv, NULL, 0L, NULL, NULL, &dwFlags, NULL, 0L) &&\r\n             (dwFlags & FS_FILE_COMPRESSION) )\r\n         {\r\n            if (hwndTree == GetTreeFocus(hwndActive))\r\n            {\r\n               //\r\n               //  Always enable the compress and decompress menu items\r\n               //  when the tree control side is highlighted, since it\r\n               //  only contains directories.\r\n               //\r\n               uCompFlags = MF_BYCOMMAND | MF_ENABLED;     // Compress...\r\n               uMenuFlags = MF_BYCOMMAND | MF_ENABLED;     // Uncompress...\r\n            }\r\n            else\r\n            {\r\n               switch ((UINT)SendMessage(hwndActive, FS_GETSELECTION, 64, 0L))\r\n               {\r\n                  case ( 3 ) :\r\n                  {\r\n                     //\r\n                     //  Enable both the compress and decompress menu items.\r\n                     //\r\n                     uCompFlags = MF_BYCOMMAND | MF_ENABLED;\r\n\r\n                     // FALL THROUGH...\r\n                  }\r\n                  case ( 2 ) :\r\n                  {\r\n                     //\r\n                     //  Enable the uncompress menu item and disable the\r\n                     //  compress menu item.\r\n                     //\r\n                     uMenuFlags = MF_BYCOMMAND | MF_ENABLED;\r\n                     break;\r\n                  }\r\n                  case ( 1 ) :\r\n                  {\r\n                     //\r\n                     //  Enable the compress menu item and disable the\r\n                     //  uncompress menu item.\r\n                     //\r\n                     uCompFlags = MF_BYCOMMAND | MF_ENABLED;\r\n                     break;\r\n                  }\r\n                  case ( 0 ) :\r\n                  default :\r\n                  {\r\n                     //\r\n                     //  Disable both the compress and decompress menu items.\r\n                     //\r\n                     break;\r\n                  }\r\n               }\r\n            }\r\n         }\r\n\r\n         LocalFree((HLOCAL)pSel);\r\n      }\r\n\r\n      EnableMenuItem(hMenu, IDM_COMPRESS, uCompFlags);\r\n      EnableMenuItem(hMenu, IDM_UNCOMPRESS, uMenuFlags);\r\n\r\n      if (uMenus & (1<<IDM_DISK)) {\r\n\r\n         // be sure not to allow disconnect while any trees\r\n         // are still being read (iReadLevel != 0)\r\n\r\n         if (bConnectable) {\r\n\r\n            uMenuFlags = MF_BYCOMMAND | MF_GRAYED;\r\n\r\n            if (!iReadLevel) {\r\n               for (i=0; i < cDrives; i++) {\r\n                  drive = rgiDrive[i];\r\n\r\n                  if ( !IsCDRomDrive(drive) && IsRemoteDrive(drive) ) {\r\n\r\n                     uMenuFlags = MF_BYCOMMAND | MF_ENABLED;\r\n                     break;\r\n                  }\r\n               }\r\n            }\r\n            EnableMenuItem(hMenu, IDM_DISCONNECT, uMenuFlags);\r\n\r\n         } else {\r\n            if (iReadLevel)\r\n               EnableMenuItem(hMenu, IDM_CONNECTIONS, MF_BYCOMMAND | MF_GRAYED);\r\n            else\r\n               EnableMenuItem(hMenu, IDM_CONNECTIONS, MF_BYCOMMAND | MF_ENABLED);\r\n         }\r\n      }\r\n   }\r\n\r\n   if (uMenus & (1<<IDM_TREE)) {\r\n\r\n      if (!hwndTree || iReadLevel)\r\n         uMenuFlags = MF_BYCOMMAND | MF_GRAYED;\r\n\r\n      EnableMenuItem(hMenu, IDM_EXPONE,     uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_EXPSUB,     uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_EXPALL,     uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_COLLAPSE,   uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_ADDPLUSES,  uMenuFlags);\r\n\r\n      if (hwndTree)\r\n         CheckMenuItem(hMenu, IDM_ADDPLUSES, GetWindowLongPtr(hwndActive, GWL_VIEW) & VIEW_PLUSES ? MF_CHECKED | MF_BYCOMMAND : MF_UNCHECKED | MF_BYCOMMAND);\r\n\r\n   }\r\n\r\n   if (uMenus & (1<<IDM_VIEW)) {\r\n\r\n      if (hwndActive == hwndSearch || IsIconic(hwndActive))\r\n         uMenuFlags = MF_BYCOMMAND | MF_GRAYED;\r\n      else {\r\n         CheckMenuItem(hMenu, IDM_BOTH, hwndTree && hwndDir ? MF_CHECKED | MF_BYCOMMAND : MF_UNCHECKED | MF_BYCOMMAND);\r\n         CheckMenuItem(hMenu, IDM_DIRONLY, !hwndTree && hwndDir ? MF_CHECKED | MF_BYCOMMAND : MF_UNCHECKED | MF_BYCOMMAND);\r\n         CheckMenuItem(hMenu, IDM_TREEONLY, hwndTree && !hwndDir ? MF_CHECKED | MF_BYCOMMAND : MF_UNCHECKED | MF_BYCOMMAND);\r\n      }\r\n\r\n      EnableMenuItem(hMenu, IDM_BOTH,      uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_TREEONLY,  uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_DIRONLY,   uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_SPLIT,     uMenuFlags);\r\n\r\n      dwView &= VIEW_EVERYTHING;\r\n\r\n      CheckMenuItem(hMenu, IDM_VNAME,   (dwView == VIEW_NAMEONLY) ? MF_CHECKED | MF_BYCOMMAND : MF_UNCHECKED | MF_BYCOMMAND);\r\n      CheckMenuItem(hMenu, IDM_VDETAILS,(dwView == VIEW_EVERYTHING) ? MF_CHECKED | MF_BYCOMMAND : MF_UNCHECKED | MF_BYCOMMAND);\r\n      CheckMenuItem(hMenu, IDM_VOTHER,  (dwView != VIEW_NAMEONLY && dwView != VIEW_EVERYTHING) ? MF_CHECKED | MF_BYCOMMAND : MF_UNCHECKED | MF_BYCOMMAND);\r\n\r\n      CheckMenuItem(hMenu, IDM_BYNAME, (dwSort == IDD_NAME) ? MF_CHECKED | MF_BYCOMMAND : MF_UNCHECKED | MF_BYCOMMAND);\r\n      CheckMenuItem(hMenu, IDM_BYTYPE, (dwSort == IDD_TYPE) ? MF_CHECKED | MF_BYCOMMAND : MF_UNCHECKED | MF_BYCOMMAND);\r\n      CheckMenuItem(hMenu, IDM_BYSIZE, (dwSort == IDD_SIZE) ? MF_CHECKED | MF_BYCOMMAND : MF_UNCHECKED | MF_BYCOMMAND);\r\n      CheckMenuItem(hMenu, IDM_BYDATE, (dwSort == IDD_DATE) ? MF_CHECKED | MF_BYCOMMAND : MF_UNCHECKED | MF_BYCOMMAND);\r\n      CheckMenuItem(hMenu, IDM_BYFDATE,(dwSort == IDD_FDATE) ? MF_CHECKED | MF_BYCOMMAND : MF_UNCHECKED | MF_BYCOMMAND);\r\n\r\n      if (hwndActive == hwndSearch || hwndDir)\r\n         uMenuFlags = MF_BYCOMMAND | MF_ENABLED;\r\n      else\r\n         uMenuFlags = MF_BYCOMMAND | MF_GRAYED;\r\n\r\n      EnableMenuItem(hMenu, IDM_VNAME,    uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_VDETAILS, uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_VOTHER,   uMenuFlags);\r\n\r\n      if (hwndDir)\r\n         uMenuFlags = MF_BYCOMMAND | MF_ENABLED;\r\n      else\r\n         uMenuFlags = MF_BYCOMMAND | MF_GRAYED;\r\n\r\n      EnableMenuItem(hMenu, IDM_BYNAME, uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_BYTYPE, uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_BYSIZE, uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_BYDATE, uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_BYFDATE, uMenuFlags);\r\n\r\n      if (IsIconic(hwndActive))\r\n         uMenuFlags = MF_BYCOMMAND | MF_GRAYED;\r\n      EnableMenuItem(hMenu, IDM_VINCLUDE, uMenuFlags);\r\n   }\r\n\r\n   if (uMenus & (1<<IDM_OPTIONS)) {\r\n\r\n      if (iReadLevel)\r\n         uMenuFlags = MF_BYCOMMAND | MF_GRAYED;\r\n\r\n      EnableMenuItem(hMenu, IDM_ADDPLUSES, uMenuFlags);\r\n      EnableMenuItem(hMenu, IDM_EXPANDTREE, uMenuFlags);\r\n\r\n      uMenuFlags = bToolbar ? MF_BYCOMMAND|MF_ENABLED : MF_BYCOMMAND|MF_GRAYED;\r\n      EnableMenuItem(hMenu, IDM_TOOLBARCUST, uMenuFlags);\r\n   }\r\n\r\n   return TRUE;\r\n}\r\n\r\n\r\nLRESULT\r\nCALLBACK\r\nFrameWndProc(HWND hwnd, UINT wMsg, WPARAM wParam, LPARAM lParam)\r\n{\r\n   RECT     rc;\r\n   HMENU    hMenu2;\r\n\r\n   DRIVEIND driveInd;\r\n   BOOL     bRedoDriveBar;\r\n\r\n   switch (wMsg) {\r\n   case WM_TIMER:\r\n\r\n      //\r\n      // this came from a FSC that wasn't generated by us\r\n      //\r\n      bFSCTimerSet = FALSE;\r\n      KillTimer(hwnd, 1);\r\n\r\n      //\r\n      // Fall through to FS_ENABLEFSC\r\n      //\r\n\r\n   case FS_ENABLEFSC:\r\n   {\r\n      HWND hwndTree;\r\n\r\n      if (--cDisableFSC)\r\n         break;\r\n\r\n      for (hwndTree = GetWindow(hwndMDIClient, GW_CHILD);\r\n         hwndTree;\r\n         hwndTree = GetWindow(hwndTree, GW_HWNDNEXT)) {\r\n\r\n         //\r\n         // a tree or search window\r\n         //\r\n         if (!GetWindow(hwndTree, GW_OWNER) &&\r\n            GetWindowLongPtr(hwndTree,GWL_FSCFLAG)) {\r\n\r\n            SendMessage(hwndTree, WM_FSC, FSC_REFRESH, 0L);\r\n         }\r\n      }\r\n      break;\r\n   }\r\n   case FS_DISABLEFSC:\r\n\r\n      cDisableFSC++;\r\n      break;\r\n\r\n   case FS_REBUILDDOCSTRING:\r\n\r\n      BuildDocumentStringWorker();\r\n      break;\r\n\r\n   case FS_UPDATEDRIVETYPECOMPLETE:\r\n      //\r\n      // wParam = new cDrives\r\n      //\r\n\r\n      //\r\n      // See if we need to update the drivebar.\r\n      // If wParam == cDrives and rgiDrive hasn't changed, then\r\n      // we don't need to refresh.\r\n      //\r\n\r\n      bRedoDriveBar = TRUE;\r\n\r\n      if (cDrives == (INT)wParam) {\r\n\r\n         for (driveInd=0; driveInd < cDrives; driveInd++) {\r\n\r\n            if (rgiDriveReal[0][driveInd] != rgiDriveReal[1][driveInd])\r\n               break;\r\n         }\r\n\r\n         bRedoDriveBar = (driveInd != cDrives);\r\n      }\r\n\r\n      cDrives = (INT)wParam;\r\n      iUpdateReal ^= 1;\r\n\r\n      //\r\n      // Update drivelist cb based on new rgiDrive[] if nec.\r\n      //\r\n\r\n      if (bRedoDriveBar) {\r\n         RedoDriveWindows(NULL);\r\n      }\r\n\r\n      //\r\n      // Now update the DisconnectButton\r\n      //\r\n\r\n      EnableDisconnectButton();\r\n\r\n      break;\r\n\r\n   case FS_UPDATEDRIVELISTCOMPLETE:\r\n\r\n      UpdateDriveListComplete();\r\n\r\n      break;\r\n\r\n   case FS_CANCELCOPYFORMATDEST:\r\n\r\n      if (CancelInfo.hCancelDlg) {\r\n\r\n         TCHAR szTemp[128];\r\n\r\n         if (CancelInfo.Info.Copy.bFormatDest) {\r\n            LoadString(hAppInstance, IDS_FORMATTINGDEST, szTemp, COUNTOF(szTemp));\r\n         } else {\r\n            LoadString(hAppInstance, IDS_COPYINGDISKTITLE, szTemp, COUNTOF(szTemp));\r\n         }\r\n\r\n         SetWindowText(CancelInfo.hCancelDlg, szTemp);\r\n      }\r\n      break;\r\n\r\n   case FS_CANCELMESSAGEBOX:\r\n      {\r\n         TCHAR szMessage[MAXMESSAGELEN];\r\n         TCHAR szTitle[MAXTITLELEN];\r\n         HWND hwndT;\r\n\r\n         LoadString(hAppInstance, (UINT)wParam, szTitle, COUNTOF(szTitle));\r\n         LoadString(hAppInstance, (UINT)lParam, szMessage, COUNTOF(szMessage));\r\n\r\n         hwndT = CancelInfo.hCancelDlg ?\r\n            CancelInfo.hCancelDlg :\r\n            hwndFrame;\r\n\r\n         return MessageBox(hwndT, szMessage, szTitle, CancelInfo.fuStyle);\r\n      }\r\n\r\n   case FS_CANCELUPDATE:\r\n\r\n      // wParam = % completed\r\n\r\n      if (CancelInfo.hCancelDlg) {\r\n         CancelInfo.nPercentDrawn = (INT)wParam;\r\n         SendMessage(CancelInfo.hCancelDlg, FS_CANCELUPDATE, 0, 0L);\r\n      }\r\n\r\n      break;\r\n\r\n   case FS_SEARCHUPDATE:\r\n\r\n      // wParam = iDirsRead\r\n      // lParam = iFileCount\r\n\r\n      if (SearchInfo.hSearchDlg) {\r\n         TCHAR szTemp[20];\r\n\r\n         wsprintf(szTemp, SZ_PERCENTD,wParam);\r\n\r\n         SendDlgItemMessage(SearchInfo.hSearchDlg,IDD_TIME,\r\n            WM_SETTEXT,0,(LPARAM)szTemp);\r\n\r\n         wsprintf(szTemp, SZ_PERCENTD,lParam);\r\n\r\n         SendDlgItemMessage(SearchInfo.hSearchDlg,IDD_FOUND,\r\n            WM_SETTEXT,0,(LPARAM)szTemp);\r\n\r\n         UpdateWindow(SearchInfo.hSearchDlg);\r\n      }\r\n\r\n      //\r\n      // If search window is active, update the status bar\r\n      // (since set by same thread, no problem of preemption:\r\n      // preemption only at message start/end)\r\n      //\r\n      if (SearchInfo.bUpdateStatus) {\r\n         UpdateSearchStatus(SearchInfo.hwndLB, (INT) lParam);\r\n      }\r\n\r\n      break;\r\n\r\n   case FS_CANCELEND:\r\n\r\n      DestroyCancelWindow();\r\n\r\n      switch (CancelInfo.eCancelType) {\r\n      case CANCEL_FORMAT:\r\n         FormatEnd();\r\n         break;\r\n      case CANCEL_COPY:\r\n         CopyDiskEnd();\r\n         break;\r\n      default:\r\n         break;\r\n      }\r\n      return 0L;\r\n\r\n   case FS_SEARCHEND:\r\n\r\n      //\r\n      // The thread is now dead for our purposes\r\n      //\r\n      SearchInfo.hThread = NULL;\r\n\r\n      //\r\n      // Dismiss modless dialog box then inform user if nec.\r\n      //\r\n      if (SearchInfo.hSearchDlg) {\r\n         DestroyWindow(SearchInfo.hSearchDlg);\r\n         SearchInfo.hSearchDlg = NULL;\r\n      }\r\n\r\n      SearchEnd();\r\n\r\n      return 0L;\r\n\r\n   case FS_SEARCHLINEINSERT:\r\n      {\r\n         INT iRetVal;\r\n\r\n         // wParam = &iFileCount\r\n         // lParam = lpxdta\r\n\r\n         ExtSelItemsInvalidate();\r\n\r\n         iRetVal = (INT)SendMessage(SearchInfo.hwndLB,\r\n                                    LB_ADDSTRING,\r\n                                    0,\r\n                                    lParam);\r\n\r\n         if (iRetVal >= 0) {\r\n\r\n            (*(INT *)wParam) ++;\r\n         }\r\n      }\r\n\r\n      break;\r\n\r\n   case WM_CREATE:\r\n      {\r\n         CLIENTCREATESTRUCT    ccs;\r\n\r\n         // Store the Frame's hwnd.\r\n         hwndFrame = hwnd;\r\n\r\n         hMenu2 = GetMenu(hwnd);\r\n\r\n         // the extensions haven't been loaded yet so the window\r\n         // menu is in the position of the first extensions menu\r\n\r\n         ccs.hWindowMenu = (HWND)GetSubMenu(hMenu2, IDM_EXTENSIONS);\r\n         ccs.idFirstChild = IDM_CHILDSTART;\r\n\r\n         // create the MDI client at approximate size to make sure\r\n         // \"run minimized\" works\r\n\r\n         GetClientRect(hwndFrame, &rc);\r\n\r\n         hwndMDIClient = CreateWindow(TEXT(\"MDIClient\"), NULL,\r\n            WS_CHILD | WS_CLIPCHILDREN | WS_VSCROLL | WS_HSCROLL | WS_BORDER,\r\n            0, 0, rc.right, rc.bottom,\r\n            hwnd, (HMENU)1, hAppInstance, (LPVOID)&ccs);\r\n\r\n         if (!hwndMDIClient) {\r\n            return -1L;\r\n         }\r\n\r\n         // make new drives window\r\n\r\n         hwndDriveBar = CreateWindow(szDrivesClass, NULL,\r\n            bDriveBar ? WS_CHILD|WS_BORDER|WS_VISIBLE|WS_CLIPSIBLINGS :\r\n               WS_CHILD|WS_BORDER|WS_CLIPSIBLINGS,\r\n            0, 0, 0, 0, hwndFrame, 0, hAppInstance, NULL);\r\n\r\n         if (!hwndDriveBar)\r\n            return -1L;\r\n\r\n         // make toolbar window\r\n\r\n         CreateFMToolbar();\r\n         if (!hwndToolbar)\r\n            return -1L;\r\n\r\n         hwndStatus = CreateStatusWindow(\r\n            bStatusBar ? WS_CHILD|WS_BORDER|WS_VISIBLE|WS_CLIPSIBLINGS :\r\n            WS_CHILD|WS_BORDER|WS_CLIPSIBLINGS,\r\n            szNULL, hwndFrame, IDC_STATUS);\r\n\r\n         if (hwndStatus) {\r\n            HDC hDC;\r\n            INT nParts[3];\r\n            INT nInch;\r\n\r\n            hDC = GetDC(NULL);\r\n            nInch = GetDeviceCaps(hDC, LOGPIXELSX);\r\n            ReleaseDC(NULL, hDC);\r\n\r\n            // use the smaller font for Status bar so that messages fix in it.\r\n            if (bJAPAN)\r\n            {\r\n               nParts[0] = nInch * 8 / 4 + (nInch * 7 / 8);\r\n               nParts[1] = nParts[0] + nInch * 11 / 4 + nInch * 7 / 8;\r\n               nParts[2] = -1;\r\n\r\n               SendMessage(hwndStatus, SB_SETPARTS, 3, (LPARAM)(LPINT)nParts);\r\n\r\n               SendMessage(hwndStatus, WM_SETFONT, (WPARAM)hFontStatus, 0L);\r\n            }\r\n            else\r\n            {\r\n               nParts[0] = nInch * 9 / 4 + (nInch * 7 / 8);\r\n               nParts[1] = nParts[0] + nInch * 5 / 2 + nInch * 7 / 8;\r\n               nParts[2] = -1;\r\n\r\n               SendMessage(hwndStatus, SB_SETPARTS, 3, (LPARAM)(LPINT)nParts);\r\n            }\r\n         }\r\n         break;\r\n      }\r\n\r\n   case WM_INITMENUPOPUP:\r\n      {\r\n         HWND      hwndActive;\r\n         UINT      uMenu;\r\n         INT       index;\r\n\r\n         hwndActive = (HWND)SendMessage(hwndMDIClient, WM_MDIGETACTIVE, 0, 0L);\r\n         uMenu = MapMenuPosToIDM((UINT)LOWORD(lParam));\r\n\r\n         if (uMenu == IDM_SECURITY) {\r\n\r\n            if (lpfnAcledit)\r\n               (*lpfnAcledit)(hwndFrame, FMEVENT_INITMENU, (LPARAM)(HMENU)wParam);\r\n\r\n         } else if ((uMenu >= IDM_EXTENSIONS) && (uMenu < ((UINT)iNumExtensions + IDM_EXTENSIONS))) {\r\n\r\n            index = uMenu - IDM_EXTENSIONS;\r\n            (extensions[index].ExtProc)(hwndFrame, FMEVENT_INITMENU, (LPARAM)(HMENU)wParam);\r\n\r\n         } else {\r\n\r\n            InitPopupMenus(1<<uMenu, (HMENU)wParam, hwndActive);\r\n         }\r\n\r\n         break;\r\n      }\r\n\r\n   case WM_DESTROY:\r\n\r\n      if (!WinHelp(hwndFrame, szWinfileHelp, HELP_QUIT, 0L)) {\r\n         MyMessageBox(hwndFrame, IDS_WINFILE, IDS_WINHELPERR, MB_OK | MB_ICONEXCLAMATION | MB_SYSTEMMODAL);\r\n      }\r\n      hwndFrame = NULL;\r\n      PostQuitMessage(0);\r\n      DestroyWindow(hwndDriveBar);\r\n      break;\r\n\r\n   case WM_SIZE:\r\n      if (wParam != SIZEICONIC) {\r\n\r\n         // uses new resize!\r\n         ResizeControls();\r\n      }\r\n      break;\r\n\r\n   case FS_FSCREQUEST:\r\n\r\n      if (cDisableFSC == 0 || bFSCTimerSet) {\r\n         if (bFSCTimerSet)\r\n            KillTimer(hwndFrame, 1);                // reset the timer\r\n\r\n         if (SetTimer(hwndFrame, 1, uChangeNotifyTime, NULL)) {\r\n\r\n            bFSCTimerSet = TRUE;\r\n            if (cDisableFSC == 0)                   // only disable once\r\n               SendMessage(hwndFrame, FS_DISABLEFSC, 0, 0L);\r\n         }\r\n      }\r\n\r\n      break;\r\n\r\n   case WM_FSC:\r\n\r\n      ChangeFileSystem((WORD)wParam, (LPTSTR)lParam, NULL);\r\n      break;\r\n\r\n   case WM_SYSCOLORCHANGE:\r\n   case WM_WININICHANGE:\r\n      if (!lParam || !lstrcmpi((LPTSTR)lParam, szInternational)) {\r\n         HWND hwnd, hwndT;\r\n         DWORD dwFlags;\r\n\r\n         GetInternational();\r\n\r\n         for (hwnd = GetWindow(hwndMDIClient,GW_CHILD);\r\n         hwnd;\r\n         hwnd = GetWindow(hwnd,GW_HWNDNEXT)) {\r\n\r\n            if (!GetWindow(hwnd, GW_OWNER)) {\r\n\r\n               dwFlags = GetWindowLongPtr(hwnd, GWL_VIEW) &\r\n                               (VIEW_EVERYTHING | VIEW_PLUSES);\r\n\r\n               if (hwndT = HasDirWindow(hwnd)) {\r\n                  SendMessage(hwndT, FS_CHANGEDISPLAY, CD_VIEW,\r\n                     MAKELONG(dwFlags, TRUE));\r\n               } else if (hwnd == hwndSearch) {\r\n                  SetWindowLongPtr(hwnd, GWL_VIEW, dwFlags);\r\n                  SendMessage(hwndSearch, FS_CHANGEDISPLAY, CD_VIEW, 0L);\r\n               }\r\n            }\r\n         }\r\n      }\r\n\r\n      // win.ini section [colors]\r\n      if (!lParam || !lstrcmpi((LPTSTR)lParam, TEXT(\"colors\"))) {\r\n\r\n         DeleteBitmaps();\r\n         LoadBitmaps();\r\n\r\n         // we need to recreate the drives windows to change\r\n         // the bitmaps\r\n\r\n         RedoDriveWindows(NULL);\r\n      }\r\n\r\n#if 0\r\n      //\r\n      // Check if the user's environment variables have changed, if so\r\n      // regenerate the environment, so that new apps started from\r\n      // taskman will have the latest environment.\r\n      //\r\n      if (lParam && (!lstrcmpi((LPTSTR)lParam, TEXT(\"Environment\")))) {\r\n         PVOID pEnv;\r\n\r\n         RegenerateUserEnvironment(&pEnv, TRUE);\r\n      }\r\n#endif\r\n      break;\r\n\r\n   case FM_GETFOCUS:\r\n   case FM_GETDRIVEINFOA:\r\n   case FM_GETDRIVEINFOW:\r\n   case FM_GETSELCOUNT:\r\n   case FM_GETSELCOUNTLFN:\r\n   case FM_GETFILESELA:\r\n   case FM_GETFILESELW:\r\n   case FM_GETFILESELLFNA:\r\n   case FM_GETFILESELLFNW:\r\n   case FM_REFRESH_WINDOWS:\r\n   case FM_RELOAD_EXTENSIONS:\r\n      return ExtensionMsgProc(wMsg, wParam, lParam);\r\n      break;\r\n\r\n   case WM_SETFOCUS:\r\n      UpdateMoveStatus(ReadMoveStatus());\r\n      goto DoDefault;\r\n\r\n   case WM_MENUSELECT:\r\n      {\r\n         UINT uTemp;\r\n\r\n\r\n         if (GET_WM_MENUSELECT_HMENU(wParam, lParam)) {\r\n\r\n            // Save the menu the user selected\r\n            uMenuID = GET_WM_MENUSELECT_CMD(wParam, lParam);\r\n            uMenuFlags = GET_WM_MENUSELECT_FLAGS(wParam, lParam);\r\n            hMenu = GET_WM_MENUSELECT_HMENU(wParam, lParam);\r\n            if (uMenuID >= IDM_CHILDSTART && uMenuID < IDM_HELPINDEX)\r\n               uMenuID = IDM_CHILDSTART;\r\n\r\n\r\n            // Handle child/frame sys menu decision\r\n\r\n            //\r\n            // If maximized, and the 0th menu is set,\r\n            // then it must be the MDI child system menu.\r\n            //\r\n            bMDIFrameSysMenu = (hMenu == GetSystemMenu(hwndFrame, FALSE));\r\n\r\n         }\r\n\r\n         DriveListMessage(wMsg, wParam, lParam, &uTemp);\r\n      }\r\n\r\n      break;\r\n\r\n   case WM_SYSCOMMAND:\r\n      if (GetFocus() == hwndDriveList)\r\n         SendMessage(hwndDriveList, CB_SHOWDROPDOWN, FALSE, 0L);\r\n      return DefFrameProc(hwnd, hwndMDIClient, wMsg, wParam, lParam);\r\n      break;\r\n\r\n   case WM_ENDSESSION:\r\n\r\n      if (wParam) {\r\n         // Yeah, I know I shouldn't have to save this, but I don't\r\n         // trust anybody\r\n\r\n         BOOL bSaveExit = bExitWindows;\r\n         bExitWindows = FALSE;\r\n\r\n         // Simulate an exit command to clean up, but don't display\r\n         // the \"are you sure you want to exit\", since somebody should\r\n         // have already taken care of that, and hitting Cancel has no\r\n         // effect anyway.\r\n\r\n         AppCommandProc(IDM_EXIT);\r\n         bExitWindows = bSaveExit;\r\n      }\r\n      break;\r\n\r\n   case WM_NOTIFY:\r\n      {\r\n         UINT uRetVal;\r\n         DriveListMessage(wMsg, wParam, lParam, &uRetVal);\r\n\r\n         return uRetVal;\r\n      }\r\n\r\n\r\n   case WM_DRAWITEM:\r\n   case WM_MEASUREITEM:\r\n      {\r\n         UINT uRetVal;\r\n         DriveListMessage(wMsg, wParam, lParam, &uRetVal);\r\n\r\n         if (uRetVal) break;\r\n\r\n         goto DoDefault;\r\n      }\r\n   case WM_CLOSE:\r\n\r\n      wParam = IDM_EXIT;\r\n\r\n      /*** FALL THROUGH to WM_COMMAND ***/\r\n\r\n   case WM_COMMAND:\r\n      {\r\n         UINT uRetVal;\r\n         DWORD dwTemp;\r\n\r\n         dwTemp = DriveListMessage(wMsg, wParam, lParam, &uRetVal);\r\n         if (uRetVal)\r\n            return(dwTemp);\r\n\r\n      }\r\n\r\n      if (AppCommandProc(GET_WM_COMMAND_ID(wParam, lParam)))\r\n         break;\r\n      if (GET_WM_COMMAND_ID(wParam, lParam) == IDM_EXIT) {\r\n\r\n            FreeExtensions();\r\n\r\n            DestroyWindow(hwnd);\r\n            break;\r\n         }\r\n          /*** FALL THROUGH ***/\r\n\r\n   default:\r\n\r\nDoDefault:\r\n\r\n      if (wMsg == wHelpMessage) {\r\n\r\n         if (GET_WM_COMMAND_ID(wParam, lParam) == MSGF_MENU) {\r\n\r\n            // Get outta menu mode if help for a menu item\r\n\r\n            if (uMenuID && hMenu) {\r\n               UINT m = uMenuID;       // save\r\n               HMENU hM = hMenu;\r\n               UINT mf = uMenuFlags;\r\n\r\n               SendMessage(hwnd, WM_CANCELMODE, 0, 0L);\r\n\r\n               uMenuID   = m;          // restore\r\n               hMenu = hM;\r\n               uMenuFlags = mf;\r\n            }\r\n\r\n            if (!(uMenuFlags & MF_POPUP)) {\r\n\r\n               //\r\n               // According to winhelp: GetSystemMenu, uMenuID >= 0x7000\r\n               // means system menu items!\r\n               //\r\n               // This should not be nec since MF_SYSMENU is set!\r\n               //\r\n               if (uMenuFlags & MF_SYSMENU || uMenuID >= 0xf000) {\r\n\r\n                  dwContext = bMDIFrameSysMenu ?\r\n                     IDH_SYSMENU :\r\n                     IDH_SYSMENUCHILD;\r\n\r\n               } else {\r\n\r\n                  INT iExt;\r\n\r\n                  iExt = uMenuID / 100 - 1;\r\n\r\n                  if (IDM_SECURITY == iExt) {\r\n\r\n                     WAITACLEDIT();\r\n\r\n                     if (lpfnAcledit) {\r\n                        (*lpfnAcledit)(hwndFrame, FMEVENT_HELPMENUITEM, uMenuID % 100);\r\n                     }\r\n\r\n                     return 0L;\r\n                  }\r\n\r\n                  iExt -= IDM_EXTENSIONS;\r\n\r\n                  if (0 <= iExt && iExt < iNumExtensions) {\r\n\r\n                     extensions[iExt].ExtProc(hwndFrame,\r\n                        FMEVENT_HELPMENUITEM, uMenuID % 100);\r\n\r\n                     return 0L;\r\n                  }\r\n\r\n                  dwContext = uMenuID + IDH_HELPFIRST;\r\n               }\r\n\r\n               WFHelp(hwnd);\r\n            }\r\n\r\n         }\r\n         else if (GET_WM_COMMAND_ID(wParam, lParam) == MSGF_DIALOGBOX) {\r\n\r\n            // context range for message boxes\r\n\r\n            if ((dwContext >= IDH_MBFIRST && dwContext <= IDH_MBLAST) ||\r\n                (dwContext == IDH_CTBAR))\r\n            {\r\n               WFHelp(hwnd);\r\n            }\r\n            else\r\n            {\r\n               // let dialog box deal with it\r\n               PostMessage(GetRealParent((HWND)lParam), wHelpMessage, 0, 0L);\r\n            }\r\n         }\r\n\r\n      }\r\n      else {\r\n         return DefFrameProc(hwnd, hwndMDIClient, wMsg, wParam, lParam);\r\n      }\r\n   }\r\n\r\n   return 0L;\r\n}\r\n\r\n\r\nLRESULT\r\nCALLBACK \r\nMessageFilter(INT nCode, WPARAM wParam, LPARAM lParam)\r\n{\r\n   LPMSG lpMsg = (LPMSG)lParam;\r\n\r\n   if (nCode < 0)\r\n      goto DefHook;\r\n\r\n   if (nCode == MSGF_MENU) {\r\n\r\n      if (lpMsg->message == WM_KEYDOWN && lpMsg->wParam == VK_F1) {\r\n         // Window of menu we want help for is in loword of lParam.\r\n\r\n         PostMessage(hwndFrame, wHelpMessage, MSGF_MENU, (LPARAM)lpMsg->hwnd);\r\n         return 1;\r\n      }\r\n\r\n   }\r\n   else if (nCode == MSGF_DIALOGBOX) {\r\n\r\n      if (lpMsg->message == WM_KEYDOWN && lpMsg->wParam == VK_F1) {\r\n         // Dialog box we want help for is in loword of lParam\r\n\r\n         PostMessage(hwndFrame, wHelpMessage, MSGF_DIALOGBOX, (LPARAM)lpMsg->hwnd);\r\n         return 1;\r\n      }\r\n\r\n   } else\r\n\r\nDefHook:\r\n      return (INT)DefHookProc(nCode, wParam, (LPARAM)lpMsg, &hhkMsgFilter);\r\n\r\n  return 0;\r\n}\r\n\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     EnablePropertiesMenu\r\n//\r\n// Synopsis: Check if we enable the Properties... menu item\r\n//           Disable if:\r\n//\r\n//           1. _ONLY_ the .. dir is sel\r\n//           2. Nothing is selected in the window with focus\r\n//\r\n// IN    hwndActive   Current active window, has listbox in LASTFOCUS\r\n// IN    pSel         Current sel\r\n//\r\n// Return:   TRUE if Properties... should be enabled.\r\n//\r\n//\r\n// Assumes:\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nEnablePropertiesMenu(\r\n   HWND hwndActive,\r\n   LPWSTR pSel)\r\n{\r\n   LPXDTALINK lpStart;\r\n   LRESULT dwHighlight;  // Number of highlighted entries in listbox\r\n   LPXDTA lpxdta;    // Pointer to listbox DTA data\r\n   BOOL bRet;        // Return value\r\n   HWND hwndLB;\r\n   HWND hwndDir;\r\n   HWND hwndTree;\r\n   HWND hwndParent;\r\n\r\n   bRet = FALSE;\r\n\r\n   //\r\n   // Quit if pSel == NULL (File selected before any window created)\r\n   //\r\n   if (!pSel)\r\n      return (FALSE);\r\n\r\n   hwndLB = (HWND)GetWindowLongPtr(hwndActive, GWL_LASTFOCUS);\r\n\r\n   if (!hwndLB)\r\n      return (FALSE);\r\n\r\n   dwHighlight = SendMessage(hwndLB, LB_GETSELCOUNT, 0, 0L);\r\n\r\n   //\r\n   // This is OK since the search window can never contain the root\r\n   //\r\n   if (hwndActive == hwndSearch)\r\n      return (dwHighlight >= 1);\r\n\r\n   hwndTree = HasTreeWindow(hwndActive);\r\n   hwndDir = HasDirWindow(hwndActive);\r\n   hwndParent = GetParent(hwndLB);\r\n\r\n   if (hwndParent == hwndDir) {\r\n\r\n      //\r\n      // Lock down DTA data\r\n      //\r\n      if (!(lpStart = (LPXDTALINK)GetWindowLongPtr(GetParent(hwndLB), GWL_HDTA)))\r\n         return (FALSE);\r\n\r\n      if (dwHighlight <= 0)\r\n         goto ReturnFalse;\r\n\r\n      if (dwHighlight > 1)\r\n         goto ReturnTrue;\r\n\r\n      //\r\n      // If exactly one element is highlighted, make sure it is not ..\r\n      //\r\n      if (!(BOOL) SendMessage(hwndLB, LB_GETSEL, 0, 0L))\r\n         goto ReturnTrue;\r\n\r\n      //\r\n      // Get the DTA index.\r\n      //\r\n      if (SendMessage(hwndLB,\r\n                      LB_GETTEXT,\r\n                      0,\r\n                      (LPARAM)&lpxdta) == LB_ERR || !lpxdta) {\r\n         goto ReturnFalse;\r\n      }\r\n\r\n      if ((lpxdta->dwAttrs & ATTR_DIR) &&\r\n         (lpxdta->dwAttrs & ATTR_PARENT))\r\n         goto ReturnFalse;\r\n\r\nReturnTrue:\r\n\r\n      bRet = TRUE;\r\n\r\nReturnFalse:\r\n\r\n      return (bRet);\r\n   }\r\n\r\n   //\r\n   // If this is the tree window and we are not in the middle of ReadDirLevel\r\n   // then it is OK to change properties.\r\n   //\r\n   if (hwndParent == hwndTree) {\r\n      if (SendMessage(hwndLB, LB_GETCURSEL, 0, 0L) != LB_ERR &&\r\n         !GetWindowLongPtr(hwndTree, GWL_READLEVEL))\r\n\r\n      return(TRUE);\r\n   }\r\n\r\n   return(FALSE);\r\n}\r\n\r\nBOOL\r\nbDialogMessage(PMSG pMsg)\r\n{\r\n   if ((CancelInfo.hCancelDlg &&\r\n      !CancelInfo.bModal &&\r\n      IsDialogMessage(CancelInfo.hCancelDlg, pMsg)) ||\r\n\r\n      (hwndFormatSelect &&\r\n      IsDialogMessage(hwndFormatSelect, pMsg)) ||\r\n\r\n      (SearchInfo.hSearchDlg &&\r\n      IsDialogMessage(SearchInfo.hSearchDlg, pMsg)))\r\n\r\n      return TRUE;\r\n\r\n   return FALSE;\r\n}\r\n\r\n"
  },
  {
    "path": "src/winfile.exe.manifest",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<assembly xmlns=\"urn:schemas-microsoft-com:asm.v1\" manifestVersion=\"1.0\" xmlns:asmv3=\"urn:schemas-microsoft-com:asm.v3\">\n\t<dependency>\n\t\t<dependentAssembly>\n\t\t\t<assemblyIdentity\n\t\t\t\ttype=\"Win32\"\n\t\t\t\tname=\"Microsoft.Windows.Common-Controls\"\n\t\t\t\tversion=\"6.0.0.0\"\n\t\t\t\tprocessorArchitecture=\"*\"\n\t\t\t\tpublicKeyToken=\"6595b64144ccf1df\"\n\t\t\t\tlanguage=\"*\"\n\t\t\t\t/>\n\t\t</dependentAssembly>\n\t</dependency>\n\n  <compatibility xmlns=\"urn:schemas-microsoft-com:compatibility.v1\">\n    <application>\n      <!-- Windows Vista -->\n      <supportedOS Id=\"{e2011457-1546-43c5-a5fe-008deee3d3f0}\" />\n      <!-- Windows 7 -->\n      <supportedOS Id=\"{35138b9a-5d96-4fbd-8e2d-a2440225f93a}\" />\n      <!-- Windows 8 -->\n      <supportedOS Id=\"{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}\" />\n      <!-- Windows 8.1 -->\n      <supportedOS Id=\"{1f676c76-80e1-4239-95bb-83d0f6d0da78}\" />\n      <!-- Windows 10 -->\n      <supportedOS Id=\"{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}\" />\n    </application>\n  </compatibility>\n  <asmv3:application>\n    <asmv3:windowsSettings xmlns:ws2=\"http://schemas.microsoft.com/SMI/2016/WindowsSettings\">\n      <ws2:longPathAware>true</ws2:longPathAware>\n    </asmv3:windowsSettings>\n  </asmv3:application>\n</assembly>\n"
  },
  {
    "path": "src/winfile.h",
    "content": "/**************************************************************************\r\n\r\n   winfile.h\r\n\r\n   Include for WINFILE program\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n**************************************************************************/\r\n\r\n#define TOOLBAR\r\n#define NOCOMM\r\n#define WIN31\r\n#define NTFS\r\n\r\n#include <windows.h>\r\n#include <windowsX.h>\r\n#include <setjmp.h>\r\n#include <string.h>\r\n#include <memory.h>\r\n#include \"mpr.h\"\r\n#include <npapi.h>\r\n#include \"wfext.h\"\r\n#include <commdlg.h>\r\n#include <commctrl.h>\r\n#include \"fmifs.h\"\r\n#include <shellapi.h>\r\n#include <shlwapi.h>\r\n#include <strsafe.h>\r\n#include \"suggest.h\"\r\n#include \"numfmt.h\"\r\n\r\n#include \"wfexti.h\"\r\n#include \"wfhelp.h\"\r\n\r\n#include \"wfdocb.h\"\r\n#include \"wfmem.h\"\r\n#include \"res.h\"\r\n\r\n#ifdef HEAPCHECK\r\n#include \"heap.h\"\r\n#endif\r\n//\r\n// Japan markers:\r\n//\r\n\r\n#define STKCHK()\r\n\r\n#ifdef UNICODE\r\n#ifdef atoi\r\n#undef atoi\r\n#endif\r\n\r\n// old winuserp.h\r\n#define WM_DROPOBJECT                   0x022A\r\n#define WM_QUERYDROPOBJECT              0x022B\r\n#define WM_BEGINDRAG                    0x022C\r\n#define WM_DRAGLOOP                     0x022D\r\n#define WM_DRAGSELECT                   0x022E\r\n#define WM_DRAGMOVE                     0x022F\r\n\r\n#define WM_LBTRACKPOINT                 0x0131\r\n\r\n#ifdef  UNICODE                     // r_winnt\r\ntypedef WCHAR TUCHAR, *PTUCHAR;\r\n#else   /* UNICODE */               // r_winnt\r\ntypedef unsigned char TUCHAR, *PTUCHAR;\r\n#endif /* UNICODE */                // r_winnt\r\n\r\n\r\n//\r\n//  Define things that would be present on new SDKs but may not be present on\r\n//  older SDKs.  XP support uses a Windows 7.1 SDK, which is effectively the\r\n//  \"oldest\" that this code can use.\r\n//\r\n\r\n#ifndef SYMBOLIC_LINK_FLAG_DIRECTORY\r\n#define SYMBOLIC_LINK_FLAG_DIRECTORY                  (0x01)\r\n#endif\r\n\r\n#ifndef SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE\r\n#define SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE  (0x02)\r\n#endif\r\n\r\n#ifndef COPY_FILE_COPY_SYMLINK\r\n#define COPY_FILE_COPY_SYMLINK                        (0x800)\r\n#endif\r\n\r\n#ifndef IO_REPARSE_TAG_CLOUD\r\n#define IO_REPARSE_TAG_CLOUD                          (0x9000001AL)\r\n#define IO_REPARSE_TAG_CLOUD_1                        (0x9000101AL)\r\n#define IO_REPARSE_TAG_CLOUD_2                        (0x9000201AL)\r\n#define IO_REPARSE_TAG_CLOUD_3                        (0x9000301AL)\r\n#define IO_REPARSE_TAG_CLOUD_4                        (0x9000401AL)\r\n#define IO_REPARSE_TAG_CLOUD_5                        (0x9000501AL)\r\n#define IO_REPARSE_TAG_CLOUD_6                        (0x9000601AL)\r\n#define IO_REPARSE_TAG_CLOUD_7                        (0x9000701AL)\r\n#define IO_REPARSE_TAG_CLOUD_8                        (0x9000801AL)\r\n#define IO_REPARSE_TAG_CLOUD_9                        (0x9000901AL)\r\n#define IO_REPARSE_TAG_CLOUD_A                        (0x9000A01AL)\r\n#define IO_REPARSE_TAG_CLOUD_B                        (0x9000B01AL)\r\n#define IO_REPARSE_TAG_CLOUD_C                        (0x9000C01AL)\r\n#define IO_REPARSE_TAG_CLOUD_D                        (0x9000D01AL)\r\n#define IO_REPARSE_TAG_CLOUD_E                        (0x9000E01AL)\r\n#define IO_REPARSE_TAG_CLOUD_F                        (0x9000F01AL)\r\n#define IO_REPARSE_TAG_CLOUD_MASK                     (0x0000F000L)\r\n#endif\r\n\r\n\r\n#define atoi atoiW\r\nINT atoiW(LPWSTR sz);\r\n#endif //UNICODE\r\n\r\n#define SIZENOMDICRAP       944\r\n#define MAX_TAB_COLUMNS     10\r\n\r\n#define MAXDOSFILENAMELEN   (12+1)            // includes the NULL\r\n#define MAXDOSPATHLEN       (68+MAXDOSFILENAMELEN)  // includes the NULL\r\n\r\n#define MAXLFNFILENAMELEN   1024\r\n#define MAXLFNPATHLEN       1024\r\n\r\n#define MAXFILENAMELEN      MAXLFNFILENAMELEN\r\n#define MAXPATHLEN          MAXLFNPATHLEN\r\n\r\n#define MAXTITLELEN         128\r\n#define MAXSUGGESTLEN       260    // for non-expanding suggest message\r\n#define MAXERRORLEN         (MAXPATHLEN + MAXSUGGESTLEN)\r\n#define MAXMESSAGELEN       (MAXPATHLEN * 2 + MAXSUGGESTLEN)\r\n\r\n#define MAX_WINDOWS         27\r\n#define MAX_DRIVES          26\r\n\r\n// struct for volume info\r\n\r\n#define MAX_VOLNAME             MAXPATHLEN\r\n#define MAX_FILESYSNAME         MAXPATHLEN\r\n\r\n// Maximum size of an extension, including NULL\r\n#define EXTSIZ 8\r\n\r\n#define TA_LOWERCASE    0x01\r\n#define TA_BOLD     0x02\r\n#define TA_ITALIC   0x04\r\n#define TA_LOWERCASEALL 0x08\r\n\r\n\r\n#define FF_NULL 0x0\r\n#define FF_ONLYONE 0x1000\r\n#define FF_PRELOAD 0x2000\r\n#define FF_RETRY   0x4000\r\n\r\n#define SZ_NTLDR          TEXT(\"NTLDR\")\r\n\r\n#define SZ_DQUOTE         TEXT(\"\\\"\")\r\n#define SZ_DOT            TEXT(\".\")\r\n#define SZ_DOTDOT         TEXT(\"..\")\r\n#define SZ_QUESTION       TEXT(\"?\")\r\n#define SZ_ACOLONSLASH    TEXT(\"A:\\\\\")\r\n#define SZ_ACOLON         TEXT(\"A:\")\r\n\r\n#define SZ_PERCENTD       TEXT(\"%d\")\r\n#define SZ_PERCENTFORMAT  TEXT(\"%3d%%\")\r\n\r\n#define SZ_NTFSNAME       TEXT(\"NTFS\")\r\n#define SZ_FATNAME        TEXT(\"FAT\")\r\n#define SZ_FILESYSNAMESEP TEXT(\" - \")\r\n#define SZ_CLOSEBRACK     TEXT(\"]\")\r\n#define SZ_BACKSLASH      TEXT(\"\\\\\")\r\n#define SZ_COLON          TEXT(\":\")\r\n#define SZ_STAR           TEXT(\"*\")\r\n#define SZ_DOTSTAR        TEXT(\".*\")\r\n#define SZ_COLONONE       TEXT(\":1\")\r\n#define SZ_SPACEDASHSPACE TEXT(\" - \")\r\n\r\n\r\n#define CHAR_DASH TEXT('-')\r\n#define CHAR_CARET TEXT('^')\r\n#define CHAR_UNDERSCORE TEXT('_')\r\n#define CHAR_AND TEXT('&')\r\n#define CHAR_TAB TEXT('\\t')\r\n#define CHAR_LESS TEXT('<')\r\n#define CHAR_GREATER TEXT('>')\r\n#define CHAR_EQUAL TEXT('=')\r\n#define CHAR_PLUS TEXT('+')\r\n#define CHAR_SEMICOLON TEXT(';')\r\n#define CHAR_COMMA TEXT(',')\r\n#define CHAR_PIPE TEXT('|')\r\n#define CHAR_BACKSLASH TEXT('\\\\')\r\n#define CHAR_SLASH TEXT('/')\r\n#define CHAR_OPENBRACK TEXT('[')\r\n#define CHAR_CLOSEBRACK TEXT(']')\r\n#define CHAR_ZERO TEXT('0')\r\n#define CHAR_COLON TEXT(':')\r\n#define CHAR_SPACE TEXT(' ')\r\n#define CHAR_NEWLINE TEXT('\\n')\r\n\r\n#define CHAR_DOT TEXT('.')\r\n#define CHAR_OPENPAREN TEXT('(')\r\n#define CHAR_CLOSEPAREN TEXT(')')\r\n#define CHAR_HASH TEXT('#')\r\n#define CHAR_DQUOTE TEXT('\"')\r\n\r\n#define CHAR_NULL TEXT('\\0')\r\n#define CHAR_QUESTION TEXT('?')\r\n#define CHAR_STAR TEXT('*')\r\n#define CHAR_PERCENT TEXT('%')\r\n\r\n#define CHAR_A TEXT('A')\r\n#define CHAR_a TEXT('a')\r\n#define CHAR_Z TEXT('Z')\r\n\r\n// Default char for untranslatable unicode\r\n// MUST NOT BE an acceptable char for file systems!!\r\n// (GetNextPair scans for this and uses altname)\r\n#define CHAR_DEFAULT CHAR_QUESTION\r\n\r\n#define FM_EXT_PROC_ENTRYA \"FMExtensionProc\"\r\n#define FM_EXT_PROC_ENTRYW \"FMExtensionProcW\"\r\n\r\n#define FILE_NOTIFY_CHANGE_FLAGS (FILE_NOTIFY_CHANGE_FILE_NAME | \\\r\n   FILE_NOTIFY_CHANGE_DIR_NAME | FILE_NOTIFY_CHANGE_SIZE)\r\n\r\n#define DwordAlign(cb)      (((cb) + 3) & ~3)\r\n#define ISDOTDIR(x)  (x[0]==CHAR_DOT && (!x[1] || (x[1] == CHAR_DOT && !x[2])))\r\n#define ISUNCPATH(x) (CHAR_BACKSLASH == x[0] && CHAR_BACKSLASH == x[1])\r\n#define DRIVESET(str, drive) (str[0] = CHAR_A + (drive))\r\n#define COUNTOF(x) (sizeof(x)/sizeof(*x))\r\n#define ByteCountOf(x) ((x)*sizeof(TCHAR))\r\n#define abs(x) (((x) < 0) ? -(x) : (x))\r\n\r\n#define DRIVEID(path) ((path[0] - CHAR_A)&31)\r\n\r\n#define IsDocument(lpszPath)       IsBucketFile(lpszPath, ppDocBucket)\r\n#define IsProgramFile(lpszPath)    IsBucketFile(lpszPath, ppProgBucket)\r\n#define IsProgramIconFile(lpszPath) IsBucketFile(lpszPath, ppProgIconBucket)\r\n\r\n//\r\n// Some typedefs\r\n//\r\n\r\ntypedef HWND *PHWND;\r\ntypedef INT DRIVE;\r\ntypedef INT DRIVEIND;\r\n\r\n#include \"wfinfo.h\"\r\n\r\ntypedef struct _CANCEL_INFO {\r\n   HWND hCancelDlg;\r\n   BOOL bCancel;\r\n   HANDLE hThread;\r\n   BOOL fmifsSuccess;\r\n   UINT dReason;\r\n   UINT fuStyle;                      // Message box style\r\n   INT  nPercentDrawn;                // percent drawn so FAR\r\n   enum _CANCEL_TYPE {\r\n      CANCEL_NULL=0,\r\n      CANCEL_FORMAT,\r\n      CANCEL_COPY,\r\n      CANCEL_BACKUP,\r\n      CANCEL_RESTORE,\r\n      CANCEL_COMPRESS,\r\n      CANCEL_UNCOMPRESS\r\n   } eCancelType;\r\n   BOOL bModal;\r\n   struct _INFO {\r\n      struct _FORMAT {\r\n         INT iFormatDrive;\r\n         FMIFS_MEDIA_TYPE fmMediaType;\r\n         BOOL fQuick;\r\n         DWORD fFlags;                 // FF_ONLYONE = 0x1000\r\n         TCHAR szLabel[13];\r\n      } Format;\r\n      struct _COPY {\r\n         INT iSourceDrive;\r\n         INT iDestDrive;\r\n         BOOL bFormatDest;\r\n      } Copy;\r\n   } Info;\r\n} CANCEL_INFO, *PCANCEL_INFO;\r\n\r\n\r\ntypedef struct _SEARCH_INFO {\r\n   HWND hSearchDlg;\r\n   INT iDirsRead;\r\n   INT iFileCount;\r\n   DWORD dwError;\r\n   HANDLE hThread;\r\n   HWND hwndLB;\r\n   BOOL bUpdateStatus;\r\n   BOOL bCancel;\r\n   BOOL bDontSearchSubs;\r\n   BOOL bIncludeSubDirs;\r\n   BOOL bCasePreserved;\r\n   INT iRet;\r\n   LPXDTALINK lpStart;\r\n   enum _SEARCH_STATUS {\r\n      SEARCH_NULL=0,\r\n      SEARCH_CANCEL,\r\n      SEARCH_ERROR,\r\n      SEARCH_MDICLOSE\r\n   } eStatus;\r\n   WCHAR szSearch[MAXPATHLEN+1];\r\n   FILETIME ftSince;            // UTC\r\n} SEARCH_INFO, *PSEARCH_INFO;\r\n\r\ntypedef struct _COPYINFO {\r\n   LPTSTR pFrom;\r\n   LPTSTR pTo;\r\n   DWORD dwFunc;\r\n   BOOL bUserAbort;\r\n} COPYINFO, *PCOPYINFO;\r\n\r\ntypedef enum eISELTYPE {\r\n   SELTYPE_ALL = 0,\r\n   SELTYPE_FIRST = 1,\r\n   SELTYPE_TESTLFN = 2,\r\n   SELTYPE_QUALIFIED = 4,\r\n   SELTYPE_FILESPEC = 8,\r\n   SELTYPE_NOCHECKESC = 16,\r\n   SELTYPE_SHORTNAME = 32\r\n} ISELTYPE;\r\n\r\n// struct for save and restore of window positions\r\n\r\ntypedef struct {\r\n\r\n   //\r\n   // *2 since may have huge filter\r\n   //\r\n   WCHAR szDir[2*MAXPATHLEN];\r\n\r\n   //\r\n   // Next block of fields must be together (11 DWORDS)\r\n   //\r\n   RECT  rc;\r\n   POINT pt;\r\n   INT  sw;\r\n   DWORD dwView;\r\n   DWORD dwSort;\r\n   DWORD dwAttribs;\r\n   INT   nSplit;\r\n} WINDOW, *PWINDOW;\r\n\r\ntypedef struct _SELINFO *PSELINFO;\r\n\r\n//--------------------------------------------------------------------------\r\n//\r\n//  Function Templates\r\n//\r\n//--------------------------------------------------------------------------\r\n\r\n\r\n// WFDLGS3.C\r\n\r\nVOID FormatDiskette(HWND hwnd, BOOL bModal);\r\nVOID CopyDiskEnd(VOID);\r\nVOID FormatEnd(VOID);\r\nVOID DestroyCancelWindow(VOID);\r\nVOID  UpdateConnections(BOOL bUpdateDriveList);\r\n\r\n\r\n// WFDLGS.C\r\n\r\nVOID ActivateCommonContextMenu(HWND hwnd, HWND hwndLB, LPARAM lParam);\r\nVOID KillQuoteTrailSpace( LPTSTR szFile );\r\nVOID SaveWindows(HWND hwndMain);\r\nVOID NewFont(VOID);\r\n\r\n\r\n// WFCHGNOT.C\r\n\r\nVOID InitializeWatchList(VOID);\r\nVOID ModifyWatchList(HWND hwndWatch, LPTSTR lpPath, DWORD fdwFilter);\r\nVOID DestroyWatchList(VOID);\r\nVOID NotifyPause(DRIVE drive, UINT uType);\r\nVOID NotifyResume(DRIVE drive, UINT uType);\r\nVOID ChangeNotify(INT iEvent);\r\nVOID ChangeNotifyRefresh(DWORD iEvent);\r\nVOID vWaitMessage();\r\n\r\n\r\n// WFCOMMAN.C\r\n\r\nVOID RedoDriveWindows(HWND);\r\nBOOL FmifsLoaded(VOID);\r\nVOID  ChangeFileSystem(DWORD dwOper, LPCTSTR lpPath, LPCTSTR lpTo);\r\nHWND  CreateDirWindow(LPWSTR szPath, BOOL bReplaceOpen, HWND hwndActive);\r\nHWND CreateTreeWindow(LPWSTR szPath, INT x, INT y, INT dx, INT dy, INT dxSplit);\r\nVOID SwitchToSafeDrive();\r\nDWORD ReadMoveStatus();\r\nVOID UpdateMoveStatus(DWORD dwEffect);\r\n\r\n\r\n// WFDOS.C\r\n\r\nVOID GetDiskSpace(DRIVE drive, PULARGE_INTEGER pqFreeSpace, PULARGE_INTEGER pqTotalSpace);\r\nINT   ChangeVolumeLabel(DRIVE, LPTSTR);\r\nDWORD GetVolumeLabel(DRIVE, LPTSTR*, BOOL);\r\nDWORD\r\nFillVolumeInfo(DRIVE drive, LPTSTR lpszVolName, PDWORD pdwVolumeSerialNumber,\r\n   PDWORD pdwMaximumComponentLength, PDWORD pdwFileSystemFlags,\r\n   LPTSTR lpszFileSysName);\r\n\r\nDWORD  WF_CreateDirectory(HWND, LPTSTR, LPTSTR);\r\n\r\n\r\n// WFEXT.C\r\n\r\nVOID ExtSelItemsInvalidate();\r\n\r\n\r\n// WFUTIL.C\r\n\r\nLPWSTR pszNextComponent(LPWSTR pszCmdLine);\r\nLPWSTR pszRemoveSurroundingQuotes(LPWSTR p);\r\nVOID cdecl SetStatusText(INT nPane, UINT nFormat, LPCTSTR szFormat, ...);\r\nVOID RefreshWindow(HWND hwndActive, BOOL bUpdateDriveList, BOOL bFlushCache);\r\nBOOL IsLastWindow(VOID);\r\nLPTSTR AddCommasInternal(LPTSTR szBuf, DWORD dw);\r\n\r\nVOID InvalidateChildWindows(HWND hwnd);\r\nBOOL IsValidDisk(DRIVE drive);\r\nLPTSTR GetSelection(INT iSelType, PBOOL pbDir);\r\nLPTSTR GetNextFile(LPTSTR pCurSel, LPTSTR szFile, INT size);\r\n\r\nVOID  SetWindowDirectory(VOID);\r\nVOID  SetDlgDirectory(HWND hDlg, LPTSTR pszPath);\r\nVOID  WritePrivateProfileBool(LPTSTR szKey, BOOL bParam);\r\nVOID  WritePrivateProfileInt(LPTSTR szKey, INT wParam);\r\nBOOL  IsWild(LPTSTR lpszPath);\r\nUINT  AddBackslash(LPTSTR lpszPath);\r\nVOID  StripBackslash(LPTSTR lpszPath);\r\nVOID  StripFilespec(LPTSTR lpszPath);\r\nVOID  StripPath(LPTSTR lpszPath);\r\nLPTSTR GetExtension(LPTSTR pszFile);\r\nBOOL  FindExtensionInList(LPTSTR pszExt, LPTSTR pszList);\r\nINT   MyMessageBox(HWND hWnd, DWORD idTitle, DWORD idMessage, DWORD dwStyle);\r\nDWORD ExecProgram(LPTSTR,LPTSTR,LPTSTR,BOOL,BOOL);\r\nPDOCBUCKET IsBucketFile(LPTSTR lpszPath, PPDOCBUCKET ppDocBucket);\r\nBOOL  IsNTFSDrive(DRIVE);\r\nBOOL  IsCasePreservedDrive(DRIVE);\r\n\r\nBOOL  IsRemovableDrive(DRIVE);\r\nBOOL  IsRemoteDrive(DRIVE);\r\nVOID  SetMDIWindowText(HWND hwnd, LPTSTR szTitle);\r\nINT   GetMDIWindowText(HWND hwnd, LPTSTR szTitle, INT size);\r\nBOOL  ResizeSplit(HWND hWnd, INT dxSplit);\r\nVOID  CheckEsc(LPTSTR);\r\nVOID  GetMDIWindowVolume(HWND hWnd, LPTSTR szTitle, INT size);\r\nBOOL TypeAheadString(WCHAR ch, LPWSTR szT);\r\n\r\nVOID SaveHistoryDir(HWND hwnd, LPWSTR szDir);\r\nBOOL GetPrevHistoryDir(BOOL forward, HWND *phwnd, LPWSTR szDir);\r\n\r\n// WFDIR.C\r\n\r\nVOID   UpdateStatus(HWND hWnd);\r\nLPWSTR DirGetSelection(HWND hwndDir, HWND hwndView, HWND hwndLB, INT iSelType, BOOL *pfDir, PINT piLastSel);\r\nVOID   FillDirList(HWND hwndDir, LPXDTALINK lpStart);\r\nVOID   CreateLBLine(DWORD dwLineFormat, LPXDTA lpxdta, LPTSTR szBuffer);\r\nINT    GetMaxExtent(HWND hwndLB, LPXDTALINK lpXDTA, BOOL bNTFS);\r\nVOID   UpdateSelection(HWND hwndLB);\r\n\r\nINT  PutDate(LPFILETIME lpftDate, LPTSTR szStr);\r\nINT  PutTime(LPFILETIME lpftTime, LPTSTR szStr);\r\nINT  PutSize(PLARGE_INTEGER pqSize, LPTSTR szOutStr);\r\nINT  PutAttributes(DWORD dwAttribute, LPTSTR szStr);\r\nHWND GetMDIChildFromDescendant(HWND hwnd);\r\nVOID SetLBFont(HWND hwnd, HWND hwndLB, HANDLE hNewFont, DWORD dwViewFlags, LPXDTALINK lpStart);\r\n\r\n\r\n// WFDIRRD.C\r\n\r\nBOOL  InitDirRead(VOID);\r\nVOID  DestroyDirRead(VOID);\r\nLPXDTALINK CreateDTABlock(HWND hwnd, LPWSTR pPath, DWORD dwAttribs, BOOL bDontSteal);\r\nVOID  FreeDTA(HWND hwnd);\r\nVOID  DirReadDestroyWindow(HWND hwndDir);\r\nLPXDTALINK DirReadDone(HWND hwndDir, LPXDTALINK lpStart, INT iError);\r\nVOID  BuildDocumentString(VOID);\r\nVOID  BuildDocumentStringWorker(VOID);\r\n\r\n// WFDIRSRC.C\r\n\r\nHCURSOR  GetMoveCopyCursor(VOID);\r\nVOID  DrawItem(HWND hwnd, DWORD dwViewOpts, LPDRAWITEMSTRUCT lpLBItem, BOOL bHasFocus);\r\nVOID  DSDragLoop(HWND hwndLB, WPARAM wParam, LPDROPSTRUCT lpds);\r\nBOOL  DSRectItem(HWND hwndLB, INT iSel, BOOL bFocusOn, BOOL bSearch);\r\nVOID  DSDragScrollSink(LPDROPSTRUCT lpds);\r\nINT   DSTrackPoint(HWND hWnd, HWND hwndLB, WPARAM wParam, LPARAM lParam, BOOL bSearch);\r\nVOID  DSSetSelection(HWND hwndLB, BOOL bSelect, LPTSTR szSpec, BOOL bSearch);\r\nBOOL  DSDropObject(HWND hwndHolder, HWND hwndLB, LPDROPSTRUCT lpds, BOOL bSearch);\r\nINT   FixTabsAndThings(HWND hwndLB, WORD *pwTabs, INT iMaxWidthFileName, INT iMaxWidthNTFSFileName, DWORD dwViewOpts);\r\nLPWSTR SkipPathHead(LPWSTR lpszPath);\r\n\r\n\r\n// WFPRINT.C\r\n\r\nDWORD  WFPrint(LPTSTR szFile);\r\n\r\n\r\n// WINFILE.C\r\n\r\nBOOL InitPopupMenus(UINT uMenus, HMENU hMenu, HWND hwndActive);\r\nLRESULT CALLBACK MessageFilter(INT nCode, WPARAM wParam, LPARAM lParam);\r\n\r\n\r\n// WFTREE.C\r\n\r\nBOOL  CompactPath(HDC hdc, LPTSTR szPath, DWORD dx);\r\nVOID  ResizeWindows(HWND hwndParent, INT dxWindow, INT dyWindow);\r\nVOID  GetTreeWindows(HWND hwnd, PHWND phwndTree, PHWND phwndDir);\r\nHWND  GetTreeFocus(HWND hWnd);\r\nVOID  SwitchDriveSelection(HWND hwndActive, BOOL bSelectToolbarDrive);\r\n\r\n\r\n// WFINIT.C\r\n\r\nVOID  GetInternational(VOID);\r\nBOOL  LoadBitmaps(VOID);\r\nBOOL  InitFileManager(HANDLE hInstance, LPTSTR lpCmdLine, INT nCmdShow);\r\nVOID  InitDriveBitmaps(VOID);\r\nVOID  InitExtensions(VOID);\r\nVOID  FreeFileManager(VOID);\r\nVOID  DeleteBitmaps(VOID);\r\nBOOL  CreateSavedWindows(LPCWSTR pszInitialDir);\r\nVOID  InitExtensions(VOID);\r\nINT   GetDriveOffset(DRIVE drive);\r\nVOID  InitMenus(VOID);\r\nUINT  MapIDMToMenuPos(UINT idm);\r\nUINT  MapMenuPosToIDM(UINT pos);\r\nVOID  LoadFailMessage(VOID);\r\nUINT  FillDocType(PPDOCBUCKET ppDoc, LPCWSTR pszSection, LPCWSTR pszDefault);\r\nBOOL  CheckDirExists(LPWSTR szDir);\r\n\r\nDWORD StartBuildingDirectoryTrie();\r\n\r\n\r\n// WFCOPY.C\r\n\r\nDWORD  DMMoveCopyHelper(LPTSTR pFrom, LPTSTR pTo, INT iOperation);\r\nDWORD  WFMoveCopyDriver(PCOPYINFO pCopyInfo);\r\nDWORD WINAPI WFMoveCopyDriverThread(LPVOID lpParameter);\r\n\r\nBOOL  IsDirectory(LPTSTR pPath);\r\nBOOL  IsTheDiskReallyThere(HWND hwnd, LPTSTR pPath, DWORD wFunc, BOOL bModal);\r\nBOOL  QualifyPath(LPTSTR);\r\nINT   CheckMultiple(LPTSTR pInput);\r\nVOID  SetDlgItemPath(HWND hDlg, INT id, LPTSTR pszPath);\r\nDWORD NetCheck(LPTSTR pPath, DWORD dwType);\r\n\r\nVOID DialogEnterFileStuff(HWND hwnd);\r\n\r\n\r\n// WFUTIL.C\r\n\r\nVOID  GetAllDirectories(LPTSTR rgszDirs[]);\r\nBOOL  GetDriveDirectory(INT iDrive, LPTSTR pszDir);\r\nVOID  GetSelectedDirectory(INT iDrive, LPTSTR pszDir);\r\nVOID  SaveDirectory(LPTSTR pszDir);\r\nINT   GetSelectedDrive(VOID);\r\nVOID  GetTextStuff(HDC hdc);\r\nINT   GetHeightFromPointsString(LPTSTR szPoints);\r\nINT   GetDrive(HWND hwnd, POINT pt);\r\nVOID  CheckSlashes(LPTSTR);\r\n// DWORD IsNetDrive(DRIVE drive);\r\nBOOL  IsCDRomDrive(DRIVE drive);\r\nBOOL  IsRamDrive(DRIVE drive);\r\nVOID  CleanupMessages();\r\nHWND  GetRealParent(HWND hwnd);\r\nVOID  WFHelp(HWND hwnd);\r\nLONG  WFRegGetValueW(HKEY hkey, LPCWSTR lpSubKey, LPCWSTR lpValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData);\r\nLPTSTR GetFullPathInSystemDirectory(LPCTSTR FileName);\r\nHMODULE LoadSystemLibrary(LPCTSTR FileName);\r\n\r\n// WFDRIVES.C\r\n\r\nBOOL CheckDrive(HWND hwnd, DRIVE drive, DWORD dwFunc);\r\nVOID  NewTree(DRIVE drive, HWND hWnd);\r\nVOID  GetDriveRect(DRIVEIND driveInd, PRECT prc);\r\n\r\n\r\n// Wnd Procs\r\n\r\nLRESULT CALLBACK FrameWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nBOOL  AppCommandProc(DWORD id);\r\nLRESULT CALLBACK TreeWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nLRESULT CALLBACK DriveWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nLRESULT CALLBACK DrivesWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nLRESULT CALLBACK VolumeWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nLRESULT CALLBACK TreeChildWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nLRESULT CALLBACK TreeControlWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nLRESULT CALLBACK DirWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\n\r\nLRESULT CALLBACK SearchWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nLRESULT CALLBACK DirListBoxWndProc(HWND hWnd, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nExtern VOID (*lpfnFormat)(PWSTR,FMIFS_MEDIA_TYPE,PWSTR,PWSTR,BOOLEAN,FMIFS_CALLBACK);\r\nExtern VOID (*lpfnDiskCopy)(PWSTR,PWSTR,BOOLEAN,FMIFS_CALLBACK);\r\nExtern BOOLEAN (*lpfnSetLabel)(PWSTR,PWSTR);\r\nExtern BOOLEAN (*lpfnQuerySupportedMedia)(PWSTR,PFMIFS_MEDIA_TYPE,DWORD,PDWORD);\r\nBOOL Callback_Function(FMIFS_PACKET_TYPE PacketType, DWORD PacketLength, PVOID PacketData);\r\n\r\nINT_PTR CALLBACK CancelDlgProc  (HWND, UINT, WPARAM, LPARAM);\r\nINT_PTR CALLBACK DrivesDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK AssociateDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK SearchDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK RunDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK SelectDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK FontDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK SuperDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK AttribsDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK MakeDirDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK ExitDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK DiskLabelDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK ChooseDriveDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK FormatDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK FormatSelectDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK OtherDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\n\r\nINT_PTR CALLBACK ProgressDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK SortByDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK IncludeDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK ConfirmDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK PrefDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK AboutDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\nINT_PTR CALLBACK GotoDirDlgProc(HWND hDlg, UINT wMsg, WPARAM wParam, LPARAM lParam);\r\n\r\nVOID SetCurrentPathOfWindow(LPWSTR szPath);\r\n\r\n// WFSEARCH.C\r\n\r\nVOID GetSearchPath(HWND hwnd, LPWSTR szTemp);\r\nINT_PTR CALLBACK SearchProgDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);\r\nVOID UpdateSearchStatus(HWND hwndLB, INT nCount);\r\nVOID SearchEnd(VOID);\r\n\r\n\r\n// WFFILE.C\r\nBOOL WFCheckCompress(HWND hDlg, LPTSTR szNameSpec, DWORD dwNewAttrs, BOOL bPropertyDlg, BOOL *bIgnoreAll);\r\nBOOL GetRootPath(LPTSTR szPath, LPTSTR szReturn);\r\n\r\n//WFLOC.C\r\nLCID WFLocaleNameToLCID(LPCWSTR lpName, DWORD dwFlags);\r\nVOID InitLangList(HWND hCBox);\r\nVOID SaveLang(HWND hCBox);\r\nBOOL DefaultLayoutRTL();\r\nDWORD MainWindowExStyle(VOID);\r\nVOID PreserveBitmapInRTL(HDC hdc);\r\n\r\n// TBAR.C\r\n\r\nVOID  CreateFMToolbar(VOID);\r\nDWORD DriveListMessage(UINT wMsg, WPARAM wParam, LPARAM lParam, UINT* puiRetVal);\r\n\r\nVOID  SelectToolbarDrive(DRIVEIND DriveInd);\r\nVOID  FillToolbarDrives(DRIVE drive);\r\nVOID  EnableCheckTBButtons(HWND hwndActive);\r\nVOID  CheckTBButton(DWORD idCommand);\r\nVOID  InitToolbarButtons(VOID);\r\nVOID  EnableDisconnectButton(VOID);\r\nVOID  EnableStopShareButton(VOID);\r\nBOOL  InitToolbarExtension(INT iExt);\r\nVOID  FreeToolbarExtensions(VOID);\r\n\r\nVOID  SaveRestoreToolbar(BOOL bSave);\r\nVOID  BuildDriveLine(LPTSTR* lpszTemp, INT i, BOOL fGetFloppyLabel, DWORD dwType);\r\n\r\n\r\n// LFN.C\r\n\r\nDWORD WFCopy(LPTSTR,LPTSTR);\r\nDWORD WFRemove(LPTSTR pszFile);\r\nDWORD WFMove(LPTSTR pszFrom, LPTSTR pszTo, PBOOL pbErrorOnDest, BOOL bSilent);\r\nDWORD WFCopyIfSymlink(LPTSTR pszFrom, LPTSTR pszTo, DWORD dwFlags, DWORD dwNotification);\r\nDWORD DecodeReparsePoint(LPCWSTR szMyFile, LPWSTR szDest, DWORD cwcDest);\r\nDWORD WFHardLink(LPTSTR pszFrom, LPTSTR pszTo);\r\nDWORD WFSymbolicLink(LPTSTR pszFrom, LPTSTR pszTo, DWORD dwFlags);\r\nDWORD WFJunction(LPCWSTR LinkDirectory, LPCWSTR LinkTarget);\r\n\r\n\r\n\r\n// TREECTL.C\r\n\r\nVOID  wfYield(VOID);\r\nVOID  InvalidateAllNetTypes(VOID);\r\nVOID  GetTreeUNCName(HWND hwndTree, LPTSTR szBuf, INT nBuf);\r\nBOOL  RectTreeItem(HWND hwndLB, INT iItem, BOOL bFocusOn);\r\n\r\n\r\n\r\n//--------------------------------------------------------------------------\r\n//\r\n//  Defines\r\n//\r\n//--------------------------------------------------------------------------\r\n\r\n#define SST_RESOURCE 0X1\r\n#define SST_FORMAT   0x2\r\n\r\n#define DRIVE_INFO_NAME_HEADER 4\r\n\r\n#define DO_LISTOFFILES      1L\r\n\r\n#define WS_MDISTYLE (WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_SYSMENU | WS_CAPTION | WS_THICKFRAME | WS_MAXIMIZEBOX)\r\n#define WS_DIRSTYLE (WS_CHILD | LBS_SORT | LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_EXTENDEDSEL | LBS_NOINTEGRALHEIGHT | LBS_WANTKEYBOARDINPUT)\r\n#define WS_SEARCHSTYLE  (WS_DIRSTYLE | LBS_HASSTRINGS | WS_VSCROLL)\r\n\r\n\r\n//\r\n// Extra Window Word Offsets\r\n//\r\n\r\n// NOTE: see winfile.c for a description of the overall window structure.\r\n\r\n//\r\n// Idx  Tree         Search         Dir\r\n// 0    SPLIT        HDTA           HDTA\r\n// 1    PATHLEN      TABARRAY       TABARRAY\r\n// 2    VOLNAME      LISTPARMS      LISTPARMS\r\n// 3    NOTIFYPAUSE  IERROR         IERROR\r\n// 4    TYPE         TYPE           HDTAABORT\r\n// 5    VIEW         VIEW           INITIALDIRSEL\r\n// 6    SORT         SORT           NEXTHWND\r\n// 7    OLEDROP      n/a            OLEDROP\r\n// 8    ATTRIBS      ATTRIBS        \r\n// 9    FCSFLAG      FSCFLAG\r\n// 10   LASTFOCUS    LASTFOCUS\r\n//\r\n\r\n\r\n#define GWL_SPLIT         (0*sizeof(LONG_PTR))\r\n#define GWL_HDTA          (0*sizeof(LONG_PTR))\r\n\r\n#define GWL_PATHLEN       (1*sizeof(LONG_PTR))\r\n#define GWL_TABARRAY      (1*sizeof(LONG_PTR))\r\n\r\n#define GWL_VOLNAME       (2*sizeof(LONG_PTR))\r\n#define GWL_LISTPARMS     (2*sizeof(LONG_PTR))\r\n\r\n#define GWL_NOTIFYPAUSE  (3*sizeof(LONG_PTR))\r\n#define GWL_IERROR       (3*sizeof(LONG_PTR))\r\n\r\n#define GWL_TYPE         (4*sizeof(LONG_PTR))     // > 0 Tree, -1 = search\r\n#define GWL_HDTAABORT    (4*sizeof(LONG_PTR))\r\n\r\n#define GWL_VIEW         (5*sizeof(LONG_PTR))\r\n#define GWL_SELINFO      (5*sizeof(LONG_PTR))\r\n\r\n#define GWL_SORT         (6*sizeof(LONG_PTR))\r\n#define GWL_NEXTHWND     (6*sizeof(LONG_PTR))\r\n\r\n#define GWL_OLEDROP      (7*sizeof(LONG_PTR))\r\n\r\n#define GWL_ATTRIBS      (8*sizeof(LONG_PTR))\r\n\r\n#define GWL_FSCFLAG      (9*sizeof(LONG_PTR))\r\n\r\n#define GWL_LASTFOCUS    (10*sizeof(LONG_PTR))\r\n\r\n// szDrivesClass...\r\n\r\n#define GWL_CURDRIVEIND     (0*sizeof(LONG_PTR))   // current selection in drives window\r\n#define GWL_CURDRIVEFOCUS   (1*sizeof(LONG_PTR))   // current focus in drives window\r\n#define GWL_LPTSTRVOLUME    (2*sizeof(LONG_PTR))   // LPTSTR to Volume/Share string\r\n\r\n// szTreeControlClass\r\n\r\n#define GWL_READLEVEL       (0*sizeof(LONG_PTR))   // iReadLevel for each tree control window\r\n#define GWL_XTREEMAX        (1*sizeof(LONG_PTR))   // max text extent for each tree control window\r\n\r\n// GWL_TYPE numbers\r\n\r\n#define TYPE_TREE           0   // and all positive numbers (drive number)\r\n#define TYPE_SEARCH         -1\r\n\r\n/* WM_FILESYSCHANGE (WM_FSC) message wParam value */\r\n#define FSC_CREATE          0x0000\r\n#define FSC_DELETE          0x0001\r\n#define FSC_RENAME          0x0002\r\n#define FSC_ATTRIBUTES      0x0003\r\n#define FSC_NETCONNECT      0x0004\r\n#define FSC_NETDISCONNECT   0x0005\r\n#define FSC_REFRESH         0x0006\r\n#define FSC_MKDIR           0x0007\r\n#define FSC_RMDIR           0x0008\r\n#define FSC_JUNCTION        0x0009\r\n#define FSC_SYMLINKD        0x000A\r\n\r\n#define FSC_QUIET           0x8000\r\n#define FSC_OPERATIONMASK   0x00ff\r\n\r\n#define FSC_Operation(FSC)  \\\r\n    ((FSC) & FSC_OPERATIONMASK)\r\n\r\n#define WM_LBTRACKPT        0x131\r\n\r\n#define TC_SETDRIVE         0x944\r\n#define TC_GETCURDIR        0x945\r\n#define TC_EXPANDLEVEL      0x946\r\n#define TC_COLLAPSELEVEL    0x947\r\n#define TC_GETDIR           0x948\r\n#define TC_SETDIRECTORY     0x949\r\n#define TC_TOGGLELEVEL      0x950\r\n#define TC_RECALC_EXTENT    0x951\r\n\r\n#define FS_CHANGEDISPLAY    (WM_USER+0x100)\r\n#define FS_CHANGEDRIVES     (WM_USER+0x101)\r\n#define FS_GETSELECTION     (WM_USER+0x102)\r\n#define FS_GETDIRECTORY     (WM_USER+0x103)\r\n#define FS_GETDRIVE         (WM_USER+0x104)\r\n#define FS_SETDRIVE         (WM_USER+0x107)\r\n#define FS_GETFILESPEC      (WM_USER+0x108)\r\n#define FS_SETSELECTION     (WM_USER+0x109)\r\n\r\n// modeless format/copy support\r\n#define FS_CANCELBEGIN      (WM_USER+0x10A)\r\n#define FS_CANCELEND        (WM_USER+0x10B)\r\n#define FS_SEARCHEND        (WM_USER+0x10C)\r\n#define FS_SEARCHLINEINSERT (WM_USER+0x10D)\r\n\r\n#define FS_SEARCHUPDATE     (WM_USER+0x10E)\r\n#define FS_CANCELUPDATE     (WM_USER+0x10F)\r\n\r\n#define FS_CANCELMESSAGEBOX        (WM_USER+0x110)\r\n#define FS_CANCELCOPYFORMATDEST    (WM_USER+0x111)\r\n#define FS_UPDATEDRIVETYPECOMPLETE (WM_USER+0x112)\r\n#define FS_UPDATEDRIVELISTCOMPLETE (WM_USER+0x113)\r\n#define FS_FSCREQUEST              (WM_USER+0x114)\r\n#define FS_NOTIFYRESUME            (WM_USER+0x115)\r\n#define FS_COPYDONE                (WM_USER+0x116)\r\n#define FS_DIRREADDONE             (WM_USER+0x117)\r\n#define FS_REBUILDDOCSTRING        (WM_USER+0x118)\r\n\r\n#define FS_TESTEMPTY               (WM_USER+0x119)\r\n\r\n#define WM_FSC                     (WM_USER+0x120)\r\n\r\n#define FS_ENABLEFSC               (WM_USER+0x121)\r\n#define FS_DISABLEFSC              (WM_USER+0x122)\r\n\r\n#define ATTR_READWRITE      0x0000\r\n#define ATTR_READONLY       FILE_ATTRIBUTE_READONLY     // == 0x0001\r\n#define ATTR_HIDDEN         FILE_ATTRIBUTE_HIDDEN       // == 0x0002\r\n#define ATTR_SYSTEM         FILE_ATTRIBUTE_SYSTEM       // == 0x0004\r\n#define ATTR_VOLUME         0x0008                      // == 0x0008\r\n#define ATTR_DIR            FILE_ATTRIBUTE_DIRECTORY    // == 0x0010\r\n#define ATTR_ARCHIVE        FILE_ATTRIBUTE_ARCHIVE      // == 0x0020\r\n#define ATTR_NORMAL         FILE_ATTRIBUTE_NORMAL       // == 0x0080\r\n#define ATTR_TEMPORARY      FILE_ATTRIBUTE_TEMPORARY    // == 0x0100\r\n#define ATTR_REPARSE_POINT  FILE_ATTRIBUTE_REPARSE_POINT // == 0x0400  \r\n#define ATTR_COMPRESSED     FILE_ATTRIBUTE_COMPRESSED   // == 0x0800\r\n#define ATTR_NOT_INDEXED    FILE_ATTRIBUTE_NOT_CONTENT_INDEXED // == 0x2000\r\n#define ATTR_ENCRYPTED      FILE_ATTRIBUTE_ENCRYPTED    // == 0x4000\r\n#define ATTR_USED           0x6DBF                      // ATTR we use that are returned from FindFirst/NextFile\r\n\r\n#define ATTR_PARENT         0x0040  // my hack DTA bits\r\n#define ATTR_LFN           0x10000  // my hack DTA bits\r\n#define ATTR_JUNCTION      0x20000\r\n#define ATTR_SYMBOLIC      0x40000\r\n#define ATTR_LOWERCASE     0x80000\r\n\r\n#define ATTR_RWA            (ATTR_READWRITE | ATTR_ARCHIVE)\r\n#define ATTR_ALL            (ATTR_READONLY | ATTR_HIDDEN | ATTR_SYSTEM | ATTR_DIR | ATTR_ARCHIVE | ATTR_NORMAL | ATTR_COMPRESSED | ATTR_ENCRYPTED | ATTR_REPARSE_POINT)\r\n#define ATTR_PROGRAMS       0x0100\r\n#define ATTR_DOCS           0x0200\r\n#define ATTR_OTHER          0x1000\r\n#define ATTR_EVERYTHING     (ATTR_ALL | ATTR_PROGRAMS | ATTR_DOCS | ATTR_OTHER | ATTR_PARENT)\r\n#define ATTR_DEFAULT        (ATTR_EVERYTHING & ~(ATTR_HIDDEN | ATTR_SYSTEM))\r\n#define ATTR_HS             (ATTR_HIDDEN | ATTR_SYSTEM)\r\n\r\n\r\n#define ATTR_RETURNED       0x8000  /* used in DTA's by copy */\r\n\r\n#define CD_PATH             0x0001\r\n#define CD_VIEW             0x0002\r\n#define CD_SORT             0x0003\r\n#define CD_PATH_FORCE       0x0004\r\n#define CD_SEARCHUPDATE     0x0005\r\n#define CD_SEARCHFONT       0x0006\r\n\r\n#define CD_DONTSTEAL        0x4000\r\n#define CD_ALLOWABORT       0x8000\r\n\r\n#define VIEW_NAMEONLY       0x0000\r\n#define VIEW_UPPERCASE      0x0001\r\n#define VIEW_SIZE           0x0002\r\n#define VIEW_DATE           0x0004\r\n#define VIEW_TIME           0x0008\r\n#define VIEW_FLAGS          0x0010\r\n#define VIEW_PLUSES         0x0020\r\n#define VIEW_DOSNAMES       0x0040\r\n\r\n#define VIEW_EVERYTHING     (VIEW_SIZE | VIEW_TIME | VIEW_DATE | VIEW_FLAGS)\r\n\r\n#define CBSECTORSIZE        512\r\n\r\n#define INT13_READ          2\r\n#define INT13_WRITE         3\r\n\r\n#define ERR_USER            0xF000\r\n\r\n/* Child Window IDs */\r\n#define IDCW_DRIVES         1\r\n#define IDCW_DIR            2\r\n#define IDCW_TREELISTBOX    3   // list in tree control\r\n#define IDCW_TREECONTROL    5\r\n#define IDCW_LISTBOX        6   // list in directory and search\r\n\r\n\r\n#define HasDirWindow(hwnd)      GetDlgItem(hwnd, IDCW_DIR)\r\n#define HasTreeWindow(hwnd)     GetDlgItem(hwnd, IDCW_TREECONTROL)\r\n#define GetSplit(hwnd)          ((int)GetWindowLongPtr(hwnd, GWL_SPLIT))\r\n\r\n/* Indexes into the mondo bitmap */\r\n#define BM_IND_APP          0\r\n#define BM_IND_DOC          1\r\n#define BM_IND_FIL          2\r\n#define BM_IND_RO           3\r\n#define BM_IND_DIRUP        4\r\n#define BM_IND_CLOSE        5\r\n#define BM_IND_CLOSEPLUS    6\r\n#define BM_IND_OPEN         7\r\n#define BM_IND_OPENPLUS     8\r\n#define BM_IND_OPENMINUS    9\r\n#define BM_IND_CLOSEMINUS   10\r\n#define BM_IND_CLOSEDFS     11\r\n#define BM_IND_OPENDFS      12\r\n#define BM_IND_CLOSEREPARSE 15\r\n#define BM_IND_OPENREPARSE  16\r\n#define BM_IND_FILREPARSE   17\r\n\r\ntypedef struct _DRIVE_INFO {\r\n\r\n   INT   iBusy;\r\n   BOOL  bRemembered : 1;\r\n   BOOL  bUpdating   : 1;\r\n\r\n//-----------------------------------\r\n   STATUSNAME(Type);\r\n   UINT  uType;\r\n\r\n//-----------------------------------\r\n   INT   iOffset;\r\n\r\n//-----------------------------------\r\n   STATUSNAME(NetCon);\r\n   LPWNET_CONNECTIONINFO lpConnectInfo;\r\n   DWORD  dwConnectInfoMax;\r\n\r\n   DWORD dwAltNameError;\r\n   LPTSTR lpszRemoteNameMinusFour[MAX_ALTNAME];\r\n   DWORD dwRemoteNameMax[MAX_ALTNAME];\r\n   DWORD dwLines[MAX_ALTNAME];\r\n\r\n//-----------------------------------\r\n   STATUSNAME(VolInfo);\r\n   DWORD     dwVolumeSerialNumber;\r\n   DWORD     dwMaximumComponentLength;\r\n   DWORD     dwFileSystemFlags;\r\n   DWORD     dwDriveType;\r\n   DWORD     dwVolNameMax;\r\n   TCHAR      szVolNameMinusFour[MAX_VOLNAME+DRIVE_INFO_NAME_HEADER];\r\n                                               // there is no easy way (+4hdr)\r\n   TCHAR      szFileSysName[MAX_FILESYSNAME];   // to predetermine length\r\n\r\n//-----------------------------------\r\n   BOOL  bShareChkTried: 1;\r\n   BOOL  bShareChkFail : 1;\r\n\r\n   STATUSNAME(Space);\r\n   LARGE_INTEGER  qFreeSpace;\r\n   LARGE_INTEGER  qTotalSpace;\r\n} DRIVEINFO, *PDRIVEINFO;\r\n\r\n#define SC_SPLIT            100\r\n\r\n// These errors aren't in shellapi.h as yet. till such time...\r\n/* error values for ShellExecute() beyond the regular WinExec() codes */\r\n#define SE_ERR_SHARE            26\r\n#define SE_ERR_ASSOCINCOMPLETE      27\r\n#define SE_ERR_DDETIMEOUT       28\r\n#define SE_ERR_DDEFAIL          29\r\n#define SE_ERR_DDEBUSY          30\r\n#define SE_ERR_NOASSOC          31\r\n\r\n#define NONE             0\r\n#define TOOLBAR_FLAG     1\r\n#define DRIVEBAR_FLAG    2\r\n\r\n\r\n#ifdef _GLOBALS\r\n#define Extern\r\n#define EQ(x) = x\r\n#else\r\n#define Extern extern\r\n#define EQ(x)\r\n#endif\r\n\r\n//-------------------------------------\r\n//\r\n//  Lazy load post-XP function support\r\n//\r\n//-------------------------------------\r\n\r\n#define KERNEL32_DLL TEXT(\"kernel32.dll\")\r\nExtern HANDLE hKernel32          EQ( NULL );\r\n\r\nExtern BOOLEAN (WINAPI* lpfnCreateSymbolicLinkW)(LPCWSTR, LPCWSTR, DWORD);\r\nExtern INT     (WINAPI* lpfnGetLocaleInfoEx)(LPCWSTR, LCTYPE, LPWSTR, INT);\r\nExtern LCID    (WINAPI* lpfnLocaleNameToLCID)(LPCWSTR, DWORD);\r\nExtern BOOL    (WINAPI* lpfnWow64DisableWow64FsRedirection)(PVOID *);\r\nExtern BOOL    (WINAPI* lpfnWow64RevertWow64FsRedirection)(PVOID);\r\n\r\n#define KERNEL32_CreateSymbolicLinkW            \"CreateSymbolicLinkW\"\r\n#define KERNEL32_GetLocaleInfoEx                \"GetLocaleInfoEx\"\r\n#define KERNEL32_LocaleNameToLCID               \"LocaleNameToLCID\"\r\n#define KERNEL32_Wow64DisableWow64FsRedirection \"Wow64DisableWow64FsRedirection\"\r\n#define KERNEL32_Wow64RevertWow64FsRedirection  \"Wow64RevertWow64FsRedirection\"\r\n\r\n#define CreateSymbolicLinkW            (*lpfnCreateSymbolicLinkW)\r\n#define GetLocaleInfoEx                (*lpfnGetLocaleInfoEx)\r\n#define LocaleNameToLCID               (*lpfnLocaleNameToLCID)\r\n#define Wow64DisableWow64FsRedirection (*lpfnWow64DisableWow64FsRedirection)\r\n#define Wow64RevertWow64FsRedirection  (*lpfnWow64RevertWow64FsRedirection)\r\n\r\n#ifndef CreateSymbolicLink\r\n#define CreateSymbolicLink  CreateSymbolicLinkW\r\n#endif\r\n\r\n//----------------------------\r\n//\r\n//  Lazy load comdlg support\r\n//\r\n//----------------------------\r\n\r\n#define COMDLG_DLL TEXT(\"comdlg32.dll\")\r\nExtern HANDLE hComdlg            EQ( NULL );\r\n\r\nExtern DWORD (*lpfnChooseFontW)(LPCHOOSEFONTW);\r\nExtern DWORD (*lpfnGetOpenFileNameW)(LPOPENFILENAMEW);\r\n\r\n#define COMDLG_ChooseFontW                \"ChooseFontW\"\r\n#define COMDLG_GetOpenFileNameW           \"GetOpenFileNameW\"\r\n\r\n#define ChooseFontW         (*lpfnChooseFontW)\r\n#define GetOpenFileNameW    (*lpfnGetOpenFileNameW)\r\n\r\n//----------------------------\r\n//\r\n//  Lazy load UxTheme support\r\n//\r\n//----------------------------\r\n\r\n#define UXTHEME_DLL TEXT(\"UxTheme.dll\")\r\nExtern HANDLE hUxTheme            EQ(NULL);\r\n\r\nExtern HRESULT (*lpfnSetWindowTheme)(HWND, LPCWSTR, LPCWSTR);\r\n\r\n#define UXTHEME_SetWindowTheme \"SetWindowTheme\"\r\n\r\n#define SetWindowTheme         (*lpfnSetWindowTheme)\r\n\r\nBOOL LoadUxTheme(VOID);\r\n\r\n//----------------------------\r\n//\r\n//  Lazy load network support\r\n//\r\n//----------------------------\r\n\r\n#define ACLEDIT_DLL  TEXT(\"acledit.dll\")\r\n#define FMIFS_DLL    TEXT(\"fmifs.dll\")\r\n#define MPR_DLL      TEXT(\"mpr.dll\")\r\n#define NTDLL_DLL    TEXT(\"ntdll.dll\")\r\n#define NTSHRUI_DLL  TEXT(\"Ntshrui.dll\")\r\n\r\n#define WAITNET()      WaitLoadEvent(TRUE)\r\n#define WAITACLEDIT()  WaitLoadEvent(FALSE)\r\n\r\n#define WAITNET_DONE        bNetDone\r\n#define WAITNET_ACLEDITDONE bNetAcleditDone\r\n\r\n#define WAITNET_LOADED      bNetLoad\r\n#define WAITNET_TYPELOADED  bNetTypeLoad\r\n#define WAITNET_SHARELOADED bNetShareLoad\r\n\r\nExtern DWORD (CALLBACK *lpfnWNetCloseEnum)(HANDLE);\r\nExtern DWORD (CALLBACK *lpfnWNetConnectionDialog2)(HWND, DWORD, LPWSTR, UINT);\r\nExtern DWORD (CALLBACK *lpfnWNetDisconnectDialog2)(HWND, UINT, LPWSTR, UINT);\r\nExtern DWORD (CALLBACK *lpfnWNetEnumResourceW)(HANDLE, LPDWORD, LPVOID, LPDWORD);\r\nExtern DWORD (CALLBACK *lpfnWNetGetConnection2W)(LPWSTR, WNET_CONNECTIONINFO *, LPDWORD);\r\nExtern DWORD (CALLBACK *lpfnWNetGetDirectoryTypeW)(LPWSTR, LPDWORD, BOOL);\r\nExtern DWORD (CALLBACK *lpfnWNetGetLastErrorW)(LPDWORD, LPWSTR, DWORD, LPWSTR, DWORD);\r\nExtern DWORD (CALLBACK *lpfnWNetGetPropertyTextW)(WORD, WORD, LPWSTR, LPWSTR, WORD, WORD);\r\nExtern DWORD (CALLBACK *lpfnWNetOpenEnumW)(DWORD, DWORD, DWORD, LPNETRESOURCE, LPHANDLE);\r\nExtern DWORD (CALLBACK *lpfnWNetPropertyDialogW)(HWND, WORD, WORD, LPWSTR, WORD);\r\nExtern DWORD (CALLBACK *lpfnWNetRestoreConnectionW)(HWND, LPWSTR);\r\nExtern DWORD (CALLBACK *lpfnWNetRestoreSingleConnectionW)(HWND, LPWSTR, BOOL);\r\nExtern DWORD (CALLBACK *lpfnWNetFormatNetworkNameW)(\r\n                    LPCWSTR  lpProvider,\r\n                    LPCWSTR  lpRemoteName,\r\n                    LPWSTR   lpFormattedName,\r\n                    LPDWORD  lpnLength,\r\n                    DWORD    dwFlags,\r\n                    DWORD    dwAveCharPerLine\r\n                    );\r\nExtern DWORD (CALLBACK *lpfnShowShareFolderUI)(HWND, LPWSTR);\r\n\r\n#ifdef NETCHECK\r\nExtern DWORD (CALLBACK *lpfnWNetDirectoryNotifyW)(HWND, LPWSTR, DWORD);\r\n#endif\r\n\r\n#define NETWORK_WNetCloseEnum          \"WNetCloseEnum\"\r\n#define NETWORK_WNetConnectionDialog2  \"WNetConnectionDialog2\"\r\n#define NETWORK_WNetDisconnectDialog2  \"WNetDisconnectDialog2\"\r\n#define NETWORK_WNetEnumResourceW      \"WNetEnumResourceW\"\r\n#define NETWORK_WNetGetConnection2W    \"WNetGetConnection2W\"\r\n#define NETWORK_WNetGetDirectoryTypeW  \"WNetGetDirectoryTypeW\"\r\n#define NETWORK_WNetGetLastErrorW      \"WNetGetLastErrorW\"\r\n#define NETWORK_WNetGetPropertyTextW   \"WNetGetPropertyTextW\"\r\n#define NETWORK_WNetOpenEnumW          \"WNetOpenEnumW\"\r\n#define NETWORK_WNetPropertyDialogW    \"WNetPropertyDialogW\"\r\n#define NETWORK_WNetRestoreConnectionW \"WNetRestoreConnectionW\"\r\n#define NETWORK_WNetRestoreSingleConnectionW \"WNetRestoreSingleConnectionW\"\r\n#define NETWORK_WNetFormatNetworkNameW \"WNetFormatNetworkNameW\"\r\n#define NETWORK_ShareCreate            \"ShareCreate\"\r\n#define NETWORK_ShareStop              \"ShareStop\"\r\n\r\n#ifdef NETCHECK\r\n#define NETWORK_WNetDirectoryNotifyW   \"WNetDirectoryNotifyW\"\r\n#endif\r\n\r\n#define WNetCloseEnum              (*lpfnWNetCloseEnum)\r\n#define WNetConnectionDialog2      (*lpfnWNetConnectionDialog2)\r\n#define WNetDisconnectDialog2      (*lpfnWNetDisconnectDialog2)\r\n#define WNetEnumResourceW          (*lpfnWNetEnumResourceW)\r\n#define WNetGetConnection2W        (*lpfnWNetGetConnection2W)\r\n#define WNetGetDirectoryTypeW      (*lpfnWNetGetDirectoryTypeW)\r\n#define WNetGetLastErrorW          (*lpfnWNetGetLastErrorW)\r\n#define WNetGetPropertyTextW       (*lpfnWNetGetPropertyTextW)\r\n#define WNetOpenEnumW              (*lpfnWNetOpenEnumW)\r\n#define WNetPropertyDialogW        (*lpfnWNetPropertyDialogW)\r\n#define WNetRestoreConnectionW     (*lpfnWNetRestoreConnectionW)\r\n#define WNetRestoreSingleConnectionW     (*lpfnWNetRestoreSingleConnectionW)\r\n#define WNetFormatNetworkNameW     (*lpfnWNetFormatNetworkNameW)\r\n#define ShowShareFolderUI          (*lpfnShowShareFolderUI)\r\n\r\n#ifdef NETCHECK\r\n#define WNetDirectoryNotifyW       (*lpfnWNetDirectoryNotifyW)\r\n#endif\r\n\r\n\r\nExtern FM_EXT_PROC lpfnAcledit;\r\nExtern BOOL        bSecMenuDeleted;\r\n\r\nExtern HANDLE hVersion             EQ( NULL );\r\nExtern HANDLE hMPR                 EQ( NULL );\r\nExtern HANDLE hNtshrui             EQ( NULL );\r\nExtern HANDLE hAcledit             EQ( NULL );\r\nExtern HANDLE hNtdll               EQ (NULL );\r\n\r\n\r\n//--------------------------------------------------------------------------\r\n//\r\n//  Global Externs\r\n//\r\n//--------------------------------------------------------------------------\r\n\r\nExtern HANDLE  hEventNetLoad              EQ( NULL );\r\nExtern HANDLE  hEventAcledit              EQ( NULL );\r\nExtern BOOL    bNetLoad                   EQ( FALSE );\r\nExtern BOOL    bNetTypeLoad               EQ( FALSE );\r\nExtern BOOL    bNetShareLoad              EQ( FALSE );\r\nExtern BOOL    bNetDone                   EQ( FALSE );\r\nExtern BOOL    bNetAcleditDone            EQ( FALSE );\r\n\r\n#if defined(JAPAN) && defined(i386) // cf. DBCS\r\n#include \"machine.h\"\r\nExtern DWORD   gdwMachineId               EQ( MACHINEID_MICROSOFT );\r\n#endif // defined(JAPAN) && defined(JAPAN)\r\n\r\n//----------------------------\r\n//\r\n//  aDriveInfo support\r\n//\r\n//----------------------------\r\n\r\n#define rgiDrive rgiDriveReal[iUpdateReal]\r\n\r\nExtern INT       iUpdateReal              EQ( 0 );\r\nExtern DRIVE     rgiDriveReal[2][26];\r\nExtern DRIVEINFO aDriveInfo[26];\r\n\r\nExtern UINT   uMenuID;\r\nExtern HMENU  hMenu;\r\nExtern UINT   uMenuFlags;\r\nExtern BOOL   bMDIFrameSysMenu;\r\n\r\nExtern ATOM atomDirListBox;\r\n\r\nExtern PPDOCBUCKET ppDocBucket;\r\nExtern PPDOCBUCKET ppProgBucket;\r\n\r\nExtern CRITICAL_SECTION CriticalSectionPath;\r\n\r\nExtern LCID   lcid;\r\n\r\nJAPANBEGIN\r\nExtern BOOL   bJapan      EQ( FALSE );\r\nJAPANEND\r\n\r\nExtern BOOL bMinOnRun            EQ( FALSE );\r\nExtern BOOL bIndexOnLaunch       EQ( TRUE );\r\nExtern BOOL bIndexHiddenSystem   EQ( FALSE );\r\nExtern BOOL bStatusBar           EQ( TRUE );\r\n\r\nExtern BOOL bDriveBar            EQ( TRUE );\r\nExtern BOOL bToolbar             EQ( TRUE );\r\nExtern BOOL bNewWinOnConnect     EQ( TRUE );\r\nExtern BOOL bDisableVisualStyles EQ( FALSE );\r\nExtern BOOL bMirrorContent       EQ( FALSE );\r\n\r\nExtern BOOL bExitWindows         EQ( FALSE );\r\nExtern BOOL bConfirmDelete       EQ( TRUE );\r\nExtern BOOL bConfirmSubDel       EQ( TRUE );\r\nExtern BOOL bConfirmReplace      EQ( TRUE );\r\nExtern BOOL bConfirmMouse        EQ( TRUE );\r\nExtern BOOL bConfirmFormat       EQ( TRUE );\r\nExtern BOOL bConfirmReadOnly     EQ( TRUE );\r\n\r\nExtern BOOL bSaveSettings        EQ( TRUE );\r\nExtern BOOL bScrollOnExpand      EQ( TRUE );\r\n\r\nExtern BOOL bConnectable         EQ( FALSE );\r\nExtern INT  iShowSourceBitmaps   EQ( 1 );\r\nExtern BOOL bFSCTimerSet         EQ( FALSE );\r\n\r\nExtern TCHAR        chFirstDrive;           // 'A' or 'a'\r\n\r\nExtern TCHAR        szExtensions[]          EQ( TEXT(\"Extensions\") );\r\nExtern TCHAR        szFrameClass[]          EQ( TEXT(\"WFS_Frame\") );\r\nExtern TCHAR        szTreeClass[]           EQ( TEXT(\"WFS_Tree\") );\r\nExtern TCHAR        szDrivesClass[]         EQ( TEXT(\"WFS_Drives\") );\r\nExtern TCHAR        szTreeControlClass[]    EQ( TEXT(\"DirTree\") );\r\nExtern TCHAR        szDirClass[]            EQ( TEXT(\"WFS_Dir\") );\r\nExtern TCHAR        szSearchClass[]         EQ( TEXT(\"WFS_Search\") );\r\n\r\nExtern TCHAR        szDriveBar[]            EQ( TEXT(\"DriveBar\") );\r\nExtern TCHAR        szToolbar[]             EQ( TEXT(\"ToolBar\") );\r\nExtern TCHAR        szNewWinOnNetConnect[]  EQ( TEXT(\"NewWinOnNetConnect\") );\r\nExtern TCHAR        szDisableVisualStyles[] EQ( TEXT(\"DisableVisualStyles\") );\r\nExtern TCHAR        szUILanguage[]          EQ( TEXT(\"UILanguage\") );\r\nExtern TCHAR        szEditorPath[]          EQ( TEXT(\"EditorPath\"));\r\nExtern TCHAR        szMirrorContent[]       EQ( TEXT(\"MirrorContent\") );\r\nExtern TCHAR        szCachedPath[]          EQ( TEXT(\"CachedPath\"));\r\nExtern TCHAR        szCachedPathIni[MAXPATHLEN];\r\nExtern TCHAR        szGotoCachePunctuation[] EQ(TEXT(\"GotoCachePunctuation\"));\r\nExtern TCHAR        szPunctuation[MAXPATHLEN];\r\n\r\nExtern TCHAR        szMinOnRun[]            EQ( TEXT(\"MinOnRun\") );\r\nExtern TCHAR        szIndexOnLaunch[]       EQ( TEXT(\"IndexOnLaunch\") );\r\nExtern TCHAR        szIndexHiddenSystem[]   EQ( TEXT(\"IndexHiddenSystem\") );\r\nExtern TCHAR        szStatusBar[]           EQ( TEXT(\"StatusBar\") );\r\nExtern TCHAR        szSaveSettings[]        EQ( TEXT(\"Save Settings\") );\r\nExtern TCHAR        szScrollOnExpand[]      EQ( TEXT(\"ScrollOnExpand\"));\r\n\r\nExtern TCHAR        szConfirmDelete[]       EQ( TEXT(\"ConfirmDelete\") );\r\nExtern TCHAR        szConfirmSubDel[]       EQ( TEXT(\"ConfirmSubDel\") );\r\nExtern TCHAR        szConfirmReplace[]      EQ( TEXT(\"ConfirmReplace\") );\r\nExtern TCHAR        szConfirmMouse[]        EQ( TEXT(\"ConfirmMouse\") );\r\nExtern TCHAR        szConfirmFormat[]       EQ( TEXT(\"ConfirmFormat\") );\r\nExtern TCHAR        szConfirmReadOnly[]     EQ( TEXT(\"ConfirmSystemHiddenReadOnly\") );\r\n\r\nExtern TCHAR        szDriveListFace[]          EQ( TEXT(\"DriveListFace\") );\r\n\r\nExtern TCHAR        szChangeNotifyTime[]    EQ( TEXT(\"ChangeNotifyTime\") );\r\nExtern UINT         uChangeNotifyTime       EQ( 3000 );\r\n\r\nExtern TCHAR        szDirKeyFormat[]        EQ( TEXT(\"dir%d\") );\r\nExtern TCHAR        szWindow[]              EQ( TEXT(\"Window\") );\r\nExtern TCHAR        szWindows[]             EQ( TEXT(\"Windows\") );\r\n\r\n\r\nExtern TCHAR        szFace[]                EQ( TEXT(\"Face\") );\r\nExtern TCHAR        szSize[]                EQ( TEXT(\"Size\") );\r\nExtern TCHAR        szLowerCase[]           EQ( TEXT(\"LowerCase\") );\r\nExtern TCHAR        szFaceWeight[]          EQ( TEXT(\"FaceWeight\") );\r\n\r\nJAPANBEGIN\r\nExtern TCHAR        szSaveCharset[]         EQ( TEXT(\"Charset\") );\r\nJAPANEND\r\n\r\nExtern TCHAR        szAddons[]              EQ( TEXT(\"AddOns\") );\r\n\r\nExtern TCHAR        szDefPrograms[]         EQ( TEXT(\"EXE COM BAT PIF\") );\r\nExtern TCHAR        szRoamINIPath[]         EQ( TEXT(\"\\\\Microsoft\\\\Winfile\"));\r\nExtern TCHAR        szBaseINIFile[]         EQ( TEXT(\"WINFILE.INI\") );\r\nExtern TCHAR        szPrevious[]            EQ( TEXT(\"Previous\") );\r\nExtern TCHAR        szSettings[]            EQ( TEXT(\"Settings\") );\r\nExtern TCHAR        szInternational[]       EQ( TEXT(\"Intl\") );\r\nExtern TCHAR        szStarDotStar[]         EQ( TEXT(\"*.*\") );\r\nExtern TCHAR        szNULL[]                EQ( TEXT(\"\") );\r\nExtern TCHAR        szBlank[]               EQ( TEXT(\" \") );\r\nExtern TCHAR        szEllipses[]            EQ( TEXT(\"...\") );\r\nExtern TCHAR        szNetwork[]             EQ( TEXT(\"Network\") );\r\nExtern TCHAR        szSpace[]               EQ( TEXT(\" \") );\r\nExtern TCHAR        szDirsRead[32];\r\nExtern TCHAR        szCurrentFileSpec[14]   EQ( TEXT(\"*.*\") );\r\n\r\nExtern TCHAR        szComma[4]      EQ( TEXT(\",\") );\r\nExtern TCHAR        szDecimal[4]    EQ( TEXT(\".\") );\r\n\r\nExtern TCHAR        szListbox[]        EQ( TEXT(\"ListBox\") );        // window style\r\nExtern WCHAR        pwszInvalidTheme[] EQ( L\" \" );\r\n\r\nExtern TCHAR        szTitle[128];\r\n\r\nExtern TCHAR        szMessage[MAXMESSAGELEN];\r\n\r\nExtern TCHAR        szStatusTree[80];\r\nExtern TCHAR        szStatusDir[80];\r\n\r\nExtern TCHAR        szOriginalDirPath[MAXPATHLEN]; // was OEM string!!!!!!\r\n\r\nExtern TCHAR        szTheINIFile[MAXPATHLEN];      // ini file location in %APPDATA%\r\n\r\nExtern TCHAR szBytes[20];\r\nExtern TCHAR szSBytes[10];\r\n\r\nExtern INT  cDrives;\r\nExtern INT  dxDrive;\r\nExtern INT  dyDrive;\r\nExtern INT  dxDriveBitmap;\r\nExtern INT  dyDriveBitmap;\r\nExtern INT  dxEllipses;\r\nExtern INT  dxFolder;\r\nExtern INT  dyFolder;\r\nExtern INT  dyBorder;       // System Border Width/Height\r\nExtern INT  dyBorderx2;     // System Border Width/Height * 2\r\nExtern INT  dxText;         // System Font Width 'M'\r\nExtern INT  dyText;         // System Font Height\r\nExtern INT  cchDriveListMax; // ave # chars in drive list\r\nExtern INT  dyIcon          EQ( 32 );\r\nExtern INT  dxIcon          EQ( 32 );\r\n\r\nExtern INT  dyFileName;\r\nExtern INT  nFloppies;       // Number of Removable Drives\r\n\r\nExtern INT   iSelHighlight     EQ( -1 );\r\n\r\nExtern INT   cDisableFSC    EQ( 0 );     // has fsc been disabled?\r\nExtern INT   iReadLevel     EQ( 0 );     // global.  if !0 someone is reading a tree\r\nExtern INT   dxFrame;\r\nExtern INT   dxClickRect;\r\nExtern INT   dyClickRect;\r\nExtern INT   iNumWindows     EQ( 0 );\r\n\r\nExtern INT   dyToolbar        EQ( 27 );\r\nExtern INT   dxButtonSep      EQ( 8 );\r\nExtern INT   dxButton         EQ( 24 );\r\nExtern INT   dyButton         EQ( 22 );\r\nExtern INT   dxDriveList      EQ( 205 );\r\nExtern INT   dyDriveItem      EQ( 17 );\r\nExtern INT   xFirstButton;\r\nExtern HFONT hfontDriveList;\r\nExtern HFONT hFont;\r\nExtern HFONT hFontStatus;\r\n\r\nExtern HANDLE hfmifsDll EQ( NULL );\r\n\r\nExtern HANDLE  hAccel            EQ( NULL );\r\nExtern HINSTANCE  hAppInstance;\r\n\r\nExtern HBITMAP  hbmBitmaps         EQ( NULL );\r\nExtern HDC  hdcMem                 EQ( NULL );\r\n\r\nExtern INT  iCurDrag  EQ( 0 );\r\n\r\nExtern HICON    hicoTree      EQ( NULL );\r\nExtern HICON    hicoTreeDir   EQ( NULL );\r\nExtern HICON    hicoDir       EQ( NULL );\r\n\r\nExtern HWND    hdlgProgress;\r\nExtern HWND    hwndFrame       EQ( NULL );\r\nExtern HWND    hwndMDIClient   EQ( NULL );\r\nExtern HWND    hwndSearch      EQ( NULL );\r\nExtern HWND    hwndDragging    EQ( NULL );\r\n\r\nExtern HWND  hwndDriveBar      EQ( NULL );\r\nExtern HWND  hwndToolbar       EQ( NULL );\r\nExtern HWND  hwndDriveList     EQ( NULL );\r\nExtern HWND  hwndDropChild     EQ( NULL );  // for tree windows forwarding to drivebar\r\nExtern HWND  hwndFormatSelect  EQ( NULL );\r\n\r\nExtern BOOL bCancelTree;\r\n\r\nExtern WORD wTextAttribs       EQ( 0 );\r\nExtern DWORD dwSuperDlgMode;\r\n\r\nExtern UINT wHelpMessage;\r\nExtern UINT wBrowseMessage;\r\n\r\n\r\n//\r\n// Warning: When this is set, creating a directory window\r\n// will cause this file spec to be selected.  This must be\r\n// alloc'd and freed by the callee.  It then must be set\r\n// to null before the dir window is called again.\r\n//\r\nExtern LPWSTR pszInitialDirSel;\r\nExtern DWORD dwNewView         EQ( VIEW_NAMEONLY );\r\nExtern DWORD dwNewSort         EQ( IDD_NAME );\r\nExtern DWORD dwNewAttribs    EQ( ATTR_DEFAULT );\r\n\r\n\r\n\r\nExtern LARGE_INTEGER qFreeSpace;\r\nExtern LARGE_INTEGER qTotalSpace;\r\n\r\nExtern HWND hwndStatus        EQ( NULL );\r\n\r\nExtern TCHAR szWinfileHelp[]  EQ( TEXT(\"WINFILE.HLP\") );\r\nExtern WCHAR wszWinfileHelp[] EQ( L\"WINFILE.HLP\" );\r\n\r\nExtern INT iNumExtensions     EQ( 0 );\r\nExtern EXTENSION extensions[MAX_EXTENSIONS];\r\n\r\nExtern HHOOK hhkMsgFilter     EQ( NULL );\r\n\r\nExtern DWORD dwContext       EQ( 0 );\r\nExtern DWORD nLastDriveInd   EQ( 0 );\r\nExtern DWORD fFormatFlags    EQ( 0 );\r\n\r\nExtern   CANCEL_INFO CancelInfo;\r\nExtern   SEARCH_INFO SearchInfo;\r\n\r\nExtern BOOL  bDeveloperModeAvailable EQ(FALSE);\r\n\r\n// this value is an index into dwMenuIDs and used to workaround a bug\r\n#define MHPOP_CURRENT 2\r\n\r\nExtern CHAR PHCM_EXPOSE_PLACEHOLDERS    EQ(2);\r\ntypedef NTSYSAPI CHAR (*RtlSetProcessPlaceholderCompatibilityMode_t)(\r\n   CHAR aMode\r\n   );\r\nExtern RtlSetProcessPlaceholderCompatibilityMode_t pfnRtlSetProcessPlaceholderCompatibilityMode;\r\n\r\n\r\n#ifdef _GLOBALS\r\n   DWORD dwMenuIDs[] = {\r\n      // three distinct cases: 1: popups (search), 2: popups (position), 3: non-popups\r\n\r\n      MH_MYITEMS,               // case 3: used for all non-popups; IDM from WM_MENUSELECT (loword of wParam) is added to this\r\n      MH_POPUP,                 // case 2: used for all popups; position value of top level menu is added to this.\r\n      // NOTE: the check in MenuHelp to determine if the MDI child is maximized doesn't work and the code display the WRONG help in that case\r\n\r\n      // case 1: these are searched in pairs only for popups;\r\n      // the second value of which is the position of the menu in question (not the menu handle)\r\n      MH_POPUP, 0,              // always setup explicitly for popups due to the bug related to maximization\r\n      0, 0                      // We need to NULL terminate this list\r\n   };\r\n#else\r\n   Extern DWORD dwMenuIDs[];\r\n#endif\r\n\r\n#if 0\r\nExtern TCHAR szReplace[];\r\nExtern TCHAR szCurrentView[];\r\nExtern TCHAR szCurrentSort[];\r\nExtern TCHAR szCurrentAttribs[];\r\nExtern TCHAR szTreeKey[];\r\nExtern TCHAR szDated[];\r\nExtern TCHAR szWith[];\r\n\r\nExtern TCHAR szNTlanman[];\r\nExtern INT  cKids;\r\nExtern INT  dxBraces;\r\nExtern INT  dyTitle;\r\n\r\nExtern INT nCopyMaxQueue;\r\n#endif\r\n\r\n#undef Extern\r\n#undef EQ\r\n\r\n"
  },
  {
    "path": "src/wnetcaps.c",
    "content": "/********************************************************************\r\n\r\n   WNetCaps.c\r\n\r\n   Returns net status\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#include \"winfile.h\"\r\n#include \"wnetcaps.h\"\r\n\r\n\r\n/////////////////////////////////////////////////////////////////////\r\n//\r\n// Name:     WNetStat\r\n//\r\n// Synopsis: Caches and returns requested network status information\r\n//\r\n// IN        nIndex  NS_* request\r\n//                   NS_REFRESH refreshes cached info\r\n//\r\n// Return:   BOOL    on NS_* => answer\r\n//                   on NS_REFRESH => unstable (FALSE)\r\n//\r\n// Assumes:  nIndex < 1 << 31 and  nIndex an even power of 2\r\n//\r\n// Effects:\r\n//\r\n//\r\n// Notes:\r\n//\r\n/////////////////////////////////////////////////////////////////////\r\n\r\nBOOL\r\nWNetStat(INT nIndex)\r\n{\r\n   static DWORD fdwRet = (DWORD)-1;\r\n   DWORD dwError;\r\n\r\n   BOOL bNetwork = FALSE;\r\n   BOOL bConnect = FALSE;\r\n\r\n   HKEY hKey;\r\n\r\n   DWORD dwcbBuffer = 0;\r\n\r\n   if (\r\n//\r\n// Disable NS_REFRESH since we test for network installed on disk,\r\n// not network services started.\r\n//\r\n#if NSREFRESH\r\n      NS_REFRESH == nIndex ||\r\n#endif\r\n      (DWORD) -1 == fdwRet) {\r\n\r\n      fdwRet = 0;\r\n\r\n      //\r\n      // Check for connection dialog\r\n      //\r\n\r\n      dwError = RegOpenKey(HKEY_LOCAL_MACHINE,\r\n         TEXT(\"System\\\\CurrentControlSet\\\\Control\\\\NetworkProvider\\\\Order\"),\r\n         &hKey);\r\n\r\n      if (!dwError) {\r\n\r\n         dwError = RegQueryValueEx(hKey,\r\n            TEXT(\"ProviderOrder\"),\r\n            NULL,\r\n            NULL,\r\n            NULL,\r\n            &dwcbBuffer);\r\n\r\n         if (ERROR_SUCCESS == dwError && dwcbBuffer > 1) {\r\n\r\n            bNetwork = TRUE;\r\n         }\r\n\r\n         RegCloseKey(hKey);\r\n      }\r\n\r\n      if (bNetwork) {\r\n#if 0\r\n         //\r\n         // Check the registry to see if the user can make connections\r\n         //\r\n         dwError = RegOpenKey(HKEY_CURRENT_USER,\r\n            TEXT(\"Software\\\\Microsoft\\\\Windows NT\\\\CurrentVersion\\\\File Manager\\\\Settings\"),\r\n            &hKey);\r\n\r\n         if (dwError != ERROR_SUCCESS) {\r\n            bConnect = TRUE;\r\n         } else {\r\n\r\n            cb = sizeof(dwTemp);\r\n            dwTemp = 0;\r\n\r\n            dwError = RegQueryValueEx(hKey, TEXT(\"Network\"),\r\n               NULL, NULL, (LPBYTE)&dwTemp, &cb);\r\n\r\n            if (dwError != ERROR_SUCCESS || dwTemp)\r\n               bConnect = TRUE;\r\n\r\n            RegCloseKey(hKey);\r\n         }\r\n\r\n\r\n         if (bConnect) {\r\n            fdwRet |= NS_CONNECTDLG|NS_CONNECT;\r\n         }\r\n#else\r\n         fdwRet |= NS_CONNECTDLG|NS_CONNECT;\r\n#endif\r\n      }\r\n\r\n      //\r\n      // Check for share-ability\r\n      //\r\n\r\n      dwError = RegOpenKey(HKEY_LOCAL_MACHINE,\r\n         TEXT(\"System\\\\CurrentControlSet\\\\Services\\\\LanmanServer\"),\r\n         &hKey);\r\n\r\n      if (!dwError) {\r\n\r\n         fdwRet |= NS_SHAREDLG|NS_PROPERTYDLG;\r\n         RegCloseKey(hKey);\r\n      }\r\n   }\r\n\r\n   return fdwRet & nIndex ? TRUE : FALSE;\r\n}\r\n"
  },
  {
    "path": "src/wnetcaps.h",
    "content": "/********************************************************************\r\n\r\n   wnetcaps.h\r\n\r\n   Copyright (c) Microsoft Corporation. All rights reserved.\r\n   Licensed under the MIT License.\r\n\r\n********************************************************************/\r\n\r\n#ifndef _WNETCAPS_H\r\n#define _WNETCAPS_H\r\n\r\n\r\n//\r\n// Prototypes\r\n//\r\nBOOL WNetStat(INT nIndex);\r\n\r\n\r\n//\r\n// There must be < 32 controls here.\r\n//\r\n#define NS_NULL        0x0\r\n#define NS_REFRESH     0x1\r\n#define NS_CONNECT     0x2\r\n#define NS_CONNECTDLG  0x4\r\n#define NS_SHAREDLG    0x8\r\n#define NS_PROPERTYDLG 0x10\r\n\r\n\r\n#endif // ndef _WNETCAPS_H\r\n\r\n"
  },
  {
    "path": "tools/ExeView/ExeView.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"15.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <PropertyGroup Label=\"Globals\">\n    <VCProjectVersion>15.0</VCProjectVersion>\n    <ProjectGuid>{23717B8E-CA4A-412F-A4EA-5E6899143EC7}</ProjectGuid>\n    <Keyword>Win32Proj</Keyword>\n    <RootNamespace>ExeView</RootNamespace>\n  </PropertyGroup>\n  <Import Project=\"..\\..\\build\\winfile.default.props\" />\n  <PropertyGroup>\n    <ConfigurationType>Application</ConfigurationType>\n    <CharacterSet>MultiByte</CharacterSet>\n  </PropertyGroup>\n  <Import Project=\"..\\..\\build\\winfile.props\" />\n  <ItemDefinitionGroup>\n    <ClCompile>\n      <SDLCheck>true</SDLCheck>\n    </ClCompile>\n    <Link>\n      <SubSystem>Windows</SubSystem>\n    </Link>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|arm64'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|arm64'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemGroup>\n    <ClInclude Include=\"exehdr.h\" />\n    <ClInclude Include=\"global.h\" />\n    <ClInclude Include=\"res.h\" />\n    <ClInclude Include=\"stdafx.h\" />\n    <ClInclude Include=\"targetver.h\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ClCompile Include=\"bmp.cpp\" />\n    <ClCompile Include=\"exehdr.cpp\" />\n    <ClCompile Include=\"filllb.cpp\" />\n    <ClCompile Include=\"iconcur.cpp\" />\n    <ClCompile Include=\"init.cpp\" />\n    <ClCompile Include=\"main.cpp\" />\n    <ClCompile Include=\"menudlg.cpp\" />\n    <ClCompile Include=\"res.cpp\" />\n    <ClCompile Include=\"save.cpp\" />\n    <ClCompile Include=\"stdafx.cpp\">\n      <PrecompiledHeader>Create</PrecompiledHeader>\n    </ClCompile>\n  </ItemGroup>\n  <ItemGroup>\n    <ResourceCompile Include=\"main.rc\" />\n  </ItemGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n  <ImportGroup Label=\"ExtensionTargets\">\n  </ImportGroup>\n</Project>\n"
  },
  {
    "path": "tools/ExeView/ExeView.vcxproj.filters",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup>\n    <Filter Include=\"Source Files\">\n      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>\n      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>\n    </Filter>\n    <Filter Include=\"Header Files\">\n      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>\n      <Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>\n    </Filter>\n    <Filter Include=\"Resource Files\">\n      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>\n      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>\n    </Filter>\n  </ItemGroup>\n  <ItemGroup>\n    <ClInclude Include=\"stdafx.h\">\n      <Filter>Header Files</Filter>\n    </ClInclude>\n    <ClInclude Include=\"targetver.h\">\n      <Filter>Header Files</Filter>\n    </ClInclude>\n    <ClInclude Include=\"exehdr.h\">\n      <Filter>Header Files</Filter>\n    </ClInclude>\n    <ClInclude Include=\"global.h\">\n      <Filter>Header Files</Filter>\n    </ClInclude>\n    <ClInclude Include=\"res.h\">\n      <Filter>Header Files</Filter>\n    </ClInclude>\n  </ItemGroup>\n  <ItemGroup>\n    <ClCompile Include=\"stdafx.cpp\">\n      <Filter>Source Files</Filter>\n    </ClCompile>\n    <ClCompile Include=\"exehdr.cpp\">\n      <Filter>Source Files</Filter>\n    </ClCompile>\n    <ClCompile Include=\"filllb.cpp\">\n      <Filter>Source Files</Filter>\n    </ClCompile>\n    <ClCompile Include=\"iconcur.cpp\">\n      <Filter>Source Files</Filter>\n    </ClCompile>\n    <ClCompile Include=\"init.cpp\">\n      <Filter>Source Files</Filter>\n    </ClCompile>\n    <ClCompile Include=\"main.cpp\">\n      <Filter>Source Files</Filter>\n    </ClCompile>\n    <ClCompile Include=\"menudlg.cpp\">\n      <Filter>Source Files</Filter>\n    </ClCompile>\n    <ClCompile Include=\"res.cpp\">\n      <Filter>Source Files</Filter>\n    </ClCompile>\n    <ClCompile Include=\"bmp.cpp\">\n      <Filter>Source Files</Filter>\n    </ClCompile>\n    <ClCompile Include=\"save.cpp\">\n      <Filter>Source Files</Filter>\n    </ClCompile>\n  </ItemGroup>\n  <ItemGroup>\n    <ResourceCompile Include=\"main.rc\">\n      <Filter>Resource Files</Filter>\n    </ResourceCompile>\n  </ItemGroup>\n</Project>"
  },
  {
    "path": "tools/ExeView/abstract.txt",
    "content": "EXEVIEW: Extracts and Decodes Information from Executable\nFiles\n\nEXEVIEW demonstrates how to extract and decode resources\nand tables from executable files or library files. (FONTS\nand DRVs qualify as dynamic link libraries [DLLs]).\n\nApplications often wish to extract information from an\nexecutable file without loading the application itself.\nFor example, the Microsoft(R) Windows(TM) Program Manager\nextracts an icon from an .EXE file to represent an\napplication. There are many other resources and tables in\nan .EXE file (or in a DLL) that may be useful to certain\napplications.\n\nEXEVIEW uses the old and new header formats, which are\ndocumented in the \"MS-DOS Encyclopedia\" (Microsoft Press,\n1988). EXEVIEW loads these headers and the associated\ntables that these headers point at, including the entry\ntable, the segment table, the resource table, the resident\nand non-resident name tables, and the imported name\ntables. EXEVIEW also loads the resources from the resource\ntable. If a resource can be displayed graphically (for\nexample, icons, cursors, bitmaps, menus), it is. Resources\nfor string tables and directories (for example, icons,\ncursors, fonts) are listed in a text format.\n\nFor more information on file and resource formats, see the\nMicrosoft Systems Journal, Vol. 6, No. 5\n(September/October 1991) or the \"MS-DOS Encyclopedia\"\n(Microsoft Press, 1988).\n\nEXEVIEW was built and tested under Microsoft Windows\nversion 3.1.\n"
  },
  {
    "path": "tools/ExeView/bmp.cpp",
    "content": "//*************************************************************\n//  File name: Bitmapc\n//\n//  Description: \n//      Code for displaying Bitmaps\n//\n//  History:    Date       Author     Comment\n//               1/25/92   MSM        Created\n//\n// Written by Microsoft Product Support Services, Windows Developer Support\n// Copyright (c) 1992 Microsoft Corporation. All rights reserved.\n//*************************************************************\n// COPYRIGHT:\n//\n//   (C) Copyright Microsoft Corp. 1993.  All rights reserved.\n//\n//   You have a royalty-free right to use, modify, reproduce and\n//   distribute the Sample Files (and/or any modified version) in\n//   any way you find useful, provided that you agree that\n//   Microsoft has no warranty obligations or liability for any\n//   Sample Application Files which are modified.\n//\n\n#include \"stdafx.h\"\n\n//*************************************************************\n//\n//  ShowBitmap\n//\n//  Purpose:\n//      Opens a popup window and displays the menu    \n//\n//\n//  Parameters:\n//      LPRESPACKET lprp\n//      \n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//\n//*************************************************************\n\nBOOL ShowBitmap (LPRESPACKET lprp)\n{\n    HWND hWnd;\n    MSG  msg;\n\n    hWnd = CreateWindow( \"BITMAPPOPUP\", \"Viewing Bitmap\",  WS_POPUPWINDOW|\n        WS_CAPTION|WS_THICKFRAME|WS_VISIBLE, 0, 0, 400, 300,\n        ghWndMain, NULL, ghInst, (LPSTR)lprp );\n\n    if (!hWnd)\n    {\n        MessageBox(ghWndMain,\"Could not create view window!\",\"EXEVIEW\",MB_OK);\n        return TRUE;\n    }\n\n    // Give the modal look\n    EnableWindow( ghWndMain, FALSE );\n\n    while ( IsWindow(hWnd) )    // While the popup is displayed\n    {\n        if (PeekMessage(&msg,NULL,0,0,PM_REMOVE))\n        {\n            TranslateMessage( &msg );\n            DispatchMessage( &msg );\n        }\n    }\n    EnableWindow( ghWndMain, TRUE );\n\n    return TRUE;\n\n} //*** ShowBitmap\n\n//*************************************************************\n//\n//  ShowBitmapProc\n//\n//  Purpose:\n//      Displays an Bitmap for all the world to see\n//\n//\n//  Parameters:\n//      HWND hWnd\n//      WORD msg\n//      WORD wParam\n//      LONG lParam\n//      \n//\n//  Return: (BOOL FAR PASCAL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/25/92   MSM        Created\n//\n//*************************************************************\n\nLRESULT FAR PASCAL ShowBitmapProc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)\n{\n    static HBITMAP hBitmap = NULL;\n\n    switch (msg)\n    {\n        case WM_CREATE:\n        {\n            LPRESPACKET lprp;\n            LPCREATESTRUCT lpcs = (LPCREATESTRUCT)lParam;\n\n            lprp = (LPRESPACKET)lpcs->lpCreateParams;\n            hBitmap = MakeBitmap( lprp );\n        }\n        break;\n\n        case WM_PAINT:\n        {\n            PAINTSTRUCT ps;\n\n            BeginPaint( hWnd, &ps );\n\n            if (hBitmap)\n            {\n                RECT rc;\n                HDC  hDC = CreateCompatibleDC( ps.hdc );\n                HBITMAP hBmp;\n\n                GetClientRect( hWnd, &rc );\n                hBmp = (HBITMAP)SelectObject( hDC, hBitmap );\n\n                BitBlt(ps.hdc,0,0,rc.right,rc.bottom,hDC,0,0,SRCCOPY);\n                SelectObject( hDC, hBmp );\n                DeleteDC( hDC );\n            }\n            else\n                TextOut( ps.hdc, 10, 10, \"Bitmap not created!\", 19 );\n            EndPaint( hWnd, &ps );\n            return 1L;\n        }\n        break;\n\n        case WM_CLOSE:\n            EnableWindow( ghWndMain, TRUE );\n        break;        \n\n        case WM_DESTROY:\n            if (hBitmap)\n                DeleteObject( hBitmap );\n        break;\n    }\n    return DefWindowProc( hWnd, msg, wParam, lParam );\n\n} //*** ShowBitmapProc\n\n//*************************************************************\n//\n//  MakeBitmap\n//\n//  Purpose:\n//      Attempts to create an Bitmap based on the info passed in\n//\n//\n//  Parameters:\n//      LPRESPACKET lprp\n//      \n//\n//  Return: (HBITMAP)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/25/92   MSM        Created\n//  \n//*************************************************************\n\nHBITMAP MakeBitmap ( LPRESPACKET lprp )\n{\n    LPBITMAPINFOHEADER  lpbihdr;\n    LPBITMAPCOREHEADER  lpbchdr;\n    LPSTR    lpDIBHdr, lpDIBBits;\n    HBITMAP  hBitmap;\n    HDC      hDC;\n    WORD     wBitCount, wColorTable, fWin30;\n    HPALETTE hPalette, hOldPalette = NULL;\n\n    lpDIBHdr  = lprp->lpMem;\n    lpbihdr   = (LPBITMAPINFOHEADER)lpDIBHdr;\n    lpbchdr   = (LPBITMAPCOREHEADER)lpDIBHdr;\n\n    fWin30 = (lpbihdr->biSize == sizeof(BITMAPINFOHEADER));\n\n    // Determine size of the color table\n    if (fWin30)\n        wBitCount = lpbihdr->biBitCount;\n    else\n        wBitCount = lpbchdr->bcBitCount;\n\n    switch (wBitCount)\n    {\n        case 1:\n            wBitCount = 2;\n        break;\n        case 4:\n            wBitCount = 16;\n        break;\n        case 8:\n            wBitCount = 256;\n        break;\n\n        default:\n            wBitCount = 0;\n        break;\n    }\n\n    if (fWin30)\n    {\n        if (lpbihdr->biClrUsed)\n            wColorTable = (WORD)lpbihdr->biClrUsed * sizeof(RGBQUAD);\n        else\n            wColorTable = wBitCount * sizeof(RGBQUAD);\n    }\n    else\n        wColorTable = wBitCount * sizeof(RGBTRIPLE);\n\n    // Calculate the pointer to the DIB bits\n    if (fWin30)\n        lpDIBBits = lpDIBHdr + lpbihdr->biSize + wColorTable;\n    else\n        lpDIBBits = lpDIBHdr + lpbchdr->bcSize + wColorTable;\n\n    hDC = GetDC (NULL);\n\n    if (!hDC)\n        return NULL;\n\n    hPalette = CreateNewPalette( lpDIBHdr, fWin30, wBitCount );\n\n    if (hPalette)\n      hOldPalette = SelectPalette (hDC, hPalette, FALSE);\n\n    RealizePalette (hDC);\n\n    hBitmap = CreateDIBitmap (hDC, lpbihdr, CBM_INIT, lpDIBBits,\n                                (LPBITMAPINFO) lpDIBHdr, DIB_RGB_COLORS);\n\n    if (hOldPalette)\n        SelectPalette (hDC, hOldPalette, FALSE);\n\n    ReleaseDC (NULL, hDC);\n    DeleteObject( hPalette );\n\n    return hBitmap;\n\n} //*** MakeBitmap\n\n//*************************************************************\n//\n//  CreateNewPalette\n//\n//  Purpose:\n//      Creates a palette from the DIB\n//\n//\n//  Parameters:\n//      LPSTR lpbi  - pointer to the bitmapinfo\n//      \n//\n//  Return: (HPALETTE)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/27/92   MSM        Created\n//\n//*************************************************************\n\nHPALETTE CreateNewPalette (LPSTR lpbi, WORD fWin30, WORD wColors)\n{\n    LPLOGPALETTE     lpPal;\n    HANDLE           hMem;\n    HPALETTE         hPal = NULL;\n    int              i;\n    LPBITMAPINFO     lpbmi;\n    LPBITMAPCOREINFO lpbmc;\n\n    lpbmi = (LPBITMAPINFO) lpbi;\n    lpbmc = (LPBITMAPCOREINFO) lpbi;\n\n    if (wColors)\n    {\n        hMem = GlobalAlloc (GHND, sizeof (LOGPALETTE) + \n                    sizeof (PALETTEENTRY) * wColors);\n\n        if (!hMem)\n            return NULL;\n\n        lpPal = (LPLOGPALETTE) GlobalLock (hMem);\n        if (!lpPal)\n        {\n            GlobalFree( hMem);\n            return NULL;\n        }\n\n        lpPal->palVersion    = 0x300;\n        lpPal->palNumEntries = wColors;\n\n        for (i = 0;  i < (int)wColors;  i++)\n        {\n            if (fWin30)\n            {\n                lpPal->palPalEntry[i].peRed   = lpbmi->bmiColors[i].rgbRed;\n                lpPal->palPalEntry[i].peGreen = lpbmi->bmiColors[i].rgbGreen;\n                lpPal->palPalEntry[i].peBlue  = lpbmi->bmiColors[i].rgbBlue;\n                lpPal->palPalEntry[i].peFlags = 0;\n            }\n            else\n            {\n                lpPal->palPalEntry[i].peRed   = lpbmc->bmciColors[i].rgbtRed;\n                lpPal->palPalEntry[i].peGreen = lpbmc->bmciColors[i].rgbtGreen;\n                lpPal->palPalEntry[i].peBlue  = lpbmc->bmciColors[i].rgbtBlue;\n                lpPal->palPalEntry[i].peFlags = 0;\n            }\n        }\n\n        hPal = CreatePalette (lpPal);\n\n        GlobalUnlock (hMem);\n        GlobalFree   (hMem);\n    }\n    return hPal;\n\n} //*** CreateNewPalette\n\n//*** EOF: Bitmap.c\n"
  },
  {
    "path": "tools/ExeView/exehdr.cpp",
    "content": "//*************************************************************\n//  File name: exehdr.c\n//\n//  Description: \n//      Routines for reading the exe headers and resources\n//\n//  History:    Date       Author     Comment\n//               1/16/92   MSM        Created\n//\n// Written by Microsoft Product Support Services, Windows Developer Support\n// Copyright (c) 1992 Microsoft Corporation. All rights reserved.\n//*************************************************************\n// COPYRIGHT:\n//\n//   (C) Copyright Microsoft Corp. 1993.  All rights reserved.\n//\n//   You have a royalty-free right to use, modify, reproduce and\n//   distribute the Sample Files (and/or any modified version) in\n//   any way you find useful, provided that you agree that\n//   Microsoft has no warranty obligations or liability for any\n//   Sample Application Files which are modified.\n//\n\n#include \"stdafx.h\"\n\n//*************************************************************\n//\n//  LoadExeInfo\n//\n//  Purpose:\n//      Loads in the header information from the EXE\n//\n//\n//  Parameters:\n//      LPSTR    lpFile\n//\n//  Return: (PEXEINFO)\n//\n//\n//  Comments:\n//      This function will allocate a EXEINFO structure and\n//      fill it out from the given filename.  This routine,\n//      if successful will return a pointer to this structure.\n//      If it fails, it returns a LERR_???? code.\n//\n//  History:    Date       Author     Comment\n//               1/16/92   MSM        Created\n//\n//*************************************************************\n\nPEXEINFO LoadExeInfo (LPSTR lpFile)\n{\n    OFSTRUCT of;\n    int      fFile=0, nLen, nErr=0;\n    WORD     wSize;\n    PEXEINFO pExeInfo;\n\n#define ERROREXIT(X)    {nErr=X; goto error_out;}\n\n// Allocate place main EXEINFO structure    \n    pExeInfo = (PEXEINFO)LocalAlloc(LPTR, sizeof(EXEINFO));\n    if (!pExeInfo)\n        return (PEXEINFO)LERR_MEMALLOC;\n\n// Open file and check for errors\n    fFile = OpenFile( lpFile, &of, OF_READ );\n\n    if (!fFile)\n        ERROREXIT(LERR_OPENINGFILE);\n\n// Allocate space for the filename\n    pExeInfo->pFilename = (PSTR)LocalAlloc(LPTR, lstrlen(lpFile)+1 );\n    if (!pExeInfo->pFilename)\n        return (PEXEINFO)LERR_MEMALLOC;\n        \n    lstrcpy( pExeInfo->pFilename, lpFile );\n\n// Read the OLD exe header\n    nLen = (int)_lread(fFile, (LPSTR)&(pExeInfo->OldHdr), sizeof(OLDEXE));    \n\n    if (nLen<sizeof(OLDEXE))\n        ERROREXIT(LERR_READINGFILE);\n\n    if (pExeInfo->OldHdr.wFileSignature != OLDSIG)\n        ERROREXIT(LERR_NOTEXEFILE);\n\n    if (pExeInfo->OldHdr.wFirstRelocationItem < 0x40)  // Old EXE\n    {\n        pExeInfo->NewHdr.wNewSignature = 0;\n        _lclose( fFile );\n        return pExeInfo;\n    }\n\n    _llseek( fFile, pExeInfo->OldHdr.lNewExeOffset, 0 );\n\n// Read the NEW exe header\n    nLen = (int)_lread(fFile, (LPSTR)&(pExeInfo->NewHdr), sizeof(NEWEXE));    \n\n    if (nLen<sizeof(NEWEXE))\n        ERROREXIT(LERR_READINGFILE);\n\n    if (pExeInfo->NewHdr.wNewSignature != NEWSIG)\n        ERROREXIT(LERR_NOTEXEFILE);\n\n// Read entry table\n    wSize = pExeInfo->NewHdr.wEntrySize;\n\n    pExeInfo->pEntryTable=(PSTR)LocalAlloc(LPTR, wSize);\n\n    if (!pExeInfo->pEntryTable)\n        ERROREXIT(LERR_MEMALLOC);\n\n    _llseek(fFile, pExeInfo->OldHdr.lNewExeOffset +\n                   pExeInfo->NewHdr.wEntryOffset, 0 );\n\n    nLen = _lread(fFile, (LPSTR)pExeInfo->pEntryTable, wSize );\n    \n    if (nLen != (int)wSize)\n        ERROREXIT(LERR_READINGFILE);\n\n// Read all the other tables\n    if ( (nErr=ReadSegmentTable( fFile, pExeInfo )) < 0 )\n        ERROREXIT(nErr);\n\n// Do not read resources for OS/2 apps!!!!!!!\n    if (pExeInfo->NewHdr.bExeType == 0x02)\n    {\n        if ( (nErr=ReadResourceTable( fFile, pExeInfo )) < 0 )\n            ERROREXIT(nErr);\n    }\n\n    if ( (nErr=ReadResidentNameTable( fFile, pExeInfo )) < 0 )\n        ERROREXIT(nErr);\n    \n    if ( (nErr=ReadImportedNameTable( fFile, pExeInfo )) < 0 )\n        ERROREXIT(nErr);\n\n    if ( (nErr=ReadNonResidentNameTable( fFile, pExeInfo )) < 0 )\n        ERROREXIT(nErr);\n\n    nErr = 1;\n\nerror_out:\n// Close file and get outta here\n    if (fFile)\n        _lclose( fFile );\n\n    if (nErr<=0)\n    {\n        FreeExeInfoMemory( pExeInfo );\n        return (PEXEINFO)nErr;\n    }\n    return pExeInfo;\n\n} //*** LoadExeInfo\n\n//*************************************************************\n//\n//  FreeExeInfoMemory\n//\n//  Purpose:\n//      Frees the memory associated created to store the info\n//\n//\n//  Parameters:\n//      PEXEINFO pExeInfo\n//      \n//\n//  Return: (VOID)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/17/92   MSM        Created\n//\n//*************************************************************\n\nVOID FreeExeInfoMemory (PEXEINFO pExeInfo)\n{\n    PNAME    pName = pExeInfo->pResidentNames;\n    PRESTYPE prt   = pExeInfo->pResTable;\n\n// Free Filename\n    if (pExeInfo->pFilename)\n        LocalFree( (HANDLE)pExeInfo->pFilename );\n\n// Free Entry Table\n    if (pExeInfo->pEntryTable)\n        LocalFree( (HANDLE)pExeInfo->pEntryTable );\n\n// Free Segment Table\n    if (pExeInfo->pSegTable)\n        LocalFree( (HANDLE)pExeInfo->pSegTable );\n\n    while (prt) // Loop through the resource table\n    {\n        PRESTYPE prt_temp = prt->pNext;\n        PRESINFO pri = prt->pResInfoArray;\n        WORD     wI=0;\n\n        // free if Resource array was allocated\n        if (pri)\n        {\n            // Loop through and free any Resource Names\n            while ( wI < prt->wCount )\n            {\n                if (pri->pResourceName)\n                    LocalFree( (HANDLE)pri->pResourceName );\n                wI++;\n                pri++;\n            }\n            LocalFree( (HANDLE)prt->pResInfoArray );\n        }\n\n        // Free ResourceType name if there is one\n        if (prt->pResourceType)\n            LocalFree( (HANDLE)prt->pResourceType );\n\n        // Free resource type header\n        LocalFree( (HANDLE)prt );\n        prt = prt_temp;\n    }\n\n// Free Resident Name Table\n    while (pName)\n    {\n        PNAME pN2 = pName->pNext;\n\n        LocalFree( (HANDLE)pName );\n        pName = pN2;\n    }\n\n// Free Import Name Table\n    pName = pExeInfo->pImportedNames;\n    while (pName)\n    {\n        PNAME pN2 = pName->pNext;\n\n        LocalFree( (HANDLE)pName );\n        pName = pN2;\n    }\n\n// Free Non-Resident Name Table\n    pName = pExeInfo->pNonResidentNames;\n    while (pName)\n    {\n        PNAME pN2 = pName->pNext;\n\n        LocalFree( (HANDLE)pName );\n        pName = pN2;\n    }\n\n// Free PEXEINFO struct\n    LocalFree( (HANDLE)pExeInfo );\n\n} //*** FreeExeInfoMemory\n\n//*************************************************************\n//\n//  ReadSegmentTable\n//\n//  Purpose:\n//      LocalAllocs memory and reads in the segment table\n//\n//\n//  Parameters:\n//      int fFile\n//      PEXEINFO pExeInfo\n//      \n//\n//  Return: (int)\n//      0 or error condition\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/17/92   MSM        Created\n//\n//*************************************************************\n\nint ReadSegmentTable (int fFile, PEXEINFO pExeInfo)\n{\n    int       nLen;\n    PSEGENTRY pSeg;\n    long      lSegTable;\n    WORD      wSegSize;\n\n    wSegSize = sizeof(SEGENTRY)*pExeInfo->NewHdr.wSegEntries;\n\n    if (wSegSize==0)\n    {\n        pExeInfo->pSegTable = NULL;\n        return 0;\n    }\n\n// Allocate space for and read in the Segment table\n    pSeg = (PSEGENTRY)LocalAlloc(LPTR, wSegSize );\n    if (!pSeg)\n        return LERR_MEMALLOC;\n\n    lSegTable = pExeInfo->OldHdr.lNewExeOffset+pExeInfo->NewHdr.wSegOffset;\n\n    _llseek( fFile, lSegTable, 0 );\n    nLen = _lread( fFile, (LPSTR)pSeg, wSegSize );\n    if (nLen != (int)wSegSize)\n        return LERR_READINGFILE;\n\n    pExeInfo->pSegTable = pSeg;\n    return 0;\n\n} //*** ReadSegmentTable\n\n//*************************************************************\n//\n//  ReadResourceTable\n//\n//  Purpose:\n//      LocalAllocs memory and reads in the resource headers\n//\n//\n//  Parameters:\n//      int fFile\n//      PEXEINFO pExeInfo\n//      \n//\n//  Return: (int)\n//      0 or error condition\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/17/92   MSM        Created\n//\n//*************************************************************\n\nint ReadResourceTable (int fFile, PEXEINFO pExeInfo)\n{\n    int       nLen;\n    RESTYPE   rt;\n    PRESTYPE  prt, prt_last=NULL;\n    PRESINFO  pri;\n    long      lResTable;\n    WORD      wResSize, wI;\n    int       ipri;\n\n    rt.pResourceType = NULL;\n    rt.pResInfoArray = NULL;\n    rt.pNext         = NULL;\n\n    if (pExeInfo->NewHdr.wResourceOffset == pExeInfo->NewHdr.wResOffset)\n        return 0;       // No resources\n\n    lResTable = pExeInfo->OldHdr.lNewExeOffset+pExeInfo->NewHdr.wResourceOffset;\n\n    _llseek( fFile, lResTable, 0 );\n\n    // Read shift count\n    if (_lread(fFile, (LPSTR)&(pExeInfo->wShiftCount), 2)!=2)\n        return LERR_READINGFILE;\n\n    // Read all the resource types    \n    while (TRUE)    \n    {\n        nLen = _lread(fFile, (LPSTR)&rt, sizeof(RTYPE));\n        if (nLen != sizeof(RTYPE))\n            return LERR_READINGFILE;\n        if (rt.wType==0)\n            break;\n\n        prt = (PRESTYPE)LocalAlloc(LPTR, sizeof(RESTYPE) );\n        if (!prt)\n            return LERR_MEMALLOC;\n\n        *prt = rt;\n\n        if (prt_last==NULL)     // Is this the first entry??\n            pExeInfo->pResTable = prt;\n        else                    // Nope\n            prt_last->pNext = prt;\n\n        prt_last=prt;\n\n        // Allocate buffer for 'Count' resources of this type\n        wResSize = prt->wCount * sizeof( RESINFO2 );\n        pri = (PRESINFO)LocalAlloc(LPTR, wResSize );\n        if (!pri)\n            return LERR_MEMALLOC;\n        prt->pResInfoArray = pri;\n\n        // Now read 'Count' resources of this type\n        for (ipri = 0; ipri < prt->wCount; ipri++)\n        {\n            nLen = _lread(fFile, (LPSTR)(pri + ipri), sizeof(RINFO));\n            if (nLen != sizeof(RINFO))\n                return LERR_READINGFILE;\n\n            (pri + ipri)->pResType = prt;\n        }\n    }\n\n    // Now that the resources are read, read the names\n    prt = pExeInfo->pResTable;\n\n    while (prt)\n    {\n        if (prt->wType & 0x8000)        // Pre-defined type\n            prt->pResourceType = NULL;\n        else                            // Name is in the file\n        {\n             // wType is offset from beginning of Resource Table\n            _llseek( fFile, lResTable + prt->wType, 0 );\n\n            wResSize = 0;    \n            // Read string size\n            if (_lread(fFile, (LPSTR)&wResSize, 1)!=1)\n                return LERR_READINGFILE;\n\n            // +1 for the null terminator\n            prt->pResourceType = (PSTR)LocalAlloc(LPTR, wResSize+1);\n            if (!prt->pResourceType)\n                return LERR_MEMALLOC;\n\n            // Read string\n            if (_lread(fFile, (LPSTR)prt->pResourceType, wResSize)!=wResSize)\n                return LERR_READINGFILE;\n            prt->pResourceType[ wResSize ] = 0;   // Null terminate string;\n        }\n\n        // Now do Resource Names for this type\n        pri = prt->pResInfoArray;\n\n        wI = 0;\n        while ( wI < prt->wCount )\n        {\n            if (pri->wID & 0x8000)  // Integer resource\n                pri->pResourceName = NULL;\n            else                    // Named resource\n            {\n                // wID is offset from beginning of Resource Table\n                _llseek( fFile, lResTable + pri->wID, 0 );\n\n                wResSize = 0;\n                // Read string size\n                if (_lread(fFile, (LPSTR)&wResSize, 1)!=1)\n                    return LERR_READINGFILE;\n\n                // +1 for the null terminator\n                pri->pResourceName = (PSTR)LocalAlloc(LPTR, wResSize+1);\n                if (!pri->pResourceName)\n                    return LERR_MEMALLOC;\n\n                // Read string\n                if (_lread(fFile, (LPSTR)pri->pResourceName, wResSize)!=wResSize)\n                    return LERR_READINGFILE;\n                pri->pResourceName[ wResSize ] = 0;   // Null terminate string;\n            }\n            pri++;\n            wI++;\n        }\n        prt = prt->pNext;\n    }\n    return 0;\n\n} //*** ReadResourceTable\n\n//*************************************************************\n//\n//  ReadResidentNameTable\n//\n//  Purpose:\n//\t\tReads in the Resident name table (First one being pModule)\n//\n//\n//  Parameters:\n//      int fFile\n//      PEXEINFO pExeInfo\n//      \n//\n//  Return: (int)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/18/92   MSM        Created\n//\n//*************************************************************\n\nint ReadResidentNameTable (int fFile, PEXEINFO pExeInfo)\n{\n    long         lResTable;\n    WORD         wResSize;\n    PNAME        pLast = NULL, pName = NULL;\n\n    lResTable = pExeInfo->OldHdr.lNewExeOffset+pExeInfo->NewHdr.wResOffset;\n\n    _llseek( fFile, lResTable, 0 );\n\n    wResSize = 0;\n    // Read string length\n    if (_lread(fFile, (LPSTR)&wResSize, 1)!=1)\n        return LERR_READINGFILE;\n\n    while (wResSize)\n    {\n        pName = (PNAME)LocalAlloc(LPTR,sizeof(NAME)+wResSize);\n        if (!pName)\n            return LERR_MEMALLOC;\n\n        if (!pLast)\n            pExeInfo->pResidentNames = pName;\n        else\n            pLast->pNext = pName;\n        pLast = pName;\n\n        // Read string\n        if (_lread(fFile, (LPSTR)pName->szName, wResSize)!=wResSize)\n            return LERR_READINGFILE;\n        pName->szName[ wResSize ] = 0;   // Null terminate string;\n\n        // Read ordinal\n        if (_lread(fFile, (LPSTR)&pName->wOrdinal, 2)!=2)\n            return LERR_READINGFILE;\n\n        wResSize = 0;\n        // Read string length\n        if (_lread(fFile, (LPSTR)&wResSize, 1)!=1)\n            return LERR_READINGFILE;\n    }\n    return 0;\n\n} /* ReadResidentNameTable() */\n\n//*************************************************************\n//\n//  ReadImportedNameTable\n//\n//  Purpose:\n//\t\tReads the Imported Name table\n//\n//\n//  Parameters:\n//      int fFile\n//      PEXEINFO pExeInfo\n//      \n//\n//  Return: (int)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/18/92   MSM        Created\n//\n//*************************************************************\n\nint ReadImportedNameTable (int fFile, PEXEINFO pExeInfo)\n{\n    long         lImpTable;\n    long         lModTable;\n    WORD         wImpSize, wModOffset, wImports;\n    PNAME        pLast = NULL, pName = NULL;\n\n    lModTable = pExeInfo->OldHdr.lNewExeOffset+pExeInfo->NewHdr.wModOffset;\n    lImpTable = pExeInfo->OldHdr.lNewExeOffset+pExeInfo->NewHdr.wImportOffset;\n\n    wImports = pExeInfo->NewHdr.wModEntries;\n    if (!wImports)\n        return 0;\n\n    _llseek( fFile, lModTable, 0 );\n\n\n// Read Import Names\n    while (wImports)\n    {\n\n        // Load Module Reference Table offset\n        _llseek( fFile, lModTable, 0 );\n\n        // Move Module pointer to next string\n        lModTable += 2L;\n        if (_lread(fFile, (LPSTR)&wModOffset, 2)!=2)\n            return LERR_READINGFILE;\n        \n        // Move file pointer to that offset in the Imported Table\n        _llseek( fFile, lImpTable + wModOffset, 0 );\n\n        wImpSize = 0;\n\n        // Read string size\n        if (_lread(fFile, (LPSTR)&wImpSize, 1)!=1)\n            return LERR_READINGFILE;\n\n        pName = (PNAME)LocalAlloc(LPTR,sizeof(NAME)+wImpSize);\n        if (!pName)\n            return LERR_MEMALLOC;\n\n        if (!pLast)\n            pExeInfo->pImportedNames = pName;\n        else\n            pLast->pNext = pName;\n        pLast = pName;\n\n        // Read string\n        if (_lread(fFile, (LPSTR)pName->szName, wImpSize)!=wImpSize)\n            return LERR_READINGFILE;\n        pName->szName[ wImpSize ] = 0;   // Null terminate string;\n\n        // Imported Names don't have ordinals\n        pName->wOrdinal = 0;\n        wImports--;\n    }\n    return 0;\n\n} /* ReadImportedNameTable() */\n\n//*************************************************************\n//\n//  ReadNonResidentNameTable\n//\n//  Purpose:\n//\t\tReads in the NonResident name table (First one being pModuleDesc)\n//\n//\n//  Parameters:\n//      int fFile\n//      PEXEINFO pExeInfo\n//      \n//\n//  Return: (int)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/18/92   MSM        Created\n//\n//*************************************************************\n\nint ReadNonResidentNameTable (int fFile, PEXEINFO pExeInfo)\n{\n    long         lNonResTable;\n    WORD         wNonResSize;\n    PNAME        pLast = NULL, pName = NULL;\n\n// Correction to the Sept. 1991 MSJ Article.  The value at\n// offset 2CH is an offset from the beginning of the FILE not\n// from the beginning of the New Executable Header.\n\n    lNonResTable = pExeInfo->NewHdr.lNonResOffset;\n\n    _llseek( fFile, lNonResTable, 0 );\n\n    wNonResSize = 0;\n\n    // Read string size\n    if (_lread(fFile, (LPSTR)&wNonResSize, 1)!=1)\n        return LERR_READINGFILE;\n\n    while (wNonResSize)\n    {\n        pName = (PNAME)LocalAlloc(LPTR,sizeof(NAME)+wNonResSize);\n        if (!pName)\n            return LERR_MEMALLOC;\n\n        if (!pLast)\n            pExeInfo->pNonResidentNames = pName;\n        else\n            pLast->pNext = pName;\n        pLast = pName;\n\n        // Read string\n        if (_lread(fFile, (LPSTR)pName->szName, wNonResSize)!=wNonResSize)\n            return LERR_READINGFILE;\n        pName->szName[ wNonResSize ] = 0;   // Null terminate string;\n\n        // Read ordinal\n        if (_lread(fFile, (LPSTR)&pName->wOrdinal, 2)!=2)\n            return LERR_READINGFILE;\n\n        wNonResSize = 0;\n        // Read string size\n        if (_lread(fFile, (LPSTR)&wNonResSize, 1)!=1)\n            return LERR_READINGFILE;\n    }\n    return 0;\n\n} /* ReadNonResidentNameTable() */\n\n//*************************************************************\n//\n//  GetSegEntry\n//\n//  Purpose:\n//      Retrieves a segment entry\n//\n//\n//  Parameters:\n//      PEXEINFO pExeInfo\n//      int nIndex\n//      \n//\n//  Return: (PSEGENTRY)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/20/92   MSM        Created\n//\n//*************************************************************\n\nPSEGENTRY GetSegEntry ( PEXEINFO pExeInfo, int nIndex )\n{\n    PSEGENTRY pSeg = pExeInfo->pSegTable;\n\n    if (nIndex >= (int)pExeInfo->NewHdr.wSegEntries)\n        return NULL;\n\n    return (pSeg + nIndex);\n\n} //*** GetSegEntry\n\n//*************************************************************\n//\n//  GetModuleName\n//\n//  Purpose:\n//      Retrieves the module name\n//\n//\n//  Parameters:\n//      PEXEINFO pExeInfo\n//      \n//\n//  Return: (LPSTR)\n//\n//\n//  Comments:\n//      The module name is the first entry in the Resident Name Table\n//\n//  History:    Date       Author     Comment\n//               1/20/92   MSM        Created\n//\n//*************************************************************\n\nLPSTR GetModuleName ( PEXEINFO pExeInfo )\n{\n    if (pExeInfo->pResidentNames)\n        return (LPSTR)(pExeInfo->pResidentNames->szName);\n    else\n        return (LPSTR)\"\";\n\n} //*** GetModuleName\n\n//*************************************************************\n//\n//  GetModuleDescription\n//\n//  Purpose:\n//      Retrieves the module description\n//\n//\n//  Parameters:\n//      PEXEINFO pExeInfo\n//      \n//\n//  Return: (LPSTR)\n//\n//\n//  Comments:\n//      The module description is the first entry in the NonResident Table\n//\n//  History:    Date       Author     Comment\n//               1/20/92   MSM        Created\n//\n//*************************************************************\n\nLPSTR GetModuleDescription ( PEXEINFO pExeInfo )\n{\n    if (pExeInfo->pNonResidentNames)\n        return (LPSTR)(pExeInfo->pNonResidentNames->szName);\n    else\n        return (LPSTR)\"\";\n\n} //*** GetModuleDescription\n\n//*************************************************************\n//\n//  GetExeDataType\n//\n//  Purpose:\n//      Retrieves the type of data for the executable\n//\n//\n//  Parameters:\n//      PEXEINFO pExeInfo\n//      \n//\n//  Return: (LPSTR)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/18/92   MSM        Created\n//\n//*************************************************************\n\nLPSTR GetExeDataType (PEXEINFO pExeInfo)\n{\n    static    char szData[40];\n    PSEGENTRY pSeg = pExeInfo->pSegTable;\n    int       i;\n\n    lstrcpy( szData, \"NONE\" );\n\n    for (i=0; i<(int)pExeInfo->NewHdr.wSegEntries; i++)\n    {\n        if (pSeg->wFlags & F_DATASEG) // Data Segment\n        {\n            if (pSeg->wFlags & F_SHAREABLE)\n                lstrcpy( szData, \"SHARED\" );\n            else\n                lstrcpy( szData, \"NONSHARED\" );\n            return (LPSTR)szData;\n        }\n        pSeg++;\n    }\n    return (LPSTR)szData;    \n\n} //*** GetExeDataType\n\n//*** EOF: newexe.c\n"
  },
  {
    "path": "tools/ExeView/exehdr.h",
    "content": "//*************************************************************\n//  File name: exehdr.h\n//\n//  Description: \n//      Structures for reading the exe headers and tables\n//\n//  History:    Date       Author     Comment\n//               1/18/92   MSM        Created\n//\n// Written by Microsoft Product Support Services, Windows Developer Support\n// Copyright (c) 1992 Microsoft Corporation. All rights reserved.\n//*************************************************************\n\n// Structures and definitions used by this program can be\n// found in the Programmer's PC sourcebook, the MS-DOS Encyclopedia\n// from MS Press and the Sept. 1991 issue of the Microsoft Systems Journal\n\ntypedef struct\n{\n    WORD    wFileSignature;         // 0x5A4D\n    WORD    wLengthMod512;          // bytes on last page\n    WORD    wLength;                // 512 byte pages\n    WORD    wRelocationTableItems;  \n    WORD    wHeaderSize;            // Paragraphs\n    WORD    wMinAbove;              // Paragraphs\n    WORD    wDesiredAbove;          // Paragraphs\n    WORD    wStackDisplacement;     // Paragraphs\n    WORD    wSP;                    // On entry\n    WORD    wCheckSum;\n    WORD    wIP;                    // On entry\n    WORD    wCodeDisplacement;      // Paragraphs\n    WORD    wFirstRelocationItem;   // Offset from beginning\n    WORD    wOverlayNumber;\n    WORD    wReserved[ 16 ];\n    LONG    lNewExeOffset;          \n} OLDEXE, *POLDEXE;\n\ntypedef struct\n{\n    WORD  wNewSignature;    // 0x454e\n    char  cLinkerVer;       // Version number \n    char  cLinkerRev;       // Revision number \n    WORD  wEntryOffset;     // Offset to Entry Table\n    WORD  wEntrySize;       // Number of bytes in Entry Table\n    long  lChecksum;        // 32 bit check sum for the file\n    WORD  wFlags;           // Flag word \n    WORD  wAutoDataSegment; // Seg number for automatic data seg\n    WORD  wHeapInit;        // Initial heap allocation; 0 for no heap\n    WORD  wStackInit;       // Initial stack allocation; 0 for libraries\n    WORD  wIPInit;          // Initial IP setting \n    WORD  wCSInit;          // Initial CS segment number\n    WORD  wSPInit;          // Initial SP setting \n    WORD  wSSInit;          // Initial SS segment number\n    WORD  wSegEntries;      // Count of segment table entries\n    WORD  wModEntries;      // Entries in Module Reference Table \n    WORD  wNonResSize;      // Size of non-resident name table (bytes)\n    WORD  wSegOffset;       // Offset of Segment Table \n    WORD  wResourceOffset;  // Offset of Resource Table \n    WORD  wResOffset;       // Offset of resident name table \n    WORD  wModOffset;       // Offset of Module Reference Table \n    WORD  wImportOffset;    // Offset of Imported Names Table \n    long  lNonResOffset;    // Offset of Non-resident Names Table\n                            // THIS FIELD IS FROM THE BEGINNING OF THE FILE\n                            // NOT THE BEGINNING OF THE NEW EXE HEADER\n    WORD  wMoveableEntry;   // Count of movable entries in entry table\n    WORD  wAlign;           // Segment alignment shift count\n    WORD  wResourceSegs;    // Count of resource segments\n    BYTE  bExeType;         // Operating System flags  \n    BYTE  bAdditionalFlags; // Additional exe flags \n    WORD  wFastOffset;      // offset to FastLoad area \n    WORD  wFastSize;        // length of FastLoad area \n    WORD  wReserved;\n    WORD  wExpVersion;      // Expected Windows version number \n} NEWEXE, *PNEWEXE;\n\n#define OLDSIG          0x5a4d\n#define NEWSIG          0x454e\n#define SINGLEDATA      0x0001\n#define MULTIPLEDATA    0x0002\n#define PMODEONLY       0x0008\n#define LIBRARY         0x8000\n#define FASTLOAD        0x0008\n\n\n\ntypedef struct\n{\n    BYTE    bFlags;\n    WORD    wSegOffset;\n} FENTRY, *PFENTRY;\n\ntypedef struct\n{\n    BYTE    bFlags;\n    WORD    wINT3F;\n    BYTE    bSegNumber;\n    WORD    wSegOffset;\n} MENTRY, *PMENTRY;\n\n#define EXPORTED    0x01\n#define SHAREDDATA  0x02\n\n\ntypedef struct\n{\n    WORD    wSector;\n    WORD    wLength;\n    WORD    wFlags;\n    WORD    wMinAlloc;\n} SEGENTRY, *PSEGENTRY;\n\n#define F_DATASEG       0x0001\n#define F_MOVEABLE      0x0010\n#define F_SHAREABLE     0x0020\n#define F_PRELOAD       0x0040\n#define F_DISCARDABLE   0x1000\n\n\n\n// The RTYPE and RINFO structures are never actually used\n// they are just defined for use in the sizeof() macro when\n// reading the info off the disk.  The actual data is read\n// into the RESTYPE and RESINFO structures that contain these\n// structures with some extra information declared at the end.\n\ntypedef struct\n{\n    WORD    wType;\n    WORD    wCount;\n    LONG    lReserved;\n} RTYPE;\n\ntypedef struct\n{\n    WORD    wOffset;\n    WORD    wLength;\n    WORD    wFlags;\n    WORD    wID;\n    LONG    lReserved;\n} RINFO;\n\n// RESINFO2 is the same structure as RINFO with one modification.\n// RESINFO2 structure includes a pointer to the containing type.\n\ntypedef struct tgRESTYPE *PRESTYPE;\n\ntypedef struct\n{\n    WORD     wOffset;\n    WORD     wLength;\n    WORD     wFlags;\n    WORD     wID;\n    PSTR     pResourceName;\n    // NOTE: RINFO (what is in the file) matches the fields up to this point\n    PRESTYPE pResType;\n} RESINFO2, *PRESINFO;\n\ntypedef struct tgRESTYPE\n{\n    WORD        wType;              // Resource type\n    WORD        wCount;             // Specifies ResInfoArray size\n    LONG        lReserved;          // Reserved for runtime use\n    // NOTE: RTYPE (what is in the file) matches the fields up to this point\n    PSTR        pResourceType;      // Points to custom type name\n    PRESINFO    pResInfoArray;      // First entry in array\n    PRESTYPE    pNext;              // Next Resource type\n} RESTYPE;\n\n#define GROUP_CURSOR    12\n#define GROUP_ICON      14\n#define NAMETABLE       15\n\n\n\ntypedef struct tgNAME\n{\n    struct tgNAME  *pNext;\n    WORD            wOrdinal;\n    char            szName[1];      // Text goes here at allocation time\n} NAME, *PNAME;\n\n\n\n\ntypedef struct\n{\n    PSTR        pFilename;          // File name\n    OLDEXE      OldHdr;             // Old EXE header\n    NEWEXE      NewHdr;             // New EXE header\n\n    PSTR        pEntryTable;        // Points to mem that holds entry table\n    PSEGENTRY   pSegTable;          // Pointer to first entry in ARRAY\n    WORD        wShiftCount;        // Shift count for the resource table\n    PRESTYPE    pResTable;          // Pointer to first entry in LIST\n\n    PNAME       pResidentNames;     // Points to first entry in LIST\n    PNAME       pImportedNames;     // Points to first entry in LIST\n    PNAME       pNonResidentNames;  // Points to first entry in LIST\n\n} EXEINFO, *PEXEINFO;\n\n\n\n\n//*** Function prototypes\n//*** exehdr.c\n    PEXEINFO    LoadExeInfo(LPSTR);\n        #define LERR_OPENINGFILE    -1\n        #define LERR_NOTEXEFILE     -2\n        #define LERR_READINGFILE    -3\n        #define LERR_MEMALLOC       -4\n\n    VOID        FreeExeInfoMemory (PEXEINFO);\n\n    int         ReadSegmentTable (int, PEXEINFO );\n    int         ReadResourceTable (int, PEXEINFO );\n    int         ReadResidentNameTable (int, PEXEINFO );\n    int         ReadImportedNameTable (int, PEXEINFO );\n    int         ReadNonResidentNameTable (int, PEXEINFO );\n\n    PSEGENTRY   GetSegEntry (PEXEINFO, int );\n    LPSTR       FormatSegEntry (PEXEINFO, PSEGENTRY, LPSTR );\n\n    PRESTYPE    GetResourceType (PEXEINFO, int );\n    PRESINFO    GetResourceInfo (PRESTYPE, int );\n    LPSTR       FormatResourceEntry (PEXEINFO, PRESINFO, LPSTR );\n\n    LPSTR       GetModuleName (PEXEINFO );\n    LPSTR       GetModuleDescription (PEXEINFO );\n    PNAME       GetResidentName (PEXEINFO, int );\n    PNAME       GetImportedName (PEXEINFO, int );\n    PNAME       GetNonResidentName (PEXEINFO, int );\n\n\n//*** filllb.c\n    BOOL        FillLBWithOldExeHeader (HWND, PEXEINFO );\n    BOOL        FillLBWithNewExeHeader (HWND, PEXEINFO );\n    BOOL        FillLBWithEntryTable (HWND, PEXEINFO );\n    BOOL        FillLBWithSegments (HWND, PEXEINFO );\n    BOOL        FillLBWithResources (HWND, PEXEINFO );\n    BOOL        FillLBWithResidentNames (HWND, PEXEINFO );\n    BOOL        FillLBWithImportedNames (HWND, PEXEINFO );\n    BOOL        FillLBWithNonResidentNames (HWND, PEXEINFO );\n    LPSTR       GetExeDataType (PEXEINFO);\n\n\n//*** save.c\n    BOOL        SaveResources(HWND, PEXEINFO, LPSTR);\n\n//*** EOF: exehdr.h\n"
  },
  {
    "path": "tools/ExeView/exeview.txt",
    "content": "Summary:\n\n    Often applications wish to extract information from an executable \nfile without the application being loaded.  The Windows Program Manager \ndoes this when it extracts an icon from the .EXE to represent the \napplication.  There are many other resources and tables in an EXE file \n(or a DLL) that may be useful to certain applications.  The EXEVIEW \nsample demonstrates how to extract and decode these resources and tables \nfor executable or library files (FONTS and DRVs qualify as DLLs).\n\nMore Information:\n\n    The EXEVIEW sample uses the Old and New Header formats has documented \nin the Microsoft MS-DOS Encyclopedia.  EXEVIEW loads these headers and the \nassociated tables that are pointed at by these headers.  The include the \nEntry Table, the Segment Table, the Resource Table, the Resident and \nNon-Resident name tables as well as the Imported  Name tables.  In addition \nto loading these tables,  EXEVIEW will also load the resources that can \nbe found in the resource table.  If the resource can be displayed \ngraphically (Icons, cursors, bitmaps, menus, etc...) then it is.  For \nstring tables and directories (Icon, cursor, font, etc...) the resources \nare listed in a text format.\n\n    For more information on the file formats and resource formats see \nthe MS-DOS Encyclopedia, The September 1991 Microsoft Systems Journal \nor the Microsoft Open Tools documentation.\n"
  },
  {
    "path": "tools/ExeView/filllb.cpp",
    "content": "//*************************************************************\n//  File name: filllb.c\n//\n//  Description: \n//      Contains all the code for filling the listbox with data\n//\n//  History:    Date       Author     Comment\n//               1/20/92   MSM        Created\n//\n// Written by Microsoft Product Support Services, Windows Developer Support\n// Copyright (c) 1992 Microsoft Corporation. All rights reserved.\n//*************************************************************\n// COPYRIGHT:\n//\n//   (C) Copyright Microsoft Corp. 1993.  All rights reserved.\n//\n//   You have a royalty-free right to use, modify, reproduce and\n//   distribute the Sample Files (and/or any modified version) in\n//   any way you find useful, provided that you agree that\n//   Microsoft has no warranty obligations or liability for any\n//   Sample Application Files which are modified.\n//\n\n#include \"stdafx.h\"\n\n// index is RT_ values through RT_VERSION\nconst char *rc_types[] = {\n    \"\",\n    \"CURSOR\",\n    \"BITMAP\",\n    \"ICON\",\n    \"MENU\",\n    \"DIALOG\",\n    \"STRING\",\n    \"FONTDIR\",\n    \"FONT\",\n    \"ACCELERATOR\",\n    \"RCDATA\",\n    \"\",\n    \"GROUP CURSOR\",\n    \"\",\n    \"GROUP ICON\",\n    \"NAME TABLE\",\n    \"VERSION\"\n};\n\n//*************************************************************\n//\n//  FillLBWithNewExeHeader\n//\n//  Purpose:\n//      Fills the list box with the new exe info\n//\n//\n//  Parameters:\n//      HWND        hWnd\n//      PEXEINFO    pExeInfo\n//      \n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/18/92   MSM        Created\n//\n//*************************************************************\n\nBOOL FillLBWithNewExeHeader (HWND hWnd, PEXEINFO pExeInfo)\n{\n    char        szBuff[255];\n    PNEWEXE     pne = &(pExeInfo->NewHdr);\n    LPSTR       lp = (LPSTR)szBuff;\n\n    #define ADDITEM() SendMessage( hWnd, LB_ADDSTRING, 0, (LPARAM)lp )\n\n    SendMessage( hWnd, WM_SETREDRAW, 0, 0L );\n    SendMessage( hWnd, LB_RESETCONTENT, 0, 0L );\n\n    lstrcpy( lp, \"New EXE Header Info\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"---------------------------------------------------------------\" );\n    ADDITEM();\n\n    if (pne->wFlags & LIBRARY)\n        wsprintf( lp, \"Library:\\t\\t\\t\\t%s\", GetModuleName(pExeInfo) );\n    else\n        wsprintf( lp, \"Module:\\t\\t\\t\\t%s\", GetModuleName(pExeInfo)  );\n    ADDITEM();\n\n    wsprintf( lp, \"Description:\\t\\t\\t%s\", GetModuleDescription(pExeInfo) );\n    ADDITEM();\n\n    wsprintf( lp, \"Data:\\t\\t\\t\\t%s\", GetExeDataType(pExeInfo) );\n    ADDITEM();\n\n    if (pne->bExeType == 0x02)  // Windows EXE\n        wsprintf( lp, \"Windows Version:\\t\\t\\t%u.%u\", HIBYTE(pne->wExpVersion),\n            LOBYTE(pne->wExpVersion) );\n    else\n        lp[0] = 0;\n\n    if (pne->wFlags & PMODEONLY)\n        lstrcat( lp, \" (PMODE ONLY!)\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"\" );\n    ADDITEM();\n\n    wsprintf( lp, \"Signature:\\t\\t\\t%#04x\", pne->wNewSignature );\n    ADDITEM();\n\n    wsprintf( lp, \"Linker Version:\\t\\t\\t%#04x\", pne->cLinkerVer );\n    ADDITEM();\n\n    wsprintf( lp, \"Linker Revision:\\t\\t\\t%#04x\", pne->cLinkerRev );\n    ADDITEM();\n\n    wsprintf( lp, \"Entry Table Offset:\\t\\t%#04X\", pne->wEntryOffset );\n    ADDITEM();\n\n    wsprintf( lp, \"Entry Table Length:\\t\\t%#04X\", pne->wEntrySize );\n    ADDITEM();\n\n    wsprintf(lp,\"Checksum:\\t\\t\\t%#08lX\", pne->lChecksum );\n    ADDITEM();\n    \n    wsprintf(lp,\"Module Flags:\\t\\t\\t%#04X\", pne->wFlags );\n    ADDITEM();\n\n    wsprintf( lp, \"DGROUP:\\t\\t\\t\\tseg %#04X\", pne->wAutoDataSegment );\n    ADDITEM();\n\n    wsprintf( lp, \"Heap Size:\\t\\t\\t%#04X\", pne->wHeapInit );\n    ADDITEM();\n\n    wsprintf( lp, \"Stack Size:\\t\\t\\t%#04X\", pne->wStackInit );\n    ADDITEM();\n\n    wsprintf( lp, \"Inital CS:IP:\\t\\t\\tseg %#04X offset %#04x\",\n        pne->wCSInit, pne->wIPInit);\n    ADDITEM();\n\n    wsprintf( lp, \"Inital SS:SP:\\t\\t\\tseg %#04X offset %#04x\",\n        pne->wSSInit, pne->wSPInit);\n    ADDITEM();\n\n    wsprintf( lp, \"Entries in Segment Table:\\t\\t%#04X\", pne->wSegEntries );\n    ADDITEM();\n\n    wsprintf( lp, \"Entries in Module Table:\\t\\t%#04X\", pne->wModEntries );\n    ADDITEM();\n\n    wsprintf( lp, \"Non-Resident Name Table Size:\\t%#04X\", pne->wNonResSize );\n    ADDITEM();\n\n    wsprintf( lp, \"Segment Table Offset:\\t\\t%#04X\", pne->wSegOffset );\n    ADDITEM();\n\n    wsprintf( lp, \"Resource Table Offset:\\t\\t%#04X\", pne->wResourceOffset );\n    ADDITEM();\n\n    wsprintf( lp, \"Resident Name Table Offset:\\t%#04X\", pne->wResOffset );\n    ADDITEM();\n\n    wsprintf( lp, \"Module Table Offset:\\t\\t%#04X\", pne->wModOffset );\n    ADDITEM();\n\n    wsprintf( lp, \"Imported Name Table Offset:\\t%#04X\", pne->wImportOffset );\n    ADDITEM();\n\n    wsprintf( lp, \"Non-Resident Name Table Offset:\\t%#08lX\", pne->lNonResOffset );\n    ADDITEM();\n\n    wsprintf( lp, \"Moveable entries:\\t\\t\\t%#04X\", pne->wMoveableEntry );\n    ADDITEM();\n\n    wsprintf( lp, \"Alignment Shift Count:\\t\\t%#04X\", pne->wAlign );\n    ADDITEM();\n\n    wsprintf( lp, \"Resource Segments:\\t\\t%#04X\", pne->wResourceSegs );\n    ADDITEM();\n\n    wsprintf( lp, \"Executable Type:\\t\\t\\t%#04X\", pne->bExeType );\n    ADDITEM();\n\n    wsprintf( lp, \"Additional Flags:\\t\\t\\t%#04X\", pne->bAdditionalFlags );\n    ADDITEM();\n\n    wsprintf( lp, \"Fast Load Offset:\\t\\t\\t%#04X\", pne->wFastOffset );\n    ADDITEM();\n\n    wsprintf( lp, \"Fast Load Length:\\t\\t\\t%#04X\", pne->wFastSize );\n    ADDITEM();\n\n    SendMessage( hWnd, WM_SETREDRAW, 1, 0L );\n    InvalidateRect( hWnd, NULL, TRUE );\n    UpdateWindow( hWnd );\n    return TRUE;\n\n} //*** FillLBNewExeInfo\n\n//*************************************************************\n//\n//  FillLBWithOldExeHeader\n//\n//  Purpose:\n//      Fills the listbox with the old exe info\n//\n//\n//  Parameters:\n//      HWND\n//      LPOLDEXE\n//      \n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/18/92   MSM        Created\n//\n//*************************************************************\n\nBOOL FillLBWithOldExeHeader (HWND hWnd, PEXEINFO pExeInfo )\n{\n    char  szBuff[255];\n    LPSTR lp = (LPSTR)szBuff;\n    POLDEXE pOldExeHdr = &(pExeInfo->OldHdr);\n\n    #define ADDITEM() SendMessage( hWnd, LB_ADDSTRING, 0, (LPARAM)lp )\n\n    SendMessage( hWnd, WM_SETREDRAW, 0, 0L );\n    SendMessage( hWnd, LB_RESETCONTENT, 0, 0L );\n\n    lstrcpy( lp, \"Old EXE Header Info\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"---------------------------------------------------------------\" );\n    ADDITEM();\n\n    wsprintf( lp, \"File Signature:\\t\\t%#04X\", pOldExeHdr->wFileSignature );\n    ADDITEM();\n\n    wsprintf( lp, \"Bytes on last page:\\t%#04X\", pOldExeHdr->wLengthMod512 );\n    ADDITEM();\n\n    wsprintf( lp, \"Pages in file:\\t\\t%#04X\", pOldExeHdr->wLength );\n    ADDITEM();\n\n    wsprintf(lp,\"Relocation items:\\t\\t%#04X\",pOldExeHdr->wRelocationTableItems);\n    ADDITEM();\n\n    wsprintf(lp,\"Paragraphs in header:\\t%#04X\",pOldExeHdr->wHeaderSize);\n    ADDITEM();\n\n    wsprintf(lp,\"Extra paragraphs needed:\\t%#04X\",pOldExeHdr->wMinAbove);\n    ADDITEM();\n\n    wsprintf(lp,\"Extra paragraphs desired:\\t%#04X\",pOldExeHdr->wDesiredAbove);\n    ADDITEM();\n\n    wsprintf(lp,\"Initial SP value:\\t\\t%#04X\",pOldExeHdr->wSP );\n    ADDITEM();\n\n    wsprintf(lp,\"Checksum:\\t\\t%#04X\",pOldExeHdr->wCheckSum );\n    ADDITEM();\n\n    wsprintf(lp,\"Initial IP Value:\\t\\t%#04X\",pOldExeHdr->wIP );\n    ADDITEM();\n\n    wsprintf(lp,\"Code displacement:\\t%#04X\",pOldExeHdr->wCodeDisplacement );\n    ADDITEM();\n\n    wsprintf(lp,\"Relocation table offset:\\t%#04X\",pOldExeHdr->wFirstRelocationItem );\n    ADDITEM();\n\n    wsprintf(lp,\"Overlay Number:\\t\\t%#04X\",pOldExeHdr->wOverlayNumber );\n    ADDITEM();\n\n    wsprintf(lp,\"New EXE Offset:\\t\\t%#08lX\",pOldExeHdr->lNewExeOffset );\n    ADDITEM();\n\n    SendMessage( hWnd, WM_SETREDRAW, 1, 0L );\n    InvalidateRect( hWnd, NULL, TRUE );\n    UpdateWindow( hWnd );\n    return TRUE;\n\n} //*** FillLBWithOldExeHeader\n\n//*************************************************************\n//\n//  FillLBWithEntryTable\n//\n//  Purpose:\n//      Fills the listbox with the Entry table Info\n//\n//\n//  Parameters:\n//      HWND hWnd\n//      PEXEINFO pExeInfo\n//      \n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/20/92   MSM        Created\n//\n//*************************************************************\n\nBOOL FillLBWithEntryTable (HWND hWnd, PEXEINFO pExeInfo )\n{\n    char  szBuff[255];\n    LPSTR lp = (LPSTR)szBuff;\n    PSTR  ptr;  \n    WORD  wIndex=1;\n    WORD  wI;\n    BYTE  bBundles;\n    BYTE  bFlags;\n\n    #define ADDITEM() SendMessage( hWnd, LB_ADDSTRING, 0, (LPARAM)lp )\n\n    SendMessage( hWnd, WM_SETREDRAW, 0, 0L );\n    SendMessage( hWnd, LB_RESETCONTENT, 0, 0L );\n\n    lstrcpy( lp, \"Entry Table\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"Ordinal\\tSegment#   Offset   Stack Words   Flags\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"---------------------------------------------------------------\" );\n    ADDITEM();\n\n    ptr = pExeInfo->pEntryTable;\n\n    while (TRUE)\n    {\n        bBundles = (BYTE)*ptr++;\n    \n        if (bBundles==0)            // End of the table\n            break;\n\n        bFlags= (BYTE)*ptr++;\n\n        switch (bFlags)\n        {\n            case 0x00:      // Placeholders\n                if (bBundles == 1)\n                    wsprintf( lp, \"%d\\t                                  Placeholder\",\n                        wIndex );\n                else\n                    wsprintf( lp, \"%d-%d\\t                                  Placeholders\",\n                        wIndex, wIndex + bBundles - 1 );\n                ADDITEM();\n                wIndex += bBundles;\n            break;\n\n            case 0xFF:      // MOVEABLE segments\n                for (wI=0; wI<(WORD)bBundles; wI++)\n                {\n                    PMENTRY pe = (PMENTRY)ptr;\n                    WORD    wS = ((WORD)pe->bFlags)>>2;\n\n                    wsprintf( lp, \"%d\\t%#04x     %#04x   %#04x        MOVEABLE  \",\n                        wIndex, pe->bSegNumber, pe->wSegOffset, wS );\n\n                    if (pe->bFlags & EXPORTED)\n                        lstrcat( lp, \"EXPORTED \" );\n                    else\n                        lstrcat( lp, \"         \" );\n\n                    if (pe->bFlags & SHAREDDATA)\n                        lstrcat( lp, \"SHARED_DATA\" );\n\n                    ADDITEM();\n                    wIndex++;\n                    ptr += sizeof( MENTRY );\n                }\n            break;\n\n            default:        // FIXED Segments\n                for (wI=0; wI<(WORD)bBundles; wI++)\n                {\n                    PFENTRY pe = (PFENTRY)ptr;\n                    WORD    wS = ((WORD)pe->bFlags)>>2;\n\n                    wsprintf( lp, \"%d\\t%#04x     %#04x   %#04x        FIXED     \",\n                        wIndex, bFlags, pe->wSegOffset, wS );\n\n                    if (pe->bFlags & EXPORTED)\n                        lstrcat( lp, \"EXPORTED  \" );\n                    else\n                        lstrcat( lp, \"         \" );\n\n                    if (pe->bFlags & SHAREDDATA)\n                        lstrcat( lp, \"SHARED_DATA\" );\n\n                    ADDITEM();\n                    wIndex++;\n                    ptr += sizeof( FENTRY );\n                }\n            break;\n        }\n    }\n\n    SendMessage( hWnd, WM_SETREDRAW, 1, 0L );\n    InvalidateRect( hWnd, NULL, TRUE );\n    UpdateWindow( hWnd );\n    return TRUE;\n\n} //*** FillLBWithEntryTable\n\n//*************************************************************\n//\n//  FillLBWithSegments\n//\n//  Purpose:\n//      Fills the listbox with the Segment table Info\n//\n//\n//  Parameters:\n//      HWND hWnd\n//      PEXEINFO pExeInfo\n//      \n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/20/92   MSM        Created\n//\n//*************************************************************\n\nBOOL FillLBWithSegments (HWND hWnd, PEXEINFO pExeInfo )\n{\n    char      szBuff[255];\n    LPSTR     lp = (LPSTR)szBuff;\n    PSEGENTRY pSeg = GetSegEntry( pExeInfo, 0 );\n    int       i=0;\n\n    #define ADDITEM() SendMessage( hWnd, LB_ADDSTRING, 0, (LPARAM)lp )\n\n    SendMessage( hWnd, WM_SETREDRAW, 0, 0L );\n    SendMessage( hWnd, LB_RESETCONTENT, 0, 0L );\n\n    lstrcpy( lp, \"Segment Table\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"Type   Sector(<<align)  Length   Memory   Flags\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"---------------------------------------------------------------\" );\n    ADDITEM();\n\n    while (pSeg)\n    {\n        FormatSegEntry( pExeInfo, pSeg, lp );\n        ADDITEM();\n        i++;\n        pSeg = GetSegEntry( pExeInfo, i );\n    }\n\n    SendMessage( hWnd, WM_SETREDRAW, 1, 0L );\n    InvalidateRect( hWnd, NULL, TRUE );\n    UpdateWindow( hWnd );\n    return TRUE;\n\n} //*** FillLBWithSegments\n\n//*************************************************************\n//\n//  FillLBWithResources\n//\n//  Purpose:\n//      Fills the listbox with the Resource Table info\n//\n//\n//  Parameters:\n//      HWND hWnd\n//      PEXEINFO pExeInfo\n//      \n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/20/92   MSM        Created\n//\n//*************************************************************\n\nBOOL FillLBWithResources (HWND hWnd, PEXEINFO pExeInfo )\n{\n    char     szBuff[255];\n    LPSTR    lp = (LPSTR)szBuff;\n    char     szRCType[30];\n    LPCSTR   lpn;\n    PRESTYPE prt = pExeInfo->pResTable;\n\n    #define ADDITEM() SendMessage( hWnd, LB_ADDSTRING, 0, (LPARAM)lp )\n    #define SETDATA() SendMessage( hWnd, LB_SETITEMDATA, , (LPARAM)lp )\n\n    SendMessage( hWnd, WM_SETREDRAW, 0, 0L );\n    SendMessage( hWnd, LB_RESETCONTENT, 0, 0L );\n\n    wsprintf( lp, \"Shift Count: %d\", pExeInfo->wShiftCount );\n    ADDITEM();\n\n    lstrcpy( lp, \"\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"[TYPE]\\t\\tOffset       Length       Flags                  Name\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"----------------------------------------------------------------------------\" );\n    ADDITEM();\n\n    while (prt)\n    {\n        PRESINFO pri = prt->pResInfoArray;\n        WORD     wI = 0;\n\n        if (prt->wType & 0x8000)\n        {\n            WORD wType = prt->wType&0x7fff;\n\n            if (wType==0 || wType==11 || wType==13 || wType > 16)\n            {\n                lpn = (LPSTR)szRCType;\n                wsprintf( szRCType, \"Unknown Type: %#04X\\0\", prt->wType );\n            }\n            else    \n                lpn = rc_types[ prt->wType&0x7fff ];\n        }\n        else\n            lpn = prt->pResourceType;\n\n        wsprintf( lp, \"[%s]\", lpn );\n        ADDITEM();\n\n        while (wI < prt->wCount)\n        {\n            int nIndex;\n\n            FormatResourceEntry( pExeInfo, pri, lp );\n            if ((nIndex = (int)ADDITEM()) >= 0)\n                SendMessage(hWnd, LB_SETITEMDATA, nIndex, (LPARAM)pri);\n            // Set the item data for use when double clicking\n\n            pri++;\n            wI++;\n        }\n\n        prt = prt->pNext;\n        if (prt)\n        {\n            lstrcpy( lp, \"\" );\n            ADDITEM();\n        }\n    }\n\n    SendMessage( hWnd, WM_SETREDRAW, 1, 0L );\n    InvalidateRect( hWnd, NULL, TRUE );\n    UpdateWindow( hWnd );\n    return TRUE;\n\n} //*** FillLBWithResources\n\n//*************************************************************\n//\n//  FillLBWithResidentNames\n//\n//  Purpose:\n//      Fills the listbox with the Resident Name table\n//\n//\n//  Parameters:\n//      HWND hWnd\n//      PEXEINFO pExeInfo\n//      \n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/20/92   MSM        Created\n//\n//*************************************************************\n\nBOOL FillLBWithResidentNames (HWND hWnd, PEXEINFO pExeInfo )\n{\n    char  szBuff[255];\n    LPSTR lp = (LPSTR)szBuff;\n    PNAME pName = pExeInfo->pResidentNames;\n\n    #define ADDITEM() SendMessage( hWnd, LB_ADDSTRING, 0, (LPARAM)lp )\n\n    SendMessage( hWnd, WM_SETREDRAW, 0, 0L );\n    SendMessage( hWnd, LB_RESETCONTENT, 0, 0L );\n\n    if (pName)                  // First item is module name\n        pName = pName->pNext;\n\n    lstrcpy( lp, \"Resident Name Table\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"Ordinal  Name\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"---------------------------------------------------------------\" );\n    ADDITEM();\n\n    while (pName)\n    {\n        wsprintf( lp, \"%#04x   %s\", pName->wOrdinal,\n            (LPSTR)pName->szName );\n        ADDITEM();\n        pName = pName->pNext;\n    }\n\n    SendMessage( hWnd, WM_SETREDRAW, 1, 0L );\n    InvalidateRect( hWnd, NULL, TRUE );\n    UpdateWindow( hWnd );\n    return TRUE;\n\n} //*** FillLBWithResidentNames\n\n//*************************************************************\n//\n//  FillLBWithImportedNames\n//\n//  Purpose:\n//      Fills the listbox with the Imported Name table Info\n//\n//\n//  Parameters:\n//      HWND hWnd\n//      PEXEINFO pExeInfo\n//      \n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/20/92   MSM        Created\n//\n//*************************************************************\n\nBOOL FillLBWithImportedNames (HWND hWnd, PEXEINFO pExeInfo )\n{\n    char  szBuff[255];\n    LPSTR lp = (LPSTR)szBuff;\n    PNAME pName = pExeInfo->pImportedNames;\n\n    #define ADDITEM() SendMessage( hWnd, LB_ADDSTRING, 0, (LPARAM)lp )\n\n    SendMessage( hWnd, WM_SETREDRAW, 0, 0L );\n    SendMessage( hWnd, LB_RESETCONTENT, 0, 0L );\n\n    lstrcpy( lp, \"Imported Name Table\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"Name\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"---------------------------------------------------------------\" );\n    ADDITEM();\n\n    while (pName)\n    {\n        lstrcpy( lp, pName->szName );\n        ADDITEM();\n        pName = pName->pNext;\n    }\n\n    SendMessage( hWnd, WM_SETREDRAW, 1, 0L );\n    InvalidateRect( hWnd, NULL, TRUE );\n    UpdateWindow( hWnd );\n    return TRUE;\n\n} //*** FillLBWithImportedNames\n\n//*************************************************************\n//\n//  FillLBWithNonResidentNames\n//\n//  Purpose:\n//      Fills the listbox with the NonResident Name table Info\n//\n//\n//  Parameters:\n//      HWND hWnd\n//      PEXEINFO pExeInfo\n//      \n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/20/92   MSM        Created\n//\n//*************************************************************\n\nBOOL FillLBWithNonResidentNames (HWND hWnd, PEXEINFO pExeInfo )\n{\n    char  szBuff[255];\n    LPSTR lp = (LPSTR)szBuff;\n    PNAME pName = pExeInfo->pNonResidentNames;\n\n    #define ADDITEM() SendMessage( hWnd, LB_ADDSTRING, 0, (LPARAM)lp )\n\n    SendMessage( hWnd, WM_SETREDRAW, 0, 0L );\n    SendMessage( hWnd, LB_RESETCONTENT, 0, 0L );\n\n    if (pName)                  // First item is module definition\n        pName = pName->pNext;\n    \n    lstrcpy( lp, \"Non-Resident Name Table\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"Ordinal  Name\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"---------------------------------------------------------------\" );\n    ADDITEM();\n\n    while (pName)\n    {\n        wsprintf( lp, \"%#04x   %s\", pName->wOrdinal,\n            (LPSTR)pName->szName );\n        ADDITEM();\n        pName = pName->pNext;\n    }\n\n    SendMessage( hWnd, WM_SETREDRAW, 1, 0L );\n    InvalidateRect( hWnd, NULL, TRUE );\n    UpdateWindow( hWnd );\n    return TRUE;\n\n} //*** FillLBWithNonResidentNames\n\n//*************************************************************\n//\n//  FormatSegEntry\n//\n//  Purpose:\n//      Formats the entry structure and puts it in the 'lp' buffer\n//\n//\n//  Parameters:\n//      PEXEINFO  pExeInfo\n//      PSEGENTRY pSeg\n//      LPSTR     lp\n//      \n//\n//  Return: (VOID)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/18/92   MSM        Created\n//\n//*************************************************************\n\nLPSTR FormatSegEntry ( PEXEINFO pExeInfo, PSEGENTRY pSeg, LPSTR lp )\n{\n    LPSTR lpType = NULL;\n    WORD  wAlign = pExeInfo->NewHdr.wAlign;\n\n    if (wAlign == 0)\n        wAlign = 9;\n\n    if (pSeg->wFlags & F_DATASEG)\n        lpType = (LPSTR)\"DATA\";\n    else\n        lpType = (LPSTR)\"CODE\";\n\n    wsprintf( lp, \"%s   %#08lx       %#04x   %#04x   \", lpType,\n        ((LONG)pSeg->wSector)<<wAlign,\n    pSeg->wLength, pSeg->wMinAlloc );\n\n    if (pSeg->wFlags & F_PRELOAD)\n        lstrcat( lp, \"PRELOAD \" );\n    else\n        lstrcat( lp, \"        \" );\n\n    if (pSeg->wFlags & F_MOVEABLE)\n        lstrcat( lp, \"(moveable) \" );\n    else\n        lstrcat( lp, \"           \" );\n\n    if (pSeg->wFlags & F_DISCARDABLE)\n        lstrcat( lp, \"(discardable)\" );\n    else\n        lstrcat( lp, \"             \" );\n\n    return lp;\n\n} //*** FormatSegEntry\n\n//*************************************************************\n//\n//  FormatResourceEntry\n//\n//  Purpose:\n//      Formats the resource info and puts it in the 'lp' buffer\n//\n//\n//  Parameters:\n//      PEXEINFO  pExeInfo\n//      PRESINFO  pri\n//      LPSTR     lp\n//      \n//\n//  Return: (VOID)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/18/92   MSM        Created\n//\n//*************************************************************\n\nLPSTR FormatResourceEntry ( PEXEINFO pExeInfo, PRESINFO pri, LPSTR lp )\n{\n    WORD  wShift = pExeInfo->wShiftCount;\n\n    wsprintf( lp, \"-->\\t\\t%#08lX   %#08lX   \", ((LONG)pri->wOffset)<<wShift,\n        ((LONG)pri->wLength)<<wShift );\n\n    if ( pri->wFlags & F_MOVEABLE )\n        lstrcat( lp, \"MOVEABLE \" );\n    else\n        lstrcat( lp, \"         \" );\n\n    if ( pri->wFlags & F_SHAREABLE )\n        lstrcat( lp, \"PURE \" );\n    else\n        lstrcat( lp, \"     \" );\n\n    if ( pri->wFlags & F_PRELOAD  )\n        lstrcat( lp, \"PRELOAD  \" );\n    else\n        lstrcat( lp, \"         \" );\n\n    if (pri->wID & 0x8000)  // Integer resource\n    {\n        char temp[10];\n\n        wsprintf( (LPSTR)temp, \"%#04X\", pri->wID & 0x7fff);\n        lstrcat( lp, temp );\n    }\n    else\n        lstrcat( lp, pri->pResourceName );\n\n    return lp;\n\n} //*** FormatResourceEntry\n\n//*** EOF: filllb.c\n"
  },
  {
    "path": "tools/ExeView/global.h",
    "content": "//*************************************************************\n//  File name: global.h\n//\n//  Description: \n//      Global include file for #defines and prototypes\n//\n//  History:    Date       Author     Comment\n//              12/31/91   MSM        Created\n//                 \n// Written by Microsoft Product Support Services, Windows Developer Support\n// Copyright (c) 1992 Microsoft Corporation. All rights reserved.\n//*************************************************************\n\n\n#include <windows.h>\n#include <commdlg.h>\n#include <memory.h>\n\n#include \"exehdr.h\"\n#include \"res.h\"\n\n\n\n//*** Menu Defines\n    #define IDM_OPEN                0x50\n    #define IDM_ABOUT               0x51\n    #define IDM_EXIT                0x52\n\n    #define IDM_SAVERES             0x60\n\n//*** Control defines\n    #define IDL_EXEHDR              0x100\n    #define IDB_OLDHDR              0x101\n    #define IDB_NEWHDR              0x102\n    #define IDB_ENTRYTABLE          0x103\n    #define IDB_SEGMENTS            0x104\n    #define IDB_RESOURCES           0x105\n    #define IDB_RESIDENTNAMES       0x106\n    #define IDB_IMPORTEDNAMES       0x107\n    #define IDB_NONRESIDENTNAMES    0x108\n\n\n\n//*** Function Prototypes\n//*** Main.c\n    int APIENTRY WinMain (HINSTANCE, HINSTANCE, LPSTR, int);\n    LRESULT CALLBACK MainWndProc (HWND, UINT, WPARAM, LPARAM);\n    INT_PTR CALLBACK About (HWND, UINT, WPARAM, LPARAM);\n    VOID            ResizeChildWindows ( HWND hMainWnd );\n    VOID            EnableChildWindows ( HWND, PEXEINFO);\n\n//*** Init.c\n    BOOL InitApplication (HINSTANCE);\n    BOOL InitInstance (HINSTANCE, int);\n\n\n//*** EXTERNS for Global Variables\n    extern HINSTANCE    ghInst;\n    extern HWND         ghWndMain;\n\n    extern char         szMainMenu[];\n    extern char         szMainClass[];\n    extern PEXEINFO     gpExeInfo;\n\n//*** EOF: global.h\n"
  },
  {
    "path": "tools/ExeView/iconcur.cpp",
    "content": "//*************************************************************\n//  File name: iconcur.c\n//\n//  Description: \n//      Code for displaying icons and cursors\n//\n//  History:    Date       Author     Comment\n//               1/23/92   MSM        Created\n//\n// Written by Microsoft Product Support Services, Windows Developer Support\n// Copyright (c) 1992 Microsoft Corporation. All rights reserved.\n//*************************************************************\n// COPYRIGHT:\n//\n//   (C) Copyright Microsoft Corp. 1993.  All rights reserved.\n//\n//   You have a royalty-free right to use, modify, reproduce and\n//   distribute the Sample Files (and/or any modified version) in\n//   any way you find useful, provided that you agree that\n//   Microsoft has no warranty obligations or liability for any\n//   Sample Application Files which are modified.\n//\n\n#include \"stdafx.h\"\n\n//*************************************************************\n//\n//  ShowIconProc\n//\n//  Purpose:\n//      Displays an icon for all the world to see\n//\n//\n//  Parameters:\n//      HWND hDlg\n//      WORD msg\n//      WORD wParam\n//      LONG lParam\n//      \n//\n//  Return: (BOOL FAR PASCAL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/23/92   MSM        Created\n//\n//*************************************************************\n\nINT_PTR FAR PASCAL ShowIconProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)\n{\n    static HICON hIcon;\n    static WORD  wWidth, wHeight;\n\n    #define PADDING 10\n\n    switch (msg)\n    {\n        case WM_INITDIALOG:\n        {\n            LPRESPACKET lprp = (LPRESPACKET)lParam;\n\n            SetWindowText( hDlg, \"Viewing Icon\" );\n            hIcon = MakeIcon( lprp );\n\n            wWidth = (GetSystemMetrics( SM_CXICON )+PADDING) * 2;\n            wWidth = max( wWidth, 250 );\n\n            wHeight = GetSystemMetrics( SM_CYICON )+PADDING*3;\n            wHeight = max( wHeight, 100 );\n\n            SetWindowPos( hDlg, NULL, 0, 0, wWidth, wHeight, \n                SWP_NOZORDER|SWP_NOMOVE );\n\n            return TRUE;\n        }\n        break;\n\n        case WM_PAINT:\n        {\n            PAINTSTRUCT ps;\n\n            BeginPaint( hDlg, &ps );\n\n            if (hIcon)\n            {\n                PatBlt( ps.hdc, 0, 0, wWidth/2, wHeight, WHITENESS );\n                PatBlt( ps.hdc, wWidth/2, 0, wWidth/2, wHeight, BLACKNESS );\n                DrawIcon( ps.hdc, PADDING, PADDING, hIcon );\n                DrawIcon( ps.hdc, PADDING+wWidth/2, PADDING, hIcon );\n            }\n            else\n            {\n                PatBlt( ps.hdc, 0, 0, wWidth, wHeight, WHITENESS );\n                TextOut( ps.hdc, 10, 10, \"Icon not created!\", 17 );\n            }\n            EndPaint( hDlg, &ps );\n        }\n        break;                    \n\n        case WM_COMMAND:\n            if (wParam==IDOK || wParam==IDCANCEL)\n                EndDialog( hDlg, TRUE );\n            return TRUE;\n        break;        \n\n        case WM_DESTROY:\n            if (hIcon)\n                DestroyIcon( hIcon );\n        break;\n    }\n    return FALSE;\n\n} //*** ShowIconProc\n\n//*************************************************************\n//\n//  MakeIcon\n//\n//  Purpose:\n//      Attempts to create an icon based on the info passed in\n//\n//\n//  Parameters:\n//      LPRESPACKET lprp\n//      \n//\n//  Return: (HICON)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/23/92   MSM        Created\n//  \n//*************************************************************\n\nHICON MakeIcon ( LPRESPACKET lprp )\n{\n    LPBITMAPINFOHEADER lpbihdr;\n    LPBITMAPINFO       lpbinfo;\n\n    HICON   hIcon = NULL;\n    WORD    wH, wW, wXORSize, wANDSize, wColorTableSize, wScans;\n    WORD    wIconW, wIconH;\n    LPBYTE  lpANDbits;\n    LPBYTE  lpXORbits;\n    HDC     hDC, hSrcDC, hDestDC;\n    HBITMAP hbmpXOR, hbmpAND;\n    HBITMAP hbmpDestXOR, hbmpDestAND;\n    HBITMAP hbmpOldSrc, hbmpOldDest;\n    BITMAP  bmp;\n    HANDLE  hXORbits, hANDbits;\n\n\n    lpbihdr = (LPBITMAPINFOHEADER)lprp->lpMem;\n    lpbinfo = (LPBITMAPINFO)lpbihdr;\n\n    wW = (WORD)lpbihdr->biWidth;\n    wH = (WORD)lpbihdr->biHeight / 2;\n\n    wXORSize = (wW * wH * lpbihdr->biBitCount) / 8;\n    wANDSize= (wW * wH) / 8;\n\n    wColorTableSize = sizeof(RGBQUAD) * (0x0001<<lpbihdr->biBitCount);\n\n    lpXORbits = ((LPBYTE)lpbihdr)+wColorTableSize+(WORD)lpbihdr->biSize;\n    lpANDbits = lpXORbits + wXORSize;\n\n    // Now we need to make a bitmap and convert these to DDB\n    // Get a screen DC\n    hDC = GetDC( NULL );\n    if (!hDC)\n        return NULL;\n\n    \n// XOR BITMAP\n    // create color device-dependent bitmap for XOR mask\n    hbmpXOR = CreateCompatibleBitmap( hDC, wW, wH );\n\n    if (!hbmpXOR)\n    {\n        ReleaseDC( NULL, hDC );\n        return NULL;\n    }\n\n    // modify BITMAPINFOHEADER structure for color bitmap \n    lpbihdr->biHeight = wH;\n\n    // convert XOR mask from DIB to DDB\n    wScans = SetDIBits(hDC, hbmpXOR, 0, wH, lpXORbits, lpbinfo, DIB_RGB_COLORS);\n\n    if (wScans == 0)\n    {\n        DeleteObject( hbmpXOR );\n        ReleaseDC( NULL, hDC );\n        return NULL;\n    }\n\n\n// AND BITMAP\n    // create MONO device-dependent bitmap for AND mask\n    hbmpAND= CreateBitmap( wW, wH, 1, 1, NULL );\n\n    if (!hbmpAND)\n    {\n        DeleteObject( hbmpXOR );\n        ReleaseDC( NULL, hDC );\n        return NULL;\n    }\n    else\n    {\n        RGBQUAD rgbBlack = { 0x00, 0x00, 0x00, 0x00 };\n        RGBQUAD rgbWhite = { 0xFF, 0xFF, 0xFF, 0x00 };\n\n        // modify BITMAPINFOHEADER structure for monochrome bitmap\n        lpbihdr->biHeight = wH;\n        lpbihdr->biSizeImage = wANDSize;\n        lpbihdr->biBitCount = 1;\n\n        lpbinfo->bmiColors[0] = rgbBlack;\n        lpbinfo->bmiColors[1] = rgbWhite;\n\n        // convert AND mask from DIB to DDB\n        wScans = SetDIBits(hDC,hbmpAND,0,wH,lpANDbits,lpbinfo,DIB_RGB_COLORS);\n\n        if (wScans == 0)\n        {\n            DeleteObject( hbmpXOR );\n            DeleteObject( hbmpAND );\n            ReleaseDC( NULL, hDC );\n            return NULL;\n        }\n    }\n\n\n// Now that we have a AND bitmap and a XOR bitmap, we need to\n// convert the icon size to that of the display by using StretchBlt.\n\n    hSrcDC  = CreateCompatibleDC( hDC );\n    if (!hSrcDC)\n    {\n        DeleteObject( hbmpXOR );\n        DeleteObject( hbmpAND );\n        ReleaseDC( NULL, hDC );\n        return NULL;\n    }\n\n    hDestDC = CreateCompatibleDC( hDC );\n    if (!hDestDC)\n    {\n        DeleteDC( hSrcDC );\n        DeleteObject( hbmpXOR );\n        DeleteObject( hbmpAND );\n        ReleaseDC( NULL, hDC );\n        return NULL;\n    }\n\n    wIconW = GetSystemMetrics( SM_CXICON );\n    wIconH = GetSystemMetrics( SM_CYICON );\n\n    hbmpDestXOR = CreateCompatibleBitmap( hDC, wIconW, wIconH );\n\n    if (!hbmpDestXOR)\n    {\n        DeleteObject( hbmpXOR );\n        DeleteObject( hbmpAND );\n        DeleteDC( hSrcDC );\n        DeleteDC( hDestDC );\n        ReleaseDC( NULL, hDC );\n        return NULL;\n    }\n\n    hbmpDestAND = CreateBitmap( wIconW, wIconH, 1, 1, NULL );\n\n    if (!hbmpDestAND)\n    {\n        DeleteObject( hbmpDestXOR );\n        DeleteObject( hbmpXOR );\n        DeleteObject( hbmpAND );\n        DeleteDC( hSrcDC );\n        DeleteDC( hDestDC );\n        ReleaseDC( NULL, hDC );\n        return NULL;\n    }\n\n    hbmpOldSrc = (HBITMAP)SelectObject( hSrcDC, hbmpXOR );\n    hbmpOldDest = (HBITMAP)SelectObject( hDestDC, hbmpDestXOR );\n    SetStretchBltMode( hDestDC, COLORONCOLOR );\n\n    StretchBlt(hDestDC,0,0,wIconW,wIconH,hSrcDC,0,0,wW,wH,SRCCOPY);\n\n    SelectObject( hSrcDC, hbmpAND );\n    SelectObject( hDestDC, hbmpDestAND );\n    SetStretchBltMode( hDestDC, BLACKONWHITE );\n\n    StretchBlt(hDestDC,0,0,wIconW,wIconH,hSrcDC,0,0,wW,wH,SRCCOPY);\n\n    // Clean up all but the two new bitmaps\n    SelectObject( hSrcDC, hbmpOldSrc );\n    SelectObject( hDestDC, hbmpOldDest );\n    DeleteDC( hSrcDC );\n    DeleteDC( hDestDC );\n    ReleaseDC( NULL, hDC );\n    DeleteObject( hbmpXOR );\n    DeleteObject( hbmpAND );\n\n\n// Now that the bitmaps are the correct size, we need to retrieve\n// the DDB bits again so we can CreateIcon\n    \n    GetObject( hbmpDestXOR, sizeof(BITMAP), (LPSTR)&bmp );\n\n    wXORSize = (bmp.bmWidth * bmp.bmHeight) *\n                (bmp.bmPlanes * bmp.bmBitsPixel) / 8;\n\n    hXORbits = GlobalAlloc( GHND, wXORSize );\n\n    if (hXORbits == NULL)\n    {\n        DeleteObject( hbmpDestAND );\n        DeleteObject( hbmpDestXOR );\n        return NULL;\n    }\n\n    if ((lpXORbits = (LPBYTE)GlobalLock( hXORbits )) == NULL)\n    {\n        GlobalFree( hXORbits );\n        DeleteObject( hbmpDestAND );\n        DeleteObject( hbmpDestXOR );\n        return NULL;\n    }\n\n    if (!GetBitmapBits( hbmpDestXOR, wXORSize, lpXORbits))\n    {\n        GlobalUnlock( hXORbits );\n        GlobalFree( hXORbits );\n        DeleteObject( hbmpDestAND );\n        DeleteObject( hbmpDestXOR );\n        return NULL;\n    }\n\n    GetObject( hbmpDestAND, sizeof(BITMAP), (LPSTR)&bmp );\n\n    wANDSize = (bmp.bmWidth * bmp.bmHeight) / 8;\n\n    hANDbits = GlobalAlloc( GHND, wANDSize );\n\n    if (hANDbits == NULL)\n    {\n        GlobalUnlock( hXORbits );\n        GlobalFree( hXORbits );\n        DeleteObject( hbmpDestAND );\n        DeleteObject( hbmpDestXOR );\n        return NULL;\n    }\n\n    if ((lpANDbits = (LPBYTE)GlobalLock( hANDbits )) == NULL)\n    {\n        GlobalFree( hANDbits );\n        GlobalUnlock( hXORbits );\n        GlobalFree( hXORbits );\n        DeleteObject( hbmpDestAND );\n        DeleteObject( hbmpDestXOR );\n        return NULL;\n    }\n\n    if (!GetBitmapBits( hbmpDestAND,wANDSize,lpANDbits))\n    {\n        GlobalUnlock( hANDbits );\n        GlobalFree( hANDbits );\n        GlobalUnlock( hXORbits );\n        GlobalFree( hXORbits );\n        DeleteObject( hbmpDestAND );\n        DeleteObject( hbmpDestXOR );\n        return NULL;\n    }\n\n\n// Now after all this we can finally make an icon.\n\n    GetObject( hbmpDestXOR, sizeof(BITMAP), (LPSTR)&bmp );\n\n    hIcon = CreateIcon( ghInst, wIconW, wIconH, bmp.bmPlanes,\n        bmp.bmBitsPixel, lpANDbits, lpXORbits );\n\n    GlobalUnlock( hANDbits );\n    GlobalFree( hANDbits );\n    GlobalUnlock( hXORbits );\n    GlobalFree( hXORbits );\n    DeleteObject( hbmpDestAND );\n    DeleteObject( hbmpDestXOR );\n\n    return hIcon;\n\n} //*** MakeIcon\n\n//*************************************************************\n//\n//  ShowCursorProc\n//\n//  Purpose:\n//      Displays an cursor for all the world to see\n//\n//\n//  Parameters:\n//      HWND hDlg\n//      WORD msg\n//      WORD wParam\n//      LONG lParam\n//      \n//\n//  Return: (BOOL FAR PASCAL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/23/92   MSM        Created\n//\n//*************************************************************\n\nINT_PTR FAR PASCAL ShowCursorProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)\n{\n    static HCURSOR hCursor;\n    static WORD    wWidth, wHeight;\n\n    #define PADDING 10\n\n    switch (msg)\n    {\n        case WM_INITDIALOG:\n        {\n            LPRESPACKET lprp = (LPRESPACKET)lParam;\n\n            SetWindowText( hDlg, \"Viewing Cursor\" );\n            hCursor = MakeCursor( lprp );\n\n            wWidth = (GetSystemMetrics( SM_CXICON )+PADDING) * 2;\n            wWidth = max( wWidth, 250 );\n\n            wHeight = GetSystemMetrics( SM_CYICON )+PADDING*3;\n            wHeight = max( wHeight, 100 );\n\n            SetWindowPos( hDlg, NULL, 0, 0, wWidth, wHeight, \n                SWP_NOZORDER|SWP_NOMOVE );\n\n            return TRUE;\n        }\n        break;\n\n        case WM_PAINT:\n        {\n            PAINTSTRUCT ps;\n\n            BeginPaint( hDlg, &ps );\n\n            if (hCursor)\n            {\n                PatBlt( ps.hdc, 0, 0, wWidth/2, wHeight, WHITENESS );\n                PatBlt( ps.hdc, wWidth/2, 0, wWidth/2, wHeight, BLACKNESS );\n                DrawIcon( ps.hdc, PADDING, PADDING, hCursor );\n                DrawIcon( ps.hdc, PADDING+wWidth/2, PADDING, hCursor );\n            }\n            else\n            {\n                PatBlt( ps.hdc, 0, 0, wWidth, wHeight, WHITENESS );\n                TextOut( ps.hdc, 10, 10, \"Cursor not created!\", 17 );\n            }\n            EndPaint( hDlg, &ps );\n        }\n        break;                    \n\n        case WM_COMMAND:\n            if (wParam==IDOK || wParam==IDCANCEL)\n                EndDialog( hDlg, TRUE );\n            return TRUE;\n        break;        \n\n        case WM_DESTROY:\n            if (hCursor)\n                DestroyCursor( hCursor );\n        break;\n    }\n    return FALSE;\n\n} //*** ShowCursorProc\n\n//*************************************************************\n//\n//  MakeCursor\n//\n//  Purpose:\n//      Attempts to create an cursor based on the info passed in\n//\n//\n//  Parameters:\n//      LPRESPACKET lprp\n//      \n//\n//  Return: (HCURSOR)\n//\n//\n//  Comments:\n//      The differences between ICONs and CURSORs are subtle and\n//      much of the above code could be placed into common routines\n//      to be used by both.  I have not done this since the main\n//      goal of this sample is not code compaction, but readability\n//      and understanding.    \n//\n//  History:    Date       Author     Comment\n//               1/23/92   MSM        Created\n//  \n//*************************************************************\n\nHCURSOR MakeCursor ( LPRESPACKET lprp )\n{\n    LPBITMAPINFOHEADER  lpbihdr;\n    LPBITMAPINFO        lpbinfo;\n    LPCURSORIMAGE       lpci;\n\n    HCURSOR hCursor = NULL;\n    WORD    wH, wW, wXORSize, wANDSize, wScans, wColorTableSize;\n    WORD    wCursorW, wCursorH;\n    LPSTR   lpANDbits;\n    LPSTR   lpXORbits;\n    HDC     hDC, hSrcDC, hDestDC;\n    HBITMAP hbmpXOR, hbmpAND;\n    HBITMAP hbmpDestXOR, hbmpDestAND;\n    HBITMAP hbmpOldSrc, hbmpOldDest;\n    BITMAP  bmp;\n    HANDLE  hXORbits, hANDbits;\n\n\n\n    lpci    = (LPCURSORIMAGE)lprp->lpMem;\n\n    lpbinfo = &lpci->bi;\n    lpbihdr = (LPBITMAPINFOHEADER)lpbinfo;\n\n    wW = (WORD)lpbihdr->biWidth;\n    wH = (WORD)lpbihdr->biHeight / 2;\n\n    wXORSize = (wW * wH) / 8;\n    wANDSize = (wW * wH) / 8;\n\n    wColorTableSize = sizeof(RGBQUAD) * (0x0001<<lpbihdr->biBitCount);\n\n    lpXORbits = ((LPSTR)lpbihdr)+wColorTableSize+(WORD)lpbihdr->biSize;\n    lpANDbits = lpXORbits + wXORSize;\n\n    // Now we need to make a bitmap and convert these to DDB\n    // Get a screen DC\n    hDC = GetDC( NULL );\n    if (!hDC)\n        return NULL;\n\n    \n\n// XOR BITMAP\n    // create MONO device-dependent bitmap for XOR mask\n    hbmpXOR= CreateBitmap( wW, wH, 1, 1, NULL );\n\n    if (!hbmpXOR)\n    {\n        ReleaseDC( NULL, hDC );\n        return NULL;\n    }\n    else\n    {\n        RGBQUAD rgbBlack = { 0x00, 0x00, 0x00, 0x00 };\n        RGBQUAD rgbWhite = { 0xFF, 0xFF, 0xFF, 0x00 };\n\n        // modify BITMAPINFOHEADER structure for monochrome bitmap\n        lpbihdr->biHeight = wH;\n        lpbihdr->biSizeImage = wXORSize;\n        lpbihdr->biBitCount = 1;\n\n        lpbinfo->bmiColors[0] = rgbBlack;\n        lpbinfo->bmiColors[1] = rgbWhite;\n\n        // convert XOR mask from DIB to DDB\n        wScans = SetDIBits(hDC,hbmpXOR,0,wH,lpXORbits,lpbinfo,DIB_RGB_COLORS);\n\n        if (wScans == 0)\n        {\n            DeleteObject( hbmpXOR );\n            ReleaseDC( NULL, hDC );\n            return NULL;\n        }\n    }\n\n// AND BITMAP\n    // create MONO device-dependent bitmap for AND mask\n    hbmpAND= CreateBitmap( wW, wH, 1, 1, NULL );\n\n    if (!hbmpAND)\n    {\n        DeleteObject( hbmpXOR );\n        ReleaseDC( NULL, hDC );\n        return NULL;\n    }\n    else\n    {\n        RGBQUAD rgbBlack = { 0x00, 0x00, 0x00, 0x00 };\n        RGBQUAD rgbWhite = { 0xFF, 0xFF, 0xFF, 0x00 };\n\n        // modify BITMAPINFOHEADER structure for monochrome bitmap\n        lpbihdr->biHeight = wH;\n        lpbihdr->biSizeImage = wANDSize;\n        lpbihdr->biBitCount = 1;\n\n        lpbinfo->bmiColors[0] = rgbBlack;\n        lpbinfo->bmiColors[1] = rgbWhite;\n\n        // convert AND mask from DIB to DDB\n        wScans = SetDIBits(hDC,hbmpAND,0,wH,lpANDbits,lpbinfo,DIB_RGB_COLORS);\n\n        if (wScans == 0)\n        {\n            DeleteObject( hbmpXOR );\n            DeleteObject( hbmpAND );\n            ReleaseDC( NULL, hDC );\n            return NULL;\n        }\n    }\n\n\n// Now that we have a AND bitmap and a XOR bitmap, we need to\n// convert the cursor size to that of the display by using StretchBlt.\n\n    hSrcDC  = CreateCompatibleDC( hDC );\n    if (!hSrcDC)\n    {\n        DeleteObject( hbmpXOR );\n        DeleteObject( hbmpAND );\n        ReleaseDC( NULL, hDC );\n        return NULL;\n    }\n\n    hDestDC = CreateCompatibleDC( hDC );\n    if (!hDestDC)\n    {\n        DeleteDC( hSrcDC );\n        DeleteObject( hbmpXOR );\n        DeleteObject( hbmpAND );\n        ReleaseDC( NULL, hDC );\n        return NULL;\n    }\n\n    wCursorW = GetSystemMetrics( SM_CXCURSOR );\n    wCursorH = GetSystemMetrics( SM_CYCURSOR );\n\n    hbmpDestXOR = CreateBitmap( wCursorW, wCursorH, 1, 1, NULL );\n    if (!hbmpDestXOR)\n    {\n        DeleteObject( hbmpXOR );\n        DeleteObject( hbmpAND );\n        DeleteDC( hSrcDC );\n        DeleteDC( hDestDC );\n        ReleaseDC( NULL, hDC );\n        return NULL;\n    }\n\n    hbmpDestAND = CreateBitmap( wCursorW, wCursorH, 1, 1, NULL );\n    if (!hbmpDestAND)\n    {\n        DeleteObject( hbmpDestXOR );\n        DeleteObject( hbmpXOR );\n        DeleteObject( hbmpAND );\n        DeleteDC( hSrcDC );\n        DeleteDC( hDestDC );\n        ReleaseDC( NULL, hDC );\n        return NULL;\n    }\n\n    hbmpOldSrc = (HBITMAP)SelectObject( hSrcDC, hbmpXOR );\n    hbmpOldDest = (HBITMAP)SelectObject( hDestDC, hbmpDestXOR );\n    SetStretchBltMode( hDestDC, WHITEONBLACK );\n\n    StretchBlt(hDestDC,0,0,wCursorW,wCursorH,hSrcDC,0,0,wW,wH,SRCCOPY);\n\n    SelectObject( hSrcDC, hbmpAND );\n    SelectObject( hDestDC, hbmpDestAND );\n    SetStretchBltMode( hDestDC, BLACKONWHITE );\n\n    StretchBlt(hDestDC,0,0,wCursorW,wCursorH,hSrcDC,0,0,wW,wH,SRCCOPY);\n\n    // Clean up all but the two new bitmaps\n    SelectObject( hSrcDC, hbmpOldSrc );\n    SelectObject( hDestDC, hbmpOldDest );\n    DeleteDC( hSrcDC );\n    DeleteDC( hDestDC );\n    ReleaseDC( NULL, hDC );\n    DeleteObject( hbmpXOR );\n    DeleteObject( hbmpAND );\n\n\n// Now that the bitmaps are the correct size, we need to retrieve\n// the DDB bits again so we can CreateCursor\n    \n    GetObject( hbmpDestXOR, sizeof(BITMAP), (LPSTR)&bmp );\n\n    wXORSize = (bmp.bmWidth * bmp.bmHeight) *\n                (bmp.bmPlanes * bmp.bmBitsPixel) / 8;\n\n    hXORbits = GlobalAlloc( GHND, wXORSize );\n\n    if (hXORbits == NULL)\n    {\n        DeleteObject( hbmpDestAND );\n        DeleteObject( hbmpDestXOR );\n        return NULL;\n    }\n\n    if ((lpXORbits = (LPSTR)GlobalLock( hXORbits )) == NULL)\n    {\n        GlobalFree( hXORbits );\n        DeleteObject( hbmpDestAND );\n        DeleteObject( hbmpDestXOR );\n        return NULL;\n    }\n\n    if (!GetBitmapBits( hbmpDestXOR, wXORSize, lpXORbits))\n    {\n        GlobalUnlock( hXORbits );\n        GlobalFree( hXORbits );\n        DeleteObject( hbmpDestAND );\n        DeleteObject( hbmpDestXOR );\n        return NULL;\n    }\n\n    GetObject( hbmpDestAND, sizeof(BITMAP), (LPSTR)&bmp );\n\n    wANDSize = (bmp.bmWidth * bmp.bmHeight) / 8;\n\n    hANDbits = GlobalAlloc( GHND, wANDSize );\n\n    if (hANDbits == NULL)\n    {\n        GlobalUnlock( hXORbits );\n        GlobalFree( hXORbits );\n        DeleteObject( hbmpDestAND );\n        DeleteObject( hbmpDestXOR );\n        return NULL;\n    }\n\n    if ((lpANDbits = (LPSTR)GlobalLock( hANDbits )) == NULL)\n    {\n        GlobalFree( hANDbits );\n        GlobalUnlock( hXORbits );\n        GlobalFree( hXORbits );\n        DeleteObject( hbmpDestAND );\n        DeleteObject( hbmpDestXOR );\n        return NULL;\n    }\n\n    if (!GetBitmapBits( hbmpDestAND,wANDSize,lpANDbits))\n    {\n        GlobalUnlock( hANDbits );\n        GlobalFree( hANDbits );\n        GlobalUnlock( hXORbits );\n        GlobalFree( hXORbits );\n        DeleteObject( hbmpDestAND );\n        DeleteObject( hbmpDestXOR );\n        return NULL;\n    }\n\n\n// Now after all this we can finally make an cursor.\n\n    GetObject( hbmpDestXOR, sizeof(BITMAP), (LPSTR)&bmp );\n\n    hCursor = CreateCursor( ghInst, lpci->xHotSpot, lpci->yHotSpot, \n                wCursorW, wCursorH, lpANDbits, lpXORbits );\n\n    GlobalUnlock( hANDbits );\n    GlobalFree( hANDbits );\n    GlobalUnlock( hXORbits );\n    GlobalFree( hXORbits );\n    DeleteObject( hbmpDestAND );\n    DeleteObject( hbmpDestXOR );\n\n    return hCursor;\n\n} //*** MakeCursor\n\n\n//*** EOF: iconcur.c\n"
  },
  {
    "path": "tools/ExeView/init.cpp",
    "content": "//*************************************************************\n//  File name: init.c\n//\n//  Description: \n//      Initializes the app and instance\n//\n//  History:    Date       Author     Comment\n//              12/12/91   MSM        Created\n//\n// Written by Microsoft Product Support Services, Windows Developer Support\n// Copyright (c) 1992 Microsoft Corporation. All rights reserved.\n//*************************************************************\n// COPYRIGHT:\n//\n//   (C) Copyright Microsoft Corp. 1993.  All rights reserved.\n//\n//   You have a royalty-free right to use, modify, reproduce and\n//   distribute the Sample Files (and/or any modified version) in\n//   any way you find useful, provided that you agree that\n//   Microsoft has no warranty obligations or liability for any\n//   Sample Application Files which are modified.\n//\n\n#include \"stdafx.h\"\n\n//*************************************************************\n//\n//  InitApplication()\n//\n//  Purpose:\n//\t\tInitializes the application (window classes)\n//\n//\n//  Parameters:\n//      HANDLE hInstance - hInstance from WinMain\n//      \n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//              12/12/91   MSM        Created\n//\n//*************************************************************\n\nBOOL InitApplication (HINSTANCE hInstance)\n{\n    WNDCLASS  wc;\n\n    wc.style = NULL;             \n    wc.lpfnWndProc = MainWndProc;\n                                 \n    wc.cbClsExtra = 0;           \n    wc.cbWndExtra = 0;           \n    wc.hInstance = hInstance;    \n    wc.hIcon = LoadIcon(hInstance, \"MAINICON\");\n    wc.hCursor = LoadCursor(NULL, IDC_ARROW);\n    wc.hbrBackground = (HBRUSH)(COLOR_APPWORKSPACE+1);\n    wc.lpszMenuName  = szMainMenu;  \n    wc.lpszClassName = szMainClass;\n\n    if ( !RegisterClass(&wc) )\n        return FALSE;\n\n    wc.lpfnWndProc = ShowMenuProc;\n    wc.lpszMenuName  = NULL;\n    wc.lpszClassName = \"MENUPOPUP\";\n\n    if ( !RegisterClass(&wc) )\n        return FALSE;\n\n    wc.lpfnWndProc = ShowBitmapProc;\n    wc.lpszClassName = \"BITMAPPOPUP\";\n\n    if ( !RegisterClass(&wc) )\n        return FALSE;\n\n\n    return TRUE;\n\n} //*** InitApplication()\n\n//*************************************************************\n//\n//  InitInstance()\n//\n//  Purpose:\n//\t\tInitializes each instance (window creation)\n//\n//\n//  Parameters:\n//      HANDLE hInstance\n//      int nCmdShow\n//      \n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//              12/12/91   MSM        Created\n//\n//*************************************************************\n\nBOOL InitInstance (HINSTANCE hInstance, int nCmdShow)\n{\n    HWND hWnd;\n    int  tabs = 36;\n\n    ghInst = hInstance;\n\n    ghWndMain = CreateWindow( szMainClass, \"Windows Executable Viewer\",  \n        WS_OVERLAPPEDWINDOW,           \n        CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,\n        NULL, NULL, hInstance, NULL );\n\n    if (!ghWndMain)\n        return (FALSE);\n\n    hWnd = CreateWindow( \"LISTBOX\", NULL, WS_CHILD|WS_VISIBLE|WS_BORDER|\n        WS_VSCROLL|LBS_NOINTEGRALHEIGHT|LBS_NOTIFY|LBS_USETABSTOPS,\n        0,0,0,0,\n        ghWndMain, (HMENU)IDL_EXEHDR, hInstance, NULL );\n\n    if (!hWnd)\n        return FALSE;\n\n    SendMessage( hWnd, LB_SETTABSTOPS, 1, (LPARAM)(LPINT)&tabs );\n    SendMessage( hWnd, WM_SETFONT, (WPARAM)GetStockObject(SYSTEM_FIXED_FONT), 0L );\n\n    hWnd = CreateWindow( \"BUTTON\", \"Old Header\", WS_CHILD|WS_VISIBLE,\n            0, 0, 0, 0, ghWndMain, (HMENU)IDB_OLDHDR, hInstance, NULL );\n    if (!hWnd)\n        return FALSE;\n\n    hWnd = CreateWindow( \"BUTTON\", \"New Header\", WS_CHILD|WS_VISIBLE,\n            0, 0, 0, 0, ghWndMain, (HMENU)IDB_NEWHDR, hInstance, NULL );\n    if (!hWnd)\n        return FALSE;\n\n    hWnd = CreateWindow( \"BUTTON\", \"Entry Table\", WS_CHILD|WS_VISIBLE,\n            0, 0, 0, 0, ghWndMain, (HMENU)IDB_ENTRYTABLE, hInstance, NULL );\n    if (!hWnd)\n        return FALSE;\n\n    hWnd = CreateWindow( \"BUTTON\", \"Segments\", WS_CHILD|WS_VISIBLE,\n            0, 0, 0, 0, ghWndMain, (HMENU)IDB_SEGMENTS, hInstance, NULL );\n    if (!hWnd)\n        return FALSE;\n\n    hWnd = CreateWindow( \"BUTTON\", \"Resources\", WS_CHILD|WS_VISIBLE,\n            0, 0, 0, 0, ghWndMain, (HMENU)IDB_RESOURCES, hInstance, NULL );\n    if (!hWnd)\n        return FALSE;\n\n    hWnd = CreateWindow( \"BUTTON\", \"Resident Names\", WS_CHILD|WS_VISIBLE,\n            0, 0, 0, 0, ghWndMain, (HMENU)IDB_RESIDENTNAMES, hInstance, NULL );\n    if (!hWnd)\n        return FALSE;\n\n    hWnd = CreateWindow( \"BUTTON\", \"Imported Names\", WS_CHILD|WS_VISIBLE,\n            0, 0, 0, 0, ghWndMain, (HMENU)IDB_IMPORTEDNAMES, hInstance, NULL );\n    if (!hWnd)\n        return FALSE;\n\n    hWnd = CreateWindow( \"BUTTON\", \"NonResident Names\", WS_CHILD|WS_VISIBLE,\n            0, 0, 0, 0, ghWndMain, (HMENU)IDB_NONRESIDENTNAMES, hInstance, NULL );\n    if (!hWnd)\n        return FALSE;\n\n    ShowWindow(ghWndMain, nCmdShow);\n    UpdateWindow(ghWndMain);\n    return (TRUE);\n\n} //*** InitInstance()\n\n//*** EOF: init.c\n"
  },
  {
    "path": "tools/ExeView/main.cpp",
    "content": "//*************************************************************\n//  File name: main.c\n//\n//  Description: \n//      WinMain and the WndProcs\n//\n//  History:    Date       Author     Comment\n//              12/12/91   MSM        Created\n//\n// Written by Microsoft Product Support Services, Windows Developer Support\n// Copyright (c) 1992 Microsoft Corporation. All rights reserved.\n//*************************************************************\n// COPYRIGHT:\n//\n//   (C) Copyright Microsoft Corp. 1993.  All rights reserved.\n//\n//   You have a royalty-free right to use, modify, reproduce and\n//   distribute the Sample Files (and/or any modified version) in\n//   any way you find useful, provided that you agree that\n//   Microsoft has no warranty obligations or liability for any\n//   Sample Application Files which are modified.\n//\n\n#include \"stdafx.h\"\n\nHINSTANCE   ghInst      = NULL;\nHWND        ghWndMain   = NULL;\n\nchar        szMainMenu[]    = \"MainMenu\";\nchar        szMainClass[]   = \"MainClass\";\nPEXEINFO    gpExeInfo;\n\n//*************************************************************\n//\n//  WinMain()\n//\n//  Purpose:\n//\t\tEntry point for all windows apps\n//\n//\n//  Parameters:\n//      HANDLE hInstance\n//      HANDLE hPrevInstance\n//      LPSTR lpCmdLine\n//      int nCmdShow\n//      \n//\n//  Return: (int PASCAL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//              12/12/91   MSM        Created\n//\n//*************************************************************\n\nINT APIENTRY WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)\n{\n    MSG msg;\n\n    if (!hPrevInstance && !InitApplication(hInstance))\n            return (FALSE);       \n\n    if (!InitInstance(hInstance, nCmdShow))\n        return (FALSE);\n\n    EnableChildWindows( ghWndMain, NULL );\n\n    while (GetMessage(&msg, NULL, NULL, NULL))\n    {\n        TranslateMessage(&msg);      \n        DispatchMessage(&msg);       \n    }\n    return (msg.wParam);      \n\n} //*** WinMain()\n\n//*************************************************************\n//\n//  MainWndProc()\n//\n//  Purpose:\n//\t\tMain Window procedure\n//\n//\n//  Parameters:\n//      HWND hWnd\n//      unsigned msg\n//      WORD wParam\n//      LONG lParam\n//      \n//\n//  Return: (long FAR PASCAL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//              12/12/91   MSM        Created\n//\n//*************************************************************\n\nLRESULT CALLBACK MainWndProc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)\n{\n    DLGPROC lpProc;\n    HWND    hLB = GetDlgItem( hWnd, IDL_EXEHDR );\n\n    switch (msg) \n    {\n        case WM_COMMAND: \n            switch ( LOWORD(wParam) )\n            {\n                case IDM_OPEN:\n                {\n                    OPENFILENAME of;\n                    char         szFile[120];\n\n                    memset( &of, 0, sizeof(OPENFILENAME) );\n\n                    szFile[0] = 0;\n\n                    of.lStructSize  = sizeof(OPENFILENAME);\n                    of.hwndOwner    = ghWndMain;\n                    of.hInstance    = ghInst;\n                    of.lpstrFilter  = (LPSTR)\"EXE file\\0*.EXE\\0DLL library\\0*.DLL\\0Font\\0*.FON\\0\\0\";\n                    of.nFilterIndex = 0;\n                    of.lpstrFile    = (LPSTR)szFile;\n                    of.nMaxFile     = (DWORD)256;\n                    of.lpstrTitle   = (LPSTR)\"Enter File\";\n                    of.Flags        = OFN_HIDEREADONLY|OFN_FILEMUSTEXIST;\n                    of.lpstrDefExt  = (LPSTR)\"EXE\";\n\n                    if( GetOpenFileName( &of ) )\n                    {\n                        // Kill the old exe info if it exists\n                        if (gpExeInfo)\n                        {\n                            FreeExeInfoMemory( gpExeInfo );\n                            gpExeInfo = NULL;\n                        }\n\n                        gpExeInfo = LoadExeInfo( szFile );\n\n                        switch ( (int)gpExeInfo )\n                        {\n                            case LERR_OPENINGFILE:\n                                MessageBox(hWnd,\"Error opening file!\",\n                                    \"ExeView Error\", MB_ICONSTOP|MB_OK );\n                                SetWindowText( hWnd, \"Windows Executable Viewer\" );\n                                gpExeInfo = NULL;\n                            break;\n\n                            case LERR_NOTEXEFILE:\n                                MessageBox(hWnd,\"Not a valid EXE file!\",\n                                    \"ExeView Error\", MB_ICONSTOP|MB_OK );\n                                SetWindowText( hWnd, \"Windows Executable Viewer\" );\n                                gpExeInfo = NULL;\n                            break;\n\n                            case LERR_READINGFILE:\n                                MessageBox(hWnd,\"Error reading file!\",\n                                    \"ExeView Error\", MB_ICONSTOP|MB_OK );\n                                SetWindowText( hWnd, \"Windows Executable Viewer\" );\n                                gpExeInfo = NULL;\n                            break;\n\n                            case LERR_MEMALLOC:\n                                MessageBox(hWnd,\"Memory allocation denied!\",\n                                    \"ExeView Error\", MB_ICONSTOP|MB_OK );\n                                SetWindowText( hWnd, \"Windows Executable Viewer\" );\n                                gpExeInfo = NULL;\n                            break;\n\n                            default:\n                            {\n                                char szBuff[120];\n\n                                if (gpExeInfo->NewHdr.wNewSignature)\n                                    FillLBWithNewExeHeader(hLB, gpExeInfo );\n                                else\n                                    FillLBWithOldExeHeader( hLB, gpExeInfo );\n\n                                wsprintf( szBuff, \"ExeView - %s\", (LPSTR)szFile );\n                                SetWindowText( hWnd, szBuff );\n                                SetFocus( hLB );\n                            }\n                            break;\n                        }\n                        EnableChildWindows( hWnd, gpExeInfo );\n                        if (!gpExeInfo)\n                            SendMessage( hLB, LB_RESETCONTENT, 0, 0L );\n                    }\n                }\n                break;\n\n                case IDM_ABOUT:\n                    lpProc = MakeProcInstance(About, ghInst);\n                    DialogBox(ghInst, \"AboutBox\", hWnd, lpProc);    \n                    FreeProcInstance(lpProc);\n                break;\n\n                case IDM_EXIT:\n                    PostMessage( hWnd, WM_SYSCOMMAND, SC_CLOSE, 0L );\n                break;\n\n                case IDB_OLDHDR:\n                    FillLBWithOldExeHeader(hLB, gpExeInfo );\n                    SetFocus( hLB );\n                break;\n\n                case IDB_NEWHDR:\n                    FillLBWithNewExeHeader(hLB, gpExeInfo );\n                    SetFocus( hLB );\n                break;\n\n                case IDB_ENTRYTABLE:\n                    FillLBWithEntryTable(hLB, gpExeInfo );\n                    SetFocus( hLB );\n                break;\n\n                case IDB_SEGMENTS:\n                    FillLBWithSegments(hLB, gpExeInfo );\n                    SetFocus( hLB );\n                break;\n\n                case IDB_RESOURCES:\n                    FillLBWithResources(hLB, gpExeInfo );\n                    SetFocus( hLB );\n                break;\n\n                case IDB_RESIDENTNAMES:\n                    FillLBWithResidentNames(hLB, gpExeInfo );\n                    SetFocus( hLB );\n                break;\n\n                case IDB_IMPORTEDNAMES:\n                    FillLBWithImportedNames(hLB, gpExeInfo );\n                    SetFocus( hLB );\n                break;\n\n                case IDB_NONRESIDENTNAMES:\n                    FillLBWithNonResidentNames(hLB, gpExeInfo );\n                    SetFocus( hLB );\n                break;\n\n                case IDL_EXEHDR:\n                {\n                    int  nItem = (int)SendMessage( hLB, LB_GETCURSEL,0,0L );\n                    LONG lData;\n\n                    if (HIWORD(wParam)!=LBN_DBLCLK)\n                        break;\n\n                    if (nItem<0)\n                        break;\n\n                    lData = SendMessage( hLB, LB_GETITEMDATA,nItem,0L );\n\n                    if (lData==NULL)\n                        break;\n\n                    return (LONG)DisplayResource(gpExeInfo, ((PRESINFO)lData)->pResType, (PRESINFO)lData);\n                }\n                break;\n\n                case IDM_SAVERES:\n                {\n                    OPENFILENAME of;\n                    char         szFile[120];\n\n                    memset( &of, 0, sizeof(OPENFILENAME) );\n\n                    szFile[0] = 0;\n\n                    of.lStructSize  = sizeof(OPENFILENAME);\n                    of.hwndOwner    = ghWndMain;\n                    of.hInstance    = ghInst;\n                    of.lpstrFilter  = (LPSTR)\"Resource file\\0*.rc\\0\\0\";\n                    of.nFilterIndex = 0;\n                    of.lpstrFile    = (LPSTR)szFile;\n                    of.nMaxFile     = (DWORD)sizeof(szFile);\n                    of.lpstrTitle   = (LPSTR)\"Resource File\";\n                    of.Flags        = OFN_HIDEREADONLY|OFN_PATHMUSTEXIST;\n                    of.lpstrDefExt  = (LPSTR)\"rc\";\n\n                    if (GetSaveFileName(&of))\n                    {\n                        SaveResources(hWnd, gpExeInfo, szFile);\n                    }\n                }\n                break;\n            }\n        break;\n\n        case WM_SIZE:\n            ResizeChildWindows( hWnd );\n        break;\n\n        case WM_DESTROY:\n            if (gpExeInfo)\n            {\n                FreeExeInfoMemory( gpExeInfo );\n                gpExeInfo = NULL;\n            }\n            PostQuitMessage(0);\n        break;\n    }\n    return (DefWindowProc(hWnd, msg, wParam, lParam));\n\n} //*** MainWndProc()\n\n//*************************************************************\n//\n//  About()\n//\n//  Purpose:\n//\t\tthe About dialog box procedure\n//\n//\n//  Parameters:\n//      HWND hDlg\n//      unsigned msg\n//      WORD wParam\n//      LONG lParam\n//      \n//\n//  Return: (BOOL FAR PASCAL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//              12/12/91   MSM        Created\n//\n//*************************************************************\n\nINT_PTR CALLBACK About (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)\n{\n    switch (msg) \n    {\n        case WM_INITDIALOG: \n            return (TRUE);\n\n        case WM_COMMAND:\n            if (wParam == IDOK || wParam == IDCANCEL) \n            {\n                EndDialog(hDlg, TRUE);         \n                return (TRUE);\n            }\n        break;\n    }\n    return (FALSE);                  /* Didn't process a message    */\n\n} //*** About()\n\n//*************************************************************\n//\n//  ResizeChildWindows\n//\n//  Purpose:\n//      Resizes the child windows after the parent has changed size\n//\n//\n//  Parameters:\n//      HWND hWnd\n//      \n//\n//  Return: (VOID)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/20/92   MSM        Created\n//\n//*************************************************************\n\nVOID ResizeChildWindows ( HWND hMainWnd )\n{\n    HWND hWnd = GetDlgItem( hMainWnd, IDB_OLDHDR );\n    RECT rc;\n    int  cx = GetSystemMetrics( SM_CXFRAME );\n    int  cy = GetSystemMetrics( SM_CYFRAME );\n    int  x, y, h, w;\n    TEXTMETRIC  tm;\n\n    // cx and cy are used as spacing between controls and are calculated\n    // based of a system metric for device independence.\n\n    if (!hWnd)      // Child windows haven't been created yet\n        return;\n    else            // Get info for button height\n    {\n        HDC         hDC = GetDC( hWnd );\n\n        GetTextMetrics( hDC, &tm );\n        ReleaseDC( hWnd, hDC );\n    }\n\n    // Button height will be 25% bigger than the text height\n    x = cx;\n    y = cy;\n    h = (tm.tmHeight * 6) / 4;\n    w = tm.tmAveCharWidth * 15;\n    \n    GetClientRect( hMainWnd, &rc );\n\n    // Turn redraw off during sizing\n    SendMessage( hMainWnd, WM_SETREDRAW, 0, 0L );\n\n    // Resize listbox\n    if (hWnd=GetDlgItem(hMainWnd,IDL_EXEHDR))\n        MoveWindow(hWnd, x, y, rc.right-2*cx, rc.bottom-4*cy-2*h, FALSE);\n\n    y = rc.bottom - 2*h - 2*cy;\n\n    // Resize buttons\n    if (hWnd=GetDlgItem(hMainWnd,IDB_OLDHDR))\n        MoveWindow(hWnd, x, y, w, h, FALSE);\n\n    x += w+cy;\n    if (hWnd=GetDlgItem(hMainWnd,IDB_NEWHDR))\n        MoveWindow(hWnd, x, y, w, h, FALSE);\n\n    x += w+cy;\n    if (hWnd=GetDlgItem(hMainWnd,IDB_ENTRYTABLE))\n        MoveWindow(hWnd, x, y, w, h, FALSE);\n\n    x += w+cy;\n    if (hWnd=GetDlgItem(hMainWnd,IDB_SEGMENTS))\n        MoveWindow(hWnd, x, y, w, h, FALSE);\n\n    x += w+cy;\n    if (hWnd=GetDlgItem(hMainWnd,IDB_RESOURCES))\n        MoveWindow(hWnd, x, y, w, h, FALSE);\n\n    // Do second row\n    w = tm.tmAveCharWidth * 25;\n    y += h+cy;\n    x = cy;\n    if (hWnd=GetDlgItem(hMainWnd,IDB_RESIDENTNAMES))\n        MoveWindow(hWnd, x, y, w, h, FALSE);\n\n    x += w+2*cy;\n    if (hWnd=GetDlgItem(hMainWnd,IDB_IMPORTEDNAMES))\n        MoveWindow(hWnd, x, y, w, h, FALSE);\n\n    x += w+2*cy;\n    if (hWnd=GetDlgItem(hMainWnd,IDB_NONRESIDENTNAMES))\n        MoveWindow(hWnd, x, y, w, h, FALSE);\n\n    SendMessage( hMainWnd, WM_SETREDRAW, 1, 0L );\n    InvalidateRect( hMainWnd, NULL, TRUE );\n    UpdateWindow( hMainWnd );\n\n} //*** ResizeChildWindows\n\n//*************************************************************\n//\n//  EnableChildWindows\n//\n//  Purpose:\n//      Enables/Disables child windows based on the EXE type\n//\n//\n//  Parameters:\n//      HWND hMainWnd\n//      \n//\n//  Return: (VOID)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//\n//*************************************************************\n\nVOID EnableChildWindows ( HWND hMainWnd, PEXEINFO pExeInfo )\n{\n    #define CWIN(X) GetDlgItem(hMainWnd, X)\n\n    if (pExeInfo==NULL)     // No exe info at all\n    {\n        EnableWindow( CWIN(IDB_OLDHDR), FALSE );\n        EnableWindow( CWIN(IDB_NEWHDR), FALSE );\n        EnableWindow( CWIN(IDB_ENTRYTABLE), FALSE );\n        EnableWindow( CWIN(IDB_SEGMENTS), FALSE );\n        EnableWindow( CWIN(IDB_RESOURCES), FALSE );\n        EnableWindow( CWIN(IDB_RESIDENTNAMES), FALSE );\n        EnableWindow( CWIN(IDB_IMPORTEDNAMES), FALSE );\n        EnableWindow( CWIN(IDB_NONRESIDENTNAMES), FALSE );\n        return;\n    }\n\n    if (pExeInfo->NewHdr.wNewSignature==0)  // Old info only\n    {\n        EnableWindow( CWIN(IDB_OLDHDR), TRUE);\n        EnableWindow( CWIN(IDB_NEWHDR), FALSE );\n        EnableWindow( CWIN(IDB_ENTRYTABLE), FALSE );\n        EnableWindow( CWIN(IDB_SEGMENTS), FALSE );\n        EnableWindow( CWIN(IDB_RESOURCES), FALSE );\n        EnableWindow( CWIN(IDB_RESIDENTNAMES), FALSE );\n        EnableWindow( CWIN(IDB_IMPORTEDNAMES), FALSE );\n        EnableWindow( CWIN(IDB_NONRESIDENTNAMES), FALSE );\n    }\n    else                                    // Old and new\n    {\n        EnableWindow( CWIN(IDB_OLDHDR), TRUE);\n        EnableWindow( CWIN(IDB_NEWHDR), TRUE );\n        EnableWindow( CWIN(IDB_ENTRYTABLE), TRUE );\n        EnableWindow( CWIN(IDB_SEGMENTS), TRUE );\n\n        if (pExeInfo->pResTable)\n            EnableWindow( CWIN(IDB_RESOURCES), TRUE );\n        else\n            EnableWindow( CWIN(IDB_RESOURCES), FALSE );\n\n        EnableWindow( CWIN(IDB_RESIDENTNAMES), TRUE );\n        EnableWindow( CWIN(IDB_IMPORTEDNAMES), TRUE );\n        EnableWindow( CWIN(IDB_NONRESIDENTNAMES), TRUE );\n    }\n\n} //*** EnableChildWindows\n\n//*** EOF: main.c\n"
  },
  {
    "path": "tools/ExeView/main.def",
    "content": "NAME         EXEVIEW\n\nDESCRIPTION  'Windows Executable Viewer'\n\nEXETYPE      WINDOWS\n\nSTUB         'WINSTUB.EXE'\n\nCODE  MOVEABLE DISCARDABLE\n\nDATA  PRELOAD MOVEABLE MULTIPLE\n\n\nHEAPSIZE     1024\nSTACKSIZE    5120\n\nSEGMENTS    _TEXT  PRELOAD MOVABLE DISCARDABLE\nSEGMENTS    MAIN   PRELOAD MOVABLE DISCARDABLE\n    \nEXPORTS\n    MainWndProc     @1\n    About           @2\n    NameTableProc   @3\n    IconGroupProc   @4\n    CursorGroupProc @5\n    AccelTableProc  @6\n    StringTableProc @7\n    FontDirProc     @8\n\n    ShowIconProc    @10\n    ShowCursorProc  @11\n    ShowMenuProc    @12\n    ShowDialogProc  @13\n    ShowBitmapProc  @14\n    \n"
  },
  {
    "path": "tools/ExeView/main.rc",
    "content": "//*************************************************************\n//  File name: main.rc\n//\n//  Description: \n//      Resources for the sample application\n//\n//  History:    Date       Author     Comment\n//              12/16/91   MSM        Created\n//\n// Written by Microsoft Product Support Services, Windows Developer Support\n// Copyright (c) 1992 Microsoft Corporation. All rights reserved.\n//*************************************************************\n\n#include \"global.h\"\n\nMAINICON    ICON   \"Main.ico\"\n\nMainMenu MENU\nBEGIN\n    POPUP        \"&File\"\n    BEGIN\n        MENUITEM \"&Open...\",            IDM_OPEN\n        MENUITEM \"Save &Resources...\",  IDM_SAVERES\n        MENUITEM SEPARATOR\n        MENUITEM \"&About ExeView...\",   IDM_ABOUT\n        MENUITEM SEPARATOR\n        MENUITEM \"E&xit\",               IDM_EXIT\n    END\nEND\n\nAboutBox DIALOG 22, 17, 144, 75\nSTYLE DS_MODALFRAME | WS_CAPTION | WS_SYSMENU\nCAPTION \"About ExeView\"\nBEGIN\n    CTEXT \"Microsoft Windows Developer Support\"     -1, 0, 5, 144,  8\n    CTEXT \"Windows Executable Viewer\"  -1,       0, 14, 144,  8\n    CTEXT \"by: Scott McCraw\"    -1,       0, 34, 144,  8\n    DEFPUSHBUTTON \"OK\"          IDOK,     53, 59,  32, 14, WS_GROUP\nEND\n\nNAMETABLE_DLG DIALOG DISCARDABLE LOADONCALL PURE MOVEABLE 30, 31, 400, 250\nSTYLE WS_POPUP | WS_CAPTION | WS_SYSMENU | 0xC0L\nCAPTION \"Viewing NAMETABLE\"\nFONT 8, \"Helv\"\nBEGIN\n  CONTROL \"\" IDL_NAMES, \"LISTBOX\", WS_CHILD | WS_VISIBLE | WS_VSCROLL | 0x101L, 0, 0, 400, 250\nEND\n\nGRAPHIC_DLG DIALOG DISCARDABLE LOADONCALL PURE MOVEABLE 30, 31, 300, 200\nSTYLE WS_POPUP | WS_CAPTION | WS_SYSMENU | 0xC0L\nCAPTION \"Viewing Graphic\"\nFONT 8, \"Helv\"\nBEGIN\nEND\n\n\n//*** EOF: main.rc\n"
  },
  {
    "path": "tools/ExeView/makefile",
    "content": "#\n#   Makefile for Sample Application\n#\n\nCC     =   cl -c -AM -Gsw -nologo -Od -W3 -Zpe\nLN     =   link /m/NOD/NOE/NOL/A:16\n\nOBJ    =   main.obj init.obj bmp.obj exehdr.obj iconcur.obj filllb.obj menudlg.obj res.obj\n\n.c.obj      :\n\t\t\t\techo Compiling: $*.c\n\t\t\t\t$(CC) -NT $* $*.c >$*.err\n\t\t\t\ttype $*.err\n\t\t\t\tdel $*.err\n\nexeview.exe :   $(OBJ) main.res main.def\n\t\t\t\techo Linking: main.exe\n\t\t\t\t$(LN) @<<\n\t\t\t\t main.obj init.obj bmp.obj exehdr.obj+\n\t\t\t\t iconcur.obj filllb.obj menudlg.obj res.obj\n\t\t\t\t exeview.exe\n\t\t\t\t exeview.map\n\t\t\t\t commdlg mlibcew libw\n\t\t\t\t main.def\n<<\n\t\t\t\techo Adding Resources\n\t\t\t\trc -v main.res exeview.exe\n\nmain.res    :   main.rc global.h main.ico\n\t\t\t\techo RCing: main.rc\n\t\t\t\trc -r main.rc\n\nclean:\n    -del *.obj\n    -del *.res\n    -del *.map\n    -del *.sym\n"
  },
  {
    "path": "tools/ExeView/menudlg.cpp",
    "content": "//*************************************************************\n//  File name: menudlg.c\n//\n//  Description: \n//      Code for displaying Menus and Dialogs\n//\n//  History:    Date       Author     Comment\n//               1/24/92   MSM        Created\n//\n// Written by Microsoft Product Support Services, Windows Developer Support\n// Copyright (c) 1992 Microsoft Corporation. All rights reserved.\n//*************************************************************\n// COPYRIGHT:\n//\n//   (C) Copyright Microsoft Corp. 1993.  All rights reserved.\n//\n//   You have a royalty-free right to use, modify, reproduce and\n//   distribute the Sample Files (and/or any modified version) in\n//   any way you find useful, provided that you agree that\n//   Microsoft has no warranty obligations or liability for any\n//   Sample Application Files which are modified.\n//\n\n#include \"stdafx.h\"\n\n\n//*************************************************************\n//\n//  ShowMenu\n//\n//  Purpose:\n//      Opens a popup window and displays the menu    \n//\n//\n//  Parameters:\n//      LPRESPACKET lprp\n//      \n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//\n//*************************************************************\n\nBOOL ShowMenu (LPRESPACKET lprp)\n{\n    HMENU hMenu = LoadMenuIndirect( lprp->lpMem );\n\n    if (hMenu)\n    {\n        HWND hWnd;\n        MSG  msg;\n\n        hWnd = CreateWindow( \"MENUPOPUP\", \"Viewing Menu\",  WS_POPUPWINDOW|\n            WS_CAPTION|WS_THICKFRAME|WS_VISIBLE, 30, 31, 300, 100,\n            ghWndMain, hMenu, ghInst, NULL );\n\n        if (!hWnd)\n        {\n            DestroyMenu( hMenu );\n            MessageBox(ghWndMain,\"Could not create view window!\",\"EXEVIEW\",MB_OK);\n            return TRUE;\n        }\n\n        // Give the modal look\n        EnableWindow( ghWndMain, FALSE );\n\n        while ( IsWindow(hWnd) )    // While the popup is displayed\n        {\n            if (PeekMessage(&msg,NULL,0,0,PM_REMOVE))\n            {\n                TranslateMessage( &msg );\n                DispatchMessage( &msg );\n            }\n        }\n        EnableWindow( ghWndMain, TRUE );\n\n        // Menu gets destroyed with the window\n        return TRUE;\n    }\n    else\n        MessageBox(ghWndMain,\"Could not create menu!\",\"EXEVIEW\",MB_OK);\n\n    return TRUE;\n\n} //*** ShowMenu\n\n//*************************************************************\n//\n//  ShowMenuProc\n//\n//  Purpose:\n//      Displays an menu for all the world to see\n//\n//\n//  Parameters:\n//      HWND hWnd\n//      WORD msg\n//      WORD wParam\n//      LONG lParam\n//      \n//\n//  Return: (LONG FAR PASCAL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/23/92   MSM        Created\n//\n//*************************************************************\n\nLRESULT FAR PASCAL ShowMenuProc (HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)\n{\n    // Release MODAL appearance\n    if (msg==WM_CLOSE)\n        EnableWindow( ghWndMain, TRUE );\n\n    return DefWindowProc( hWnd, msg, wParam, lParam );\n\n} //*** ShowMenuProc\n\n//*************************************************************\n//\n//  ShowDialogProc\n//\n//  Purpose:\n//      Dialog box procedure for displaying a dialog\n//\n//\n//  Parameters:\n//      HWND hDlg\n//      WORD msg\n//      WORD wParam\n//      LONG lParam\n//      \n//\n//  Return: (BOOL FAR PASCAL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/21/92   MSM        Created\n//\n//*************************************************************\n\nINT_PTR FAR PASCAL ShowDialogProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)\n{\n    switch (msg)\n    {\n        case WM_INITDIALOG:\n            return TRUE;\n        break;\n\n        case WM_COMMAND:\n            if (wParam==IDOK || wParam==IDCANCEL)\n                EndDialog( hDlg, TRUE );\n            return TRUE;\n        break;        \n    }\n    return FALSE;\n\n} //*** ShowDialogProc\n\n//*** EOF: menudlg.c\n"
  },
  {
    "path": "tools/ExeView/res.cpp",
    "content": "//*************************************************************\n//  File name: res.c\n//\n//  Description: \n//      Code for displaying resources\n//\n//  History:    Date       Author     Comment\n//               1/21/92   MSM        Created\n//\n// Written by Microsoft Product Support Services, Windows Developer Support\n// Copyright (c) 1992 Microsoft Corporation. All rights reserved.\n//*************************************************************\n// COPYRIGHT:\n//\n//   (C) Copyright Microsoft Corp. 1993.  All rights reserved.\n//\n//   You have a royalty-free right to use, modify, reproduce and\n//   distribute the Sample Files (and/or any modified version) in\n//   any way you find useful, provided that you agree that\n//   Microsoft has no warranty obligations or liability for any\n//   Sample Application Files which are modified.\n//\n\n#include \"stdafx.h\"\n#include \"string.h\"\n\nextern const char *rc_types[];\n\nBOOL LoadResourcePacket(PEXEINFO pExeInfo, PRESTYPE prt, PRESINFO pri, LPRESPACKET lprp)\n{\n    int      fFile;\n    OFSTRUCT of;\n    int      nErr = 0;\n    LONG     lSize;\n    LONG     lOffset;\n    HANDLE   hMem;\n    LPSTR    lpMem;\n    char    *lpTMem;\n\n    if (!pExeInfo || !prt || !pri)\n    {\n        MessageBox(ghWndMain,\"Unable to display resource!\",\"EXEVIEW\",MB_OK);\n        return FALSE;\n    }\n\n    if (pExeInfo->NewHdr.wExpVersion < 0x0300)  // Win 2.x app??\n    {\n        MessageBox(ghWndMain,\"Unable to display resource!  Windows 2.X app.\",\"EXEVIEW\",MB_OK);\n        return FALSE;\n    }\n\n    fFile = OpenFile( pExeInfo->pFilename, &of, OF_READ );\n    if (!fFile)\n    {\n        MessageBox(ghWndMain,\"Could not open file!\",\"EXEVIEW\",MB_OK);\n        return FALSE;\n    }\n\n    // Calculate the position in the the file and move file pointer\n    lOffset = ((LONG)pri->wOffset)<<(pExeInfo->wShiftCount);\n\n    _llseek( fFile, lOffset, 0 );\n\n    // Allocate memory for resource\n    lSize   = ((LONG)pri->wLength)<<(pExeInfo->wShiftCount);\n    hMem = GlobalAlloc( GHND, lSize );\n\n    if (!hMem)\n    {\n        _lclose( fFile );\n        MessageBox(ghWndMain,\"Could not allocate memory for resource!\",\"EXEVIEW\",MB_OK);\n        return FALSE;\n    }\n\n    lpMem = (LPSTR)GlobalLock(hMem);\n    if (!lpMem)\n    {\n        _lclose( fFile );\n        MessageBox(ghWndMain,\"Could not lock memory for resource!\",\"EXEVIEW\",MB_OK);\n        GlobalFree( hMem );\n        return FALSE;\n    }\n\n    // Read in resource from file\n    lpTMem = (char *)lpMem;\n\n    SetCursor( LoadCursor(NULL, IDC_WAIT) );\n    while (lSize)\n    {\n        WORD wSize;\n\n        if (lSize>=32767)\n            wSize = 32767;\n        else\n            wSize = (WORD)lSize;\n\n        // _lread is limited to 32K chunks, thus these gyrations\n        if (_lread(fFile, (LPSTR)lpTMem, wSize) != wSize)\n        {\n            _lclose( fFile );\n            MessageBox(ghWndMain,\"Error reading from file!\",\"EXEVIEW\",MB_OK);\n            GlobalUnlock( hMem );\n            GlobalFree( hMem );\n            return FALSE;\n        }\n        lSize -= wSize;\n        lpTMem += wSize;\n    }\n    SetCursor( LoadCursor(NULL, IDC_ARROW) );\n\n\n    // Build a resource packet.  This allows the passing of all the\n    // the needed info with one 32 bit pointer.\n    lprp->pExeInfo = pExeInfo;\n    lprp->prt = prt;\n    lprp->pri = pri;\n    lprp->lSize = ((LONG)pri->wLength)<<(pExeInfo->wShiftCount);\n    lprp->lpMem = lpMem;\n    lprp->fFile = fFile;\n    lprp->hMem = hMem;\n\n    return TRUE;\n}\n\n\nVOID FreeResourcePacket(LPRESPACKET lprp)\n{\n    _lclose(lprp->fFile);\n    GlobalUnlock(lprp->hMem);\n    GlobalFree(lprp->hMem);\n}\n\n\n//*************************************************************\n//\n//  DisplayResource\n//\n//  Purpose:\n//      Attempts to display the given resource\n//\n//\n//  Parameters:\n//      PEXEINFO pExeInfo\n//      PRESTYPE ptr\n//      PRESINFO pri\n//\n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//\n//*************************************************************\n\nBOOL DisplayResource ( PEXEINFO pExeInfo, PRESTYPE prt, PRESINFO pri )\n{\n    int      nErr = 0;\n    RESPACKET rp;\n    LPRESPACKET lprp = &rp;\n\n    if (!LoadResourcePacket(pExeInfo, prt, pri, lprp))\n        return FALSE;\n\n    if (prt->wType & 0x8000)\n    {\n        switch (prt->wType & 0x7fff)\n        {\n            case NAMETABLE:\n            {\n                DLGPROC lpProc;\n\n                lpProc = MakeProcInstance(NameTableProc, ghInst );\n                nErr = !DialogBoxParam( ghInst, \"NAMETABLE_DLG\", ghWndMain, lpProc,\n                    (LPARAM)lprp );\n                FreeProcInstance( lpProc );\n            }\n            break;\n\n            case GROUP_ICON:\n            {\n                DLGPROC lpProc;\n\n                lpProc = MakeProcInstance(IconGroupProc, ghInst );\n\n                // Re-use the NAMETABLE_DLG with a different DlgProc\n                nErr = !DialogBoxParam( ghInst, \"NAMETABLE_DLG\", ghWndMain, lpProc,\n                    (LPARAM)lprp );\n                FreeProcInstance( lpProc );\n            }\n            break;\n\n            case GROUP_CURSOR:\n            {\n                DLGPROC lpProc;\n\n                lpProc = MakeProcInstance(CursorGroupProc, ghInst );\n\n                // Re-use the NAMETABLE_DLG with a different DlgProc\n                nErr = !DialogBoxParam( ghInst, \"NAMETABLE_DLG\", ghWndMain, lpProc,\n                    (LPARAM)lprp );\n                FreeProcInstance( lpProc );\n            }\n            break;\n\n            case (int)RT_ACCELERATOR:\n            {\n                DLGPROC lpProc;\n\n                lpProc = MakeProcInstance(AccelTableProc, ghInst );\n\n                // Re-use the NAMETABLE_DLG with a different DlgProc\n                nErr = !DialogBoxParam( ghInst, \"NAMETABLE_DLG\", ghWndMain, lpProc,\n                    (LPARAM)lprp );\n                FreeProcInstance( lpProc );\n            }\n            break;\n\n            case (int)RT_STRING:\n            {\n                DLGPROC lpProc;\n\n                lpProc = MakeProcInstance(StringTableProc, ghInst );\n\n                // Re-use the NAMETABLE_DLG with a different DlgProc\n                nErr = !DialogBoxParam( ghInst, \"NAMETABLE_DLG\", ghWndMain, lpProc,\n                    (LPARAM)lprp );\n                FreeProcInstance( lpProc );\n            }\n            break;\n\n            case (int)RT_FONTDIR:\n            {\n                DLGPROC lpProc;\n\n                lpProc = MakeProcInstance(FontDirProc, ghInst );\n\n                // Re-use the NAMETABLE_DLG with a different DlgProc\n                nErr = !DialogBoxParam( ghInst, \"NAMETABLE_DLG\", ghWndMain, lpProc,\n                    (LPARAM)lprp );\n                FreeProcInstance( lpProc );\n            }\n            break;\n\n            case (int)RT_ICON:\n            {\n                DLGPROC lpProc;\n\n                lpProc = MakeProcInstance(ShowIconProc, ghInst );\n\n                // Re-use the GRAPHIC_DLG with a different DlgProc\n                nErr = !DialogBoxParam( ghInst, \"GRAPHIC_DLG\", ghWndMain, lpProc,\n                    (LPARAM)lprp );\n                FreeProcInstance( lpProc );\n            }\n            break;\n\n            case (int)RT_CURSOR:\n            {\n                DLGPROC lpProc;\n\n                lpProc = MakeProcInstance(ShowCursorProc, ghInst );\n\n                // Re-use the GRAPHIC_DLG with a different DlgProc\n                nErr = !DialogBoxParam( ghInst, \"GRAPHIC_DLG\", ghWndMain, lpProc,\n                    (LPARAM)lprp );\n                FreeProcInstance( lpProc );\n            }\n            break;\n\n            case (int)RT_MENU:\n                ShowMenu( lprp );\n            break;\n\n            case (int)RT_BITMAP:\n                ShowBitmap( lprp );\n            break;\n\n            case (int)RT_DIALOG:\n            {\n                DLGPROC lpProc;\n\n                lpProc = MakeProcInstance(ShowDialogProc, ghInst );\n\n                // NOTE: 16bit dialogs will not display at all on 32/64 bit Windows.  Just saying...\n\n                nErr = DialogBoxIndirect(ghInst, (LPCDLGTEMPLATE)lprp->lpMem, ghWndMain,lpProc);\n                FreeProcInstance( lpProc );\n                if (nErr!=-1)\n                    nErr = 0;\n            }\n            break;\n\n            default:\n                nErr = TRUE;\n            break;\n        }\n        if (!nErr)\n        {\n            FreeResourcePacket(lprp);\n            return TRUE;\n        }\n    }\n\n    MessageBox(ghWndMain,\"Unable to display resource!\",\"EXEVIEW\",MB_OK);\n    FreeResourcePacket(lprp);\n    return FALSE;\n\n} //*** DisplayResource\n\n//*************************************************************\n//\n//  NameTableProc\n//\n//  Purpose:\n//      Dialog box procedure for displaying a name table\n//\n//\n//  Parameters:\n//      HWND hDlg\n//      WORD msg\n//      WORD wParam\n//      LONG lParam\n//      \n//\n//  Return: (BOOL FAR PASCAL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/21/92   MSM        Created\n//\n//*************************************************************\n\nINT_PTR FAR PASCAL NameTableProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)\n{\n    switch (msg)\n    {\n        case WM_INITDIALOG:\n        {\n            LPRESPACKET lprp = (LPRESPACKET)lParam;\n            HWND     hWnd = GetDlgItem( hDlg, IDL_NAMES );\n\n            FillLBWithNameTable( hWnd, lprp );\n            return TRUE;\n        }\n        break;\n\n        case WM_COMMAND:\n            if (wParam==IDOK || wParam==IDCANCEL)\n                EndDialog( hDlg, TRUE );\n            return TRUE;\n        break;        \n    }\n    return FALSE;\n\n} //*** NameTableProc\n\n//*************************************************************\n//\n//  FillLBWithNameTable\n//\n//  Purpose:\n//      Fills the list box with the name table\n//\n//\n//  Parameters:\n//      HWND hWnd\n//      LPRESPACKET lprp\n//      \n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/21/92   MSM        Created\n//\n//*************************************************************\n\nBOOL FillLBWithNameTable (HWND hWnd, LPRESPACKET lprp)\n{\n    char        szBuff[255];\n    LPSTR       lp = (LPSTR)szBuff;\n    LPNAMEENTRY lpne = (LPNAMEENTRY)lprp->lpMem;\n    LONG        lSize = 0;\n\n    #define ADDITEM() SendMessage( hWnd, LB_ADDSTRING, 0, (LPARAM)lp )\n\n    SendMessage( hWnd, WM_SETREDRAW, 0, 0L );\n    SendMessage( hWnd, LB_RESETCONTENT, 0, 0L );\n    SendMessage( hWnd, WM_SETFONT, (WPARAM)GetStockObject(SYSTEM_FIXED_FONT), 0L );\n\n    lstrcpy( lp, \"Type#    ID       Resource Type        Resource Name\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"---------------------------------------------------------------\" );\n    ADDITEM();\n\n    // Loop through the table\n    while (lSize < lprp->lSize)        \n    {\n        LPCSTR lpType, lpID;\n        WORD wType;\n\n        // Check for end of table\n        if (lpne->wBytes==0)\n            break;\n        \n        wType =  lpne->wTypeOrd&0x7fff;\n\n        // Point to type\n        lpType = (LPCSTR)(lpne+1);\n\n        // Point to ID Name\n        lpID = lpType + lstrlen( lpType ) + 1;\n\n        if (*lpType==0)\n            if (!(wType==0 || wType==11 || wType==13 || wType > 16))\n                lpType = rc_types[ wType ];\n\n        wsprintf( lp, \"%#04x   %#04x   %-20s %s\",\n            lpne->wTypeOrd, lpne->wIDOrd, lpType, lpID );\n        ADDITEM();\n\n        lSize += lpne->wBytes;\n        lpne = (LPNAMEENTRY)( (LPSTR)lpne + lpne->wBytes );\n    }\n\n    SendMessage( hWnd, WM_SETREDRAW, 1, 0L );\n    InvalidateRect( hWnd, NULL, TRUE );\n    UpdateWindow( hWnd );\n    return TRUE;\n\n} //*** FillLBWithNameTable\n\n//*************************************************************\n//\n//  IconGroupProc\n//\n//  Purpose:\n//      Dialog box procedure for displaying a icon group\n//\n//\n//  Parameters:\n//      HWND hDlg\n//      WORD msg\n//      WORD wParam\n//      LONG lParam\n//      \n//\n//  Return: (BOOL FAR PASCAL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/21/92   MSM        Created\n//\n//*************************************************************\n\nINT_PTR FAR PASCAL IconGroupProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)\n{\n    switch (msg)\n    {\n        case WM_INITDIALOG:\n        {\n            LPRESPACKET lprp = (LPRESPACKET)lParam;\n            HWND     hWnd = GetDlgItem( hDlg, IDL_NAMES );\n\n            SetWindowText( hDlg, \"Viewing Icon Group\" );\n            FillLBWithIconGroup( hWnd, lprp );\n            return TRUE;\n        }\n        break;\n\n        case WM_COMMAND:\n            if (wParam==IDOK || wParam==IDCANCEL)\n                EndDialog( hDlg, TRUE );\n            return TRUE;\n        break;        \n    }\n    return FALSE;\n\n} //*** IconGroupProc\n\n//*************************************************************\n//\n//  FillLBWithIconGroup\n//\n//  Purpose:\n//      Fills the list box with the icon group\n//\n//\n//  Parameters:\n//      HWND hWnd\n//      LPRESPACKET lprp\n//      \n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/21/92   MSM        Created\n//\n//*************************************************************\n\nBOOL FillLBWithIconGroup (HWND hWnd, LPRESPACKET lprp)\n{\n    char        szBuff[255];\n    LPSTR       lp = (LPSTR)szBuff;\n    WORD        wI;\n    LPICONDIR   lpid = (LPICONDIR)lprp->lpMem;\n\n\n\n    #define ADDITEM() SendMessage( hWnd, LB_ADDSTRING, 0, (LPARAM)lp )\n\n    SendMessage( hWnd, WM_SETREDRAW, 0, 0L );\n    SendMessage( hWnd, LB_RESETCONTENT, 0, 0L );\n    SendMessage( hWnd, WM_SETFONT, (WPARAM)GetStockObject(SYSTEM_FIXED_FONT), 0L );\n\n    lstrcpy( lp, \"Width  Height  Colors  Planes  Bits/Pel  Size(bytes)  Ordinal\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"---------------------------------------------------------------\" );\n    ADDITEM();\n\n    for (wI=0; wI<lpid->wCount; wI++)\n    {\n        LPICONENTRY lpie = &lpid->Icons[wI];\n\n        wsprintf( lp, \" %-4u    %-4u    %-4u    %-4u    %-4u     %-10lu  %#04x\",\n            lpie->bWidth, lpie->bHeight, lpie->bColorCount, lpie->wPlanes,\n            lpie->wBitsPerPel, lpie->dwBytesInRes, lpie->wOrdinalNumber );\n        ADDITEM();\n    }\n\n    SendMessage( hWnd, WM_SETREDRAW, 1, 0L );\n    InvalidateRect( hWnd, NULL, TRUE );\n    UpdateWindow( hWnd );\n    return TRUE;\n\n} //*** FillLBWithIconGroup\n\n//*************************************************************\n//\n//  CursorGroupProc\n//\n//  Purpose:\n//      Dialog box procedure for displaying a cursor group\n//\n//\n//  Parameters:\n//      HWND hDlg\n//      WORD msg\n//      WORD wParam\n//      LONG lParam\n//      \n//\n//  Return: (BOOL FAR PASCAL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/21/92   MSM        Created\n//\n//*************************************************************\n\nINT_PTR FAR PASCAL CursorGroupProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)\n{\n    switch (msg)\n    {\n        case WM_INITDIALOG:\n        {\n            LPRESPACKET lprp = (LPRESPACKET)lParam;\n            HWND     hWnd = GetDlgItem( hDlg, IDL_NAMES );\n\n            SetWindowText( hDlg, \"Viewing Cursor Group\" );\n            FillLBWithCursorGroup( hWnd, lprp );\n            return TRUE;\n        }\n        break;\n\n        case WM_COMMAND:\n            if (wParam==IDOK || wParam==IDCANCEL)\n                EndDialog( hDlg, TRUE );\n            return TRUE;\n        break;        \n    }\n    return FALSE;\n\n} //*** CursorGroupProc\n\n//*************************************************************\n//\n//  FillLBWithCursorGroup\n//\n//  Purpose:\n//      Fills the list box with the cursor group\n//\n//\n//  Parameters:\n//      HWND hWnd\n//      LPRESPACKET lprp\n//      \n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/21/92   MSM        Created\n//\n//*************************************************************\n\nBOOL FillLBWithCursorGroup (HWND hWnd, LPRESPACKET lprp)\n{\n    char        szBuff[255];\n    LPSTR       lp = (LPSTR)szBuff;\n    WORD        wI;\n    LPCURSORDIR lpcd = (LPCURSORDIR)lprp->lpMem;\n\n\n    #define ADDITEM() SendMessage( hWnd, LB_ADDSTRING, 0, (LPARAM)lp )\n\n    SendMessage( hWnd, WM_SETREDRAW, 0, 0L );\n    SendMessage( hWnd, LB_RESETCONTENT, 0, 0L );\n    SendMessage( hWnd, WM_SETFONT, (WPARAM)GetStockObject(SYSTEM_FIXED_FONT), 0L );\n\n    lstrcpy( lp, \"Width  Height  Planes  Bits/Pel  Size(bytes)  Ordinal\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"---------------------------------------------------------------\" );\n    ADDITEM();\n\n    for (wI=0; wI<lpcd->wCount; wI++)\n    {\n        LPCURSORENTRY lpce = &lpcd->Cursors[wI];\n\n        wsprintf( lp, \" %-4u    %-4u    %-4u    %-4u     %-10lu  %#04x\",\n            lpce->wWidth, lpce->wHeight/2, lpce->wPlanes,\n            lpce->wBitsPerPel, lpce->dwBytesInRes, lpce->wOrdinalNumber );\n        ADDITEM();\n    }\n\n    SendMessage( hWnd, WM_SETREDRAW, 1, 0L );\n    InvalidateRect( hWnd, NULL, TRUE );\n    UpdateWindow( hWnd );\n    return TRUE;\n\n} //*** FillLBWithCursorGroup\n\n//*************************************************************\n//\n//  AccelTableProc\n//\n//  Purpose:\n//      Dialog box procedure for displaying a accel table\n//\n//\n//  Parameters:\n//      HWND hDlg\n//      WORD msg\n//      WORD wParam\n//      LONG lParam\n//      \n//\n//  Return: (BOOL FAR PASCAL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/21/92   MSM        Created\n//\n//*************************************************************\n\nINT_PTR FAR PASCAL AccelTableProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)\n{\n    switch (msg)\n    {\n        case WM_INITDIALOG:\n        {\n            LPRESPACKET lprp = (LPRESPACKET)lParam;\n            HWND     hWnd = GetDlgItem( hDlg, IDL_NAMES );\n\n            SetWindowText( hDlg, \"Viewing Accelerator Table\" );\n            FillLBWithAccelTable( hWnd, lprp );\n            return TRUE;\n        }\n        break;\n\n        case WM_COMMAND:\n            if (wParam==IDOK || wParam==IDCANCEL)\n                EndDialog( hDlg, TRUE );\n            return TRUE;\n        break;        \n    }\n    return FALSE;\n\n} //*** AccelTableProc\n\n//*************************************************************\n//\n//  FillLBWithAccelTable\n//\n//  Purpose:\n//      Fills the list box with the name table\n//\n//\n//  Parameters:\n//      HWND hWnd\n//      LPRESPACKET lprp\n//      \n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/21/92   MSM        Created\n//\n//*************************************************************\n\nBOOL FillLBWithAccelTable (HWND hWnd, LPRESPACKET lprp)\n{\n    char        szBuff[255];\n    LPSTR       lp = (LPSTR)szBuff;\n    LPACCELENTRY lpae = (LPACCELENTRY)lprp->lpMem;\n\n\n    #define ADDITEM() SendMessage( hWnd, LB_ADDSTRING, 0, (LPARAM)lp )\n\n    SendMessage( hWnd, WM_SETREDRAW, 0, 0L );\n    SendMessage( hWnd, LB_RESETCONTENT, 0, 0L );\n    SendMessage( hWnd, WM_SETFONT, (WPARAM)GetStockObject(SYSTEM_FIXED_FONT), 0L );\n\n    lstrcpy( lp, \"Event   ID      Flags\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"---------------------------------------------------------------\" );\n    ADDITEM();\n\n    while (lpae)\n    {\n\n        wsprintf( lp, \"%#04x  %#04x  (%3u) \", lpae->wEvent, lpae->wID,\n            lpae->fFlags&0x007f );\n\n        if (lpae->fFlags & AF_VIRTKEY)\n            lstrcat( lp, \"VIRTKEY \" );\n        else\n            lstrcat( lp, \"        \" );\n\n        if (lpae->fFlags & AF_ALT)\n            lstrcat( lp, \"ALT \" );\n        else\n            lstrcat( lp, \"    \" );\n\n        if (lpae->fFlags & AF_SHIFT)\n            lstrcat( lp, \"SHIFT \" );\n        else\n            lstrcat( lp, \"      \" );\n\n        if (lpae->fFlags & AF_CONTROL)\n            lstrcat( lp, \"CONTROL \" );\n        else\n            lstrcat( lp, \"        \" );\n\n        if (lpae->fFlags & AF_NOINVERT)\n            lstrcat( lp, \"NOINVERT \" );\n        else\n            lstrcat( lp, \"         \" );\n\n        ADDITEM();\n        // Last item??\n        if (lpae->fFlags & 0x80)\n            lpae = NULL;\n        else\n            lpae++;\n    }\n\n    SendMessage( hWnd, WM_SETREDRAW, 1, 0L );\n    InvalidateRect( hWnd, NULL, TRUE );\n    UpdateWindow( hWnd );\n    return TRUE;\n\n} //*** FillLBWithAccelTable\n\n//*************************************************************\n//\n//  StringTableProc\n//\n//  Purpose:\n//      Dialog box procedure for displaying a string table\n//\n//\n//  Parameters:\n//      HWND hDlg\n//      WORD msg\n//      WORD wParam\n//      LONG lParam\n//      \n//\n//  Return: (BOOL FAR PASCAL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/21/92   MSM        Created\n//\n//*************************************************************\n\nINT_PTR FAR PASCAL StringTableProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)\n{\n    switch (msg)\n    {\n        case WM_INITDIALOG:\n        {\n            LPRESPACKET lprp = (LPRESPACKET)lParam;\n            HWND     hWnd = GetDlgItem( hDlg, IDL_NAMES );\n\n            SetWindowText( hDlg, \"Viewing String Table\" );\n            FillLBWithStringTable( hWnd, lprp );\n            return TRUE;\n        }\n        break;\n\n        case WM_COMMAND:\n            if (wParam==IDOK || wParam==IDCANCEL)\n                EndDialog( hDlg, TRUE );\n            return TRUE;\n        break;        \n    }\n    return FALSE;\n\n} //*** StringTableProc\n\n//*************************************************************\n//\n//  FillLBWithStringTable\n//\n//  Purpose:\n//      Fills the list box with the name table\n//\n//\n//  Parameters:\n//      HWND hWnd\n//      LPRESPACKET lprp\n//      \n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/21/92   MSM        Created\n//\n//*************************************************************\n\nBOOL FillLBWithStringTable (HWND hWnd, LPRESPACKET lprp)\n{\n    char  szBuff[270];\n    LPSTR lpS, lp = (LPSTR)szBuff;\n    int   nI, nOrdinal;\n\n    #define ADDITEM() SendMessage( hWnd, LB_ADDSTRING, 0, (LPARAM)lp )\n\n    nOrdinal = (lprp->pri->wID-1) & 0x7fff;\n    nOrdinal <<= 4;\n    lpS      = lprp->lpMem;\n\n    SendMessage( hWnd, WM_SETREDRAW, 0, 0L );\n    SendMessage( hWnd, LB_RESETCONTENT, 0, 0L );\n    SendMessage( hWnd, WM_SETFONT, (WPARAM)GetStockObject(SYSTEM_FIXED_FONT), 0L );\n\n    lstrcpy( lp, \"Ordinal  String\" );\n    ADDITEM();\n\n    lstrcpy( lp, \"---------------------------------------------------------------\" );\n    ADDITEM();\n\n    for (nI=0; nI<16; nI++)\n    {\n        BYTE bLen = *lpS++;\n\n        wsprintf( lp, \"%#04x   \", nOrdinal + nI );\n\n        if (bLen)\n        {\n            strncat_s( lp, 270, lpS, (WORD)bLen );\n            lpS += (int)bLen;\n            ADDITEM();\n        }\n    }\n\n    SendMessage( hWnd, WM_SETREDRAW, 1, 0L );\n    InvalidateRect( hWnd, NULL, TRUE );\n    UpdateWindow( hWnd );\n    return TRUE;\n\n} //*** FillLBWithStringTable\n\n//*************************************************************\n//\n//  FontDirProc\n//\n//  Purpose:\n//      Dialog box procedure for displaying a font directory\n//\n//\n//  Parameters:\n//      HWND hDlg\n//      WORD msg\n//      WORD wParam\n//      LONG lParam\n//      \n//\n//  Return: (BOOL FAR PASCAL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/21/92   MSM        Created\n//\n//*************************************************************\n\nINT_PTR FAR PASCAL FontDirProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam)\n{\n    switch (msg)\n    {\n        case WM_INITDIALOG:\n        {\n            LPRESPACKET lprp = (LPRESPACKET)lParam;\n            HWND     hWnd = GetDlgItem( hDlg, IDL_NAMES );\n\n            SetWindowText( hDlg, \"Viewing Font Directory\" );\n            FillLBWithFontDir( hWnd, lprp );\n            return TRUE;\n        }\n        break;\n\n        case WM_COMMAND:\n            if (wParam==IDOK || wParam==IDCANCEL)\n                EndDialog( hDlg, TRUE );\n            return TRUE;\n        break;        \n    }\n    return FALSE;\n\n} //*** FontDirProc\n\n//*************************************************************\n//\n//  FillLBWithFontDir\n//\n//  Purpose:\n//      Fills the list box with the name table\n//\n//\n//  Parameters:\n//      HWND hWnd\n//      LPRESPACKET lprp\n//      \n//\n//  Return: (BOOL)\n//\n//\n//  Comments:\n//\n//\n//  History:    Date       Author     Comment\n//               1/21/92   MSM        Created\n//\n//*************************************************************\n\nBOOL FillLBWithFontDir (HWND hWnd, LPRESPACKET lprp)\n{\n    char  szBuff[255];\n    LPSTR lp = (LPSTR)szBuff;\n    int   nI, nFonts;\n    LPFONTENTRY lpfe;\n\n    nFonts = *((LPINT)lprp->lpMem);\n    lpfe = (LPFONTENTRY)(lprp->lpMem + sizeof(WORD));\n\n    #define ADDITEM() SendMessage( hWnd, LB_ADDSTRING, 0, (LPARAM)lp )\n\n    SendMessage( hWnd, WM_SETREDRAW, 0, 0L );\n    SendMessage( hWnd, LB_RESETCONTENT, 0, 0L );\n    SendMessage( hWnd, WM_SETFONT, (WPARAM)GetStockObject(SYSTEM_FIXED_FONT), 0L );\n\n    for (nI=1; nI<=nFonts; nI++)\n    {\n        LPSTR lpDev, lpFace;\n\n        lpDev = (LPSTR)lpfe->szDeviceName;\n        lpFace = lpDev + lstrlen(lpDev) + 1;\n\n        if (nI!=1)\n        {\n            lstrcpy( lp, \"\" );\n            ADDITEM();\n            ADDITEM();\n        }\n\n        wsprintf( lp, \"Font Entry #%d\", nI );\n        ADDITEM();\n\n        lstrcpy( lp, \"---------------------------------------------------------------\" );\n        ADDITEM();\n\n        lstrcpy( lp, lpfe->dfCopyright );\n        ADDITEM();\n\n        wsprintf( lp, \"Ordinal: %#04x    Version:  %#04x    Size: %#08lx\",\n            lpfe->fontOrdinal, lpfe->dfVersion, lpfe->dfSize );\n        ADDITEM();\n\n        wsprintf( lp, \"Type:      %#04x    Points:   %#04x    VertRes:  %#04x    HorzRes:  %#04x\",\n            lpfe->dfType, lpfe->dfPoints, lpfe->dfVertRes, lpfe->dfHorzRes );\n        ADDITEM();\n\n        wsprintf( lp, \"Ascent:    %#04x    IntLead:  %#04x    ExtLead:  %#04x\",\n            lpfe->dfAscent, lpfe->dfIntLeading, lpfe->dfExtLeading );\n        ADDITEM();\n    \n        wsprintf( lp, \"Italic:    %#04x    Underline:%#04x    StrikeOut:%#04x\",\n            lpfe->dfItalic, lpfe->dfUnderline, lpfe->dfStrikeOut );\n        ADDITEM();\n        \n        wsprintf( lp, \"Weight:    %#04x    CharSet:  %#04x    PixWidth: %#04x    PixHeight: %#04x\",\n            lpfe->dfWeight, lpfe->dfCharSet, lpfe->dfPixWidth, lpfe->dfPixHeight );\n        ADDITEM();\n\n        wsprintf( lp, \"Pitch:     %#04x    AveWidth: %#04x    MaxWidth: %#04x\",\n            lpfe->dfPitchAndFamily, lpfe->dfAvgWidth, lpfe->dfMaxWidth );\n        ADDITEM();\n\n        wsprintf( lp, \"FirstChar: %#04x    LastChar: %#04x    DefChar:  %#04x    BreakChar: %#04x\",\n            lpfe->dfFirstChar, lpfe->dfLastChar, lpfe->dfDefaultChar, lpfe->dfBreakChar );\n        ADDITEM();\n\n        wsprintf( lp, \"WidthBytes:%#04x    Device: %#08lx  Face: %#08lx\",\n            lpfe->dfWidthBytes, lpfe->dfDevice, lpfe->dfFace );\n        ADDITEM();\n\n        wsprintf( lp, \"DeviceName: %s\", lpDev );\n        ADDITEM();\n\n        wsprintf( lp, \"FaceName:   %s\", lpFace );\n        ADDITEM();\n\n        lpfe = (LPFONTENTRY)(lpFace + lstrlen(lpFace) + 1);\n    }\n\n    SendMessage( hWnd, WM_SETREDRAW, 1, 0L );\n    InvalidateRect( hWnd, NULL, TRUE );\n    UpdateWindow( hWnd );\n    return TRUE;\n\n} //*** FillLBWithFontDir\n\n\n//*** EOF: res.c\n"
  },
  {
    "path": "tools/ExeView/res.h",
    "content": "//*************************************************************\n//  File name: res.h\n//\n//  Description: \n//      header file for resources and resource types\n//\n//  History:    Date       Author     Comment\n//               1/21/92   MSM        Created\n//\n// Written by Microsoft Product Support Services, Windows Developer Support\n// Copyright (c) 1992 Microsoft Corporation. All rights reserved.\n//*************************************************************\n\n\n//*** Dialog control IDs\n#define IDL_NAMES       0x100    \n\n\n\n\n\n//*** Structure definitions\ntypedef struct\n{\n    PEXEINFO    pExeInfo;\n    PRESTYPE    prt;\n    PRESINFO    pri;\n    LONG        lSize;\n    LPSTR       lpMem;\n    HANDLE      hMem;\n    int         fFile;\n} RESPACKET, FAR *LPRESPACKET;\n\ntypedef struct\n{\n    WORD    wBytes;\n    WORD    wTypeOrd;\n    WORD    wIDOrd;\n//  char    szType[];\n//  char    szID[];\n\n} NAMEENTRY, FAR *LPNAMEENTRY;\n\ntypedef struct\n{\n    BYTE    bWidth;         // Width in pixels\n    BYTE    bHeight;        // Height in pixels\n    BYTE    bColorCount;    // Number of colors\n    BYTE    bReserved;      // Reserved\n    WORD    wPlanes;        // Number of color planes\n    WORD    wBitsPerPel;    // Number of bits per pixel    \n    DWORD   dwBytesInRes;   // size of resource in bytes\n    WORD    wOrdinalNumber; // Ordinal value\n} ICONENTRY, FAR *LPICONENTRY;\n\ntypedef struct\n{\n    WORD    wReserved;      // reserved, 0\n    WORD    wType;          // Type (3 for icons)\n    WORD    wCount;         // Number of Icons in the Icons[] array\n    ICONENTRY Icons[1];     // More than 1 at run-time, but this\n                            // Sets up the array header for the compiler\n} ICONDIR, FAR *LPICONDIR;\n\ntypedef struct\n{\n    WORD    wWidth;         // Width in pixels\n    WORD    wHeight;        // Height in pixels\n    WORD    wPlanes;        // Number of color planes\n    WORD    wBitsPerPel;    // Number of bits per pixel\n    DWORD   dwBytesInRes;   // size of resource in bytes\n    WORD    wOrdinalNumber; // Ordinal value\n} CURSORENTRY, FAR *LPCURSORENTRY;\n\ntypedef struct\n{\n    WORD    wReserved;      // reserved, 0\n    WORD    wType;          // Type (3 for icons)\n    WORD    wCount;         // Number of Icons in the Icons[] array\n    CURSORENTRY Cursors[1]; // More than 1 at run-time, but this\n                            // Sets up the array header for the compiler\n} CURSORDIR, FAR *LPCURSORDIR;\n\ntypedef struct\n{\n    WORD    xHotSpot;\n    WORD    yHotSpot;\n    BITMAPINFO  bi;\n} CURSORIMAGE, FAR *LPCURSORIMAGE;\n\n\n\ntypedef struct\n{\n    BYTE    fFlags;\n    WORD    wEvent;\n    WORD    wID;\n} ACCELENTRY, FAR *LPACCELENTRY;\n\n#define AF_VIRTKEY  0x01\n#define AF_NOINVERT 0x02\n#define AF_SHIFT    0x04    \n#define AF_CONTROL  0x08\n#define AF_ALT      0x10\n\ntypedef struct\n{\n    WORD    fontOrdinal;\n    WORD    dfVersion;\n    DWORD   dfSize;\n    char    dfCopyright[60];\n    WORD    dfType;\n    WORD    dfPoints;\n    WORD    dfVertRes;\n    WORD    dfHorzRes;\n    WORD    dfAscent;\n    WORD    dfIntLeading;\n    WORD    dfExtLeading;\n    BYTE    dfItalic;\n    BYTE    dfUnderline;\n    BYTE    dfStrikeOut;\n    WORD    dfWeight;\n    BYTE    dfCharSet;\n    WORD    dfPixWidth;\n    WORD    dfPixHeight;\n    BYTE    dfPitchAndFamily;\n    WORD    dfAvgWidth;\n    WORD    dfMaxWidth;\n    BYTE    dfFirstChar;\n    BYTE    dfLastChar;\n    BYTE    dfDefaultChar;\n    BYTE    dfBreakChar;\n    WORD    dfWidthBytes;\n    DWORD   dfDevice;\n    DWORD   dfFace;\n    DWORD   dfReserved;\n    char    szDeviceName[1];\n\n} FONTENTRY, FAR *LPFONTENTRY;\n\n#define MAXDLGITEMS 100\n\n#pragma pack(push, 1)\ntypedef struct {\n    WORD style;\n    WORD extra;\n    BYTE cdit;\n    short x;\n    short y;\n    short cx;\n    short cy;\n    WORD flags;\n} DLGTEMPLATE16;\n\ntypedef struct {\n    short x;\n    short y;\n    short cx;\n    short cy;\n    short id;\n    WORD style;\n    WORD extra;\n    BYTE kind;\n} DLGITEMTEMPLATE16;\n#pragma pack(pop)\n\n// one dialog item; pointers are into the locked resource memory\ntypedef struct\n{\n    DLGITEMTEMPLATE16 *pitem;\n\n    LPCTSTR lpszTitle;\n    WORD iconid;\n\n    LPCTSTR lpszSecond;\n} DLGITEMDECODE;\n\n// decoded dialog as a whole; pointers are into locked resource memory\ntypedef struct\n{\n    DLGTEMPLATE16 *pdlg;\n\n    LPCTSTR lpszTitle;\n\n    // if DS_SETFONT\n    WORD wFont;        // size in points\n    LPCTSTR lpszFont;\n\n    // count of items is in pdlg->cdit\n    DLGITEMDECODE rgitems[MAXDLGITEMS];\n} DLGDECODE;\n\n#define MAXMENUITEMS 100\n\n#define MFR_END 0x80\n\n// used for both normal and popup items\ntypedef struct\n{\n    WORD flags;\n    WORD id;\n    LPCTSTR lpszMenu;\n} MENUITEM;\n\n// decoded menu; pointers are into locked resource memory\ntypedef struct\n{\n    WORD flags;\n    LPCTSTR lpszTitle;\n\n    int cItem;\n    MENUITEM rgitem[MAXMENUITEMS];\n} MENUDECODE;\n\n//*** function prototypes\n//*** bmp.c\nBOOL ShowBitmap (LPRESPACKET );\nLRESULT FAR PASCAL ShowBitmapProc (HWND, UINT, WPARAM, LPARAM);\nHBITMAP MakeBitmap (LPRESPACKET );\nHPALETTE CreateNewPalette  (LPSTR, WORD, WORD);\n\n//*** res.c\nBOOL LoadResourcePacket(PEXEINFO pExeInfo, PRESTYPE prt, PRESINFO pri, LPRESPACKET lprp);\nVOID FreeResourcePacket(LPRESPACKET lprp);\nBOOL DisplayResource (PEXEINFO, PRESTYPE, PRESINFO );\n\nBOOL FillLBWithNameTable (HWND, LPRESPACKET);\nINT_PTR FAR PASCAL NameTableProc (HWND, UINT, WPARAM, LPARAM);\n\nBOOL FillLBWithIconGroup (HWND, LPRESPACKET);\nINT_PTR FAR PASCAL IconGroupProc (HWND, UINT, WPARAM, LPARAM);\n            \nBOOL FillLBWithCursorGroup (HWND, LPRESPACKET);\nINT_PTR FAR PASCAL CursorGroupProc (HWND, UINT, WPARAM, LPARAM);\n\nBOOL FillLBWithAccelTable (HWND, LPRESPACKET);\nINT_PTR FAR PASCAL AccelTableProc (HWND, UINT, WPARAM, LPARAM);\n\nBOOL FillLBWithStringTable (HWND, LPRESPACKET);\nINT_PTR FAR PASCAL StringTableProc (HWND, UINT, WPARAM, LPARAM);\n\nBOOL FillLBWithFontDir (HWND, LPRESPACKET);\nINT_PTR FAR PASCAL FontDirProc (HWND, UINT, WPARAM, LPARAM);\n\n\n//*** iconcur.c\nINT_PTR FAR PASCAL ShowIconProc (HWND, UINT, WPARAM, LPARAM);\nHICON   MakeIcon ( LPRESPACKET );\n\nINT_PTR FAR PASCAL ShowCursorProc (HWND, UINT, WPARAM, LPARAM);\nHCURSOR MakeCursor ( LPRESPACKET );\n\n//*** menudlg.c\nBOOL ShowMenu (LPRESPACKET );\nLRESULT FAR PASCAL ShowMenuProc (HWND, UINT, WPARAM, LPARAM);\nINT_PTR FAR PASCAL ShowDialogProc (HWND, UINT, WPARAM, LPARAM);\n\n\n//*** EOF: res.h\n"
  },
  {
    "path": "tools/ExeView/save.cpp",
    "content": "/*************************************************************\n    File name: save.c\n\n    Description:\n        Code for saving resources\n\n    Copyright(c) Microsoft Corporation.All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n#include \"stdafx.h\"\n#include \"string.h\"\n\nextern const char *rc_types[];\n\nBOOL SaveMenu(HFILE hFile, LPRESPACKET lprp);\nBOOL SaveDialog(HFILE hFile, LPRESPACKET lprp);\nBOOL SaveStringTable(HFILE hFile, LPRESPACKET lprp);\n\n#define ADDITEM() _lwrite(hFile, lp, lstrlen(lp))\n\n// save menu, dialog, and string resources to the file given\nBOOL SaveResources(HWND hWnd, PEXEINFO pExeInfo, LPSTR lpFile)\n{\n    char     szBuff[255];\n    LPSTR    lp = (LPSTR)szBuff;\n    char     szRCType[30];\n    LPCSTR   lpn;\n\n    if (pExeInfo == NULL)\n    {\n        MessageBox(hWnd, \"NO file open!\",\n            \"ExeView Error\", MB_ICONSTOP | MB_OK);\n\n        return false;\n    }\n\n    PRESTYPE prt = pExeInfo->pResTable;\n    HFILE    hFile = 0;\n\n    hFile = _lcreat(lpFile, 0);\n    if (!hFile)\n    {\n        MessageBox(hWnd, \"Error opening file for write!\",\n            \"ExeView Error\", MB_ICONSTOP | MB_OK);\n\n        return false;\n    }\n\n    lstrcpy(lp, \"/********************************************************************\\n\\n    Resources that were extracted from a binary that ran on 16-bit Windows.\\n\\n\");\n    ADDITEM();\n\n    lstrcpy(lp, \"    Copyright(c) Microsoft Corporation.All rights reserved.\\n    Licensed under the MIT License.\\n\\n********************************************************************/\\n\\n\");\n    ADDITEM();\n\n    while (prt)\n    {\n        int      restype = 0;\n        PRESINFO pri = prt->pResInfoArray;\n        WORD     wI = 0;\n\n        if (prt->wType & 0x8000)\n        {\n            WORD wType = prt->wType & 0x7fff;\n\n            if (wType == 0 || wType == 11 || wType == 13 || wType > 16)\n            {\n                lpn = (LPSTR)szRCType;\n                wsprintf(szRCType, \"Unknown Type: %#04X\\0\", prt->wType);\n            }\n            else\n            {\n                lpn = rc_types[wType];\n                restype = wType;\n            }\n        }\n        else\n        {\n            lpn = prt->pResourceType;\n            // restype == 0\n        }\n\n        if (restype == (int)RT_MENU || restype == (int)RT_DIALOG || restype == (int)RT_STRING)\n        {\n            while (wI < prt->wCount)\n            {\n                RESPACKET rp;\n                LPRESPACKET lprp = &rp;\n\n                if (LoadResourcePacket(pExeInfo, prt, pri, lprp))\n                {\n                    // for menu, dialog and string, dump details of this item\n                    switch (restype)\n                    {\n                    case (int)RT_MENU:\n                        SaveMenu(hFile, lprp);\n                        break;\n\n                    case (int)RT_DIALOG:\n                        SaveDialog(hFile, lprp);\n                        break;\n\n                    case (int)RT_STRING:\n                        SaveStringTable(hFile, lprp);\n                        break;\n                    }\n\n                    FreeResourcePacket(lprp);\n\n                    lstrcpy(lp, \"\\n\");\n                    ADDITEM();\n                }\n\n                pri++;\n                wI++;\n            }\n            prt = prt->pNext;\n            if (prt)\n            {\n                lstrcpy(lp, \"\\n\");\n                ADDITEM();\n            }\n        }\n        else\n        {\n            prt = prt->pNext;\n        }\n    }\n\n    _lclose(hFile);\n\n    return TRUE;\n}\n\n// NOTE: copied from VerifyResources.cpp\nWORD* DecodeMenu(WORD *lpv, MENUDECODE *pmenu)\n{\n    WORD *pwT = (WORD *)lpv;\n\n    pmenu->flags = *pwT++;\n    pmenu->lpszTitle = (LPCTSTR)pwT;\n    pwT = (WORD *)((BYTE *)pwT + lstrlen(pmenu->lpszTitle) + 1);\n\n    pmenu->cItem = 0;\n    MENUITEM *pitem = &pmenu->rgitem[0];\n    WORD flags;\n    do\n    {\n        flags = pitem->flags = *pwT++;\n        pitem->id = *pwT++;\n\n        pitem->lpszMenu = (LPCTSTR)pwT;\n        pwT = (WORD *)((BYTE *)pwT + lstrlen(pitem->lpszMenu) + 1);\n\n        pmenu->cItem++;\n        pitem++;\n    } while (flags != MFR_END);\n\n    return pwT;\n}\n\nBOOL SaveMenu(HFILE hFile, LPRESPACKET lprp)\n{\n    char     szBuff[255];\n    LPSTR    lp = (LPSTR)szBuff;\n    MENUDECODE menu;\n\n    WORD *pwT = (WORD *)lprp->lpMem;\n\n    char     szNTI[255];            // Name, Title, or Icon\n\n    if (lprp->pri->wID & 0x8000)\n    {\n        wsprintf(szNTI, \"%d\", lprp->pri->wID & 0x7fff);\n    }\n    else\n    {\n        lstrcpy(szNTI, lprp->pri->pResourceName);\n    }\n\n    WORD wVersion = *pwT++;\n    WORD offset = *pwT++;\n\n    wsprintf(lp, \"%s MENU\\n\", szNTI);\n    ADDITEM();\n\n    lstrcpy(lp, \"BEGIN\\n\");\n    ADDITEM();\n\n    // first word is menu flags; if zero, we have hit the end\n    while (*pwT != 0)\n    {\n        pwT = DecodeMenu(pwT, &menu);\n\n        wsprintf(lp, \"    POPUP   \\\"%s\\\"\\n\", menu.lpszTitle);\n        ADDITEM();\n\n        lstrcpy(lp, \"    BEGIN\\n\");\n        ADDITEM();\n\n        for (int i = 0; i < menu.cItem; i++)\n        {\n            wsprintf(lp, \"    MENUITEM    \\\"%s\\\", %#04X\\n\", menu.rgitem[i].lpszMenu, menu.rgitem[i].id);\n            ADDITEM();\n        }\n\n        lstrcpy(lp, \"    END\\n\");\n        ADDITEM();\n    }\n\n    lstrcpy(lp, \"END\\n\");\n    ADDITEM();\n\n    return TRUE;\n}\n\n// NOTE: copied from VerifyResources.cpp\nVOID DecodeDlgItem(WORD **ppwT, DLGITEMDECODE *pdecitem)\n{\n    WORD *pwT = *ppwT;\n\n    pdecitem->pitem = (DLGITEMTEMPLATE16 *)pwT;\n\n    pwT = (WORD *)((char *)pwT + sizeof(DLGITEMTEMPLATE16));\n\n    if (*(BYTE *)pwT == 0xff)\n    {\n        // 0xff at start of name is followed by a WORD\n        pwT = (WORD *)((char *)pwT + 1);\n        pdecitem->iconid = *pwT++;\n        pdecitem->lpszTitle = \"<iconid>\";\n    }\n    else\n    {\n        pdecitem->lpszTitle = (LPCTSTR)pwT;\n        pwT = (WORD *)((BYTE *)pwT + lstrlen(pdecitem->lpszTitle) + 1);\n    }\n\n    // not sure what this is used for...\n    pdecitem->lpszSecond = (LPCTSTR)pwT;\n    pwT = (WORD *)((BYTE *)pwT + lstrlen(pdecitem->lpszSecond) + 1);\n\n    *ppwT = pwT;\n}\n\n// NOTE: copied from VerifyResources.cpp\nVOID DecodeDialog(VOID *lpv, DLGDECODE *pdecdlg)\n{\n    WORD *pwT = (WORD *)lpv;\n\n    pdecdlg->pdlg = (DLGTEMPLATE16 *)lpv;\n\n    // continue after the DLGTEMPLATE16\n    pwT = (WORD *)((char *)pwT + sizeof(DLGTEMPLATE16));\n\n    pdecdlg->lpszTitle = (LPCTSTR)pwT;\n    pwT = (WORD *)((BYTE *)pwT + lstrlen(pdecdlg->lpszTitle) + 1);\n\n    if (pdecdlg->pdlg->style & DS_SETFONT)\n    {\n        pdecdlg->wFont = *pwT++;\n        pdecdlg->lpszFont = (LPCTSTR)pwT;\n        pwT = (WORD *)((BYTE *)pwT + lstrlen(pdecdlg->lpszFont) + 1);\n    }\n\n    if (pdecdlg->pdlg->cdit > MAXDLGITEMS)\n    {\n        // printf(\"Error: dialog has more than %d items\\n\", MAXDLGITEMS);\n        pdecdlg->pdlg->cdit = MAXDLGITEMS;\n    }\n\n    for (int i = 0; i < pdecdlg->pdlg->cdit; i++)\n    {\n        DLGITEMDECODE *pitem = &pdecdlg->rgitems[i];\n\n        ZeroMemory(pitem, sizeof(*pitem));\n\n        DecodeDlgItem(&pwT, pitem);\n    }\n}\n\nBOOL SaveDialog(HFILE hFile, LPRESPACKET lprp)\n{\n    DLGDECODE decdlg;\n\n    ZeroMemory(&decdlg, sizeof(decdlg));\n\n    DecodeDialog(lprp->lpMem, &decdlg);\n\n    char     szBuff[255];\n    LPSTR    lp = (LPSTR)szBuff;\n    char     szNTI[255];            // Name, Title, or Icon\n\n    if (lprp->pri->wID & 0x8000)\n    {\n        wsprintf(szNTI, \"%d\", lprp->pri->wID & 0x7fff);\n    }\n    else\n    {\n        lstrcpy(szNTI, lprp->pri->pResourceName);\n    }\n\n    wsprintf(lp, \"%s DIALOG %#04x, %d, %d, %d, %d\\n\", szNTI, decdlg.pdlg->extra, decdlg.pdlg->x, decdlg.pdlg->y, decdlg.pdlg->cx, decdlg.pdlg->cy);\n    ADDITEM();\n\n    wsprintf(lp, \"CAPTION \\\"%s\\\"\\n\", decdlg.lpszTitle);\n    ADDITEM();\n\n    if (decdlg.lpszFont != NULL)\n    {\n        wsprintf(lp, \"FONT %d, \\\"%s\\\"\\n\", decdlg.wFont, decdlg.lpszFont);\n        ADDITEM();\n    }\n    \n    wsprintf(lp, \"STYLE %#04x\\n\", decdlg.pdlg->style);\n    ADDITEM();\n\n    for (int i = 0; i < decdlg.pdlg->cdit; i++)\n    {\n        DLGITEMDECODE *pdecitem = &decdlg.rgitems[i];\n\n        if (pdecitem->iconid != 0)\n        {\n            wsprintf(szNTI, \"%d\", pdecitem->iconid);\n        }\n        else\n        {\n            wsprintf(szNTI, \"\\\"%s\\\"\", pdecitem->lpszTitle);\n        }\n\n        wsprintf(lp, \"    CONTROL %#02x, %s, %d, %#04x, %d, %d, %d, %d\\n\", pdecitem->pitem->kind, szNTI, pdecitem->pitem->id, pdecitem->pitem->style, pdecitem->pitem->x, pdecitem->pitem->y, pdecitem->pitem->cx, pdecitem->pitem->cy);\n        ADDITEM();\n    }\n\n    lstrcpy(lp, \"END\\n\");\n    ADDITEM();\n\n    return TRUE;\n}\n\nBOOL SaveStringTable(HFILE hFile, LPRESPACKET lprp)\n{\n    char  szBuff[270];\n    LPSTR lpS, lp = (LPSTR)szBuff;\n    int   nI, nOrdinal;\n\n    nOrdinal = (lprp->pri->wID - 1) & 0x7fff;\n    nOrdinal <<= 4;\n    lpS = lprp->lpMem;\n\n    lstrcpy(lp, \"Ordinal  String\\n\");\n    ADDITEM();\n\n    lstrcpy(lp, \"---------------------------------------------------------------\\n\");\n    ADDITEM();\n\n    for (nI = 0; nI < 16; nI++)\n    {\n        BYTE bLen = *lpS++;\n\n        wsprintf(lp, \"%#04x   \\\"\", nOrdinal + nI);\n\n        if (bLen)\n        {\n            strncat_s(lp, 270, lpS, (WORD)bLen);\n            lpS += (int)bLen;\n            lstrcat(lp, \"\\\"\\n\");\n            ADDITEM();\n        }\n    }\n\n    return TRUE;\n}\n"
  },
  {
    "path": "tools/FileSignatureInfo/FileSignatureInfo.cpp",
    "content": "/********************************************************************\n\n    FileSignatureInfo.cpp : displays and verifies the authenticode signature on a Windows application.\n\n    from https://support.microsoft.com/en-us/help/323809/how-to-get-information-from-authenticode-signed-executables\n\n    Copyright (c) Microsoft Corporation. All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n#include \"stdafx.h\"\n\n#include <windows.h>\n#include <wincrypt.h>\n#include <wintrust.h>\n#include <stdio.h>\n#include <tchar.h>\n\n#pragma comment(lib, \"crypt32.lib\")\n\n#define ENCODING (X509_ASN_ENCODING | PKCS_7_ASN_ENCODING)\n\ntypedef struct {\n    LPWSTR lpszProgramName;\n    LPWSTR lpszPublisherLink;\n    LPWSTR lpszMoreInfoLink;\n} SPROG_PUBLISHERINFO, *PSPROG_PUBLISHERINFO;\n\nBOOL GetProgAndPublisherInfo(PCMSG_SIGNER_INFO pSignerInfo,\n    PSPROG_PUBLISHERINFO Info);\nBOOL GetDateOfTimeStamp(PCMSG_SIGNER_INFO pSignerInfo, SYSTEMTIME *st);\nBOOL PrintCertificateInfo(PCCERT_CONTEXT pCertContext);\nBOOL GetTimeStampSignerInfo(PCMSG_SIGNER_INFO pSignerInfo,\n    PCMSG_SIGNER_INFO *pCounterSignerInfo);\n\nBOOL VerifyEmbeddedSignature(LPCWSTR pwszSourceFile);\n\nint __cdecl _tmain(int argc, TCHAR *argv[])\n{\n    WCHAR szFileName[MAX_PATH];\n    HCERTSTORE hStore = NULL;\n    HCRYPTMSG hMsg = NULL;\n    PCCERT_CONTEXT pCertContext = NULL;\n    BOOL fResult;\n    DWORD dwEncoding, dwContentType, dwFormatType;\n    PCMSG_SIGNER_INFO pSignerInfo = NULL;\n    PCMSG_SIGNER_INFO pCounterSignerInfo = NULL;\n    DWORD dwSignerInfo;\n    CERT_INFO CertInfo;\n    SPROG_PUBLISHERINFO ProgPubInfo;\n    SYSTEMTIME st;\n\n    ZeroMemory(&ProgPubInfo, sizeof(ProgPubInfo));\n    __try\n    {\n        if (argc != 2)\n        {\n            _tprintf(_T(\"Usage: SignedFileInfo <filename>\\n\"));\n            return 0;\n        }\n\n#ifdef UNICODE\n        lstrcpynW(szFileName, argv[1], MAX_PATH);\n#else\n        if (mbstowcs(szFileName, argv[1], MAX_PATH) == -1)\n        {\n            printf(\"Unable to convert to unicode.\\n\");\n            __leave;\n        }\n#endif\n\n        // Get message handle and store handle from the signed file.\n        fResult = CryptQueryObject(CERT_QUERY_OBJECT_FILE,\n            szFileName,\n            CERT_QUERY_CONTENT_FLAG_PKCS7_SIGNED_EMBED,\n            CERT_QUERY_FORMAT_FLAG_BINARY,\n            0,\n            &dwEncoding,\n            &dwContentType,\n            &dwFormatType,\n            &hStore,\n            &hMsg,\n            NULL);\n        if (!fResult)\n        {\n            _tprintf(_T(\"CryptQueryObject failed with %x\\n\"), GetLastError());\n            __leave;\n        }\n\n        // Get signer information size.\n        fResult = CryptMsgGetParam(hMsg,\n            CMSG_SIGNER_INFO_PARAM,\n            0,\n            NULL,\n            &dwSignerInfo);\n        if (!fResult)\n        {\n            _tprintf(_T(\"CryptMsgGetParam failed with %x\\n\"), GetLastError());\n            __leave;\n        }\n\n        // Allocate memory for signer information.\n        pSignerInfo = (PCMSG_SIGNER_INFO)LocalAlloc(LPTR, dwSignerInfo);\n        if (!pSignerInfo)\n        {\n            _tprintf(_T(\"Unable to allocate memory for Signer Info.\\n\"));\n            __leave;\n        }\n\n        // Get Signer Information.\n        fResult = CryptMsgGetParam(hMsg,\n            CMSG_SIGNER_INFO_PARAM,\n            0,\n            (PVOID)pSignerInfo,\n            &dwSignerInfo);\n        if (!fResult)\n        {\n            _tprintf(_T(\"CryptMsgGetParam failed with %x\\n\"), GetLastError());\n            __leave;\n        }\n\n        // Get program name and publisher information from\n        // signer info structure.\n        if (GetProgAndPublisherInfo(pSignerInfo, &ProgPubInfo))\n        {\n            if (ProgPubInfo.lpszProgramName != NULL)\n            {\n                wprintf(L\"Program Name : %s\\n\",\n                    ProgPubInfo.lpszProgramName);\n            }\n\n            if (ProgPubInfo.lpszPublisherLink != NULL)\n            {\n                wprintf(L\"Publisher Link : %s\\n\",\n                    ProgPubInfo.lpszPublisherLink);\n            }\n\n            if (ProgPubInfo.lpszMoreInfoLink != NULL)\n            {\n                wprintf(L\"MoreInfo Link : %s\\n\",\n                    ProgPubInfo.lpszMoreInfoLink);\n            }\n        }\n\n        _tprintf(_T(\"\\n\"));\n\n        // Search for the signer certificate in the temporary\n        // certificate store.\n        CertInfo.Issuer = pSignerInfo->Issuer;\n        CertInfo.SerialNumber = pSignerInfo->SerialNumber;\n\n        pCertContext = CertFindCertificateInStore(hStore,\n            ENCODING,\n            0,\n            CERT_FIND_SUBJECT_CERT,\n            (PVOID)&CertInfo,\n            NULL);\n        if (!pCertContext)\n        {\n            _tprintf(_T(\"CertFindCertificateInStore failed with %x\\n\"),\n                GetLastError());\n            __leave;\n        }\n\n        // Print Signer certificate information.\n        _tprintf(_T(\"Signer Certificate:\\n\\n\"));\n        PrintCertificateInfo(pCertContext);\n        _tprintf(_T(\"\\n\"));\n\n        // Get the timestamp certificate signerinfo structure.\n        if (GetTimeStampSignerInfo(pSignerInfo, &pCounterSignerInfo))\n        {\n            // Search for Timestamp certificate in the temporary\n            // certificate store.\n            CertInfo.Issuer = pCounterSignerInfo->Issuer;\n            CertInfo.SerialNumber = pCounterSignerInfo->SerialNumber;\n\n            pCertContext = CertFindCertificateInStore(hStore,\n                ENCODING,\n                0,\n                CERT_FIND_SUBJECT_CERT,\n                (PVOID)&CertInfo,\n                NULL);\n            if (!pCertContext)\n            {\n                _tprintf(_T(\"CertFindCertificateInStore failed with %x\\n\"),\n                    GetLastError());\n                __leave;\n            }\n\n            // Print timestamp certificate information.\n            _tprintf(_T(\"TimeStamp Certificate:\\n\\n\"));\n            PrintCertificateInfo(pCertContext);\n            _tprintf(_T(\"\\n\"));\n\n            // Find Date of timestamp.\n            if (GetDateOfTimeStamp(pCounterSignerInfo, &st))\n            {\n                _tprintf(_T(\"Date of TimeStamp : %02d/%02d/%04d %02d:%02d\\n\"),\n                    st.wMonth,\n                    st.wDay,\n                    st.wYear,\n                    st.wHour,\n                    st.wMinute);\n            }\n            _tprintf(_T(\"\\n\"));\n        }\n\n        VerifyEmbeddedSignature(argv[1]);\n    }\n    __finally\n    {\n        // Clean up.\n        if (ProgPubInfo.lpszProgramName != NULL)\n            LocalFree(ProgPubInfo.lpszProgramName);\n        if (ProgPubInfo.lpszPublisherLink != NULL)\n            LocalFree(ProgPubInfo.lpszPublisherLink);\n        if (ProgPubInfo.lpszMoreInfoLink != NULL)\n            LocalFree(ProgPubInfo.lpszMoreInfoLink);\n\n        if (pSignerInfo != NULL) LocalFree(pSignerInfo);\n        if (pCounterSignerInfo != NULL) LocalFree(pCounterSignerInfo);\n        if (pCertContext != NULL) CertFreeCertificateContext(pCertContext);\n        if (hStore != NULL) CertCloseStore(hStore, 0);\n        if (hMsg != NULL) CryptMsgClose(hMsg);\n    }\n    return 0;\n}\n\nBOOL PrintCertificateInfo(PCCERT_CONTEXT pCertContext)\n{\n    BOOL fReturn = FALSE;\n    LPTSTR szName = NULL;\n    DWORD dwData;\n\n    __try\n    {\n        // Print Serial Number.\n        _tprintf(_T(\"Serial Number: \"));\n        dwData = pCertContext->pCertInfo->SerialNumber.cbData;\n        for (DWORD n = 0; n < dwData; n++)\n        {\n            _tprintf(_T(\"%02x \"),\n                pCertContext->pCertInfo->SerialNumber.pbData[dwData - (n + 1)]);\n        }\n        _tprintf(_T(\"\\n\"));\n\n        // Get Issuer name size.\n        if (!(dwData = CertGetNameString(pCertContext,\n            CERT_NAME_SIMPLE_DISPLAY_TYPE,\n            CERT_NAME_ISSUER_FLAG,\n            NULL,\n            NULL,\n            0)))\n        {\n            _tprintf(_T(\"CertGetNameString failed.\\n\"));\n            __leave;\n        }\n\n        // Allocate memory for Issuer name.\n        szName = (LPTSTR)LocalAlloc(LPTR, dwData * sizeof(TCHAR));\n        if (!szName)\n        {\n            _tprintf(_T(\"Unable to allocate memory for issuer name.\\n\"));\n            __leave;\n        }\n\n        // Get Issuer name.\n        if (!(CertGetNameString(pCertContext,\n            CERT_NAME_SIMPLE_DISPLAY_TYPE,\n            CERT_NAME_ISSUER_FLAG,\n            NULL,\n            szName,\n            dwData)))\n        {\n            _tprintf(_T(\"CertGetNameString failed.\\n\"));\n            __leave;\n        }\n\n        // print Issuer name.\n        _tprintf(_T(\"Issuer Name: %s\\n\"), szName);\n        LocalFree(szName);\n        szName = NULL;\n\n        // Get Subject name size.\n        if (!(dwData = CertGetNameString(pCertContext,\n            CERT_NAME_SIMPLE_DISPLAY_TYPE,\n            0,\n            NULL,\n            NULL,\n            0)))\n        {\n            _tprintf(_T(\"CertGetNameString failed.\\n\"));\n            __leave;\n        }\n\n        // Allocate memory for subject name.\n        szName = (LPTSTR)LocalAlloc(LPTR, dwData * sizeof(TCHAR));\n        if (!szName)\n        {\n            _tprintf(_T(\"Unable to allocate memory for subject name.\\n\"));\n            __leave;\n        }\n\n        // Get subject name.\n        if (!(CertGetNameString(pCertContext,\n            CERT_NAME_SIMPLE_DISPLAY_TYPE,\n            0,\n            NULL,\n            szName,\n            dwData)))\n        {\n            _tprintf(_T(\"CertGetNameString failed.\\n\"));\n            __leave;\n        }\n\n        // Print Subject Name.\n        _tprintf(_T(\"Subject Name: %s\\n\"), szName);\n\n        fReturn = TRUE;\n    }\n    __finally\n    {\n        if (szName != NULL) LocalFree(szName);\n    }\n\n    return fReturn;\n}\n\nLPWSTR AllocateAndCopyWideString(LPCWSTR inputString)\n{\n    LPWSTR outputString = NULL;\n\n    outputString = (LPWSTR)LocalAlloc(LPTR,\n        (wcslen(inputString) + 1) * sizeof(WCHAR));\n    if (outputString != NULL)\n    {\n        lstrcpyW(outputString, inputString);\n    }\n    return outputString;\n}\n\nBOOL GetProgAndPublisherInfo(PCMSG_SIGNER_INFO pSignerInfo,\n    PSPROG_PUBLISHERINFO Info)\n{\n    BOOL fReturn = FALSE;\n    PSPC_SP_OPUS_INFO OpusInfo = NULL;\n    DWORD dwData;\n    BOOL fResult;\n\n    __try\n    {\n        // Loop through authenticated attributes and find\n        // SPC_SP_OPUS_INFO_OBJID OID.\n        for (DWORD n = 0; n < pSignerInfo->AuthAttrs.cAttr; n++)\n        {\n            if (lstrcmpA(SPC_SP_OPUS_INFO_OBJID,\n                pSignerInfo->AuthAttrs.rgAttr[n].pszObjId) == 0)\n            {\n                // Get Size of SPC_SP_OPUS_INFO structure.\n                fResult = CryptDecodeObject(ENCODING,\n                    SPC_SP_OPUS_INFO_OBJID,\n                    pSignerInfo->AuthAttrs.rgAttr[n].rgValue[0].pbData,\n                    pSignerInfo->AuthAttrs.rgAttr[n].rgValue[0].cbData,\n                    0,\n                    NULL,\n                    &dwData);\n                if (!fResult)\n                {\n                    _tprintf(_T(\"CryptDecodeObject failed with %x\\n\"),\n                        GetLastError());\n                    __leave;\n                }\n\n                // Allocate memory for SPC_SP_OPUS_INFO structure.\n                OpusInfo = (PSPC_SP_OPUS_INFO)LocalAlloc(LPTR, dwData);\n                if (!OpusInfo)\n                {\n                    _tprintf(_T(\"Unable to allocate memory for Publisher Info.\\n\"));\n                    __leave;\n                }\n\n                // Decode and get SPC_SP_OPUS_INFO structure.\n                fResult = CryptDecodeObject(ENCODING,\n                    SPC_SP_OPUS_INFO_OBJID,\n                    pSignerInfo->AuthAttrs.rgAttr[n].rgValue[0].pbData,\n                    pSignerInfo->AuthAttrs.rgAttr[n].rgValue[0].cbData,\n                    0,\n                    OpusInfo,\n                    &dwData);\n                if (!fResult)\n                {\n                    _tprintf(_T(\"CryptDecodeObject failed with %x\\n\"),\n                        GetLastError());\n                    __leave;\n                }\n\n                // Fill in Program Name if present.\n                if (OpusInfo->pwszProgramName)\n                {\n                    Info->lpszProgramName =\n                        AllocateAndCopyWideString(OpusInfo->pwszProgramName);\n                }\n                else\n                    Info->lpszProgramName = NULL;\n\n                // Fill in Publisher Information if present.\n                if (OpusInfo->pPublisherInfo)\n                {\n\n                    switch (OpusInfo->pPublisherInfo->dwLinkChoice)\n                    {\n                    case SPC_URL_LINK_CHOICE:\n                        Info->lpszPublisherLink =\n                            AllocateAndCopyWideString(OpusInfo->pPublisherInfo->pwszUrl);\n                        break;\n\n                    case SPC_FILE_LINK_CHOICE:\n                        Info->lpszPublisherLink =\n                            AllocateAndCopyWideString(OpusInfo->pPublisherInfo->pwszFile);\n                        break;\n\n                    default:\n                        Info->lpszPublisherLink = NULL;\n                        break;\n                    }\n                }\n                else\n                {\n                    Info->lpszPublisherLink = NULL;\n                }\n\n                // Fill in More Info if present.\n                if (OpusInfo->pMoreInfo)\n                {\n                    switch (OpusInfo->pMoreInfo->dwLinkChoice)\n                    {\n                    case SPC_URL_LINK_CHOICE:\n                        Info->lpszMoreInfoLink =\n                            AllocateAndCopyWideString(OpusInfo->pMoreInfo->pwszUrl);\n                        break;\n\n                    case SPC_FILE_LINK_CHOICE:\n                        Info->lpszMoreInfoLink =\n                            AllocateAndCopyWideString(OpusInfo->pMoreInfo->pwszFile);\n                        break;\n\n                    default:\n                        Info->lpszMoreInfoLink = NULL;\n                        break;\n                    }\n                }\n                else\n                {\n                    Info->lpszMoreInfoLink = NULL;\n                }\n\n                fReturn = TRUE;\n\n                break; // Break from for loop.\n            } // lstrcmp SPC_SP_OPUS_INFO_OBJID\n        } // for\n    }\n    __finally\n    {\n        if (OpusInfo != NULL) LocalFree(OpusInfo);\n    }\n\n    return fReturn;\n}\n\nBOOL GetDateOfTimeStamp(PCMSG_SIGNER_INFO pSignerInfo, SYSTEMTIME *st)\n{\n    BOOL fResult;\n    FILETIME lft, ft;\n    DWORD dwData;\n    BOOL fReturn = FALSE;\n\n    // Loop through authenticated attributes and find\n    // szOID_RSA_signingTime OID.\n    for (DWORD n = 0; n < pSignerInfo->AuthAttrs.cAttr; n++)\n    {\n        if (lstrcmpA(szOID_RSA_signingTime,\n            pSignerInfo->AuthAttrs.rgAttr[n].pszObjId) == 0)\n        {\n            // Decode and get FILETIME structure.\n            dwData = sizeof(ft);\n            fResult = CryptDecodeObject(ENCODING,\n                szOID_RSA_signingTime,\n                pSignerInfo->AuthAttrs.rgAttr[n].rgValue[0].pbData,\n                pSignerInfo->AuthAttrs.rgAttr[n].rgValue[0].cbData,\n                0,\n                (PVOID)&ft,\n                &dwData);\n            if (!fResult)\n            {\n                _tprintf(_T(\"CryptDecodeObject failed with %x\\n\"),\n                    GetLastError());\n                break;\n            }\n\n            // Convert to local time.\n            FileTimeToLocalFileTime(&ft, &lft);\n            FileTimeToSystemTime(&lft, st);\n\n            fReturn = TRUE;\n\n            break; // Break from for loop.\n\n        } //lstrcmp szOID_RSA_signingTime\n    } // for\n\n    return fReturn;\n}\n\nBOOL GetTimeStampSignerInfo(PCMSG_SIGNER_INFO pSignerInfo, PCMSG_SIGNER_INFO *pCounterSignerInfo)\n{\n    PCCERT_CONTEXT pCertContext = NULL;\n    BOOL fReturn = FALSE;\n    BOOL fResult;\n    DWORD dwSize;\n\n    __try\n    {\n        *pCounterSignerInfo = NULL;\n\n        // Loop through unathenticated attributes for\n        // szOID_RSA_counterSign OID.\n        for (DWORD n = 0; n < pSignerInfo->UnauthAttrs.cAttr; n++)\n        {\n            if (lstrcmpA(pSignerInfo->UnauthAttrs.rgAttr[n].pszObjId,\n                szOID_RSA_counterSign) == 0)\n            {\n                // Get size of CMSG_SIGNER_INFO structure.\n                fResult = CryptDecodeObject(ENCODING,\n                    PKCS7_SIGNER_INFO,\n                    pSignerInfo->UnauthAttrs.rgAttr[n].rgValue[0].pbData,\n                    pSignerInfo->UnauthAttrs.rgAttr[n].rgValue[0].cbData,\n                    0,\n                    NULL,\n                    &dwSize);\n                if (!fResult)\n                {\n                    _tprintf(_T(\"CryptDecodeObject failed with %x\\n\"),\n                        GetLastError());\n                    __leave;\n                }\n\n                // Allocate memory for CMSG_SIGNER_INFO.\n                *pCounterSignerInfo = (PCMSG_SIGNER_INFO)LocalAlloc(LPTR, dwSize);\n                if (!*pCounterSignerInfo)\n                {\n                    _tprintf(_T(\"Unable to allocate memory for timestamp info.\\n\"));\n                    __leave;\n                }\n\n                // Decode and get CMSG_SIGNER_INFO structure\n                // for timestamp certificate.\n                fResult = CryptDecodeObject(ENCODING,\n                    PKCS7_SIGNER_INFO,\n                    pSignerInfo->UnauthAttrs.rgAttr[n].rgValue[0].pbData,\n                    pSignerInfo->UnauthAttrs.rgAttr[n].rgValue[0].cbData,\n                    0,\n                    (PVOID)*pCounterSignerInfo,\n                    &dwSize);\n                if (!fResult)\n                {\n                    _tprintf(_T(\"CryptDecodeObject failed with %x\\n\"),\n                        GetLastError());\n                    __leave;\n                }\n\n                fReturn = TRUE;\n\n                break; // Break from for loop.\n            }\n        }\n    }\n    __finally\n    {\n        // Clean up.\n        if (pCertContext != NULL) CertFreeCertificateContext(pCertContext);\n    }\n\n    return fReturn;\n}\n"
  },
  {
    "path": "tools/FileSignatureInfo/FileSignatureInfo.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"15.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <PropertyGroup Label=\"Globals\">\n    <VCProjectVersion>15.0</VCProjectVersion>\n    <ProjectGuid>{24D8E2A7-CD5A-423B-AEB4-CAA277BD0A0F}</ProjectGuid>\n    <Keyword>Win32Proj</Keyword>\n    <RootNamespace>FileSignatureInfo</RootNamespace>\n  </PropertyGroup>\n  <Import Project=\"..\\..\\build\\winfile.default.props\" />\n  <PropertyGroup Label=\"Configuration\">\n    <ConfigurationType>Application</ConfigurationType>\n    <CharacterSet>Unicode</CharacterSet>\n  </PropertyGroup>\n  <Import Project=\"..\\..\\build\\winfile.props\" />\n  <ItemDefinitionGroup>\n    <ClCompile>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <SDLCheck>true</SDLCheck>\n    </ClCompile>\n    <Link>\n      <SubSystem>Console</SubSystem>\n    </Link>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n    <Link>\n    </Link>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|ARM64'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n    <Link>\n    </Link>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\">\n    <ClCompile>\n      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n    <Link>\n    </Link>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|ARM64'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\">\n    <ClCompile>\n      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemGroup>\n    <ClInclude Include=\"stdafx.h\" />\n    <ClInclude Include=\"targetver.h\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ClCompile Include=\"FileSignatureInfo.cpp\" />\n    <ClCompile Include=\"stdafx.cpp\">\n      <PrecompiledHeader>Create</PrecompiledHeader>\n    </ClCompile>\n    <ClCompile Include=\"VerifySignature.cpp\" />\n  </ItemGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n  <ImportGroup Label=\"ExtensionTargets\">\n  </ImportGroup>\n</Project>\n"
  },
  {
    "path": "tools/FileSignatureInfo/FileSignatureInfo.vcxproj.filters",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup>\n    <Filter Include=\"Source Files\">\n      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>\n      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>\n    </Filter>\n    <Filter Include=\"Header Files\">\n      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>\n      <Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>\n    </Filter>\n    <Filter Include=\"Resource Files\">\n      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>\n      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>\n    </Filter>\n  </ItemGroup>\n  <ItemGroup>\n    <ClInclude Include=\"stdafx.h\">\n      <Filter>Header Files</Filter>\n    </ClInclude>\n    <ClInclude Include=\"targetver.h\">\n      <Filter>Header Files</Filter>\n    </ClInclude>\n  </ItemGroup>\n  <ItemGroup>\n    <ClCompile Include=\"stdafx.cpp\">\n      <Filter>Source Files</Filter>\n    </ClCompile>\n    <ClCompile Include=\"FileSignatureInfo.cpp\">\n      <Filter>Source Files</Filter>\n    </ClCompile>\n    <ClCompile Include=\"VerifySignature.cpp\">\n      <Filter>Source Files</Filter>\n    </ClCompile>\n  </ItemGroup>\n</Project>"
  },
  {
    "path": "tools/FileSignatureInfo/VerifySignature.cpp",
    "content": "/********************************************************************\n\n    VerifySignature.cpp : verifies the embedded signature of a PE file by using the WinVerifyTrust function.\n\n    from https://support.microsoft.com/en-us/help/323809/how-to-get-information-from-authenticode-signed-executables\n\n    Copyright (c) Microsoft Corporation. All rights reserved.\n    Licensed under the MIT License.\n\n********************************************************************/\n\n#define _UNICODE 1\n#define UNICODE 1\n\n#include \"stdafx.h\"\n\n#include <tchar.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <windows.h>\n#include <Softpub.h>\n#include <wincrypt.h>\n#include <wintrust.h>\n\n// Link with the Wintrust.lib file.\n#pragma comment (lib, \"wintrust\")\n\nBOOL VerifyEmbeddedSignature(LPCWSTR pwszSourceFile)\n{\n    LONG lStatus;\n    DWORD dwLastError;\n\n    // Initialize the WINTRUST_FILE_INFO structure.\n\n    WINTRUST_FILE_INFO FileData;\n    memset(&FileData, 0, sizeof(FileData));\n    FileData.cbStruct = sizeof(WINTRUST_FILE_INFO);\n    FileData.pcwszFilePath = pwszSourceFile;\n    FileData.hFile = NULL;\n    FileData.pgKnownSubject = NULL;\n\n    /*\n    WVTPolicyGUID specifies the policy to apply on the file\n    WINTRUST_ACTION_GENERIC_VERIFY_V2 policy checks:\n\n    1) The certificate used to sign the file chains up to a root\n    certificate located in the trusted root certificate store. This\n    implies that the identity of the publisher has been verified by\n    a certification authority.\n\n    2) In cases where user interface is displayed (which this example\n    does not do), WinVerifyTrust will check for whether the\n    end entity certificate is stored in the trusted publisher store,\n    implying that the user trusts content from this publisher.\n\n    3) The end entity certificate has sufficient permission to sign\n    code, as indicated by the presence of a code signing EKU or no\n    EKU.\n    */\n\n    GUID WVTPolicyGUID = WINTRUST_ACTION_GENERIC_VERIFY_V2;\n    WINTRUST_DATA WinTrustData;\n\n    // Initialize the WinVerifyTrust input data structure.\n\n    // Default all fields to 0.\n    memset(&WinTrustData, 0, sizeof(WinTrustData));\n\n    WinTrustData.cbStruct = sizeof(WinTrustData);\n\n    // Use default code signing EKU.\n    WinTrustData.pPolicyCallbackData = NULL;\n\n    // No data to pass to SIP.\n    WinTrustData.pSIPClientData = NULL;\n\n    // Disable WVT UI.\n    WinTrustData.dwUIChoice = WTD_UI_NONE;\n\n    // No revocation checking.\n    WinTrustData.fdwRevocationChecks = WTD_REVOKE_NONE;\n\n    // Verify an embedded signature on a file.\n    WinTrustData.dwUnionChoice = WTD_CHOICE_FILE;\n\n    // Verify action.\n    WinTrustData.dwStateAction = WTD_STATEACTION_VERIFY;\n\n    // Verification sets this value.\n    WinTrustData.hWVTStateData = NULL;\n\n    // Not used.\n    WinTrustData.pwszURLReference = NULL;\n\n    // This is not applicable if there is no UI because it changes \n    // the UI to accommodate running applications instead of \n    // installing applications.\n    WinTrustData.dwUIContext = 0;\n\n    // Set pFile.\n    WinTrustData.pFile = &FileData;\n\n    // WinVerifyTrust verifies signatures as specified by the GUID \n    // and Wintrust_Data.\n    lStatus = WinVerifyTrust(\n        NULL,\n        &WVTPolicyGUID,\n        &WinTrustData);\n\n    switch (lStatus)\n    {\n    case ERROR_SUCCESS:\n        /*\n        Signed file:\n        - Hash that represents the subject is trusted.\n\n        - Trusted publisher without any verification errors.\n\n        - UI was disabled in dwUIChoice. No publisher or\n        time stamp chain errors.\n\n        - UI was enabled in dwUIChoice and the user clicked\n        \"Yes\" when asked to install and run the signed\n        subject.\n        */\n        wprintf_s(L\"The file \\\"%s\\\" is signed and the signature \"\n            L\"was verified.\\n\",\n            pwszSourceFile);\n        break;\n\n    case TRUST_E_NOSIGNATURE:\n        // The file was not signed or had a signature \n        // that was not valid.\n\n        // Get the reason for no signature.\n        dwLastError = GetLastError();\n        if (TRUST_E_NOSIGNATURE == dwLastError ||\n            TRUST_E_SUBJECT_FORM_UNKNOWN == dwLastError ||\n            TRUST_E_PROVIDER_UNKNOWN == dwLastError)\n        {\n            // The file was not signed.\n            wprintf_s(L\"The file \\\"%s\\\" is not signed.\\n\",\n                pwszSourceFile);\n        }\n        else\n        {\n            // The signature was not valid or there was an error \n            // opening the file.\n            wprintf_s(L\"An unknown error occurred trying to \"\n                L\"verify the signature of the \\\"%s\\\" file.\\n\",\n                pwszSourceFile);\n        }\n\n        break;\n\n    case TRUST_E_EXPLICIT_DISTRUST:\n        // The hash that represents the subject or the publisher \n        // is not allowed by the admin or user.\n        wprintf_s(L\"The signature is present, but specifically \"\n            L\"disallowed.\\n\");\n        break;\n\n    case TRUST_E_SUBJECT_NOT_TRUSTED:\n        // The user clicked \"No\" when asked to install and run.\n        wprintf_s(L\"The signature is present, but not \"\n            L\"trusted.\\n\");\n        break;\n\n    case CRYPT_E_SECURITY_SETTINGS:\n        /*\n        The hash that represents the subject or the publisher\n        was not explicitly trusted by the admin and the\n        admin policy has disabled user trust. No signature,\n        publisher or time stamp errors.\n        */\n        wprintf_s(L\"CRYPT_E_SECURITY_SETTINGS - The hash \"\n            L\"representing the subject or the publisher wasn't \"\n            L\"explicitly trusted by the admin and admin policy \"\n            L\"has disabled user trust. No signature, publisher \"\n            L\"or timestamp errors.\\n\");\n        break;\n\n    default:\n        // The UI was disabled in dwUIChoice or the admin policy \n        // has disabled user trust. lStatus contains the \n        // publisher or time stamp chain error.\n        wprintf_s(L\"Error is: 0x%x.\\n\",\n            lStatus);\n        break;\n    }\n\n    // Any hWVTStateData must be released by a call with close.\n    WinTrustData.dwStateAction = WTD_STATEACTION_CLOSE;\n\n    lStatus = WinVerifyTrust(\n        NULL,\n        &WVTPolicyGUID,\n        &WinTrustData);\n\n    return true;\n}\n"
  },
  {
    "path": "tools/FileSignatureInfo/stdafx.cpp",
    "content": "// stdafx.cpp : source file that includes just the standard includes\r\n// FileSignatureInfo.pch will be the pre-compiled header\r\n// stdafx.obj will contain the pre-compiled type information\r\n\r\n#include \"stdafx.h\"\r\n\r\n// TODO: reference any additional headers you need in STDAFX.H\r\n// and not in this file\r\n"
  },
  {
    "path": "tools/FileSignatureInfo/stdafx.h",
    "content": "// stdafx.h : include file for standard system include files,\r\n// or project specific include files that are used frequently, but\r\n// are changed infrequently\r\n//\r\n\r\n#pragma once\r\n\r\n#include \"targetver.h\"\r\n\r\n#include <stdio.h>\r\n#include <tchar.h>\r\n\r\n\r\n\r\n// TODO: reference additional headers your program requires here\r\n"
  },
  {
    "path": "tools/FileSignatureInfo/targetver.h",
    "content": "#pragma once\r\n\r\n// Including SDKDDKVer.h defines the highest available Windows platform.\r\n\r\n// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and\r\n// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.\r\n\r\n#include <SDKDDKVer.h>\r\n"
  },
  {
    "path": "tools/VerifyResources/Resources.h",
    "content": "/**************************************************************************\n\n    Resources.h\n\n    Copyright (c) Microsoft Corporation. All rights reserved.\n    Licensed under the MIT License.\n\n    For more information on resource file formats see\n    https://msdn.microsoft.com/en-us/library/windows/desktop/ms648007(v=vs.85).aspx.\n\n**************************************************************************/\n\n#pragma once\n\n#define MAXLANG 100\n\n// defines the data for one resource type, name combination; contains all languages\ntypedef struct\n{\n    // true -> this resource type as multiple languages (e.g., RT_DIALOG)\n    BOOL bHasMultiLang;\n\n    // true -> first time and we gather the languages\n    BOOL bGatherLang;\n\n    // type and name of resource\n    LPCTSTR lpType;\n    LPCTSTR lpName;\n    LPCTSTR szName;\n\n    // handle to the resource; array indices are parallel to rglcidInUse\n    HGLOBAL rghglobSeen[MAXLANG];\n} PROCRES;\n\n#define MAXDLGITEMS 100\n\n// one dialog item; pointers are into the locked resource memory\ntypedef struct\n{\n    DLGITEMTEMPLATE *pitem;\n    DLGITEMTEMPLATE itemtempl;\n\n    LPCTSTR lpszClass;\n    WORD wClass;       // if predefined\n\n    LPCTSTR lpszTitle;\n    WORD wTitle;       // if resource id\n\n    WORD cbCreate;\n    VOID *pvCreate;\n} DLGITEMDECODE;\n\n// decoded dialog as a whole; pointers are into locked resource memory\ntypedef struct\n{\n    DLGTEMPLATE *pdlg;\n    DLGTEMPLATE dlgtempl;   // used only for extended dialogs\n\n    LPCTSTR lpszMenu;   // if string\n    WORD wMenu;        // if resoure id\n\n    LPCTSTR lpszClass;\n    WORD wClass;       // if predefined\n\n    LPCTSTR lpszTitle;\n\n    // if DS_SETFONT\n    WORD wFont;        // size in points\n    LPCTSTR lpszFont;\n\n    // count of items is in pdlg->cdit\n    DLGITEMDECODE rgitems[MAXDLGITEMS];\n} DLGDECODE;\n\n#define MAXMENUITEMS 100\n\n#define MFR_POPUP 0x10\n#define MFR_END 0x80\n\n// used for both normal and popup items\ntypedef struct\n{\n    WORD flags;\n    WORD id;\n    LPCTSTR lpszMenu;\n} MENUITEM;\n\n// decoded menu; pointers are into locked resource memory\ntypedef struct\n{\n    WORD wVersion;\n    WORD offset;\n    WORD flags;\n    LPCTSTR lpszTitle;\n\n    int cItem;\n    MENUITEM rgitem[MAXMENUITEMS];\n} MENUDECODE;\n"
  },
  {
    "path": "tools/VerifyResources/VerifyResources.cpp",
    "content": "/**************************************************************************\n\n    VerifyResources.h\n\n    Verify the consistency of resources so that dialogs, menus and strings\n    all show up equally in all languages available in the module.\n\n    Copyright (c) Microsoft Corporation. All rights reserved.\n    Licensed under the MIT License.\n\n**************************************************************************/\n\n#include \"stdafx.h\"\n#include <Windows.h>\n\n#include \"Resources.h\"\n\n#define COUNTOF(x) (sizeof(x)/sizeof(*x))\n#define DWORD_ALIGN(x) (((x) + sizeof(DWORD) - 1) & ~(sizeof(DWORD) - 1))\n\nBOOL CALLBACK ProcessTypesInMod(HMODULE hMod, LPWSTR lpType, LONG_PTR lParam);\nBOOL CALLBACK ProcessNamesInMod(HMODULE hMod, LPCTSTR lpszType, LPTSTR lpszName, LONG_PTR lParam);\nBOOL CALLBACK ProcessLangInMod(HMODULE hMod, LPCTSTR lpszType, LPCTSTR lpszName, WORD wLang, LONG_PTR lParam);\n\n// tracks the languages we are processing; filled on first RT which has mulitple languages\n#define ILOCALE_ENG 0\nint iLocaleMac = 0;\nLCID rglcidInUse[MAXLANG];\n\nVOID VerifyLangDialogs(PROCRES *pprocres);\nVOID VerifyLangMenus(PROCRES *pprocres);\nVOID VerifyLangStrings(HMODULE hMod, PROCRES *pprocres);\n\nint __cdecl wmain(int argc, wchar_t *argv[])\n{\n    if (argc != 2)\n    {\n        printf(\"Usage: VerifyResources <exe>\\n\");\n        return 1;\n    }\n\n    HMODULE hMod = LoadLibraryEx(argv[1], NULL, LOAD_LIBRARY_AS_DATAFILE);\n    if (hMod == NULL)\n    {\n        printf(\"Error: can't load %ls; error %d\\n\", argv[0], GetLastError());\n        return 1;\n    }\n\n    // en-US always \"in use\" and always the first one\n    rglcidInUse[ILOCALE_ENG] = (LCID)MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US);\n    iLocaleMac++;\n\n    EnumResourceTypes(hMod, ProcessTypesInMod, 0);\n\n    return 0;\n}\n\nLPCTSTR MapRTToString(LPCTSTR lpType)\n{\n    if (IS_INTRESOURCE(lpType))\n    {\n        INT_PTR iType;\n        iType = (int)(INT_PTR)lpType;\n        switch (iType)\n        {\n        case (INT_PTR)RT_CURSOR: return L\"RT_CURSOR\";\n        case (INT_PTR)RT_BITMAP: return L\"RT_BITMAP\";\n        case (INT_PTR)RT_ICON: return L\"RT_ICON\";\n        case (INT_PTR)RT_MENU: return L\"RT_MENU\";\n        case (INT_PTR)RT_DIALOG: return L\"RT_DIALOG\";\n        case (INT_PTR)RT_STRING: return L\"RT_STRING\";\n        case (INT_PTR)RT_FONTDIR: return L\"RT_FONTDIR\";\n        case (INT_PTR)RT_FONT: return L\"RT_FONT\";\n        case (INT_PTR)RT_ACCELERATOR: return L\"RT_ACCELERATOR\";\n        case (INT_PTR)RT_RCDATA: return L\"RT_RCDATA\";\n        case (INT_PTR)RT_MESSAGETABLE: return L\"RT_MESSAGETABLE\";\n        case (INT_PTR)RT_MANIFEST: return L\"RT_MANIFEST\";\n        case (INT_PTR)RT_VERSION: return L\"RT_VERSION\";\n        case (INT_PTR)RT_GROUP_CURSOR: return L\"RT_GROUP_CURSOR\";\n        case (INT_PTR)RT_GROUP_ICON: return L\"RT_GROUP_ICON\";\n\n        default: return L\"RT_Unknown\";\n        }\n    }\n    else\n    {\n        return lpType;\n    }\n}\n\nBOOL CALLBACK ProcessTypesInMod(HMODULE hMod, LPWSTR lpType, LONG_PTR lParam)\n{\n    printf(\"%ls\\n\", MapRTToString(lpType));\n\n    return EnumResourceNames(hMod, lpType, ProcessNamesInMod, 0);\n}\n\nBOOL CALLBACK ProcessNamesInMod(HMODULE hMod, LPCTSTR lpszType, LPTSTR lpszName, LONG_PTR lParam)\n{\n    wchar_t szName[100];\n    PROCRES procres;\n\n    if (IS_INTRESOURCE(lpszName))\n    {\n        wsprintf(szName, L\"%d\", (int)(INT_PTR)lpszName);\n    }\n    else\n    {\n        wcscpy_s(szName, COUNTOF(szName), lpszName);\n    }\n\n    ZeroMemory(&procres, sizeof(procres));\n    procres.bHasMultiLang = lpszType == RT_DIALOG || lpszType == RT_MENU || lpszType == RT_STRING;\n    procres.bGatherLang = iLocaleMac == 1 && procres.bHasMultiLang;\n    procres.lpType = lpszType;\n    procres.lpName = lpszName;\n    procres.szName = szName;\n\n    BOOL bRet = EnumResourceLanguages(hMod, lpszType, lpszName, ProcessLangInMod, (LPARAM)&procres);\n\n    if (procres.bHasMultiLang)\n    {\n        // check that all languages were found\n        for (int iloc = 0; iloc < iLocaleMac; iloc++)\n        {\n            if (procres.rghglobSeen[iloc] == NULL)\n            {\n                wchar_t szLocale[25];\n\n                LCIDToLocaleName(rglcidInUse[iloc], szLocale, COUNTOF(szLocale), 0);\n\n                printf(\"Error: missing language %ls for resource type %ls, name %ls\\n\", szLocale, MapRTToString(lpszType), szName);\n            }\n        }\n    }\n    else\n    {\n        if (procres.rghglobSeen[ILOCALE_ENG] == NULL)\n        {\n            printf(\"Error: missing language en-US for resource type %ls, name %ls\\n\", MapRTToString(lpszType), szName);\n        }\n\n        // extra language entries are caught below when scanning with !bGatherLang\n    }\n    \n    // compare all version of resource\n    if (procres.bHasMultiLang)\n    {\n        if (lpszType == RT_DIALOG)\n        {\n            VerifyLangDialogs(&procres);\n        }\n        else if (lpszType == RT_MENU )\n        {\n            VerifyLangMenus(&procres);\n        }\n        else /* lpszType == RT_STRING */\n        {\n            // this is called once per block of strings (16 max per block)\n            VerifyLangStrings(hMod, &procres);\n        }\n    }\n\n    return bRet;\n}\n\nBOOL CALLBACK ProcessLangInMod(HMODULE hMod, LPCTSTR lpszType, LPCTSTR lpszName, WORD wLang, LONG_PTR lParam)\n{\n    PROCRES *pprocres = (PROCRES *)lParam;\n\n    // check that language is in global list and get that index\n    int ilocale;\n    for (ilocale = 0; ilocale < iLocaleMac; ilocale++)\n    {\n        if (rglcidInUse[ilocale] == (LCID)wLang)\n            break;\n    }\n\n    if (ilocale == iLocaleMac)\n    {\n        if (!pprocres->bGatherLang)\n        {\n            wchar_t szLocale[25];\n\n            LCIDToLocaleName((LCID)wLang, szLocale, COUNTOF(szLocale), 0);\n            printf(\"Error: extra language %ls for resource type %ls, name %ls\\n\", szLocale, MapRTToString(pprocres->lpType), pprocres->szName);\n            return TRUE;\n        }\n\n        // adding languages to global list\n        ilocale = iLocaleMac;\n        rglcidInUse[iLocaleMac++] = (LCID)wLang;\n    }\n\n    pprocres->rghglobSeen[ilocale] = LoadResource(hMod, FindResourceEx(hMod, lpszType, lpszName, wLang));\n\n    return TRUE;\n}\n\nVOID DecodeDlgItem(WORD **ppwT, BOOL bExtended, DLGITEMDECODE *pdecitem)\n{\n    WORD *pwT = *ppwT;\n\n    if (bExtended)\n    {\n        // after the helpID, the fields match DLGITEMTEMPLATE except\n        // that the style and extended style fields are reversed and\n        // that the id field is a DWORD here; WORD normally.\n\n        pwT += 2;       // skip helpID\n\n        DLGITEMTEMPLATE *pitemT = (DLGITEMTEMPLATE *)pwT;\n\n        pdecitem->itemtempl.style = pitemT->dwExtendedStyle;\n        pdecitem->itemtempl.dwExtendedStyle = pitemT->style;\n        pdecitem->itemtempl.x = pitemT->x;\n        pdecitem->itemtempl.y = pitemT->y;\n        pdecitem->itemtempl.cx = pitemT->cy;\n        pdecitem->itemtempl.cy = pitemT->cy;\n\n        pdecitem->itemtempl.id = pitemT->id;    // reads lower word of id\n\n        pwT++;      // skip upper word of id field; kind of a kludge\n\n        pdecitem->pitem = &pdecitem->itemtempl;\n    }\n    else\n    {\n        pdecitem->pitem = (DLGITEMTEMPLATE *)pwT;\n    }\n\n    pwT = (WORD *)((char *)pwT + sizeof(DLGITEMTEMPLATE));\n\n    // 0xffff means we have a integer class identitifer; otherwise a string;\n    // all other cases like this are the same.\n    if (*pwT == 0xffff)\n    {\n        pwT++;\n        pdecitem->lpszClass = NULL;\n        pdecitem->wClass = *pwT;\n        pwT++;\n    }\n    else\n    {\n        pdecitem->lpszClass = (LPCTSTR)pwT;\n        pwT += wcslen(pdecitem->lpszClass) + 1;\n    }\n\n    if (*pwT == 0xffff)\n    {\n        pwT++;\n        pdecitem->lpszTitle = NULL;\n        pdecitem->wTitle = *pwT;\n        pwT++;\n    }\n    else\n    {\n        pdecitem->lpszTitle = (LPCTSTR)pwT;\n        pwT += wcslen(pdecitem->lpszTitle) + 1;\n    }\n\n    pdecitem->cbCreate = *pwT;\n\n    // skip creation data\n    if (pdecitem->cbCreate == 0)\n        pwT++;\n    else\n        pwT = (WORD *)((char *)pwT + pdecitem->cbCreate + sizeof(WORD));\n\n    // align on DWORD boundary\n    pwT = (WORD *)DWORD_ALIGN((INT_PTR)pwT);\n\n    *ppwT = pwT;\n}\n\nVOID DecodeDialog(VOID *lpv, DLGDECODE *pdecdlg)\n{\n    BOOL bExtended;\n    WORD *pwT = (WORD *)lpv;\n\n    if (*pwT == 1 && *(pwT + 1) == 0xffff)\n    {\n        // dlgVer == 1 and signature == 0xffff means extended dialog;\n        // after those fields and the helpID field, the fields in memory\n        // match those of the DLGTEMPLATE except that the extended style and style are revsersed.\n\n        pwT += 4; // skip over dlgVer, signature, and helpID\n\n        DLGTEMPLATE *pdlgT = (DLGTEMPLATE *)pwT;\n\n        pdecdlg->dlgtempl.style = pdlgT->dwExtendedStyle;\n        pdecdlg->dlgtempl.dwExtendedStyle = pdlgT->style;\n        pdecdlg->dlgtempl.cdit = pdlgT->cdit;\n        pdecdlg->dlgtempl.x = pdlgT->x;\n        pdecdlg->dlgtempl.y = pdlgT->y;\n        pdecdlg->dlgtempl.cx = pdlgT->cy;\n        pdecdlg->dlgtempl.cy = pdlgT->cy;\n\n        pdecdlg->pdlg = &pdecdlg->dlgtempl;\n\n        bExtended = TRUE;\n    }\n    else\n    {\n        pdecdlg->pdlg = (DLGTEMPLATE *)lpv;\n\n        bExtended = FALSE;\n    }\n\n    // in both cases, continue after the DLGTEMPLATE\n    pwT = (WORD *)((char *)pwT + sizeof(DLGTEMPLATE));\n\n    // 0xffff means we have a integer class identitifer; otherwise a string;\n    // all other cases like this are the same.\n    if (*pwT == 0xffff)\n    {\n        pwT++;\n        pdecdlg->lpszMenu = NULL;\n        pdecdlg->wMenu = *pwT;\n        pwT++;\n    }\n    else\n    {\n        pdecdlg->lpszMenu = (LPCTSTR)pwT;\n        pwT += wcslen(pdecdlg->lpszMenu) + 1;\n    }\n\n    if (*pwT == 0xffff)\n    {\n        pwT++;\n        pdecdlg->lpszClass = NULL;\n        pdecdlg->wClass = *pwT;\n        pwT++;\n    }\n    else\n    {\n        pdecdlg->lpszClass = (LPCTSTR)pwT;\n        pwT += wcslen(pdecdlg->lpszClass) + 1;\n    }\n\n    pdecdlg->lpszTitle = (LPCTSTR)pwT;\n    pwT += wcslen(pdecdlg->lpszTitle) + 1;\n\n    if (pdecdlg->pdlg->style & DS_SETFONT)\n    {\n        pdecdlg->wFont = *pwT++;\n\n        if (bExtended)\n        {\n            // if extended, skip weight, italic, charset\n            pwT += 2;\n        }\n\n        pdecdlg->lpszFont = (LPCTSTR)pwT;\n        pwT += wcslen(pdecdlg->lpszFont) + 1;\n    }\n\n    // align on DWORD boundary\n    pwT = (WORD *)DWORD_ALIGN((INT_PTR)pwT);\n\n    if (pdecdlg->pdlg->cdit > MAXDLGITEMS)\n    {\n        printf(\"Error: dialog has more than %d items\\n\", MAXDLGITEMS);\n        pdecdlg->pdlg->cdit = MAXDLGITEMS;\n    }\n\n    for (int i = 0; i < pdecdlg->pdlg->cdit; i++)\n    {\n        DLGITEMDECODE *pitem = &pdecdlg->rgitems[i];\n\n        ZeroMemory(pitem, sizeof(*pitem));\n\n        DecodeDlgItem(&pwT, bExtended, pitem);\n    }\n}\n\nVOID VerifyLangDialogs(PROCRES *pprocres)\n{\n    DLGDECODE rgdecdlg[MAXLANG];       // ilocaleMac in use\n\n    for (int ilocale = 0; ilocale < iLocaleMac; ilocale++)\n    {\n        LPVOID lpv = LockResource(pprocres->rghglobSeen[ilocale]);\n\n        DLGDECODE *pdecdlg = &rgdecdlg[ilocale];\n\n        ZeroMemory(pdecdlg, sizeof(*pdecdlg));\n\n        DecodeDialog(lpv, pdecdlg);\n    }\n\n    // make sure all dialogs have the same number of items, style and same class\n    DLGDECODE *pdecdlgEng = &rgdecdlg[ILOCALE_ENG];\n    int citems = pdecdlgEng->pdlg->cdit;\n    DWORD style = pdecdlgEng->pdlg->style;\n    LPCTSTR lpszClass = pdecdlgEng->lpszClass;\n    if (lpszClass == NULL) lpszClass = L\"EMPTY\";\n    WORD wClass = pdecdlgEng->wClass;\n    for (int ilocale = 1; ilocale < iLocaleMac; ilocale++)\n    {\n        LPCTSTR classCmp = L\"EMPTY\";\n        wchar_t szLocale[25];\n        DLGDECODE *pdecdlgT = &rgdecdlg[ilocale];\n\n        LCIDToLocaleName(rglcidInUse[ilocale], szLocale, COUNTOF(szLocale), 0);\n\n        if (pdecdlgT->pdlg->cdit != citems)\n        {\n            printf(\"Error: dialog %ls for language %ls does not have the required number of items %d\\n\", pdecdlgEng->lpszTitle, szLocale, citems);\n            return;\n        }\n\n        if (pdecdlgT->lpszClass != NULL)\n            classCmp = pdecdlgT->lpszClass;\n\n        if (pdecdlgT->wClass != wClass || wcscmp(classCmp, lpszClass) != 0)\n        {\n            printf(\"Error: dialog %ls for language %ls does not have the required class %d\\n\", pdecdlgEng->lpszTitle, szLocale, wClass);\n            return;\n        }\n\n        // warn on style diff\n        if (pdecdlgT->pdlg->style != style)\n        {\n            printf(\"Warning: dialog %ls for language %ls does have the required style 0x%x\\n\", pdecdlgEng->lpszTitle, szLocale, style);\n        }\n    }\n\n    // make sure all languages have the same items\n    for (int i = 0; i < citems; i++)\n    {\n        int id = pdecdlgEng->rgitems[i].pitem->id;\n        DWORD style = pdecdlgEng->rgitems[i].pitem->style;\n        WORD wClass = pdecdlgEng->rgitems[i].wClass;\n\n        for (int j = 1; j < iLocaleMac; j++)\n        {\n            wchar_t szLocale[25];\n            DLGITEMDECODE *pdecitem = &rgdecdlg[j].rgitems[i];\n\n            LCIDToLocaleName(rglcidInUse[j], szLocale, COUNTOF(szLocale), 0);\n\n            if (pdecitem->pitem->id != id)\n            {\n                printf(\"Error: dialog %ls item #%d for language %ls has unexpected ID, have %d expect %d\\n\", pdecdlgEng->lpszTitle, i, szLocale, id, pdecitem->pitem->id);\n                break;\n            }\n\n            if (pdecitem->wClass != wClass)\n            {\n                printf(\"Error: dialog %ls item id %d for language %ls does have the required class %d\\n\", pdecdlgEng->lpszTitle, id, szLocale, wClass);\n                break;\n            }\n\n            // warn on style diff\n            if (pdecitem->pitem->style != style)\n            {\n                printf(\"Warning: dialog %ls item #%d, id %d for language %ls does have the required style 0x%x\\n\", pdecdlgEng->lpszTitle, i, id, szLocale, style);\n            }\n        }\n    }\n}\n\nVOID DecodeMenu(VOID *lpv, MENUDECODE *pmenu)\n{\n    WORD *pwT = (WORD *)lpv;\n\n    pmenu->wVersion = *pwT++;\n    pmenu->offset = *pwT++;\n    pmenu->flags = *pwT++;\n\n    pmenu->lpszTitle = (LPCTSTR)pwT;\n    pwT += wcslen(pmenu->lpszTitle) + 1;\n\n    pmenu->cItem = 0;\n    MENUITEM *pitem = &pmenu->rgitem[0];\n    while (*pwT != MFR_END)\n    {\n        pitem->flags = *pwT++;\n        if ((pitem->flags & MFR_POPUP) == 0)\n        {\n            pitem->id = *pwT++;\n        }\n        else\n        {\n            pitem->id = 0;\n        }\n\n        pitem->lpszMenu = (LPCTSTR)pwT;\n        pwT += wcslen(pitem->lpszMenu) + 1;\n\n        pmenu->cItem++;\n        pitem++;\n    }\n}\n\nVOID VerifyLangMenus(PROCRES *pprocres)\n{\n    MENUDECODE rgmenu[MAXLANG];       // ilocaleMac in use\n\n    for (int ilocale = 0; ilocale < iLocaleMac; ilocale++)\n    {\n        LPVOID lpv = LockResource(pprocres->rghglobSeen[ilocale]);\n\n        MENUDECODE *pmenu = &rgmenu[ilocale];\n\n        ZeroMemory(pmenu, sizeof(*pmenu));\n\n        DecodeMenu(lpv, pmenu);\n    }\n\n    // make sure all menus have the same number of items\n    int citems = rgmenu[ILOCALE_ENG].cItem;\n    for (int ilocale = 1; ilocale < iLocaleMac; ilocale++)\n    {\n        MENUDECODE *pmenu = &rgmenu[ilocale];\n\n        if (pmenu->cItem != citems)\n        {\n            wchar_t szLocale[25];\n\n            LCIDToLocaleName(rglcidInUse[ilocale], szLocale, COUNTOF(szLocale), 0);\n\n            printf(\"Error: menu %ls for language %ls does not have the required number of items %d\\n\", pmenu->lpszTitle, szLocale, citems);\n            return;\n        }\n    }\n\n    // make sure all languages have the same items\n    for (int i = 0; i < citems; i++)\n    {\n        int id = rgmenu[ILOCALE_ENG].rgitem[i].id;\n\n        for (int j = 1; j < iLocaleMac; j++)\n        {\n            wchar_t szLocale[25];\n            MENUITEM *pitem = &rgmenu[j].rgitem[i];\n\n            if (pitem->id != id)\n            {\n                LCIDToLocaleName(rglcidInUse[j], szLocale, COUNTOF(szLocale), 0);\n                printf(\"Error: menu %ls for language %ls does not have the required item %d\\n\", rgmenu[ILOCALE_ENG].lpszTitle, szLocale, id);\n                break;\n            }\n        }\n    }\n}\n\n// string table blocks are exactly 16 strings;\n// zero length strings are not present and don't have an id;\n// for the given block, we return a bitmask for each non-zero length string.\nWORD GetUsedStringsMask(HGLOBAL hglob)\n{\n    WORD wMask = 0;\n\n    if (hglob)\n    {\n        LPCTSTR psz = (LPCTSTR)LockResource(hglob);\n        for (int i = 0; i < 16; i++)\n        {\n            if ((WORD)*psz != 0)\n                wMask |= (1 << i);\n\n            psz += 1 + (WORD)*psz;\n        }\n    }\n\n    return wMask;\n}\n\n// called once per block; for more information see https://blogs.msdn.microsoft.com/oldnewthing/20040130-00/?p=40813/\nVOID VerifyLangStrings(HMODULE hMod, PROCRES *pprocres)\n{\n    HGLOBAL hglobEng = pprocres->rghglobSeen[ILOCALE_ENG];\n    WORD wUsedEng = GetUsedStringsMask(hglobEng);\n\n    // printf(\"Found eng block %d with mask 0x%x\\n\", iblock, wUsedEng);\n\n    for (int ilocale = 1; ilocale < iLocaleMac; ilocale++)\n    {\n        WORD wUsedT = 0;\n        wchar_t szLocale[25];\n\n        LCIDToLocaleName(rglcidInUse[ilocale], szLocale, COUNTOF(szLocale), 0);\n\n        wUsedT = GetUsedStringsMask(pprocres->rghglobSeen[ilocale]);\n\n        // printf(\"Found %ls block %d with mask 0x%x\\n\", szLocale, iblock, wUsedT);\n\n        if (wUsedT != wUsedEng)\n        {\n            printf(\"Error: string table block usage mismatch for language %ls block %d %ls\\n\", szLocale, (int)(INT_PTR)pprocres->lpName, (LPTSTR)pprocres->rghglobSeen[ILOCALE_ENG]);\n        }\n    }\n}\n"
  },
  {
    "path": "tools/VerifyResources/VerifyResources.vcxproj",
    "content": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"15.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <PropertyGroup Label=\"Globals\">\n    <VCProjectVersion>15.0</VCProjectVersion>\n    <ProjectGuid>{2A455495-7936-4F67-B957-6356E0141DAD}</ProjectGuid>\n    <Keyword>Win32Proj</Keyword>\n    <RootNamespace>VerifyResources</RootNamespace>\n  </PropertyGroup>\n  <Import Project=\"..\\..\\build\\winfile.default.props\" />\n  <PropertyGroup Label=\"Configuration\">\n    <ConfigurationType>Application</ConfigurationType>\n    <CharacterSet>Unicode</CharacterSet>\n  </PropertyGroup>\n  <Import Project=\"..\\..\\build\\winfile.props\" />\n  <ItemDefinitionGroup>\n    <ClCompile>\n      <PrecompiledHeader>Use</PrecompiledHeader>\n      <SDLCheck>true</SDLCheck>\n    </ClCompile>\n    <Link>\n      <SubSystem>Console</SubSystem>\n    </Link>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|Win32'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|ARM64'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Debug|x64'\">\n    <ClCompile>\n      <PreprocessorDefinitions>_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|Win32'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|ARM64'\">\n    <ClCompile>\n      <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemDefinitionGroup Condition=\"'$(Configuration)|$(Platform)'=='Release|x64'\">\n    <ClCompile>\n      <PreprocessorDefinitions>NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\n    </ClCompile>\n  </ItemDefinitionGroup>\n  <ItemGroup>\n    <ClInclude Include=\"Resources.h\" />\n    <ClInclude Include=\"stdafx.h\" />\n    <ClInclude Include=\"targetver.h\" />\n  </ItemGroup>\n  <ItemGroup>\n    <ClCompile Include=\"stdafx.cpp\">\n      <PrecompiledHeader>Create</PrecompiledHeader>\n    </ClCompile>\n    <ClCompile Include=\"VerifyResources.cpp\" />\n  </ItemGroup>\n  <Import Project=\"$(VCTargetsPath)\\Microsoft.Cpp.targets\" />\n  <ImportGroup Label=\"ExtensionTargets\">\n  </ImportGroup>\n</Project>\n"
  },
  {
    "path": "tools/VerifyResources/VerifyResources.vcxproj.filters",
    "content": "﻿<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuild/2003\">\n  <ItemGroup>\n    <Filter Include=\"Source Files\">\n      <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>\n      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>\n    </Filter>\n    <Filter Include=\"Header Files\">\n      <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>\n      <Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>\n    </Filter>\n    <Filter Include=\"Resource Files\">\n      <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>\n      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>\n    </Filter>\n  </ItemGroup>\n  <ItemGroup>\n    <ClInclude Include=\"stdafx.h\">\n      <Filter>Header Files</Filter>\n    </ClInclude>\n    <ClInclude Include=\"targetver.h\">\n      <Filter>Header Files</Filter>\n    </ClInclude>\n    <ClInclude Include=\"Resources.h\">\n      <Filter>Header Files</Filter>\n    </ClInclude>\n  </ItemGroup>\n  <ItemGroup>\n    <ClCompile Include=\"stdafx.cpp\">\n      <Filter>Source Files</Filter>\n    </ClCompile>\n    <ClCompile Include=\"VerifyResources.cpp\">\n      <Filter>Source Files</Filter>\n    </ClCompile>\n  </ItemGroup>\n</Project>"
  },
  {
    "path": "tools/VerifyResources/stdafx.cpp",
    "content": "// stdafx.cpp : source file that includes just the standard includes\n// VerifyResources.pch will be the pre-compiled header\n// stdafx.obj will contain the pre-compiled type information\n\n#include \"stdafx.h\"\n\n// TODO: reference any additional headers you need in STDAFX.H\n// and not in this file\n"
  },
  {
    "path": "tools/VerifyResources/stdafx.h",
    "content": "// stdafx.h : include file for standard system include files,\n// or project specific include files that are used frequently, but\n// are changed infrequently\n//\n\n#pragma once\n\n#include \"targetver.h\"\n\n#include <stdio.h>\n#include <tchar.h>\n\n\n\n// TODO: reference additional headers your program requires here\n"
  },
  {
    "path": "tools/VerifyResources/targetver.h",
    "content": "#pragma once\n\n// Including SDKDDKVer.h defines the highest available Windows platform.\n\n// If you wish to build your application for a previous Windows platform, include WinSDKVer.h and\n// set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.\n\n#include <SDKDDKVer.h>\n"
  }
]