![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Форматирование носителя (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]Никто не знает!!? Жаль!