I'm trying to use GetFileAttributes function of the Kernel32 Dll. Does anyone know how to interpret the unsigned long that is returned inorder to glean the read, write, archive and system attribute settings?
In case, you are not able to access the page, these are the contents.
GetFileAttributes Function
Declare Function GetFileAttributes Lib "kernel32.dll" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Long
Platforms: Win 32s, Win 95/98, Win NT
GetFileAttributes returns the attributes of a file or a directory. Attributes determine such things as read-only status, archive status (most files are), hidden status, etc. If the function fails, it will return 0. If the file or directory cannot be found, it will return -1. Otherwise, the return value will be one or more of the following file attribute flags:
FILE_ATTRIBUTE_ARCHIVE = &H20
An archive file (which most files are).
FILE_ATTRIBUTE_COMPRESSED = &H800
A file residing in a compressed drive or directory.
FILE_ATTRIBUTE_DIRECTORY = &H10
A directory instead of a file.
FILE_ATTRIBUTE_HIDDEN = &H2
A hidden file, not normally visible to the user.
FILE_ATTRIBUTE_NORMAL = &H80
An attribute-less file (cannot be combined with other attributes).
FILE_ATTRIBUTE_READONLY = &H1
A read-only file.
FILE_ATTRIBUTE_SYSTEM = &H4
A system file, used exclusively by the operating system.
lpFileName
The full name of the file or directory to check the attributes of, including the full path.
Example:
' Display the attributes of C:\Files\program.exe
Dim attribs As Long ' receives file attributes
attribs = GetFileAttributes("C:\Files\program.exe" ' read file attributes
If (attribs And FILE_ATTRIBUTES_ARCHIVE) <> 0 Then Debug.Print "Archive"
If (attribs And FILE_ATTRIBUTES_HIDDEN) <> 0 Then Debug.Print "Hidden"
If (attribs And FILE_ATTRIBUTES_READONLY) <> 0 Then Debug.Print "Read-only"
' etc....
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.