procedure TForm1.FormCreate(Sender: TObject);
var
buf:array [0..MAX_PATH-1] of char;
m_Result:Integer;
i:Integer;
str_temp:string;
begin
m_Result:=GetLogicalDriveStrings(MAX_PATH,buf);
for i:=0 to (m_Result div 4) do
begin
str_temp:=string(buf[i*4]+buf[i*4+1]+buf[i*4+2]);
ListBox1.Items.Add(str_temp);
end;
end;
GetLogicalDriveStrings
https://baike.baidu.com/item/GetLogicalDriveStrings/9642156?fr=aladdin
定义
DWORD GetLogicalDriveStrings(DWORD nBufferLength, // size of buffer
LPTSTR lpBuffer // drive strings buffer );
返回值
返回保存所有数据所需要的字节数,即Buffer缓冲区的实际大小。
一个驱动器占4字节,以下返回结果,返回值长度为12
效果如下: