如何用vc實現軟體註冊
bjskyhorse閱讀人次:)條
要實現軟體註冊功能,首先需要知道實現註冊機制要涉及到的幾個問題:1、如何加入註冊檢測,判斷軟體是否註冊;2、如何生成註冊碼,如何保證乙個使用者名稱只生成與之唯一對應的註冊碼;3、在軟體不註冊情況下,如何限制軟體功能的侷限性;4、對已經負費使用使用者而言,不應造成使用不便。
首先,應該有乙個生成註冊碼的演算法,以下是我簡單的乙個生成15位註冊碼的演算法:
//該函式返回乙個cstring型別的15位註冊碼,入口引數為使用者名稱
cstring getregpasswd(cstring &dirname) ;
cstring p;
int i,len;
num1=0;
num2=0;
num3=0;
len=int(strlen(dirname));
if(len!=0)
//以下把三個演算法結果分別生成5個字元,共有15個
for(i=0;i<5;i++)
sn[i]=(int)(num1+31+i*i*i)%128;
for(i=5;i<10;i++)
sn[i]=(int)(num2+31+i*i*i)%128;
for(i=10;i<15;i++)
sn[i]=(int)(num3+31+i*i*i)%128;
sn[15]=0;
//以下迴圈把所有生成的字元轉換為0---9,a---z,a----z
for(i=0;i<15;i++)
} //賦值給乙個cstring變數,用做函式返回值
p.format("%s",sn); }
return p; }
//檢查軟體是否註冊的函式
bool getregflag(void)
else
return false;
}; //設定軟體已經註冊標誌的函式
bool setregflag(void)
return false;
}; 以上三個函式即可實現軟體註冊機制,只需要在程式初始化的時候加入以下幾句**即可
bool breg= getregflag ();
if(!breg)
如果使用者註冊只需要加入以下**即可
//這是我的程式中的乙個註冊介面,輸入使用者名稱和註冊碼提交後檢驗註冊碼是否正確的**
void cregedit::onbnclickedok()
m_regpasswd.trimleft();m_regpasswd是註冊碼
m_regpasswd.trimright();
if(m_regpasswd.isempty())
cstring passwd;
passwd=getregpasswd(m_reguser);//呼叫演算法取得該使用者名稱的註冊碼
if(passwd==m_regpasswd)//與使用者輸入的註冊進行比較
else
afxmessagebox("註冊碼錯誤,請重新輸入。");
updatedata(false); }
如何用VC實現軟體註冊
要實現軟體註冊功能,首先需要知道實現註冊機制要涉及到的幾個問題 1 如何加入註冊檢測,判斷軟體是否註冊 2 如何生成註冊碼,如何保證乙個使用者名稱只生成與之唯一對應的註冊碼 3 在軟體不註冊情況下,如何限制軟體功能的侷限性 4 對已經負費使用使用者而言,不應造成使用不便。首先,應該有乙個生成註冊碼的...
如何用vc編寫dll檔案
如何用vc編寫dll檔案 動態連線庫最大的特點就是能節省磁碟空間.當多個程序共享同乙個dll的時候,記憶體中只有乙個dll的 通過對映來使各個程序得以呼叫.1.用vc建立乙個win32 dll 我們利用vc編寫dll有幾種方法.如果用vc建立乙個win32 dll 工程.那這個工程就應該只匯出c 的...
在VC中怎樣實現軟體的註冊機制
要實現軟體註冊功能,首先需要知道實現註冊機制要涉及到的幾個問題 1 如何加入註冊檢測,判斷軟體是否註冊 2 如何生成註冊碼,如何保證乙個使用者名稱只生成與之唯一對應的註冊碼 3 在軟體不註冊情況下,如何限制軟體功能的侷限性 4 對已經負費使用使用者而言,不應造成使用不便。首先,應該有乙個生成註冊碼的...