Tun's Random Thoughts
BlogProfilePhoto Gallery
All Projects
NakedExplorer

In Progress

NakedExplorer

View on GitHub
Tech Stack
C

Simple File Browser

A lightweight, portable Windows file browser designed to work on Windows Server Core, Hyper-V Core, and other minimal Windows installations where explorer.exe is not available.

What it does

This application provides a basic file manager interface using only standard Windows APIs that are present even on Server Core editions. It uses the same underlying Windows Shell and Common Controls components that applications like Notepad use for their File > Open dialog.

When you run Notepad on Server Core and click Open, a file browser dialog appears despite Explorer not being installed. That dialog works because it relies on comdlg32.dll, shell32.dll, and the Common Controls library (comctl32.dll) — all of which are present on Server Core. This application uses those exact same system libraries to provide a standalone file browser.

Features

  • Browse folders and view files
  • Navigate up to parent directories
  • Address bar for direct path entry
  • Double-click folders to enter them
  • Double-click files to open them with their default application
  • Displays file name, type, size, and modification date
  • Uses native Windows system icons
  • Single portable executable with zero external dependencies

Building

On Windows with PowerShell

.\build.ps1

On Windows with Command Prompt

build.bat

With MinGW (cross-compile from Linux, or build on Windows)

mingw32-make

or manually:

x86_64-w64-mingw32-gcc -O2 -mwindows -o SimpleFileBrowser.exe main.c -lcomctl32 -lshell32 -luser32 -lgdi32 -lkernel32 -ladvapi32

With Microsoft Visual C++

cl /O2 /W4 /Fe:SimpleFileBrowser.exe main.c /link user32.lib gdi32.lib kernel32.lib shell32.lib comctl32.lib advapi32.lib

Usage

Simply copy SimpleFileBrowser.exe to the target machine and run it. No installation is required.

SimpleFileBrowser.exe

The application starts in the current working directory.

Why this works on Server Core

Traditional Windows Explorer relies on many shell extensions and COM components that are stripped from Server Core. However, the fundamental Win32 API, Common Controls, and Shell API functions remain available. This application is intentionally built using only those core APIs:

  • CreateWindowEx / RegisterClassEx for the UI
  • ListView from comctl32.dll for the file list
  • SHGetFileInfo from shell32.dll for icons and file types
  • FindFirstFile / FindNextFile for directory enumeration
  • ShellExecute for opening files

These are the same APIs that power the classic Windows Open/Save dialogs you see in Notepad, which is why they work reliably even in minimal Windows environments.

Limitations

  • No drag-and-drop support
  • No right-click context menus
  • No network drive browsing beyond what the Shell APIs provide
  • Simple UI by design to maximize compatibility

License

Public domain or use as you see fit.

© 2026 Tun's Random Thoughts. All rights reserved.