procedure TForm1.Button2Click(Sender: TObject);
var buffer:array[1..20] of char;
p:pchar;
str:string;
begin
p:=@buffer;
GetLogicalDriveStrings(20,p);
str:=strpas(p);
showmessage(str);
end;
我想得到所有的逻辑盘符,为什么str 中只有a:\?
var buffer:array[1..20] of char;
p:pchar;
str:string;
begin
p:=@buffer;
GetLogicalDriveStrings(20,p);
str:=strpas(p);
showmessage(str);
end;
我想得到所有的逻辑盘符,为什么str 中只有a:\?
//GetLogicalDriveStrings(),返回的是得到盘符缓冲的大小
//盘符与盘符间用#0分隔procedure TForm1.Button1Click(Sender: TObject);
var
vBuffer: array[0..256] of Char;
vSize: DWORD;
I: Integer;
S: string;
begin
vSize := GetLogicalDriveStrings(256, vBuffer);
S := '';
for I := 0 to vSize - 1 do begin
if vBuffer[I] <> #0 then
S := S + vBuffer[I]
else begin
ShowMessage(S);
S := '';
end;
end;
end;嘻嘻嘻 伴水 :) 到此一灌 嘻嘻嘻嘻