如何用VC實現軟體註冊

2021-08-25 21:31:55 字數 1594 閱讀 7597

如何用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 對已經負費使用使用者而言,不應造成使用不便。首先,應該有乙個生成註冊碼的...