![]() |
Laufwerke für schnelle Dateisuche indizieren
Liste der Anhänge anzeigen (Anzahl: 1)
wie kann ich diese Funktion mittels API Befehl aktivieren bzw. deaktivieren? (siehe anhang)
|
Re: Laufwerke für schnelle Dateisuche indizieren
Vielleicht mit:
Delphi-Quellcode:
// indizieren
SetFileAttributes(..., GetFileAttributes(...) and not FILE_ATTRIBUTE_NOT_CONTENT_INDEXED); // nicht indizieren SetFileAttributes(..., GetFileAttributes(...) or FILE_ATTRIBUTE_NOT_CONTENT_INDEXED); |
Re: Laufwerke für schnelle Dateisuche indizieren
Also der Code von Nico funktioniert (allerdings nur für das Indexattribut und nicht für die Verschlüsselung - und natürlich auch nur auf NTFS-Laufwerken)
Allerdings ist das ja nur der Weg für Dateien/Verzeichnisse ... bei der Standardeinstellung des Laufwerkes geht damit nichts. (und mumu scheint ja gerade dieses zu wollen) |
Re: Laufwerke für schnelle Dateisuche indizieren
ja genau, ich möchte die komplette indizierung des laufwerkes deaktivieren und nicht nur die von einzelnen dateien und verzeichnissen.
oder muss ich dazu einfach alle dateien und verzeichnisse durchgehen und jeweils das indizierungsattribut deaktivieren? |
Re: Laufwerke für schnelle Dateisuche indizieren
Zitat:
(lies: bei mir geht's)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
const INVALID_FILE_ATTRIBUTES = DWORD(-1); FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = $00002000; var Attr: DWORD; begin Attr := GetFileAttributes(PChar(Edit1.Text)); if INVALID_FILE_ATTRIBUTES = Attr then begin ShowMessage('GetFileAttributes: ' + SysErrorMessage(GetLastError())); Exit; end; if CheckBox1.Checked then Attr := Attr and not FILE_ATTRIBUTE_NOT_CONTENT_INDEXED else Attr := Attr or FILE_ATTRIBUTE_NOT_CONTENT_INDEXED; if not SetFileAttributes(PChar(Edit1.Text), Attr) then ShowMessage('SetFileAttributes: ' + SysErrorMessage(GetLastError())); end; Zitat:
(nichts anderes macht der Standard-Eigenschaftsdialog) |
Re: Laufwerke für schnelle Dateisuche indizieren
Du kannst das natürlich bei allen Dateien einzeln abstellen.
Und in den Unterverzechnissen des Laufwerkt ist dann auch die indizierung abgestellt, da ja meistens die Attribute des Verzeichnisses genommen werden. Allerdings werden dann alle neu erstellten Dateien/Verzeichnisse im Hauptverzeichnis immer wieder indiziert, diese ja die Attribute des Laufwerks bekommen. PS: Ich persünlich hab ja der Indizierung direkt in der Systemsteuerung den gar ausgemacht ... hab sie einfach "deinstalliert" ^^ getestet auf'm WinXP Pro. |
Re: Laufwerke für schnelle Dateisuche indizieren
Zitat:
(meiner einer hat 'I:' verwendet, also ohne '\') |
Re: Laufwerke für schnelle Dateisuche indizieren
Hi folks,
wenn die Indexerstellung für das Dateisystem abgeschaltet werden soll, dann gibt es da verschiedene Methoden. Hier ein Beispiel, bei dem alle Einstellungen erhalten bleiben, aber das Befüllen des zugehörigen Katalogs angehalten wird:
Delphi-Quellcode:
Wer mehr will, der sollte die Automationsobjekte aus der ciodm.dll importieren und sich ein wenig mit der query.dll (beide %windir%\system32) beschäftigen.
const
CICAT_STOPPED = 1; function SetCatalogState(catalog: PWideChar; machine: PWideChar; newState: Cardinal; var OldState: Cardinal): Cardinal; stdcall; external 'query.dll'; procedure TMainForm.StopButtonClick(Sender: TObject); var wsCatalog, wsMachine: WideString; dwResult, oldState: Cardinal; begin wsCatalog := 'system'; wsMachine := '.'; dwResult := SetCatalogState(PWideChar(wsCatalog), PWideChar(wsMachine), CICAT_STOPPED, oldState); if dwResult = 0 then ShowMessage('angehalten') else ShowMessage(IntToHex(dwResult, 8)); end; Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz