Witam wszystkich.
Używam takiej funkcji do zmiany okna do wyboru katalogu :
function BrowseDialog(const Title: string; const Flag: integer): string;
var
lpItemID : PItemIDList;
BrowseInfo : TBrowseInfo;
DisplayName : array[0..MAX_PATH] of Char;
TempPath : array[0..MAX_PATH] of Char;
begin
Result := '';
FillChar(BrowseInfo, sizeof(TBrowseInfo), #0);
with BrowseInfo do begin
hwndOwner := Application.Handle;
pszDisplayName := @DisplayName;
lpszTitle := PChar(Title);
ulFlags := Flag;
end;
lpItemID := SHBrowseForFolder(BrowseInfo);
if lpItemId <> nil then begin
SHGetPathFromIDList(lpItemID, TempPath);
Result := IncludeTrailingBackslash(TempPath);
GlobalFreePtr(lpItemID);
end;
end;
i wywołanie :
FFolder := BrowseDialog('Choose a folder....', BIF_BROWSEINCLUDEFILES);
i teraz pytanie.
W jaki sposób w wywołanym oknie dialogowym, uzyskać wybór tylko i wyłącznie dysków zainstalowanych w systemie, tak ja ma to miejsce w przypadku użycia DriveComboBox, którego nie chcę używać.
Wszelkie wskazówki mile widziane :)