procinfo {
; $1 can include these and more: Caption,Manufacturer,MaxClockSpeed,Name,NumberOfCores,ProcessorType,Version
var %a = a $+ $ticks, %b = b $+ $ticks
.comopen %a WBemScripting.SWBemLocator
if (!$com(%a)) {
echo -abcfilqrt info * /procinfo: problem connecting to WMI.
return
}
.comclose %a $com(%a,ConnectServer,1,dispatch* %b)
if (!$com(%b)) {
echo -abcfilqrt info * /procinfo: problem connecting to WMI.
return
}
var %query = SELECT $1 FROM Win32_Processor
.comclose %b $com(%b,ExecQuery,1,bstr,%query,dispatch* %a)
if (!$com(%a)) {
echo -abcfilqrt info * /procinfo: problem connecting to WMI.
return
}
var %i = 1, %n = $comval(%a,0)
while (%i <= %n) {
var %value = $comval(%a,%i,$1)
if (%i < %n) { linesep -a }
inc %i
}
.comclose %a
return %value
}