vbscript に「問題」があります。次のコードで CD がロードされているかどうかを確認します。
On Error Resume Next
Computer = "."
Set OutFile = CreateObject("WScript.Shell")
Const ForAppending = 2
Set FileSystem = CreateObject("Scripting.FileSystemObject")
Set WMIService = GetObject("winmgmts:\\" & Computer & "\root\cimv2")
Set Items = WMIService.ExecQuery("Select * from Win32_CDROMDrive WHERE DRIVE = 'F:'",,48)
For Each SubItems in Items
WScript.Echo "DRIVE: "&SubItems.MediaLoaded
Next
「DRIVE: False」を返す
しかし、出力を出力する行を変更すると、次のようになります。
WScript.Echo SubItems.MediaLoaded
-1 を返します
「DRIVE:-1」を取得する方法を知っている人はいますか?
madzone のおかげで WScript.Echo "DRIVE: "&cint(SubItems.MediaLoaded) で解決しました