Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
Походу тема актуальна... Закодил на Delphi утилиту ;-) 23.05.05 08:34 Число просмотров: 2480
Автор: HandleX <Александр М.> Статус: The Elderman Отредактировано 23.05.05 08:41 Количество правок: 2
|
Потренировался на кошках... Дискеты стирает на-ура.
Если кто хочет поиздеваться над загрузочным разделом, расскажите об успехах ;-)
program HDDKill;
{$APPTYPE CONSOLE}
uses Windows, SysUtils;
Const
BuffSize = 512 * 1024; //Интересно, хватит ли полметра для убийства диска? ;-)
Var
hVol: THandle;
pMemBuff: Pointer;
Writed: DWORD;
anAnswer: String;
begin
Try
WriteLn;
WriteLn(' -= Fast HDD killer by HandleX... Use it free at your own risk! =-');
If (ParamCount <> 1) Or (Length(ParamStr(1)) <> 2) Or (ParamStr(1)[2] <> ':') Then
Begin
WriteLn('Error: invalid input parameter. Sample using: "HDDKill C:"');
Halt;
End;
Write('Are you shure you want to kill drive ', ParamStr(1), ' ??? Enter "Y" to continue... ');
ReadLn(anAnswer);
If anAnswer <> 'Y' Then Halt;
hVol := CreateFile(PChar('\\.\' + ParamStr(1)), GENERIC_WRITE, FILE_SHARE_READ Or FILE_SHARE_WRITE, Nil, OPEN_EXISTING, 0, 0);
If hVol = INVALID_HANDLE_VALUE Then RaiseLastWin32Error;
GetMem(pMemBuff, BuffSize);
Writed := 0;
WriteLn('Writing...');
If Not WriteFile(hVol, pMemBuff^, BuffSize, Writed, Nil) Then RaiseLastWin32Error;
WriteLn;
WriteLn(Writed, ' bytes of zeros was written at beginning of drive ', ParamStr(1));
Except
On E: Exception Do
Begin
WriteLn('Exception class "' + E.ClassName + '" occured with message "' + E.Message + '".');
WriteLn('Program terminated');
End;
End;
end. ---
|
|
|