#DEFINE S_OK 0 FUNCTION CLSIDFromProgIDEx(lcProgID,lcGuidString) DECLARE INTEGER CLSIDFromProgID IN ole32.dll STRING pProgID, STRING @ pGuid DECLARE INTEGER StringFromGUID2 IN ole32.dll STRING pGuid, STRING @ pString, INTEGER nMaxChars LOCAL lcGuid, lnHr, lnChars lcGuid = SPACE(16) lcGuidString = SPACE(80) lcProgID = STRCONV(lcProgID+CHR(0),5) lnHr = CLSIDFromProgID(lcProgID,@lcGuid) IF lnHR = S_OK lnChars = StringFromGUID2(lcGuid,@lcGuidString,40) lcGuidString = STRCONV(lcGuidString,6) lcGuidString = LEFT(lcGuidString,lnChars-1) ENDIF RETURN lnHr ENDFUNC && usage LOCAL lnHr, lcClsID IF CLSIDFromProgIDEx('yourExe.yourClass',@lcClsID) = 0 ? lcClsID ENDIFRegards