Progman.exe is the Windows 3.x style shell that was the standard shell of Windows NT, prior to version 4.0.
You can still use it as the Windows 2000 shell, by implementing the Custom user interface Group Policy at User Configuration\Administrative Templates\System.
If the policy is Not configured, you can set the Shell string Value Name to Progman.exe at HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System.
NOTE: In Windows NT 4.0, you could selectively implement a user based custom shell by using tip 0074.
Another use of Progman.exe is to RUN it from the Start menu to determine the locally logged on user, which is displayed in the title bar using the %domainname%\%username% syntax.
If you wanted to replace the shell for everyone who uses a given computer, use Regedt32 to navigate to
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon. The Shell string value name can be set to the shell you wish to use, Progman.exe. When a user logs on, WinLogon runs Userinit.exe, which runs the logon script, reestablishes network connections, and runs the program that is specified in Shell. You could also run a program before the shell by changing the full path in the Userinit value name string. At the end of your program or batch file, have it run Userinit.exe.