CPU温度,可能会有某些系统不支持(?)
package.cpath=os.getenv("systemroot") .. [[\system32\?.dll]];
require "luacom"
function Escape(v)
if v == nil then return ""; end
if (type(v) == "table") then return Table.Concat(v, ";", 1, TABLE_ALL);
elseif (type(v) == "boolean") then
if v == true then return "Yes";
elseif (v == false) then return "No";
end
end
return v;
end
--strComputer = "localhost";
strComputer = ".";
OutputTitle = "";
Output = "";
OutputTitle = OutputTitle .. "Computer: " .. strComputer .. "\r\n";
OutputTitle = OutputTitle .. "==========================================\r\n\r\n";
objWMIService = luacom.GetObject("winmgmts:\\\\" .. strComputer .. "\\root\\WMI");
--colItems = objWMIService:ExecQuery("SELECT * FROM MSAcpi_ThermalZoneTemperature", "WQL", 48);
colItems = objWMIService:InstancesOf("MSAcpi_ThermalZoneTemperature");
print(OutputTitle);
if (colItems) then
for i,objItem in luacom.pairs(colItems) do
print("A");
Output = Output .. "Active: " .. Escape(objItem:Active()) .. "\r\n";
strActiveTripPoint = Escape(objItem.ActiveTripPoint(0))
Output = Output .. "ActiveTripPoint: " .. strActiveTripPoint .. "\r\n";
Output = Output .. "ActiveTripPointCount: " .. Escape(objItem:ActiveTripPointCount()) .. "\r\n";
Output = Output .. "CriticalTripPoint: " .. Escape(objItem:CriticalTripPoint()) .. "\r\n";
Output = Output .. "CurrentTemperature: " .. Escape(objItem:CurrentTemperature()) .. "\r\n";
Output = Output .. "InstanceName: " .. Escape(objItem:InstanceName()) .. "\r\n";
Output = Output .. "PassiveTripPoint: " .. Escape(objItem:PassiveTripPoint()) .. "\r\n";
Output = Output .. "Reserved: " .. Escape(objItem:Reserved()) .. "\r\n";
Output = Output .. "SamplingPeriod: " .. Escape(objItem:SamplingPeriod()) .. "\r\n";
Output = Output .. "ThermalConstant1: " .. Escape(objItem:ThermalConstant1()) .. "\r\n";
Output = Output .. "ThermalConstant2: " .. Escape(objItem:ThermalConstant2()) .. "\r\n";
Output = Output .. "ThermalStamp: " .. Escape(objItem:ThermalStamp()) .. "\r\n";
Output = "";
end
print(Output);
end
end