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, поддержка контекстных меню в обеих панелях и т. д.
В доработанной версии сохранились и полезные функции старого Диспетчера файлов, такие как «Копирование дискеты».