Microsoft KB Archive/141803

= ACC: How to Find the Windows and System Paths (95/97) =

Article ID: 141803

Article Last Modified on 1/19/2007

-

APPLIES TO


 * Microsoft Access 95 Standard Edition
 * Microsoft Access 97 Standard Edition

-



This article was previously published under Q141803



SUMMARY
Advanced: Requires expert coding, interoperability, and multiuser skills.

This article describes how to create a Visual Basic for Applications module that uses the 32-bit versions of the GetWindowsDirectory and GetSystemDirectory Windows API functions to return the Windows and Windows System directory (folder) paths.

This article assumes that you are familiar with Visual Basic for Applications and with creating Microsoft Access applications using the programming tools provided with Microsoft Access. For more information about Visual Basic for Applications, please refer to your version of the "Building Applications with Microsoft Access" manual.



MORE INFORMATION
The following example demonstrates how to use the 32-bit versions of the GetWindowsDirectory and GetSystemDirectory Windows API functions:   Create a module and type the following in the Declarations section:

NOTE: You may have some Microsoft Windows API functions defined in an existing Microsoft Access library; therefore, your declarations may be duplicates. If you receive a duplicate procedure name error message, remove or comment out the declarations statement in your code. '**********************************      'Declarations section of the module '**********************************      Option Compare Database Option Explicit

Declare Function apiGetWindowsDirectory& Lib "kernel32" Alias _ "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal _         nSize As Long) Declare Function apiGetSystemDirectory Lib "kernel32" Alias _ "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize _         As Long) As Long   Type the following procedures: ' This function returns the path to the Windows directory as a     ' string. Function GetWinDir As String Dim lpbuffer As String * 255 Dim Length as Long Length = apiGetWindowsDirectory(lpbuffer, Len(lpbuffer)) GetWinDir = Left(lpbuffer, Length) End Function

' This function returns the path to the Windows System directory ' as a string. Function GetSysDir As String Dim lpbuffer As String * 255 Dim Length as Long Length = apiGetSystemDirectory(lpbuffer, Len(lpbuffer)) GetSysDir = Left(lpbuffer, Length) End Function  To test the GetWinDir function, type the following line in the Debug window, and then press ENTER.

? GetWinDir

Note that the Windows directory path is returned. To test the GetSysDir function, type the following line in the Debug window, and then press ENTER.

? GetSysDir

Note that the Windows System directory path is returned.

