3
我會找出軟盤插入狀態:我可以使用WMI和System.Management命名空間測試軟驅嗎?
- 沒有軟盤插入
- 未格式化的軟盤插入
- 格式化的軟盤插入
可使用「WMI」這個決定在系統。管理命名空間?
如果是這樣,當軟盤插入狀態更改時,是否可以生成事件?
我會找出軟盤插入狀態:我可以使用WMI和System.Management命名空間測試軟驅嗎?
可使用「WMI」這個決定在系統。管理命名空間?
如果是這樣,當軟盤插入狀態更改時,是否可以生成事件?
使用Bob Kings的想法我寫了下面的方法。
它可以在CD,可移動驅動器,普通驅動器上使用。
然而,對於軟盤它總是返回「不可用」。
public static void TestFloppy(char driveLetter) {
using(var searcher = new ManagementObjectSearcher( @"SELECT * FROM Win32_LogicalDisk WHERE DeviceID = '" + driveLetter + ":'"))
using(var logicalDisks = searcher.Get()) {
foreach(ManagementObject logicalDisk in logicalDisks) {
var fs = logicalDisk[ "FreeSpace" ];
Console.WriteLine("FreeSpace = " + (fs ?? "Not Available"));
logicalDisk.Dispose();
}
}
}
strComputer = "."
Set objWMIService = GetObject(_
"winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery _
("Select * From Win32_LogicalDisk Where DeviceID = 'A:'")
For Each objItem in colItems
intFreeSpace = objItem.FreeSpace
If IsNull(intFreeSpace) Then
Wscript.Echo "There is no disk in the floppy drive."
Else
Wscript.Echo "There is a disk in the floppy drive."
End If
Next
你也可以知道它是格式化或沒有,通過檢查Win32_LogicalDisk class的其他成員。
不適用於軟盤。請參閱回覆代碼。 – jyoung 2008-10-03 19:20:08