> >*============================================================================== >* 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 >I used this, it works slow some computers so I removed.