ディスクフォーマットダイアログを表示する(Win9x や NT4.0 以降)
ヘッダファイルもないので以下のプロトタイプ宣言も必要

DWORD WINAPI SHFormatDrive(HWND hWnd, UINT drive, UINT fmdID, UINT options);
typedef DWORD (WINAPI *SHFormatDrivePROC)(HWND hWnd, UINT drive, UINT fmdID, UINT options);

void Cxxx::Format(void)
{
  HINSTANCE hInst = ::LoadLibrary(_T("shell32.dll"));
  if (!hInst)
    return;
  
  SHFormatDrivePROC lpDllFunc = (SHFormatDrivePROC)::GetProcAddress((HMODULE)hInst, _T("SHFormatDrive"));
  if (!lpDllFunc)
  {
    ::FreeLibrary(hInst);
    return;
  }

  DWORD dRet = (lpDllFunc)(GetSafeHwnd(), 0x0, 0xFFFF, 0x0); // A:ドライブ, ,通常
  ::FreeLibrary(hInst);
}

hWnd NULL不可
drive 0=a: 1=b: ....
fmdID 0xFFFF で固定
option 0=通常 1=クイック 2=起動用


VC覚書きページ...