- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
procedure TForm1.WMDropFiles(var Msg: TMessage);
var
I, Amount, Size: Integer;
Filename: String;
Ctrl:TControl;
P:TPoint;
begin
if MessageBox(Handle, 'Внимание! Выбранные файлы будут БЕЗВОЗВРАТНО удалены. Продолжить?','Треш-угар', MB_ICONEXCLAMATION or MB_YESNO) <> ID_YES then Exit;
GetCursorPos(P);
Amount := DragQueryFile(Msg.WParam, $FFFFFFFF, @Filename[1], 255);
for i := 0 to (Amount - 1) do
begin
Size := DragQueryFile(Msg.WParam, i, nil, 0) + 1;
SetLength(FileName, Size+1);
DragQueryFile(Msg.WParam, I, @Filename[1], Size);
SetLength(FileName, StrLen(PChar(FileName)));
Ctrl:=FindDragTarget(P, False);
CleanFile(FileName);
end;
DragFinish(Msg.WParam);
end;
procedure TForm1.CleanFile(FileName:string);
var
hFile:THandle;
Size:DWORD;
BW:DWORD;
I:Integer;
P:Pointer;
NewName, Fname :string;
begin
trEmpty.SendToBack;
trFull.BringToFront;
hFile:=CreateFile(PChar(FileName), GENERIC_WRITE, FILE_SHARE_READ, nil, OPEN_EXISTING, 0, 0);
if hFile=INVALID_HANDLE_VALUE then
exit;
try
Size:=GetFileSize(hFile,nil);
P:=AllocMem(Size);
SetFilePointer(hFile, 0, nil, FILE_BEGIN);
//for I:=0 to Size=1 do
//begin
//end;
WriteFile(hFile, P^, Size, BW, nil);
CloseHandle(hFile);
finally
CloseHandle(hFile);
end;
FName:=ExtractFileName(FileName);
NewName:=StrUtilsEx.RandomStr([rtLowerCase, rtUpperCase], Length(FName));
NewName:=ExtractFilePath(FileName)+FName;
MoveFile(PChar(FileName), PChar(NewName));
DeleteFile(PChar(NewName));
trFull.SendToBack;
trEmpty.BringToFront;
end;
end.
KOPOHABuPYC 23.04.2020 00:27 # 0
rss 21.05.2020 14:21 # 0
Не нужно выделять память. Просто вызови CreateFile с флагом GENERIC_WRITE, и файл занулится системой. Удалять нужно только после зануления всех файлов, чтобы не нарушать структуру блоков.
KOPOHABuPYC 21.05.2020 14:24 # 0
p.s. к вышеобозначенной лепнине не имею никакого отношения.
Rooster 14.06.2020 17:13 # 0
guest8 14.06.2020 17:18 # −999
gost 14.06.2020 17:18 # 0
guest8 14.06.2020 17:26 # −999
Rooster 14.06.2020 17:30 # 0
AMEPuKAHCKuu_xyu 17.06.2020 00:20 # 0
OMuKPOH 17.02.2022 22:59 # 0
KOPOHABuPYC 13.06.2020 22:33 # 0
Май майнд из деструктабле-йоу,
Анд май асс из ~вульнерабле~
KOPOHABuPYC 23.06.2020 01:00 # 0
Май майнд из деструктабле-йоу,
Анд май асс из ~вульнерабле~
rss 01.07.2020 00:42 # 0
Sers 10.10.2020 17:48 # 0
Май майнд ис деструктабле-уоу,
Анд май асс ис ~вульнерабле~
Sers 10.10.2020 17:48 # −1
Точно таки стертор.
guest3 06.12.2020 19:18 # −1
guest3 06.12.2020 19:22 # −1
guest3 17.01.2021 00:48 # 0
Май майнд из деструктабле-йоу,
Анд май асс из ~вульнерабле~
Простите, не удержался.
ifirf1 25.08.2021 21:01 # 0