게임강의

[비베] GetFileSize API 사용하기

본문


GetFileSize API는 말그대로



파일 사이즈를 바이트로 가져와줘요.




     
 

Private Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long


 
     


 hFile : File 핸들을 가져와야해요. ( 파일주소쓰지. )



lpFileSizeHigh : Double-word 가 필요치 않을때는 0을 넘겨주면 되요. 



 



말로 설명하면 모릅니다. 그냥 예제보죠.



 



 



Private Declare Function GetFileSize Lib "kernel32" (ByVal hFile As Long, lpFileSizeHigh As Long) As Long



Private Declare Function CreateFile Lib "kernel32" Alias "CreateFileA" (ByVal lpFileName As String, ByVal dwDesiredAccess As Long, ByVal dwShareMode As Long, lpSecurityAttributes As Any, ByVal dwCreationDisposition As Long, ByVal dwFlagsAndAttributes As Long, ByVal hTemplateFile As Long) As Long



 



Private Const GENERIC_WRITE = &H40000000



Private Const FILE_SHARE_WRITE = &H2



Private Const FILE_SHARE_READ = &H1



Private Const FILE_ATTRIBUTE_NORMAL = &H80



Private Const OPEN_EXISTING = 3



 



'선언부



 



Function FileLen( Path As String ) 



Dim hFile As Long



 



 



hFile = CreateFile(Path, GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0&, 0&)



FileLen = GetFileSize(hFile, 0)



 



End Function



 



' 여긴 CreateFile 공부하는 곳이 아니니 그냥 파일의 핸들을 가져온다고 생각합시다... 분명 강좌하나가 있을꺼예요.



 



보시면 알겠지만 CreateFile 로 직접 불러들여 hFile을 작성합니다. 파일 핸들.



그걸 그냥 계산 하면 되겠습니다.



 



 



뭐 여기선 GetFileSize가 중심이지만



 



hFile = CreateFile(Path, GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0&, OPEN_EXISTING, 0&, 0&)


댓글목록 0

등록된 댓글이 없습니다.

최근글


새댓글


  • 등록자 벼배릅 등록일 04.14
알림 0