(Q) How do I retrieve the Operating System
- installed path (directory name)?
- Temp Directory?
- System Directory?
(A) Paste the following code in a new module and use fReturnSysDir function to return
the System directory (eg. C:\win95\System), fReturnWinDir to return the directory where
the OS is installed (eg. C:\Winnt), or fReturnTempDir to return the Temp directory (eg.
C:\Temp\)
Private Const MAX_PATH As Integer = 255
Private Declare Function apiGetSystemDirectory& Lib "kernel32" _
Alias "GetSystemDirectoryA" _
(ByVal lpBuffer As String, ByVal nSize As Long)
Private Declare Function apiGetWindowsDirectory& Lib "kernel32" _
Alias "GetWindowsDirectoryA" _
(ByVal lpBuffer As String, ByVal nSize As Long)
Private Declare Function apiGetTempDir Lib "kernel32" _
Alias "GetTempPathA" (ByVal nBufferLength As Long, _
ByVal lpBuffer As String) As Long
Function fReturnTempDir()
Dim strTempDir As String
Dim lngx As Long
strTempDir = String$(MAX_PATH, 0)
lngx = apiGetTempDir(MAX_PATH, strTempDir)
If lngx <> 0 Then
fReturnTempDir = Left$(strTempDir, lngx)
Else
fReturnTempDir = ""
End If
End Function
Function fReturnSysDir()
Dim strSysDirName As String
Dim lngx As Long
strSysDirName = String$(MAX_PATH, 0)
lngx = apiGetSystemDirectory(strSysDirName, MAX_PATH)
If lngx <> 0 Then
fReturnSysDir = Left$(strSysDirName, lngx)
Else
fReturnSysDir = ""
End If
End Function
Function fReturnWinDir()
Dim strWinDirName As String
Dim lngx As Long
strWinDirName = String$(MAX_PATH, 0)
lngx = apiGetWindowsDirectory(strWinDirName, MAX_PATH)
If lngx <> 0 Then
fReturnWinDir = Left$(strWinDirName, lngx)
Else
fReturnWinDir = ""
End If
End Function
|