SHFormatDrive 函数 (shlobj_core.h)

[SHFormatDrive 可用于“要求”部分中指定的操作系统。 在后续版本中,它可能已更改或不可用。]

打开 Shell 的“ 格式 ”对话框。

语法

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

参数

[in] hwnd

类型:HWND

对话框的父窗口的句柄。 “ 格式 ”对话框必须具有父窗口;因此,此参数不能为 NULL

drive

类型: UINT

要格式化的驱动器。 此参数的值表示 A: 驱动器从 0 开始的字母驱动器。 例如,值为 2 表示 C: 驱动器。

fmtID

类型: UINT

物理格式的 ID。 当前仅定义以下标志。

SHFMT_ID_DEFAULT (0xFFFF)

默认格式 ID。

options

类型: UINT

此值必须是 0 或以下值之一,这些值会更改对话框中的默认格式选项。 此值被视为位字段,应相应地进行处理。

SHFMT_OPT_FULL (0x0001)

0x001。 如果设置了此标志,则选择“ 快速格式” 选项。

此函数仅在具有 SP1 及更高版本的 Windows XP 中包含在 Shlobj.h 中。

Windowsxp: 使用 SP1 的 Windows XP 之前,可通过 Shell32.lib 访问此函数。

SHFMT_OPT_SYSONLY (0x0002)

0x002。 选择 “创建 MS-DOS 启动磁盘 ”选项,创建系统启动磁盘。

返回值

类型:DWORD

返回最后一个成功格式的格式 ID 或以下值之一。 此值的 LOWORD 可以作为 fmtID 参数在后续调用中传递,以重复上一种格式。

返回代码 说明
SHFMT_ERROR
在上一种格式期间出错。 这并不表示驱动器不可格式化。
SHFMT_CANCEL
已取消最后一种格式。
SHFMT_NOFORMAT
无法格式化驱动器。

注解

格式由对话框界面控制。 也就是说,用户必须单击“ 确定” 按钮才能实际开始该格式- 格式无法以编程方式启动。

示例

SHFormatDrive 的此调用将打开驱动器 A 中磁盘的 Shell 格式对话框,其中选择了默认格式设置选项。

SHFormatDrive(hMainWnd, 0, SHFMT_ID_DEFAULT, 0);

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 shlobj_core.h (包括 Shlobj.h)
Library Shell32.lib
DLL Shell32.dll (5.0 或更高版本)