WMI Win32_Processorが使えない
最近Windows7→10にした一台でアップデートしたとたんWin32_Processorが使えなくなってた
LoadPercentageがずっとnullになる感じ
他のWin10マシンでは問題ないので原因はよくわかんない
アップデート後にCPUの使用ログを見たらずっと0%のままなので何事かと思ったら・・・
とりあえずWin32_PerfFormattedData_PerfOS_Processorは使えるようなので
PercentProcessorTimeで置き換えるようにしてみた
タスクマネージャのCPU使用率と数ポイント誤差があるけどまぁええやろ
var locater = WScript.CreateObject("WbemScripting.SWbemLocator"); var service = locater.ConnectServer(); function get_cpu(service) { var xs = new Enumerator(service.ExecQuery("Select * From Win32_Processor")); for(; !xs.atEnd(); xs.moveNext()) { if(xs.item().LoadPercentage == null) {break;} return(xs.item().LoadPercentage); } xs = new Enumerator(service.ExecQuery("Select * From Win32_PerfFormattedData_PerfOS_Processor Where Name = '_Total'")); for(; !xs.atEnd(); xs.moveNext()) { return(xs.item().PercentProcessorTime); } return(""); }
全くもう、ようわからん
昨日今日とちゃんと動いたので良しとしよう