Dlaczego przeszukiwanie za pomocą TSearchRec na Viście nie jest dokładne ? Tzn część folderów nie jest odnajdywana na partycji systemowej.
Mają one jakieś nowe atrybuty i dlatego są pomijane w wyszukiwaniu ?
Jak temu zaradzić ?
0
0
Chodzi ci np. o Documents and Settings? Bo to nie są foldery, tylko symlinki.
0
Symlinki to swoją drogą... to tylko odnośniki do bezpośrednich folderów.
Jednak to właśnie to tych bezpośrednich folderów m.in., jak i w folderze Windows/System32 też się dostać nie można.
Uwaga: podobno pomaga wyłączenie UAC, ale przecież TO NIE JEST rozwiązaniem.
//Dopisano...
Oczywiście nikt nic nie wie, a potem dziwią się, czemu program jest niekompatybilny z Windows Vista.... najłatwiej wyłączyć UAC i problem z głowy... a co.
0
Nie jakies nowe atrybuty, tylko stare, dobrze uzyte uprawnienia.
0
W jaki sposób mam użyć uprawnień do poprawnej pracy komponentu TSearchRec ?
Tutaj mam wywołanie uprawnień
function SetPrivilege(PrivilegeName: string; Enable: boolean): boolean;
var
TPrev, TTok : TTokenPrivileges;
Token : THandle;
dwRetLen : DWord;
begin
Result := False;
OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY, Token);
TTok.PrivilegeCount := 1;
if LookupPrivilegeValue(nil, pchar(PrivilegeName), TTok.Privileges[0].LUID) then
begin
if Enable then TTok.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED
else
TTok.Privileges[0].Attributes := 0;
dwRetLen := 0;
Result := AdjustTokenPrivileges(Token, False, TTok, SizeOf(TPrev), TPrev, dwRetLen);
end;
CloseHandle(Token);
end;
// A tutaj co wpisać abym miał uprawnienia do przeszukiwania wszystkich folderów ?
SetPrivilege('?', True);