我正在尝试从应用程序初始化、分区和格式化磁盘。操作系统是 Windows Server 2008 R2。我对这些任务使用哪种方法并不重要,但假设我使用的是 DeviceIoControl API。
一旦应用程序初始化并创建了一个分区,Windows 就会弹出一个消息框,说“您需要格式化磁盘...
"
因此,即使我的应用程序立即格式化此磁盘,消息框仍然存在,用户会感到困惑,实际上可以再次格式化它。
有没有办法阻止 Windows 弹出该消息框?
我正在尝试从应用程序初始化、分区和格式化磁盘。操作系统是 Windows Server 2008 R2。我对这些任务使用哪种方法并不重要,但假设我使用的是 DeviceIoControl API。
一旦应用程序初始化并创建了一个分区,Windows 就会弹出一个消息框,说“您需要格式化磁盘...
"
因此,即使我的应用程序立即格式化此磁盘,消息框仍然存在,用户会感到困惑,实际上可以再次格式化它。
有没有办法阻止 Windows 弹出该消息框?
看起来情况比我最初的情况要复杂一些。让我在这里解释一下我的发现,可能对其他人有用。
您以哪种方式初始化和格式化驱动器确实很重要。例如,以下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服务,实际上效果很好。