C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 Функция SHFormatDrive / Файлы, папки, диски / Файловая система

Функция SHFormatDrive.

Открывает стандартное диалоговое окно форматирования диска.

DWORD SHFormatDrive(      
    HWND hwnd,
    UINT drive,
    UINT fmtID,
    UINT options
);

Параметры

hwnd
хэндл родительского окна диалога. Диалог обязательно должен иметь родительское окно, поэтому нельзя в этом параметре указывать null.
drive
номер диска, который мы хотим отформатировать. 0 для A: , 1 для B: , 2 для С: и т.д.
fmtID
ID физического формата.
SHFMT_ID_DEFAULT
ID формата поумолчанию.
options
Параметры форматирования, которые можно передать в диалоговое окошко.
SHFMT_OPT_FULL
Полное форматирование (для диска, который ещё ни разу не форматировался). Поумолчанию "Быстрое форматирование."
SHFMT_OPT_SYSONLY
Форматирование с созданием системного диска.

Возвращаемое значение

Возвращает значение DWORD приведённое в таблице, либо fmtID последнего удачного форматирования.

SHFMT_ERROR В процессе форматирования возникла ошибка.
SHFMT_CANCEL Форматирование было отменено.
SHFMT_NOFORMAT Диск не удалось отформатировать.


Замечание

Процесс форматирования контролируется диалоговым окном, поэтому программно запустить форматирование не получится.

 

Пример:

#include <windows.h>

void main()
{
WORD DriveNumber = 0; //format drive c: 
                      //0 - диск a:, 1 - b: и т.д.
 
  const int SHFMT_OPT_QUICKFORMAT = 0;
  const int SHFMT_OPT_FULLFORMAT = 1;
  const int SHFMT_OPT_SYSONLY = 2;

  HMODULE hMod = LoadLibrary("SHELL32.DLL");
  if(hMod == INVALID_HANDLE_VALUE)
        MessageBox(0, "Не удалось загрузить DLL",
        "load error", MB_SYSTEMMODAL|MB_ICONERROR);

  typedef LONG (WINAPI*tpSHFormatDrive)(HWND, WORD, WORD, WORD);
  tpSHFormatDrive SHFormatDrive = (tpSHFormatDrive)
       GetProcAddress(GetModuleHandle("SHELL32.DLL"),"SHFormatDrive");

  if(SHFormatDrive)
        SHFormatDrive(0, DriveNumber, 0xFFFF, SHFMT_OPT_QUICKFORMAT);
  else MessageBox(0, "the procedure SHFormatDrive not found","Ошибка",
        MB_SYSTEMMODAL|MB_ICONERROR);
}

 

Дополнительная информация

Минимальная версия DLL: shell32.dll версии 5.0 и выше
Заголовок: shlobj.h
Библиотека: shell32.lib
Операционная система: Windows 2000