2

我正在尝试从应用程序初始化、分区和格式化磁盘。操作系统是 Windows Server 2008 R2。我对这些任务使用哪种方法并不重要,但假设我使用的是 DeviceIoControl API。

一旦应用程序初始化并创建了一个分区,Windows 就会弹出一个消息框,说“您需要格式化磁盘...

在此处输入图像描述"

因此,即使我的应用程序立即格式化此磁盘,消息框仍然存在,用户会感到困惑,实际上可以再次格式化它。

有没有办法阻止 Windows 弹出该消息框?

4

1 回答 1

4

看起来情况比我最初的情况要复杂一些。让我在这里解释一下我的发现,可能对其他人有用。

您以哪种方式初始化和格式化驱动器确实很重要。例如,以下diskpart脚本将执行所有操作,Windows不会弹出该消息:

select disk 2
create partition primary
select part 1
format fs=ntfs label="NEW DISK" quick
assign letter Z
exit

但是,如果您尝试先分配字母,然后执行格式 - 将出现消息。

但就我而言,我不想依赖diskpart。我使用DeviceIoControl API 来初始化和分区磁盘,然后等待 WMI 识别卷,所以我可以通过 WMI 格式化它。

不幸的是,锁定装置也不是一种选择。因为如果我这样做,WMI 将无法识别该卷。

基于这个答案如何在没有 Windows 分配驱动器号的情况下创建分区?我决定停止和启动ShellHWDetection服务,实际上效果很好。

于 2013-03-06T17:12:30.920 回答