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 参数在后续调用中传递,以重复上一种格式。
返回代码 | 说明 |
---|---|
|
在上一种格式期间出错。 这并不表示驱动器不可格式化。 |
|
已取消最后一种格式。 |
|
无法格式化驱动器。 |
注解
格式由对话框界面控制。 也就是说,用户必须单击“ 确定” 按钮才能实际开始该格式- 格式无法以编程方式启动。
示例
对 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 或更高版本) |