Delphi 中GetLogicalDriveStrings 获取系统中可用的驱动器列表(D2007-XE2通用)

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

效果如下:

posted @ 2022-10-04 00:14  IT情深  阅读(26)  评论(0编辑  收藏  举报