08/09/02 22:39:04 /oXppw8S
下のVBSとJScriptは同じ動作をするんですが、なぜJScriptのほうで var objSys = enumSys.item(); という手間がひとつ多く必要なのかがよくわからんのです。
どなたか教えてプリーズ。
-----VBS
Set wmi = GetObject("winmgmts:")
Set SystemSet = wmi.ExecQuery("SELECT * FROM Win32_OperatingSystem")
for each System in SystemSet
WScript.Echo "Caption: " + System.Caption
WScript.Echo "Version: " + System.Version
WScript.Echo "Memory: " + System.TotalVisibleMemorySize
next
-----JScript
var wmi = GetObject("winmgmts:");
var SystemSets = wmi.ExecQuery("SELECT * FROM Win32_OperatingSystem");
for(var enumSys = new Enumerator(SystemSets); ! enumSys.atEnd(); enumSys.moveNext()) {
var objSys = enumSys.item();
WScript.Echo("Caption: " + objSys.Caption);
WScript.Echo("Version: " + objSys.Version);
WScript.Echo("Memory: " + objSys.TotalVisibleMemorySize);
}
あと、JScriptでWMIとかをいじる時に、オブジェクトの中身を見られるメソッドみたいなものがあれば教えて欲しいです。
enumSys.toSource()
だと「実行時エラー: オブジェクトでサポートされていないプロパティまたはメソッドです。」と言われてしまいます。