Entwickler-Ecke
Internet / Netzwerk - index.dat löschen
nina - Fr 14.02.03 11:56
Titel: index.dat löschen
Hallo Ihr da draussen!
Kann mir einer vielleicht weiter helfen?
Ich möchte mit meinem Programm die index.dat löschen! Mittlerweile habe ich herausgefunden, dass man die index. dat im DOS löschen muß.
Gibt es einen Code mit dem ich die index. dat aus dem DOS löschen kann?
Auf dieses index Problem bin ich durch das löschen des Verlaufs gekommen!
Wäre echt super wenn mir einer diesen Code posten könnte!?
nina
P.S. Ich habe Windows 2000 Professional
Delete - Fr 14.02.03 12:42
sakura vor kurzem Code dazu gepostet. Leider finde ich den Beitrag auf die Schnelle nicht mehr. Ich nehme mir mal die Frechheit heraus und poste meine modifizierte Version. - Modifiziert, weil ich´s für ein NonVCL-Projekt ohne "Classes"-Unit (TStringlist) gebraucht habe:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86:
| // // delete files during next reboot (code by sakura) // function DeleteFileDuringNextSystemBoot(aFileName: string): Boolean; var ShortName, winini : string; os : TOSVersionInfo; ts : array of string; f : TextFile; i : integer; begin Result := False;
// get OS version os.dwOSVersionInfoSize := sizeof(TOSVersionInfo); GetVersionEx(os);
case os.dwPlatformId of // not supported by Win32s VER_PLATFORM_WIN32s: exit; // NT systems VER_PLATFORM_WIN32_NT: Result := MoveFileEx(pchar(aFileName), nil, MOVEFILE_REPLACE_EXISTING + MOVEFILE_DELAY_UNTIL_REBOOT); // 9x systems else begin // get Windows folder SetLength(winini,MAX_PATH+1); SetLength(winini,GetWindowsDirectory(@winini[1],MAX_PATH+1));
if(winini <> '') then begin if(winini[length(winini)] <> '\') then winini := winini + '\'; winini := winini + 'wininit.ini';
// get short name of the given file SetLength(ShortName,MAX_PATH+1); SetLength(ShortName, GetShortPathName(@aFilename[1],@ShortName[1],MAX_PATH+1));
// add it to "wininit.ini" to delete // during next reboot SetLength(ts,0);
{$I-} // get old file´s content AssignFile(f,winini); ReSet(f); if(IoResult = 0) then begin while(not eof(f)) do begin SetLength(ts,length(ts)+1); ReadLn(f,ts[length(ts)-1]);
if(lstrcmpi('[rename]',pchar(ts[length(ts)-1])) = 0) then begin SetLength(ts,length(ts)+1); ts[length(ts)-1] := 'NUL='+ShortName; end; end; CloseFile(f); end;
if(length(ts) = 0) then begin SetLength(ts,2); ts[0] := '[rename]'; ts[1] := 'NUL='+ShortName; end;
// create new! ReWrite(f); Result := (IoResult = 0); if(Result) then begin for i := 0 to length(ts) - 1 do WriteLn(f,ts[i]);
CloseFile(f); end; {$I+}
SetLength(ts,0); end; end; end; end; |
Dankesschreiben, Schecks, Überweisungen bitte an sakura. :wink:
Funktion aufrufen und Dateiname übergeben.
Die Datei wird erst nach einem Neustart tatsächlich gelöscht.
Gruß.
nina - Fr 14.02.03 13:40
Danke erstmal für den Code. Allerdings funktioniert er bei mir nicht!
Die index.dat die ich löschen möchte liegen bei mir unter:
C:\Dokumente und Einstellungen\(Username)\Lokale Einstellungen\Cookies\index.dat\
Könnte es sein, dass der Pfad falsch ist?
nina
Delete - Fr 14.02.03 16:58
| nina hat folgendes geschrieben: |
| Danke erstmal für den Code. Allerdings funktioniert er bei mir nicht! |
Getestet unter Win98 und XP (allerdings nur kurz und mit Admin-Rechten).
| Zitat: |
Die index.dat die ich löschen möchte liegen bei mir unter:
C:\Dokumente und Einstellungen\(Username)\Lokale Einstellungen\Cookies\index.dat\
Könnte es sein, dass der Pfad falsch ist? |
Lass mal den letzten Backslash
\ (rot markiert) weg, sonst ist Windows der Meinung, es gäbe einen Ordner namens "index.dat".
Des Weiteren würde ich empfehlen, du benutzt Shell-Funktionen zum zweifelsfreien Ermitteln des Cookies-Ordners. Eine solche Funktion wäre z.B.
SHGetSpecialFolderLocation. Diese erwartet, u.a., einen Class-ID für den Ordner, den du suchst. Bei den Cookies: CSLID_COOKIES, denke ich. Damit erhältst du dann in jedem Fall den korrekten Cookies-Ordner des angemeldeten Benutzers, und du musst dein Programm nicht ständig neu anpassen.
Hilfe zu dem genannten Befehl und der Class-ID (und anderen IDs) findest du hier im Forum -bin 100% sicher- oder in Microsofts MSDN bzw. PSDK.
nina - Mo 17.02.03 14:52
Hallo Mathias!
Ich habe hier im Forum nach SHGetSpecialFolderLocation gesucht, aber nichts dazu gefunden!!!!
Vielleicht kannst Du mir ja auch grad noch sagen wo ich MSDN bzw. PSDK genau finden kann? Denn ich habe keine Ahnung was Du damit meinst!!!! :oops:
nina
nina - Mo 17.02.03 15:42
Es funktioniert immer noch nicht!!
Kann es vielleicht sein, das der Pfad nicht stimmt, denn so viel ich weiss kann man index.dat nur im DOS löschen. Benötige ich dann vielleicht einen anderen "Pfad-Namen"?
Bei mir lautet der Pfad
Quelltext
1:
| C:\Dokumente und Einstellungen\[Username]\Cookies\index.dat |
nina
foxy - Mo 17.02.03 16:12
huhu
also ich weis nicht wo der post von eben hingerutscht ist :D aber ich habe eben dazu was geschrieben da bin ich mir sicher :rofl:
also das mit dem Pfad kann sein deswegen benutze doch die function von mthias ....
du hast recht, das du nix findest im forum, weil die suchfunktion icht einwandfrei geht ;)
nur noch eins, du musst bedenken, wenn du einen neuen Benutzer anlegst, dass dies einen anderen pfad ergibt auserdem kannst du das programm nur anwenden wenn du admin rechte hast oder du willst nur deine eigene User .dat löschen .....
Moderiert von
Tino: Link entfernt.
nina - Mo 17.02.03 16:28
Juhu!!!! Es ist vollbracht. Die index.dat lassen sich löschen!!!!
Es lag daran, dass ich nur Netzadministratorenrechte hatte/habe und keine lokalen Administratorenrechte!!!! Oh Mann!!!!! :mrgreen:
Trotzdem vielen Dank für Eure Hilfe!!!!
nina
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!