C++ C: freier Speicher ?

Hi, ich erstelle gerade ein Tool zum auslesen des System´s unter Windows und brauche etwas hilfe :confused:

Könnte mir mal jemand einen Tip geben, wie ich den vorhandenen freien Speicher von C: auslesen kann und oder wo?

Das meist lese ich aus der Registry aus, das sieht dann ungefähr so aus:

Registry = new TRegistry(KEY_READ);
ts = new TStringList();
Registry->RootKey = HKEY_LOCAL_MACHINE;
Registry->OpenKey(„HARDWARE\DEVICEMAP\Scsi\Scsi Port 0\Scsi Bus 0\Target Id 0\Logical Unit Id 0“ ,false);
Registry->GetValueNames(ts);
int proceed;

try {
String tmp = ts->Strings[0];
if (tmp != NULL)
proceed = 1;
} catch (Exception *ex){
proceed = 0;
}
if (proceed){

i = 2;
for (int j = 0; j Strings[j];
TRegDataType dt = Registry->GetDataType(t);
if (dt == rdString)
s = Registry->ReadString(t);
else if (dt == rdInteger)
s = Registry->ReadInteger(t) + „“;
else s = „“;
} catch ( Exception *e) {
s = „Fehler :frowning:“;
}
Memo1->Text = Memo1->Text + t + " = " + s + „\r\n“;
}
}

Hallo,

Könnte mir mal jemand einen Tip geben, wie ich den vorhandenen
freien Speicher von C: auslesen kann und oder wo?

Wenn du die freie FestplatteSpeicher meinst:
GetDiskFreeSpaceEx()

unsigned __int64 FreeKilo;
ULARGE_INTEGER FreeBytes,TotalNumberOfBytes,TotalNumberOfFreeBytes
BOOL bb;
bb = GetDiskFreeSpaceEx(SystemDrive,&FreeBytes,&TotalNumberOfBytes,
&TotalNumberOfFreeBytes);
FreeKilo = unsigned __int64(FreeBytes. QuadPart) /(1024);

GetDiskFreeSpaceEx()

Man lernt nie aus.
Ich kannte das noch so (Wobei C: hier Drive 3 ist)

#include
int GetDriveSpace (int drive)
{
struct _diskfree_t drv;
_getdiskfree( drive, &drv );
return drv.avail_clusters*drv.sectors_per_cluster*
drv.bytes_per_sector/1024;
}

Gruss Norbert