| Главная | |
Delphi |
WinAPIПолучение всех дисков в системе без TDriveComboBoxЭтот код возвращает список всех логических дисков на любой системе. Используйте этот код для более быстрых результатов, чем TDriveComboBox. function GetListOfLogicalDrives: TStringList;
var
lpDrives: array [0..500] of char;
lpStrTmp: string;
iiDCount, iiResult: integer;
begin
Result := TStringList.Create;
lpStrTmp := '';
iiResult := GetLogicalDriveStrings(500, lpDrives);
for iiDCount := 0 to iiResult do
begin
if lpDrives[iiDCount] <> #0 then
begin
lpStrTmp := lpStrTmp + lpDrives[iiDCount];
if Length(lpStrTmp) = 3 then
begin
Result.Add(lpStrTmp);
lpStrTmp := '';
end;
end;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items := GetListOfLogicalDrives; //Помещаем диски в список//
end;
Если Вы хотите получить иконку каждого диска (для добавления в TListView), Вы можете использовать SHGetFileInfo (в ShellApi.pas). Если Вы хотите отфильтровать некоторые типы дисков, Вы можете использовать GetDriveType Windows API. |
|
|
||
| Copyright (c) Авраменко С. Н. 2008. |