Library tutorials & articles
Getting System Folders Easily via API
Finally...
And finally, here's a easy to insert list of functions you can insert to a module:
Option Explicit
Private Declare Function GetTempPath Lib "kernel32" Alias "GetTempPathA" (ByVal
nBufferLength As Long, ByVal lpBuffer As String) As Long
Private Declare Function GetWindowsDirectoryB Lib "kernel32" Alias "GetWindowsDirectoryA"
(ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Declare Function GetSystemDirectoryB Lib "kernel32" Alias "GetSystemDirectoryA"
(ByVal Path As String, ByVal cbBytes As Long) As Long
Private Const MAX_LENGTH = 512
Public Function GetWindowsSystemDirectory() As String
Dim s As String
Dim c As Long
s = String$(MAX_LENGTH, 0)
c = GetSystemDirectoryB(s, MAX_LENGTH)
If c > 0 Then
If c > Len(s) Then
s = Space$(c + 1)
c = GetSystemDirectoryB(s, MAX_LENGTH)
End If
End If
GetWindowsSystemDirectory = IIf(c > 0, Left$(s, c), "")
End Function
Public Function GetWindowsDirectory() As String
Dim s As String
Dim c As Long
s = String$(MAX_LENGTH, 0)
c = GetWindowsDirectoryB(s, MAX_LENGTH)
If c > 0 Then
If c > Len(s) Then
s = Space$(c + 1)
c = GetWindowsDirectoryB(s, MAX_LENGTH)
End If
End If
GetWindowsDirectory = IIf(c > 0, Left$(s, c), "")
End Function
Public Function GetTempDirectory() As String
Dim s As String
Dim c As Long
s = Space$(MAX_LENGTH)
c = GetTempPath(MAX_LENGTH, s)
If c > 0 Then
If c > Len(s) Then
s = Space$(c + 1)
c = GetTempPath(MAX_LENGTH, s)
End If
End If
GetTempDirectory = IIf(c > 0, Left$(s, c), "")
End Function
Well hopefully you found my tutorial helpful. If my english doesn't make sense
blame it on the booze!
As always if your stuck or want some help just post your messages on the forums
or email me directly thushan.developerfusion@wsoftware.net
and don't forget to include where you came from(as in the article page or subject
or else i'll be lost).
Related articles
Related discussion
-
Key_Press() event for text box
by Aquila (1 replies)
-
Regarding Visual Basic Programme
by manjunathsl2007 (0 replies)
-
how do you hide all in VB6
by CapnJack (1 replies)
-
Problem with Input File
by novavb6 (3 replies)
-
How to produce a txt file with a table??
by novavb6 (1 replies)
When you need the Temp folder, the easy (and clean .Net way) is to use: Path.GetTempPath()
it will still work for change dpaths... i used TweakXP to try it out on a few VMs and it worked fine... as far as other languaegs go... i only get English versions of OS's from MS so i dont know what the effects are, i suppose its teh same but i aint sure... amybe someone else maybe able to tell you.
so if the user changes their dir from say C:\WinNT\System32\ to C:\WindowsNT\System Files\ would i still be able to get the Windows DIR and System DIR?
also what about foreign languages?
hey,
sorry i couldnt reply earlier, I only saw my post now!
thank-you for your kind words!
Hey,
I must say this is EXTREEMLY useful for a nutcase like myself!
I infact had the exact problem you said most people have.
Thanks alot! It really helps!
This thread is for discussions of Getting System Folders Easily via API.