function GetSubFolders(const aFolder:string;aList:TStrings;aAppend:Boolean):Boolean;
var
findData:TWin32FindData;
hFind:THandle;
bFind:LongBool;
begin
Result:=False;
if aFolder[Length(aFolder)]='/' then SetLength(aFolder,Length(aFolder)-1);
hFind:=Windows.FindFirstFile(PChar(aFolder+'/*.*'),findData);
if hFind=INVALID_HANDLE_VALUE then Exit;
if not aAppend then
aList.Clear;
bFind:=True;
while bFind do
begin
if findData.cFileName[0]='.' then
begin
bFind:=Windows.FindNextFile(hFind,findData);
Continue;
end;
if (findData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY)<>0 then
aList.Add(aFolder+'/'+findData.cFileName);
bFind:=Windows.FindNextFile(hFind,findData);
end;
Windows.FindClose(hFind);
end;
这个函数加到你的源码中。然后GetSubFolders(你的目录路径,Combobox1.Items,False);