Jak uzyskać listę plików w koszu.
Standardowe szukanie w folderze RECYCLER lub RECYCLED daje wynik w postaci np.:
C:\RECYCLER\S-1-5-21-448539723-1060284298-839522115-1003\Dc6.exe
dla pliku w koszu: Plik.exe
Jak uzyskać listę plików w koszu.
Standardowe szukanie w folderze RECYCLER lub RECYCLED daje wynik w postaci np.:
C:\RECYCLER\S-1-5-21-448539723-1060284298-839522115-1003\Dc6.exe
dla pliku w koszu: Plik.exe
W reke' IShellFolder, folder specjalny
Recycle Bin'' i dalej jak z drukarkami
Nie za bardzo wiem jak to użyć.
Kombinowałem z SHPrinters, ale otrzymuję błąd kompilatora "Typy parametrów w zmiennej muszą być identyczne.":
hOK := EnumIDList.Next(1, TempItemIDList, Retrieved);
Nie wiem jak to zmienić.
Druga sprawa, kombinowałem z pobraniem wirtualnego folderu:
uses ShlObj;
function GetFolderPath(Folder: Integer): string;
var
Path: array[0..MAX_PATH] of Char;
begin
SHGetSpecialFolderPath(0, Path, Folder , False);
Result := Path;
end;
begin
ShowMessage(GetFolderPath(CSIDL_BITBUCKET));
end;
...ale otrzymuję pusty string. O tym samym piszą w dziale "Artykuły". Im także zwraca pusty ciąg.
Są jeszcze kombinację z komponentem ShellListView, ale niestety w Delphi 2006 (D11), tego komponentu nie mam.
troche pozno ale...
co daje nam w efekcie kod
Jak pobrać nazwy plików w koszu
BTW dopiero zuwazylem
Opi napisał(a)
Kombinowałem z SHPrinters, ale otrzymuję błąd kompilatora "Typy parametrów w zmiennej muszą być identyczne.":
hOK := EnumIDList.Next(1, TempItemIDList, Retrieved);
Nie wiem jak to zmienić.
troche wstyd nie poradzic sobie z takim problemem ....
reichel napisał(a)
troche pozno ale...
...z efektem [soczek]
Jeszcze, gdyby tak pokazywało foldery i ich zawartość to już by mi to wystarczyło (obecnie tylko nadrzędne i tylko pliki wykazuje).
dodalem koment (byl glupi blad w until ...) w windowsie tez nie pokazuje tych plikow ....
tak jak napisalem mozna szukac folderow i dlubac w bazie.
Co ciekawe foldery juz maja poprawnna strukture (Win 2003), tak wiec mozna sprawdzic czy folder i listowac w tradycyjny sposob
.
reichel, pomóż, bo ja niekumaty.
Nie wiem w którym miejscu mogę sprawdzić, że obiekt to folder i jak dalej szukać w tym folderze, bo chyba nie funkcją TSearchRec.
until (hr <> NOERROR);
tego błędu też nie widziałem i rzeczywiście tylko jeden plik znajdywało w koszu.
powklejaja kawalki kodu do google ....
czy folder WIN32_FIND_DATA
tak mozna funkcja/struktura TSearchRec
Nic mi to nie pomogło...
W
FD.cFileName
FD.cAlternateFileName
nazwa pliku jest zwracana w postaci plików: dcCYFRA.ROZSZERZENIE i nie można z nich odczytać, czy to folder, czy plik. No chyba, że po tym, że nie ma rozszerzenia, to wtedy folder.
A jeśli standardowo odczytam:
ItemName
to jest zwracane miejsce, gdzie plik wcześniej istniał na dysku :/
reichel, jeśli wiesz, to napisz gotowca, bo szkoda tak się rozpisywać.
Na ntfs bedzie to
%sysdrive%\recycler\SID
na fat baedzie np c:\Recycled
kazdy user bedzie mjal swoj kosz i kazda partycja tez ma swoj ... zatem zostaje sporo wersji do sprawdzenia. Dziadostwo jednak nie podaje w pidlu pelnej sciezki (a ta do pulpitu... czyli nigdzie).
a tak w ogóle to tu jest info czy folder czy nie dwFileAttributes