News

'90s-Era File Manager Open Sourced, Available as Visual Studio Solution

Microsoft's Craig Wittenberg has revived the original File Manager that first came with Windows 3.0 in 1990, getting it to run on Windows 10 and making it available as a Visual Studio solution.

"The Windows File Manager lives again and runs on all currently supported version of Windows, including Windows 10," said Wittenberg in his GitHub WinFile project, which includes two primary source code version in the master branch:

  1. original_plus tag: refers to the source for WinFile as of Windows NT4 with minimal changes so that it compiles with Visual Studio and runs on current Windows.
  2. current master: contains Wittenberg's personal changes/additions to WinFile.

The project's /src directory is full of C programming language files, header files and a Winfile.sln Visual Studio solution that resulted from tweaking original WinFile source code in order to build with Visual Studio.

While File Manager was introduced with Windows 3.0, Wittenberg said his original_plus source code was copied from the November 2007 Windows NT 4 source tree.

Wittenberg had to tweak that original source code to get it to run on more modern Windows OSes, with changes including converting it to the Visual Studio solution that works on VS 2015 and VS 2017.

Many more tweaks were needed since 2007 -- incorporated in the master branch -- to get File Manager to run on Windows 10.

  1. OLE drag/drop support
  2. control characters (e.g., ctrl+C) map to current short cut (e.g., ctrl+c -> copy) instead of changing drives
  3. cut (ctrl+X) followed by paste (ctrl+V) translates into a file move as one would expect
  4. left and right arrows in the tree view expand and collapse folders like in the Explorer
  5. added context menus in both panes
  6. improved the means by which icons are displayed for files
  7. F12 runs notepad or notepad++ on the selected file
  8. moved the ini file location to %AppData%\Roaming\Microsoft\WinFile
  9. File.Search can include a date which limits the files returned to those after the date provided; the output is also sorted by the date instead of by the name
  10. File.Search includes an option as to whether to include sub-directories
  11. ctrl+K starts a command shell (ConEmu if installed) in the current directory; shfit+ctrl+K starts an elevated command shell (cmd.exe only)
  12. File.Goto (ctrl+G) enables one to type a few words of a path and get a list of directories; selecting one changes to that directory. Only drive c: is indexed.
  13. UI shows reparse points (e.g., Junction points) as such
  14. added simple forward / back navigation (probably needs to be improved)
  15. View command has a new option to sort by date forward (oldest on top); normal date sorting is newest on top

"The changes have been solely determined by my needs and personal use," Wittenberg said. "Some of the changes have limitations that fit the way I use the tool. For example, the path index which supports the new goto command only contains information for the c: drive." He noted he hadn't redesigned or restructured WinFile in any major way.

He also said he would consider bug fixes and minor changes for the master branch, but won't be making any such changes to the original_plus branch. "You are welcome do that on your own," he said.

The entire history of File Manager is available in a Wikipedia entry.

About the Author

David Ramel is the editor of Visual Studio Magazine.

comments powered by Disqus
Upcoming Events

.NET Insight

Sign up for our newsletter.

I agree to this site's Privacy Policy.