如何 format 硬盘? 还有 scan disk? 工具中 有 格式话 硬盘的工具,有scan disk的工具。这些如何调用,是否有 api? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用system或者ShellExecute调用int system( const char *command );HINSTANCE ShellExecute( HWND hwnd, LPCTSTR lpOperation, LPCTSTR lpFile, LPCTSTR lpParameters, LPCTSTR lpDirectory, INT nShowCmd); SHFormatDrive在 msdn里只有一页。怎么调用。system挺好。谢谢。format scan命令说明哪里有? http://www.china-askpro.com/msg10/qa75.shtml DWORD SHFormatDrive( HWND hwnd, UINT drive,//0 for A:, 2 for C:,... UINT fmtID,//SHFMT_ID_DEFAULT only UINT options//SHFMT_OPT_FULL取消快格,进行全格 //SHFMT_OPT_SYSONLY 创建ms-dos启动盘);包含在头文件shlobj.h,for2khttp://www.codeproject.com/dialog/cformatdrivedialog.asp SHFormatDrive 说在 shello32.lib里,但还是link不过。感觉很怪。另外,关于磁盘的操作有没有系统的介绍?弹出等。 转别人的:以下摘自是一篇文章从实际应用的角度看,从Windows 9X到Windows NT都应该提供这个FormatDisk函数,否则怎么实现资源管理器窗口的磁盘格式化呢?笔者通过仔细查找发现,Windows 确实提供了这样一个函数,尽管文档资料没有注明,但是如果我们使用View Dependencies打开Shell2.dll,就会发现这个函数。它就是SHFormatDrive,编译连接到Shell32.lib。尽管通过平台的SDK文档和SHELLAPI.H文件并不能发现这个函数,但是Win32各个操作系统都能找到它的踪影。应用程序可以通过调用这个函数实现借用外壳的磁盘格式化对话框格式化磁盘。调用约定如下: DWORD WINAPI SHFormatDrive(HWND hwnd,UINT drive,UINT fmtID,UINT options); 参数含义如下: hwnd:拥有对话框的窗口句柄,注意hwnd为NULL时,并不会导致这个对话框生成一个上层的应用程序,也就是说,这个参数总是非NULL,这个对话框只能作为一个窗口的子窗口,而不能作为一个单独的应用程序; drive:要格式化的驱动器号,以A: == 0为基准,依此类推; fmtID:必须设定为 SHFMT_ID_DEFAULT,即0xFFFF; options:可以有两个选择项:SHFMT_OPT_FULL 0x0001和SHFMT_OPT_SYSONLY 0x0002,如果这一项设置为零,系统就要使用快速格式化作为默认设置。 该函数的返回值要么为一个下列以SHFMT_开头的值,要么是一个成功格式化的磁盘标识。 //上次格式化出错,磁盘可能被格式化 #define SHFMT_ERROR 0xFFFFFFFFL //格式化被取消 #define SHFMT_CANCEL 0xFFFFFFFEL // 不能进行磁盘格式化 #define SHFMT_NOFORMAT 0xFFFFFFFDL 实现步骤 1.函数接口声明 typedef DWORD (WINAPI *PFNSHFORMATDRIVE)(HWND hwnd,UINT drive,UINT fmtID,UINT options); 2.加载Shell32.dll库 HINSTANCE hInstance=LoadLibrary(_T (“Shell32.dll”)); If(hInstance==NULL) return; 3.获得函数指针 PFNSHFORMATDRIVE pFnSHFormatDrive=( PFNSHFORMATDRIVE)GetProcessAddress(_T (“SHFormatDrive”)); if(pFnSHFormatDrive==NULL) { FreeLibrary(hInstance); return; } 4.调用函数 (pFnSHFormatDrive)(hwnd,drive/*a:==0*/,fmtID/* SHFMT_ID_DEFAULT */,options); 5.释放句柄资源 FreeLibrary(hInstance); Return; 本程序在Windows 2000环境下调试通过,使用Delphi、Visual Basic的用户通过调用上述Windows SDK 函数也可以实现磁盘格式化。 /*****************************************************************/也可以直接调用DWORD SHFormatDrive( HWND hwnd, UINT drive,//0 for A:, 2 for C:,... UINT fmtID,//SHFMT_ID_DEFAULT only UINT options//SHFMT_OPT_FULL取消快格,进行全格 //SHFMT_OPT_SYSONLY 创建ms-dos启动盘);包含在头文件shlobj.h,for2k 谢谢,我的psdk太老了,没有这个函数。所以 下载中…… 求一个比较复杂的sql语句,跨表 拆分窗口问题求助 如何实现窗体的某部分可隐藏或可关闭? Windows下VC6.0如何动态加载cygwin编译的DLL 如何实现图像列表显示 vc中如何在CEDIT中得到password VStudio6编译的调试版本中,内存删除之后被置为0xFEEEEEEE模式,请问为什么不是0xDD模式? bool与BOOL false vs FALSE ,char vs CHAR 有何区别? dll崩溃问题 图像显示??? 怎么用SendARP,为什么include不了iphlpapi.h文件 如何屏蔽窗口的大小调整~~??
HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);
UINT drive,//0 for A:, 2 for C:,...
UINT fmtID,//SHFMT_ID_DEFAULT only
UINT options//SHFMT_OPT_FULL取消快格,进行全格
//SHFMT_OPT_SYSONLY 创建ms-dos启动盘
);
包含在头文件shlobj.h,for2khttp://www.codeproject.com/dialog/cformatdrivedialog.asp
以下摘自是一篇文章
从实际应用的角度看,从Windows 9X到Windows NT都应该提供这个FormatDisk函数,否则怎么实现资源管理器窗口的磁盘格式化呢?笔者通过仔细查找发现,Windows 确实提供了这样一个函数,尽管文档资料没有注明,但是如果我们使用View Dependencies打开Shell2.dll,就会发现这个函数。它就是SHFormatDrive,编译连接到Shell32.lib。尽管通过平台的SDK文档和SHELLAPI.H文件并不能发现这个函数,但是Win32各个操作系统都能找到它的踪影。应用程序可以通过调用这个函数实现借用外壳的磁盘格式化对话框格式化磁盘。调用约定如下:
DWORD WINAPI SHFormatDrive(HWND hwnd,UINT drive,UINT fmtID,UINT options);
参数含义如下:
hwnd:拥有对话框的窗口句柄,注意hwnd为NULL时,并不会导致这个对话框生成一个上层的应用程序,也就是说,这个参数总是非NULL,这个对话框只能作为一个窗口的子窗口,而不能作为一个单独的应用程序;
drive:要格式化的驱动器号,以A: == 0为基准,依此类推;
fmtID:必须设定为 SHFMT_ID_DEFAULT,即0xFFFF;
options:可以有两个选择项:SHFMT_OPT_FULL 0x0001和SHFMT_OPT_SYSONLY 0x0002,如果这一项设置为零,系统就要使用快速格式化作为默认设置。
该函数的返回值要么为一个下列以SHFMT_开头的值,要么是一个成功格式化的磁盘标识。
//上次格式化出错,磁盘可能被格式化
#define SHFMT_ERROR 0xFFFFFFFFL
//格式化被取消
#define SHFMT_CANCEL 0xFFFFFFFEL
// 不能进行磁盘格式化
#define SHFMT_NOFORMAT 0xFFFFFFFDL
实现步骤
1.函数接口声明
typedef DWORD (WINAPI *PFNSHFORMATDRIVE)(HWND hwnd,UINT drive,UINT fmtID,UINT options);
2.加载Shell32.dll库
HINSTANCE hInstance=LoadLibrary(_T
(“Shell32.dll”));
If(hInstance==NULL) return;
3.获得函数指针
PFNSHFORMATDRIVE pFnSHFormatDrive=(
PFNSHFORMATDRIVE)GetProcessAddress(_T
(“SHFormatDrive”));
if(pFnSHFormatDrive==NULL)
{
FreeLibrary(hInstance);
return;
}
4.调用函数
(pFnSHFormatDrive)(hwnd,drive/*a:==0*/,fmtID/* SHFMT_ID_DEFAULT */,options);
5.释放句柄资源
FreeLibrary(hInstance);
Return;
本程序在Windows 2000环境下调试通过,使用Delphi、Visual Basic的用户通过调用上述Windows SDK 函数也可以实现磁盘格式化。
/*****************************************************************/也可以直接调用
DWORD SHFormatDrive( HWND hwnd,
UINT drive,//0 for A:, 2 for C:,...
UINT fmtID,//SHFMT_ID_DEFAULT only
UINT options//SHFMT_OPT_FULL取消快格,进行全格
//SHFMT_OPT_SYSONLY 创建ms-dos启动盘
);
包含在头文件shlobj.h,for2k