Figure 1: The VerifyUserLicense method

int CCUJSAMPCtrl::nagFlag = 0; //init of static member... 
.......
     
// Licensing strings
static const TCHAR BASED_CODE _szLicFileName[] =
    _T("CUJSamp.lic"); 
LPOLESTR  _szLicString = NULL;
LPOLESTR  _szNagString = L"NAGGING";
static char SecretString[] = _T("TESTMD5");// for example......
     
// Checks for existence of a user license
BOOL CCUJSAMPCtrl::CCUJSAMPCtrlFactory::VerifyUserLicense() 
{
        USES_CONVERSION;
     
        CMD5Encrypt md5;
        char* digest = md5.MD5String(SecretString); 
        _szLicString = A2OLE (digest);
     
        if ( !AfxVerifyLicFile(AfxGetInstanceHandle(),
                 _szLicFileName, _szLicString) )
        {
                // put up Nag Message to get user to pay for the
                // control.... 
                AfxMessageBox("NAG NAG NAG!!!");
                                nagFlag = 1; // static member...
        }
        return TRUE;
}
     

//End of File