首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

怎么显示程序所在分区的磁盘信息

2013-12-26 
如何显示程序所在分区的磁盘信息本帖最后由 lianrouwupan 于 2013-12-25 21:41:16 编辑void __fastcall TF

如何显示程序所在分区的磁盘信息
本帖最后由 lianrouwupan 于 2013-12-25 21:41:16 编辑


void __fastcall TForm1::Button8Click(TObject *Sender)
{

    ULARGE_INTEGER FreeSpaceToCall,TotalSpace,FreeSpace;
    ::GetDiskFreeSpaceEx("D:",&FreeSpaceToCall,&TotalSpace,&FreeSpace);
    ShowMessage("程序所在分区总空间(MB):"+AnsiString(TotalSpace.QuadPart/1024/1024)+"\n"+"剩余空间(MB):"+AnsiString(FreeSpace.QuadPart/1024/1024));

}


这段程序应该怎么修改?改成一点击按钮,就能显示程序所在分区的磁盘信息?
ShowMessage里面改成:程序所在分区:XX,总空间:XXX,剩余空间:XXX。


[解决办法]
::GetDiskFreeSpaceEx(String().sprintf(TEXT("%s:"),
        ExtractFileDrive(ParamStr(0))).c_str(),
        &FreeSpaceToCall, &TotalSpace, &FreeSpace);

[解决办法]
ExtractFileDrive(Application->ExeName); 就包含 : 了,不用再 +“:”了
改下

void __fastcall TForm1::Button8Click(TObject *Sender)
{
    ULARGE_INTEGER FreeSpaceToCall,TotalSpace,FreeSpace;
    AnsiString drv = ExtractFileDrive(Application->ExeName);
    ::GetDiskFreeSpaceEx(drv.c_str(),&FreeSpaceToCall,&TotalSpace,&FreeSpace);

   ShowMessage("程序所在分区:" + drv + "\n总空间(MB):"
     + AnsiString(TotalSpace.QuadPart/1024/1024) + "\n"
     +"剩余空间(MB):" + AnsiString(FreeSpace.QuadPart/1024/1024));
}

热点排行