How to Launch a Program Before the Shell at Logon

ID: Q142905


The information in this article applies to:
  • Microsoft Windows NT Server version 4.0
  • Microsoft Windows NT Workstation version 4.0
  • Microsoft Windows 2000 Professional
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server


SUMMARY

This article explains how to avoid interaction between a program and the standard shell by running the program before the shell starts.


MORE INFORMATION

When you log on, the registry key


HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

describes the actions made by WinLogon.

The Userinit value describes the program launched by WinLogon.


   Userinit:      REG_SZ
   Default value: USERINIT,NDDEAGNT.EXE 


The first entry (USERINIT) is responsible for executing the shell program. To start your program before the shell, you may replace this entry with your own program. If you do so, your application is responsible for launching the shell (Explorer.exe in Windows NT 4.0).

Explorer.exe is the standard shell in Windows NT 4.0. It can operate in two modes:
  • Browser mode (similar to File Manager)


  • Shell mode (to manage the desktop, taskbar, and Start button)


When you launch Explorer.exe, the following conditions are checked by Explorer.exe to work in shell mode:
  1. No instances of Explorer.exe are running


  2. It is the standard shell for the system (see shell registry value under


WinLogon key)

If you launch Explorer.exe from your own "userinit" initialization program, be sure that the shell value always references Explorer.exe, otherwise Explorer.exe will operate in browser mode instead of shell mode.

Additional query words: prodnt

Keywords : kbui NTSrvWkst ntui
Version : WINDOWS:2000; winnt:4.0
Platform : WINDOWS winnt
Issue type :


Last Reviewed: January 25, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.