? getprocessor() FUNCTION getprocessor m.value = "" m.value = passtwo()+CHR(13) HKEY_LOCAL_MACHINE = -2147483646 REG_SZ = 1 REG_BINARY = 3 REG_DWORD = 4 ERROR_SUCCESS = 0 PRIVATE nKey, cSubKey, cValue, cValueRead, m.value, value1, value2, value3, value4, value5, value6 m.value = m.value+"CPU Type: "+sys(17)+chr(13) nkey = HKEY_LOCAL_MACHINE cSubKey = "Hardware\DESCRIPTION\System\CentralProcessor\0" cValue = "ProcessorNameString" cValueRead='' cValueRead = readreg_sz(nKey, cSubKey, cValue) IF !EMPTY(cValueRead) m.value = m.value + "Processor 1: "+LTRIM(cValueRead)+CHR(13) ENDIF cSubKey = "Hardware\DESCRIPTION\System\CentralProcessor\1" cValue = "ProcessorNameString" cValueRead='' cValueRead = readreg_sz(nKey, cSubKey, cValue) IF !EMPTY(cValueRead) m.value = m.value + "Processor 2: "+LTRIM(cValueRead)+CHR(13) ENDIF cSubKey = "Hardware\DESCRIPTION\System\CentralProcessor\2" cValue = "ProcessorNameString" cValueRead='' cValueRead = readreg_sz(nKey, cSubKey, cValue) IF !EMPTY(cValueRead) m.value = m.value + "Processor 3: "+LTRIM(cValueRead)+CHR(13) ENDIF cSubKey = "Hardware\DESCRIPTION\System\CentralProcessor\3" cValue = "ProcessorNameString" cValueRead='' cValueRead = readreg_sz(nKey, cSubKey, cValue) IF !EMPTY(cValueRead) m.value = m.value + "Processor 4: "+LTRIM(cValueRead)+CHR(13) ENDIF RETURN m.value PROCEDURE Readreg_sz LPARAMETERS nKey, cSubKey, cValue IF TYPE('nkey')="L" RETURN '' ENDIF IF TYPE('cSubkey')="L" RETURN "" ENDIF IF TYPE('cValue') = "L" RETURN "" ENDIF #DEFINE REG_SZ 1 DECLARE Integer RegOpenKey IN Win32API ; Integer nHKey, String @cSubKey, Integer @nResult DECLARE Integer RegQueryValueEx IN Win32API ; Integer nHKey, String lpszValueName, Integer dwReserved,; Integer @lpdwType, String @lpbData, Integer @lpcbData DECLARE Integer RegCloseKey IN Win32API Integer nHKey LOCAL nErrCode LOCAL nKeyHandle LOCAL lpdwValueType LOCAL lpbValue LOCAL lpcbValueSize LOCAL lpdwReserved nKeyHandle = 0 lpdwReserved = 0 lpdwValueType = REG_SZ lpbValue = "" nErrCode = RegOpenKey(nKey, cSubKey, @nKeyHandle) IF (nErrCode # 0) THEN RETURN "" ENDIF lpcbValueSize = 1 nErrCode=RegQueryValueEx(nKeyHandle, cValue, lpdwReserved, @lpdwValueType, @lpbValue, @lpcbValueSize) lpbValue = SPACE(lpcbValueSize) nErrCode=RegQueryValueEx(nKeyHandle, cValue, lpdwReserved, @lpdwValueType, @lpbValue, @lpcbValueSize) =RegCloseKey(nKeyHandle) IF (nErrCode # 0) THEN RETURN "" ENDIF lpbValue = LEFT(lpbValue, lpcbValueSize - 1) RETURN lpbValue FUNCTION passtwo newvalue = '' VALUE1 = "Number of CPUs: " +GETENV("NUMBER_OF_PROCESSORS")+CHR(13) value2 = "Processor Architecture: " +GETENV("PROCESSOR_ARCHITECTURE")+CHR(13) value3 = "Processor Identifier: " +GETENV("PROCESSOR_IDENTIFIER")+CHR(13) value4 = "Processor Level: " +GETENV("PROCESSOR_LEVEL")+CHR(13) value5 = "Processor Revision: " +GETENV("PROCESSOR_REVISION")+CHR(13) newvalue = value1+value2+value3+value4+value5 RETURN newvalue