GetLogicalDriveStrings-如何获取系统中存在的逻辑驱动器字符串
来源:优易学  2011-11-17 12:45:36   【优易学:中国教育考试门户网】   资料下载   IT书店
  //声明:GetLogicalDriveStrings(
  nBufferLength: DWORD; {缓冲区大小}
  lpBuffer: PAnsiChar  {缓冲区}
  ): DWORD;//缓冲区的结果是这样储存的: 譬如 A 驱动器会表示为 A: 后面隔一个空字符, 依次向后;
  //所以每个驱动器会占 4 字节.
  //举例:procedure TForm1.FormCreate(Sender: TObject);
  var
  PStr: PChar;
  DriveArr: array[0..4*26] of Char; {每个驱动器 4 字节, 最多 26 个驱动器}
  begin
  GetLogicalDriveStrings(SizeOf(DriveArr), DriveArr); {函数调用就这么简单}
  PStr := DriveArr;         {因为 PStr 是 #0 结尾的, 所以现在它指向的是前 4 个字节}
  Memo1.Clear;           {清空 Memo}
  While PStr<>nil do
  begin
  Memo1.Lines.Add(PStr);
  Inc(PStr,StrLen(PStr)+1);    {字符串指针是可以运算的, 这里相当于指针移动 4 个位置, 而指向下一个}
  if(Byte(PStr[0]) = 0) then PStr := nil; {如果下一个的第一个字符就是空, 就是没有了, While 等着 nil 终止呢}
  end;
  end;

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训