|
권윤진 님이 쓰신 글 :
: zoro 님이 쓰신 글 :
: : 권윤진 님이 쓰신 글 :
: : : 디스크 사이즈를 알아내고 싶습니다..
: : : 헬푸를 디져보구..
: : : 임프님이 예전에 올린 소스로 해봐도..
: : : 엉뚱한 값 2,147,155,968 이라는 값이 계속 나오네여..
: : : 어떻게 하는지 아시는분 부탁해여..
: :
: : 안녕하세요~~
: : 그게 API함수중에 GetDiskSpaceFree를 사용하셨나보쪄..
: : 그함수 친구쓰시면 되는디~~
: : GetDiskSpaceFreeEx를 쓰셔요..
: :
: : 그럼 즐거운 하루되십시요~~
:
: zoro님..
: 먼저 감사하구여..
: 궁금증이 아직 다 풀리지 않아서리..
: GetDiskSpaceFreeEx를 쓰려면여..KERNEL32.DLL를 로드 한 후에 해야한다고.. 헬푸를 보니 나와있더군여.. KERNEL32.DLL로드 하는 방법좀 알주세여...
: 간단하게 코드로좀 부탁합니다..
: 꾸벅..
:
여기요~~
전에 쓰던건데 해보셔요~~ 글구요 Kenrnel32.dll은 로드 할 필요없어요..
왜냐면... 빌더가 벌써 다해 놓은것 같아요???? 어쨌든 보통api함수는
그냥 쓰면 되요...
void __fastcall TFileManagerForm::GetDiskInfor()
{
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)));
}
참고하시고요
즐거운 하루 되십시요~~
|