by syntax. (6 Submissions)
Category: Windows API Call/Explanation
Compatability: VB Script
Difficulty: Beginner
Date Added: Wed 3rd February 2021
Rating: (2 Votes)
Functions to get the Windows Directory, System Directory, Temp Directory, and User Directory.
API DeclarationsPublic Declare Function ExpandEnvironmentStrings Lib "kernel32" Alias "ExpandEnvironmentStringsA" (ByVal lpSrc As String, ByVal lpDst As String, ByVal nSize As Long) As Long
Public Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Public Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
'Get the windows directory
Public Function sWindowsDirectory() as String
Dim sOut As String
sOut = Space(260)
GetWindowsDirectory sOut, 260
sOut = Left(sOut, InStr(sOut, Chr(0)) - 1)
sWindowsDirectory = sOut
End Function
'Get the system directory
Public Function sSystemDirectory() as String
Dim sOut As String
sOut = Space(260)
GetSystemDirectory sOut, 260
sOut = Left(sOut, InStr(sOut, Chr(0)) - 1)
sSystemDirectory = sOut
End Function
'Get the temp directory
Public Function sTempDirectory() as String
Dim sOut As String
sOut = Space(260)
ExpandEnvironmentStrings "%TEMP%", sOut, 260
sOut = Left(sOut, InStr(sOut, Chr(0)) - 1)
sTempDirectory = sOut
End Function
'Get the user directory
Public Function sUserDirectory() as String
Dim sOut As String
sOut = Space(260)
ExpandEnvironmentStrings "%USERPROFILE%", sOut, 260
sOut = Left(sOut, InStr(sOut, Chr(0)) - 1)
sUserDirectory = sOut
End Function