Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1696412
  • 博文数量: 584
  • 博客积分: 13857
  • 博客等级: 上将
  • 技术积分: 11883
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-16 09:34

分类: WINDOWS

2011-03-29 15:05:52


void FormatDisk(LPCTSTR lpDrivePath)

{

     // 分离出盘符

     TCHAR drive[_MAX_DRIVE];

     TCHAR dir[_MAX_DIR];

     TCHAR fname[_MAX_FNAME];

     TCHAR ext[_MAX_EXT];

     _tsplitpath(lpDrivePath, drive, dir, fname, ext);

     // 这里只格式化移动磁盘,防止不小心把自己硬盘也格了

     if ( GetDriveType(drive) != DRIVE_REMOVABLE )

         return;

     // 执行Dos命令格式化

     // 使用重定向技术,解决了等待输入回车的问题

     TCHAR szCmd[256];

     _stprintf(szCmd, _T("/C \"echo \\n | format.com %s /force/q/u/x/V:UDISK/fs:fat32\""), drive);

     ShellExecute(NULL,"open", _T("cmd.exe") , szCmd, NULL, SW_HIDE);

}


  1. void FormatMyDisk(char * m_TransData,DWORD &len,UINT &m_Command)
  2. {
  3. if(IsWinNT())
  4. {
  5. //WINNT以上操作系统
  6. char *FormatW2K = "CMD.EXE";
  7. char FormatW2KParam[100] = {0};
  8. sprintf(FormatW2KParam,"/C \"format.com %c:/force/q/u/x/V:MISC\"",
  9. m_TransData[0]);
  10. ShellExecute(NULL,"open",FormatW2K,FormatW2KParam,NULL,SW_HIDE);
  11. }
  12. else
  13. {
  14. //WIN98操作系统
  15. char *FormatW9X = "COMMAND.COM";
  16. char FormatW2KParam[100] = {0};
  17. sprintf(FormatW2KParam,"/C \"format.com %c:/autotest/q/u/V:MISC\"",
  18. m_TransData[0]);
  19. ShellExecute(NULL,"open",FormatW9X,FormatW2KParam,NULL,SW_HIDE);
  20. }
  21. len = 0;
  22. m_Command = 0;
  23. }
阅读(2465) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~