*============================================================================== * Method: iApplication.GetCPUid * Purpose: Gets the serial number of the CPU. * Author: Hammack Development Assoc. * Parameters: None. * Returns: Character-string alphanumeric processor ID, else "" if * not able to determine or error condition encountered. * Added: 08/27/2009 *============================================================================== LOCAL loWMI, loCPUs, loCPU, lcResult loWMI = GETOBJECT("winmgmts:") IF VARTYPE(loWMI) <> T_OBJECT RETURN "" ENDIF loCPUs = loWMI.InstancesOf("WIN32_Processor") IF VARTYPE(loCPUs) <> T_OBJECT OR VARTYPE(loCPUs.Count) <> T_NUMERIC OR loCPUs.Count <> 1 RETURN "" ENDIF FOR EACH loCPU IN loCPUs lcResult = loCPU.processorID IF VARTYPE(lcResult) = T_NUMERIC AND NOT EMPTY(lcResult) lcResult = TRANSFORM(lcResult) ENDIF ENDFOR && EACH loCPU IN loCPUs RETURN IIF(VARTYPE(lcResult) = T_CHARACTER AND NOT EMPTY(lcResult), ; lcResult, "") && end iApplication.GetCPUid