Hi ich bin neu an diesem Board. Ich habe in der Code Library einen Code gefunden mit dem man DATEIEN löschen kann. Hierbei übergibt man die DATEI windows und beim Neustart wird sie gelöscht. Leider funktioniert dies bei mir nicht.
Delphi-Quellcode:
Hier noch mals die Funktion:
function DeleteFileDuringNextSystemBoot(aFileName: string): Boolean;
var
Dummy, ShortFileName: array [0..MAX_PATH + 1] of Char;
WinIni: string;
SystemType: TOSVersionInfoA;
begin
Result := False;
SystemType.dwOSVersionInfoSize := SizeOf(SystemType);
GetVersionEx(SystemType);
if SystemType.dwPlatformId = VER_PLATFORM_WIN32s then
// nicht unterstützt durch Win32s Systeme :(
Exit;
if SystemType.dwPlatformId = VER_PLATFORM_WIN32_NT then
begin
// NT/2K/XP/.NET Systeme
if StrLen(PChar(ExtractFileDrive(aFileName))) < 4 then
Result := False // Falls Filename z. B. nur aus C:\ besteht
else
Result := MoveFileEx(PChar(aFileName), nil, MOVEFILE_REPLACE_EXISTING +
MOVEFILE_DELAY_UNTIL_REBOOT);
end else begin
// 9X/ME Systeme
GetWindowsDirectory(Dummy, MAX_PATH + 1);
WinIni := Dummy;
if AnsiLastChar(WinIni)^ <> '\' then
WinIni := WinIni + '\wininit.ini'
else
WinIni := WinIni + 'wininit.ini';
with TStringList.Create do
try
if FileExists(WinIni) then
LoadFromFile(WinIni);
if IndexOf('[rename]') < 0 then
Add('[rename]');
GetShortPathName(PChar(aFileName), ShortFileName, MAX_PATH + 1);
Insert(Succ(IndexOf('[rename]')), 'NUL=' + ShortFileName);
SaveToFile(WinIni);
Result := True;
finally
Free;
end;
end;
end;
[b]..und hier mein Löschbutton und der Funktions aufruf![/b]
var
File2Kick: String; // Pfad der Datei
begin
opendialog1.Execute();
DeleteFileDuringNextSystemBoot(File2kick);
messagebox(FoFkicker.Handle,'You must restart Windows! ','INFO',0);
Ich hoffe, dass es dieses Topic auf dem board noch nicht gibt. Sonst schickt mir einfach einen link dazu.