PROCEDURE parseprocessinfostruc LPARAMETER cProcessInfoStructure WITH This .inProcessHandle = .ExtractDWORD(cProcessInfoStructure) .inThreadHandle = .ExtractDWORD(SUBST(cProcessInfoStructure,5)) ENDWITH ENDPROC PROCEDURE extractdword LPARAMETER cStringToExtractFrom IF TYPE('cStringToExtractFrom')='C' AND LEN(cStringToExtractFrom) >= 4 RETURN (((ASC(SUBST(cStringToExtractFrom,4,1))*256) + ; ASC(SUBST(cStringToExtractFrom,3,1)))*256 + ; ASC(SUBST(cStringToExtractFrom,2,1)))*256 + ; ASC(LEFT(cStringToExtractFrom,1)) ELSE this.icErrorMessage = 'Invalid DWORD string passed for conversion' RETURN NULL ENDIF ENDPROC>>hello everybody,