AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Windows Temp komplett löschen !?! wie ?
Thema durchsuchen
Ansicht
Themen-Optionen

Windows Temp komplett löschen !?! wie ?

Ein Thema von Trouble_Maker · begonnen am 20. Mär 2003 · letzter Beitrag vom 21. Mär 2003
Antwort Antwort
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#1

Windows Temp komplett löschen !?! wie ?

  Alt 20. Mär 2003, 13:17
Hiho Leute!
ich möchte den Inhalt von meinem windows/Temp Ordner komplett löschen !!! (C:\Windows\Temp)
Hier mein Code! (also der Inhalt wird schon außer den Unterverzeichnissen komplett gelöscht! Diese möchte ich aber auch löschen!!!

Delphi-Quellcode:
uses
... ,ShellAPI;

var
  Form1: TForm1;
  fos: TSHFileOpStruct;


function DelDir(dir: string): Boolean;
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do
  begin
    wFunc := FO_DELETE;
    fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
    pFrom := PChar('C:\Windows\Temp\' + #0);
  end;
  Result := (0 = ShFileOperation(fos));
end;

procedure DeleteAll(Dir, Files : string);
var
  SearchRec : TSearchRec;
begin
  if FindFirst(Dir+Files, faAnyFile, SearchRec) = 0 then
    begin
      DeleteFile(SearchRec.Name);
      while FindNext(SearchRec) = 0 do
        DeleteFile(Dir + SearchRec.Name);
    end;
  FindClose(SearchRec);
end;

procedure TForm1.Button2Click(Sender: TObject);
var dir : string;
begin
      DelDir(dir);
      DeleteAll( 'C:\Windows\Temp\' , '*.*' );
      RemoveDir('C:\Windows\Temp\');
end;

end.
so... kann mir jemand sagen, wieso die Unterverzeichnisse nicht gelöscht werden ? Der Rest klappt ja!

danke

Trouble_Maker

[EDIT=Luckie]Delphi-Tags hinzugefügt. Beim nächsten mal bitte selber machen, danke[/EDIT]
  Mit Zitat antworten Zitat
Benutzerbild von Darty
Darty

Registriert seit: 8. Jun 2002
Ort: Kronau
731 Beiträge
 
#2
  Alt 20. Mär 2003, 13:43
Wird der Inhalt der Unterverzeichnisse auch gelöscht ?
Matthias Knebel
Mfg M. Knebel [-Darty-]
- Gehörlose Delphianer gibt es selten -
www.team-knebel.de
  Mit Zitat antworten Zitat
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#3
  Alt 20. Mär 2003, 13:45
nein wird er nicht!!!

HILFEEE ^^
  Mit Zitat antworten Zitat
Benutzerbild von BrainCode
BrainCode

Registriert seit: 18. Jan 2003
119 Beiträge
 
#4
  Alt 20. Mär 2003, 14:41
Soll das bei jedem Systemstart ausgeführt werden? Dann kannst du ja auch ein Batchfile schreiben, das du in den Autostartordner legst, etwa so (ist auch bei mir so):
Code:
@echo off
deltree /y c:\windows\temp
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#5
  Alt 20. Mär 2003, 14:53
Hi,
ich bitte dich dein Code absofort in [ delphi] [ /delphi] einzupacken (ohne die Leerzeichen). Danke.
Ich habe deinen Source einwenig verändert:
Delphi-Quellcode:
uses
{...} ,ShellAPI;

var
  Form1: TForm1;

function DelDir(dir: string): Boolean;
var
  fos: TSHFileOpStruct;
begin
  ZeroMemory(@fos, SizeOf(fos));
  with fos do begin
    wFunc := FO_DELETE;
// fFlags := FOF_SILENT or FOF_NOCONFIRMATION;
// nimm das mal heraus, um zu sehen, was er dir ausgibt
    pFrom := PChar(dir + #0#0);
  end;
  Result := (0 = ShFileOperation(fos));
end;

procedure DeleteAll(Dir, Files : string);
var
  SearchRec : TSearchRec;
begin
  if FindFirst(Dir+Files, faAnyFile, SearchRec) = 0 then begin
    DeleteFile(SearchRec.Name);
    while FindNext(SearchRec) = 0 do
    DeleteFile(Dir + SearchRec.Name);
  end;
  FindClose(SearchRec);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  dir : string;
begin
// DelDir(dir); ? Was machst du denn hier ? dir ist noch leer!!
  dir := 'C:\Windows\Temp\'; // sicher, dass es nicht "C:\WINDOWS\..." ist?
  DelDir(dir);
  DeleteAll(dir, '*.*' );
// RemoveDir(dir); Hast du doch schon einmal gemacht... :?
end;
Änder das mal und sage uns mal was ausgegeben wird...
Desweiteren: such mal in der CodeLibrary nach "DoFileWork". Die Funktion von sakura kann das ganz gut und macht auch keine Probleme...

Chris
  Mit Zitat antworten Zitat
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#6
  Alt 20. Mär 2003, 20:59
hi...
ja ok mach ich ab jetzt!!! Ich wollt immer schon wissen, wie ihr das "graue" um den Code bekommt *gg*

Leider kann ich deinen Code jetzt leider nich austesten, weil ich an einem anderen PC bin!
Aber morgen poste ich, ob es geklappt hat!

Und ich möchte das ncih bei jeden Systemstart machen! Nur wenn man einen Button klickt

bis dann

Trouble_Maker
  Mit Zitat antworten Zitat
Benutzerbild von RomanK
RomanK

Registriert seit: 7. Jun 2002
Ort: Kirchheim unter Teck
1.036 Beiträge
 
Delphi 7 Personal
 
#7
  Alt 20. Mär 2003, 21:33
Hoi,
dazu gibt es neben dem Run auch noch den RunOnce "Ordner" in der Registry.
Roman Keller
Krieg ist Gottes Art den Amerikanern Geographie beizubringen!
  Mit Zitat antworten Zitat
Benutzerbild von Trouble_Maker
Trouble_Maker

Registriert seit: 30. Jan 2003
244 Beiträge
 
Delphi 6 Personal
 
#8
  Alt 21. Mär 2003, 16:03
hmm... so hab den Code mal ausgetestet, so wie du ihn gepostet hast, aber es passiert das gleiche wie vorher !!!

Also keine Fehlermeldung oder so! Aber die Unterverzeichnisse und die in den Unterverzeichnissen liegenden Dateien werden nicht gelöscht!!!

?!?!


Trouble_Maker
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#9
  Alt 21. Mär 2003, 16:47
Zitat von Chakotay1308:
Such mal in der CodeLibrary nach "DoFileWork". Die Funktion von sakura kann das ganz gut und macht auch keine Probleme...
Das auch schon gemacht? Die Funktion funktioniert einwandfrei!

Chris
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz