hidden & system files.
BlitzMax Forums/BlitzMax Programming/hidden & system files.
| ||
| Is there any way to tell if a file is hidden and/or system file? file mode does not show any reference to that. |
| ||
| You should be able to use the GetAttr function from the windows system: http://msdn.microsoft.com/en-us/library/aa364944.aspx [edit] wrong link first time around. |
| ||
| thanks,zawran now how to wrap this in bmax? anybody? |
| ||
This should work:SuperStrict
?Win32
Import Pub.Win32 'Import WinAPI Libraries and Functions
?
Print IsFileHidden("C:\Temp\icon.ico")
Function IsFileHidden%( pFilepath$ )
?Win32
If (GetFileAttributesW( pFilePath) & FILE_ATTRIBUTE_HIDDEN) Then Return True
?
EndFunction
Function IsSystemFile%( pFilepath$ )
?Win32
If (GetFileAttributesW( pFilePath) & FILE_ATTRIBUTE_SYSTEM) Then Return True
?
EndFunctionI should perhaps point out that the function is only available on Windows 2000/XP/Vista PCs and so will not work on Windows 9X/NT. |
| ||
SuperStrict
Extern "WIN32"
Function GetFileAttributes:Int(lpFileName:Byte Ptr)="GetFileAttributesA@4"
EndExtern
Function GetFileAttribs:String(FileName:String)
Local s:String
Local Mode:Int=GetFileAttributes(String.FromCString(FileName))
If Mode & 1 = 1 s:+"R" ' Read only
If Mode & 2 = 2 s:+"H" ' Hidden
If Mode & 4 = 4 s:+"S" ' System
If Mode & 16 = 16 s:+"D" ' Directory
If Mode & 32 = 32 s:+"A" ' Archive
If Mode & 64 = 64 s:+"$" ' device$
If Mode & 256 = 256 s:+"T" ' Temporary
If Mode & 512 = 512 s:+"P" ' Sparse
If Mode & 1024 = 1024 s:+"L" ' Link
If Mode & 2048 = 2048 s:+"C" ' Compressed
If Mode & 4096 = 4096 s:+"O" ' Offline
If Mode & 8192 = 8192 s:+"X" ' not indeXable
If Mode & 16384 = 16384 s:+"E" ' Encrypted
If Mode & 65536 = 65536 s:+"V" ' Virtual
Return s
EndFunction
Print GetFileAttribs("testfile.txt")Note that there are no \ chars in the external function definition, the code tag of this forum is just bugged and creates those. |
| ||
| thanks a lot SebHoll and Lumooja. You guys have been a lot of help. |