Windows 95 uses an extra step when searching for 16-bit DLLs. A newregistry key, “Known16DLLs,” in Windows 95 under \HKEY_LOCAL_MACHINESystemCurrentControlSetCon-trolSessionManagerfunctions in a similar way to KnownDLLs in Windows NT. Known16DLLs contains numerous subkeys, named after 16-bit DLLs, whosevalue is the name plus the DLL extension. If a 16-bit DLL is in this list,Windows 95 will first check the WindowsSystem directory for the 16-bitDLL and load it if it finds it. If the DLL is not in the WindowsSystemdirectory, a normal search (CurDir, windows, system, path) begins. Windows 95 puts a subkey for a 16-bit DLL in Known16DLLs the first timeit loads it from WindowsSystem. But it won’t remove the subkey shouldthe 16-bit DLL be no longer found in the WindowsSystem directory. To summarize, when a 16-bit DLL is loaded from the WindowsSystemdirectory it goes into this list. Whenever an attempt is made to load itin the future, Win95 will see it in the list and will search WindowsSystemdirectory first. The only way to ensure the expected search for this 16-bitDLL is to remove the relevant subkey of Known16DLLs if it exists. Special thanks to Oliver Hodgkins, Microsoft Customer Support, England.