我有一个小实用程序(在心爱的 Delphi 上)可以监控 HardDisks FreeSpace
我使用 GetDriveType
问题是“Google Drives”被识别为 DRIVE_FIXED 所以我正在尝试管理如何识别这个 dirves,以便将它们排除在外......目前的工作是获取驱动器名称并在它的名称中找到“google”..但我认为这不是最简单的方法。
procedure TFormSpace.CreaLabels;
var
Type, i, n: Word;
LblDummy: TLabel;
Candidate: string;
begin
Max:=0;
i:=1;
repeat
Candidate:=chr(ord('c')+i-1) + ':\';
Type:=GetDriveType(pchar(Candidate));
if (Tipo=DRIVE_FIXED) then begin
//Do something
end;
i:=i+1;
until (i=MaxItems);
end;
谢谢!
在示例设置中:
c:\ -> 1TB SSD
d:\ -> 2TB SSD
f:\ -> Maped network drive
g:\ -> google drive, replicated con "d:\Drive"
以上代码将返回:
C:\ D:\ G:\
但预期结果是:
C:\ D:\
(只是真正的物理驱动器)