728x90
GetFileAttributes함수는 지정한 File이나 Folder의 속성을 확인하는 함수입니다.
Declare Function GetFileAttributes Lib "kernel32" Alias "GetFileAttributesA" (ByVal lpFileName As String) As Integer
- VB.NET 선언
[DllImport("kernel32")]
public static extern int GetFileAttributes(string lpFileName);
- C# 선언
함수의 인수로는 속성을 확인할 File이나 Folder를 지정해 주기만 하면 됩니다. 예를 들어 'C:\WINDOWS'의 'abc.txt' File을 확인해 보려면 함수를 다음과 같이 선언합니다.
GetFileAttributes("C:\WINDOWS\abc.txt")
- VB.NET 호출
GetFileAttributes("C:\\WINDOWS\\abc.txt")
- C# 호출
함수가 실행되고 나면 특정값을 반환하게 되는데 이 값을 통해 속성을 구분해야 합니다. 각 값에 따른 속성은 아래 표를 참고하여 주십시오.
상수 | 값 | 설명 |
FILE_ATTRIBUTE_ARCHIVE | 20 | 일반문서 File |
FILE_ATTRIBUTE_COMPRESSED | 800 | 압축File |
FILE_ATTRIBUTE_DIRECTORY | 10 | Folder |
FILE_ATTRIBUTE_ENCRYPTED | 4000 | 암호화된 File |
FILE_ATTRIBUTE_HIDDEN | 2 | 숨김 File |
FILE_ATTRIBUTE_NORMAL | 80 | 일반 File |
FILE_ATTRIBUTE_OFFLINE | 1000 | Offline File |
FILE_ATTRIBUTE_READONLY | 1 | 읽기전용 File |
FILE_ATTRIBUTE_REPARSE_POINT | 400 | 조합된 재구문분석 위치 File |
FILE_ATTRIBUTE_SPARSE_FILE | 200 | (설명1) 참고 |
FILE_ATTRIBUTE_SYSTEM | 4 | System File |
FILE_ATTRIBUTE_TEMPORARY | 100 | 임시 File |
값은 16진수 기준으로 VB.NET에서는 &H, C#에서는 0x로 구분합니다.
(설명1)
실제 File크기와 Disk할당영역이 다른 File로서 File용량은 크다하더라도 실제적인 Disk 할당 영역은 그보다 훨씬 작은 File을 의미합니다.(Torrent로 File을 내려받거나 파일을 복사할때 등등 이런 현상을 자주 볼 수 있습니다.)
확인하고자 하는 File이 일반 TEXT문서 File이라면 GetFileAttributes함수는 32(16진수 20)값을 반환하며 만일 이 TEXT File이 숨김으로 설정되어 있다면 결과값으로 34(32(16진수 20) + 2(16진수 2))를 반환합니다.
728x90
'.NET > Windows API for .NET' 카테고리의 다른 글
CreateSolidBrush - Solid형 Line을 그리는 Brush생성 (0) | 2019.08.05 |
---|---|
GetTickCount - Windows가동 시간알아내기 (0) | 2019.08.05 |
DrawFocusRect - 선택모양의 점선사각형 그리기 (0) | 2019.08.05 |
SetVolumeLabel - Volume의 이름설정 (0) | 2019.08.05 |
DestoryWindow - Window화면 닫기 (0) | 2019.08.05 |