Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
ShellTreeView ile gizli klasör tarama
#1
merhaba, ShellTreeView kullanarak paylaşımdaki dizinleri alıyoruz ama gizli klasörler (secret$) şeklinde olan klasörler listelenmiyor.
parametre olarak ShellTreeView.ObjectTypes := [otFolders,otHidden] ekli olduğu halde getirmiyor. gizli dosyalar geliyor ama klasörler gelmiyor. 

kod kısmı ise burası

begin
       try
         ShellTreeView := TShellTreeView.Create(nil);
         ShellTreeView.ObjectTypes := [otFolders,otHidden];
         ShellTreeView.ClearItems();
       //sDirname := TIdURI.URLDecode(ARequestInfo.Params.Values['path']); // \\SERVER\  // & i?aretini replace ettik.
       //sParentId := ARequestInfo.Params.Values['parent_id'];

         try
           ShellTreeView.Root := sDirname;
         except
         end;

         for I := 0 to ShellTreeView.Items[0].Count - 1 do
         begin
           if ShellTreeView.Items[0].Count = 0 then
             Continue;

           ItemNode := ShellTreeView.Items[0].Items[I];

           SH := TShellFolder(ItemNode.Data);
           sFullPath := sDirname + SH.DisplayName;

           sResult := sResult + '{"id":"' + sParentId + '-' + IntToStr(I) + '","path":"' + StringReplace(sFullPath, '\', '\\', [rfReplaceAll]) + '", "title":"' + SH.DisplayName + '", "type": "FOLDER", "parent_id":"' + sParentId + '", "folder": true, "lazy": true},';
         //Delete(sResult, Length(sResult), 1);
         end;
       finally
         ShellTreeView.Free;
       end;

       if (sResult <> '') and (sResult[Length(sResult)] = ',') then
         Delete(sResult, Length(sResult), 1);
       AResponseInfo.ContentText := callbackFunc + '([' + sResult + ']);';
     end
Cevapla




Konuyu Okuyanlar: 1 Ziyaretçi