Windows File Manager из Windows 3.0

6 апреля 2018 года компания Microsoft выложила на GitHub исходный код оригинальной версии Windows File Manager, который поставлялся в составе операционной системы Windows в 90-е годы, а также доработанную и улучшенную версию Диспетчера файлов. В своё время эта программа стала первым графическим менеджером файлов от Microsoft. Она позволяла копировать, перемещать и удалять файлы, выделяя их мышью. Программа пришла на смену управлению файлами в MS-DOS и стала заменой многочисленным файловым оболочкам вроде Norton Commander, хотя многие пользователи по привычке ещё долгие годы пользовались и до сих пор пользуются NC, FAR и Windows-версией Total Commander.

Теперь любой желающий может скомпилировать исходный код — и запустить старый Windows File Manager в современной операционной системе. Диспетчер файлов из Windows быстро вышел на первую строчку в списке самых популярных репозиториев GitHub за сутки.

Самая первая 16-битная версия Windows File Manager поддерживала только имена файлов в формате 8.3. Поддержки длинных имён файлов не было, как и поддержки пробелов в именах. Если Диспетчеру приходилось отображать длинные файлы, то он показывал первые шесть символов, затем символ тильды "~" и число, обычно единицу. Если папка содержала несколько файлов с одинаковыми первыми шестью символами в названии, то им присваивались цифры 2, 3 и так далее.

Затем программу переписали под 32 бита для Windows NT. Она уже могла отображать длинные имена файлов и поддерживала файловую систему NTFS.

В 1990-1999 годы Диспетчер файлов оставался стандартным компонентом Windows и поставлялся в составе операционной системы. Он до сих пор доступен для скачивания как опциональный менеджер файлов, даже в версии Windows 10, хотя в стандартной поставке его давно заменил Проводник Windows (Windows Explorer).

Последняя версия файла WINFILE.EXE build 4.0.1381.318 поставлялась в составе Windows NT 4.0 Service Pack 6a (SP6a). Последняя 16-битная версия WINFILE.EXE build 4.90.3000 — в составе операционной системы Windows Me.

Как указано в описании на GitHub, представленный исходный код скопирован из ветки Windows NT 4 в ноябре 2007 года. Он содержит некоторые изменения по сравнению с оригинальной версией WinFile.exe. Эти изменения нужны главным образом для того, чтобы программа нормально работала на современных версиях Windows, в том числе на 64-битных версиях и на базе Visual Studio 2015 и 2017.

Код опубликован под лицензией MIT. Мейнтейнером назначен ветеран компании Microsoft Крейг Виттенберг (Craig Wittenberg). Он занимался поддержкой этого кода последние десять лет, после того как скопирова�� его из ветки Windows NT 4.

Отличительная особенность Windows File Manager — поддержка многодокументного интерфейса Multiple Document Interface (MDI). Это такой способ организации графического интерфейса, в котором большинство окон расположены внутри одного общего окна. Этим он и отличается от распростарнённого сейчас однодокументного интерфейса (SDI), где окна располагаются независимо друг от друга.

Скомпилировав и запустив этот артефакт на современной машине, вы оцените потрясающую обратную совместимость программ под Windows, ведь софт 28-летней давности почти без модификаций работает на последней ОС. Если вы не работали на первых версиях Windows, то можете оценить, какими программами приходилось тогда пользоваться. Только учтите, что в начале 90-х и сама Windows 3.0, и этот Диспетчер файлов заметно тормозили на многих персональных компьютерах. Специально для установки Windows 3.0 приходилось докупать несколько мегабайт оперативной памяти, а иногда и апгрейдить процессор, например, с 20 МГц до 40 МГц. Но в награду пользователь получал текстовый редактор Word под Windows с поддержкой множества кириллических шрифтов и форматированием WYSIWYG — вместо убогого однообразия «Лексикона» или Word под DOS.

В репозитории Microsoft на самом деле находится две версии Windows File Manager: оригинальная версия и слегка расширенная, с дополнительным функционалом, который за годы работы внёс Крейг Виттенберг. Это поддержка копирования, вырезания и вставки клавишами Ctrl+C, Ctrl+X и Ctrl+V, поддержка драг-н-дропа OLE, поддержка контекстных меню в обеих панелях и т. д.

В доработанной версии сохранились и полезные функции старого Диспетчера файлов, такие как «Копирование дискеты».