0

我想在闪存驱动器中构建易于清理的病毒首先,将闪存驱动器中的每个文件复制到另一个文件夹中。之后,格式化闪存驱动器并将文件从文件夹复制回闪存驱动器。我使用 VC++ MFC。我尝试查找有关复制和格式化驱动器功能的信息,但找不到复制所有文件的代码。所以,我尝试在 system() 函数中运行命令行,但是当我运行时

system("格式 f: /Q");

它需要按回车。我想用VC++格式的驱动,不按任意键,不显示DOS窗口就好了。请帮我。

4

2 回答 2

0

几年前我也有同样的需求,而且 Windows 没有提供 API 来轻松格式化磁盘,您必须自己执行所有低级操作。AutoFormat for Windows是一个不需要用户干预的修补命令行格式实用程序。

不幸的是,您不能使用SHFileOperationand co。以静默方式将文件复制到外部 USB。如果您在 Windows XP SP3 上使用FOF_SILENTFOF_NO_UI复制到 USB,该操作将无声且莫名其妙地失败。如果您的目标不是 Windows XP,那么无论如何,这里有一个示例,说明如何在无需用户干预的情况下递归SHFileOperation将目录内容复制到外部驱动器。

于 2013-02-01T19:06:25.087 回答
0
  • 要复制文件,可以使用 ShFileOperation 函数。
  • 要格式化,可以使用 SHFormatDrive;但也会警告用户。

我认为没有“高级”API 可以让您静默格式化磁盘;这是出于安全原因,您不希望恶意人员在代码中添加“复活节彩蛋”来格式化用户的磁盘。

祝你好运。

于 2013-02-01T15:58:16.417 回答