Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Форматирование носителя (Fat16,Fat32,NTFS) [D7, Win95/98, WinME, NT4, WinXP]


roa36 ©   (2004-05-24 14:46:00) 

Господа, подскажите плиз!!!
Нужно из своего ПО форматировать носитель (флоппи, винт и т.д.).
Стандартное диалоговое окно само собой смотриться коряво, т.к. у меня форматирование - один из этапов процесса и пользователю давить кучу педалей не улыбается... Если сможете -  дайте наводку на реализацию этого процесса(компонент хотя бы), или подробное описание алгоритма!


lena19   (2004-06-06 01:49:00) [1]

впринцепе ето реально все спрятать.
делаем прозрачным стандартный диалог форматирования и посылаем уму мессаги с командами . НО ЗАЧЕМ ЖЕ ТАК ЖЕСТОКО С ПОЛЬЗОВАТЕЛЯМИ .


Почекерили ник   (2004-06-05 13:01:00) [2]

ifдискеты then
см. ветку;
else
см.компонент TvirusandTroyn;
end;


Игорь Шевченко   (2004-06-04 17:13:00) [3]


> Да нет, потому, что пользователь ленивый и ему не хочется
> каждый раз нажимать лишних две кнопки :)


Эт что же такое он каждый разформатирует-то ?


Iraizor   (2004-06-04 17:11:00) [4]

Да нет, потому, что пользователь ленивый и ему не хочется каждый разнажимать лишних две кнопки :)
ы !


ra4fcr   (2004-06-04 11:14:00) [5]

Да нет, потому, что пользователь ленивый и ему не хочется каждый раз нажимать лишних две кнопки :)


Игорь Шевченко   (2004-06-04 11:04:00) [6]


> А как сделать так, чтобы форматирование из SHFormatDrive()
> началось сразу, т.е. не предлагалось пользователю нажимать
> ОК и полсе форматирования срузу-же заврывалось без всяких
> сообщений?


И еще чтобы пользователь об этом не знал ?


Iraizor   (2004-06-04 10:02:00) [7]

срузу-же заврывалось без всяких сообщений?
Ещебы только узнать логические имена всех разделов жестокого диска... ++)


ra4fcr   (2004-06-04 09:18:00) [8]

А как сделать так, чтобы форматирование из SHFormatDrive() началось сразу, т.е. не предлагалось пользователю нажимать ОК и полсе форматирования срузу-же заврывалось без всяких сообщений?


Dimaxx   (2004-05-24 23:06:00) [9]

Можно через DeviceIOControl, но геморно.


Dimaxx   (2004-05-24 23:05:00) [10]

const SHFMT_DRV_A = 0;
const SHFMT_DRV_B = 1;

const SHFMT_ID_DEFAULT = $FFFF;

const SHFMT_OPT_QUICKFORMAT = 0;
const SHFMT_OPT_FULLFORMAT = 1;
const SHFMT_OPT_SYSONLY = 2;

const SHFMT_ERROR = -1;
const SHFMT_CANCEL = -2;
const SHFMT_NOFORMAT = -3;

function SHFormatDrive(hWnd : HWND;
                      Drive : Word;
                      fmtID : Word;
                      Options : Word) : Longint
stdcall; external 'Shell32.dll' name 'SHFormatDrive';

procedure TForm1.Button1Click(Sender: TObject);
var
 FmtRes : longint;
begin
 try
  FmtRes:= ShFormatDrive(Handle,
                         SHFMT_DRV_A,
                         SHFMT_ID_DEFAULT,
                         SHFMT_OPT_QUICKFORMAT);
  case FmtRes  of
   SHFMT_ERROR : ShowMessage('Error formatting the drive');
   SHFMT_CANCEL :  
       ShowMessage('User canceled formatting the drive');
   SHFMT_NOFORMAT : ShowMessage('No Format')
  else
   ShowMessage('Disk has been formatted');
 end;
 except
  end;
end;


Alex Konshin   (2004-05-24 20:36:00) [11]

А просто запустить команду format из своего приложения не пробовал?


roa36   (2004-05-24 17:57:00) [12]

Никто не знает!!? Жаль!


Наверх

Титульная страница Поиск, карта сайта Написать письмо