#include <windows.h>
#include <tchar.h>
#include <string>
//-------------------------------------------------------------------------------------
// SHFormatDrive 用 定義
//-------------------------------------------------------------------------------------
extern "C" DWORD WINAPI SHFormatDrive ( HWND hWnd,
DWORD dwDrive,
DWORD dwFormatID,
DWORD dwOptions );
#define SHFMT_ID_DEFAULT 0xFFFF
#define SHFMT_OPT_FULL 0x0001
#define SHFMT_OPT_SYSONLY 0x0002
#define SHFMT_ERROR 0xFFFFFFFFL
#define SHFMT_CANCEL 0xFFFFFFFEL
#define SHFMT_NOFORMAT 0xFFFFFFFDL
//-------------------------------------------------------------------------------------
// エントリポイント
int WINAPI _tWinMain ( HINSTANCE,
HINSTANCE,
_TCHAR *,
int )
{
UINT nResult;
nResult = SHFormatDrive ( NULL,
3 /* D ドライブ */,
SHFMT_ID_DEFAULT,
SHFMT_OPT_FULL );
// 結果
std::basic_string < _TCHAR > strResult;
switch ( nResult ) {
case SHFMT_ERROR:
strResult = _TEXT ( "エラー(何もせずに閉じた場合も)" );
break;
case SHFMT_CANCEL:
strResult = _TEXT ( "処理をキャンセルしました" );
break;
case SHFMT_NOFORMAT:
strResult = _TEXT ( "このドライブはフォーマットできません" );
break;
default:
strResult = _TEXT ( "未定義のエラー" );
}
MessageBox ( NULL,
strResult.c_str (),
_TEXT ( "確認" ),
MB_OK );
return 0;
}
|