Get the Windows main directories (without any API call)

The usual way to determine the Windows’ main directory is based on the GetWindowsDirectory API function, which requires that you set up a buffer for the result, and then extract the null-terminated result. However, there is a much simpler approach, that works equally well under Windows 95, 98 and NT:

' "windir" can be lower case, upper case or mixed casewindowsDirectory = Environ$("windir")

You can expand on this tip to retrieve the name of the SYSTEM directory, without using any API call. In fact, you have to take into account that the this directory is named SYSTEM under Windows 95/98 and SYSTEM32 under Windows NT (and 2000). If you also notice that the OS environment variable exists only in Windows NT (and 2000) you can determine the System directory with just one line of code:

systemDirectory = Environ$("windir")  & IIf(Len(Environ$("OS")), "SYSTEM32", _    "SYSTEM")

Share the Post:
Share on facebook
Share on twitter
Share on linkedin


Recent Articles: