|
저는 버전 4.0이구요..
제가 확인해봤는데요.
GetDiskFreeSpaceEx에서 약간 문제가있어
::GetDiskFreeSpaceEx로 했더니 아주 잘되요...
글구 님의 에러로 봐서는 ULARGE_INTGER가 선언이 안되있는것 같군요...
버전이 3이라 그런가 무식해서 잘모르겠구요..
정 안되면 헬프에보면 winnt.h에 ULARGE_INTEGER가 있다니까 winnt.h를 include하시던가
아님 아예 정의 해버리죠~~
typedef union _ULARGE_INTEGER {
struct {
DWORD LowPart;
DWORD HighPart;
};
ULONGLONG QuadPart;
} ULARGE_INTEGER;
그래도 안되시면 멜주세요~~ 어설픈 답변에 자멸하고있슴다~~....
즐거운 하루되세요~~
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ULARGE_INTEGER FreeBytesAvailableToCaller;
ULARGE_INTEGER TotalNumberOfBytes;
ULARGE_INTEGER TotalNumberOfFreeBytes;
int FreeSpace, TotalSpace;
char *szDrive = "C:\\"; // C Drive를 알고싶으신가요~~?
::GetDiskFreeSpaceEx(szDrive, &FreeBytesAvailableToCaller, &TotalNumberOfBytes,
&TotalNumberOfFreeBytes);
FreeSpace = (FreeBytesAvailableToCaller.HighPart << 12)
| (FreeBytesAvailableToCaller.LowPart >> 20);
TotalSpace = (TotalNumberOfBytes.HighPart << 12)
| (TotalNumberOfBytes.LowPart >> 20);
Label1->Caption
= Format("Current Free Spaces : %d M Bytes, Total Disk Spaces : %d M Bytes",
OPENARRAY (TVarRec,(FreeSpace, TotalSpace)));
}
|