Вниз
Скачать: CL | DM;

Форматирование носителя (Fat16,Fat32,NTFS)   Найти похожие ветки 

 
roa36   (2004-05-24 14:46) [0]

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


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

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


 
Alex Konshin ©   (2004-05-24 20:36) [2]

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


 
Dimaxx   (2004-05-24 23:05) [3]

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;


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

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


 
ra4fcr ©   (2004-06-04 09:18) [5]

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


 
Iraizor ©   (2004-06-04 10:02) [6]

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


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


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


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


 
ra4fcr ©   (2004-06-04 11:14) [8]

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


 
Iraizor ©   (2004-06-04 17:11) [9]

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


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


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


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


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

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


 
lena19   (2004-06-06 01:49) [12]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.026 c
14-1088585605
Паниковский
2004-06-30 12:53
2004.07.18
Лето! Сезон отпусков.


1-1088610776
ZiRoCool
2004-06-30 19:52
2004.07.18
Сворачивание НЕ главной формы :)


1-1088690411
chistyakov
2004-07-01 18:00
2004.07.18
Загрузка dll


1-1089216701
Johnny Raw
2004-07-07 20:11
2004.07.18
про TCanvas


3-1088174881
*boba*
2004-06-25 18:48
2004.07.18
Запрос?




   Наверх