怎么才能让软件在使用的时候通过注册码来激活呢!不用注册码就不能使用该软件!只能试用一定次数,试用完以后就必须得注册才能继续使用!怎么才能控制在软件运行的时候输入注册码呢!

解决方案 »

  1.   

    写一些文件放在SYSTEM目录下,并将其改为.dll后缀,然后调用它
      

  2.   

    简单的一种
    注册机是在注册表里找个固定的位置写也字符也就是注册码:如 
    Call savestring(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows NT\CurrentVersion\winlogon "turkey", "410104")程序的LOAD里加入读
    Text1.Text = getstring(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows NT \CurrentVersion\logon", "turkey")if text1.text <> "410104" then
     msgbox "没有注册"
     end
    end if
    //************************************************
    下边的是对写等注册表的操作和例子==========================================================
    ****************************
    删除
    Private Sub Command1_Click()
    Call DeleteValue(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "turkey")
    End Sub
    Public Function DeleteValue(ByVal Hkey As Long, ByVal strPath As String, ByVal strValue As String)
        Dim keyhand As Long
        Dim r As Long
        r = RegOpenKey(Hkey, strPath, keyhand)
        r = RegDeleteValue(keyhand, strValue)
        r = RegCloseKey(keyhand)
    End Function**********************************
    保存
    Private Sub Command1_Click()
    Call savestring(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "turkey", "c:\hoho.txt")
    End SubPublic Sub savestring(Hkey As Long, strPath As String, strValue As String, strdata As String)
        Dim keyhand As Long
        Dim r As Long
        r = RegCreateKey(Hkey, strPath, keyhand)
        r = RegSetValueEx(keyhand, strValue, 0, REG_SZ, ByVal strdata, Len(strdata))
        r = RegCloseKey(keyhand)
    End Sub
    *********************************
    读取
    Public Function getstring(Hkey As Long, strPath As String, strValue As String)
        Dim keyhand As Long
        Dim datatype As Long
        Dim lResult As Long
        Dim strBuf As String
        Dim lDataBufSize As Long
        Dim intZeroPos As Integer
        Dim r As Long
        Dim lValueType As Long
        
        r = RegOpenKey(Hkey, strPath, keyhand)
        lResult = RegQueryValueEx(keyhand, strValue, 0&, lValueType, ByVal 0&, lDataBufSize)
        If lValueType = REG_SZ Then
            strBuf = String(lDataBufSize, " ")
            lResult = RegQueryValueEx(keyhand, strValue, 0&, 0&, ByVal strBuf, lDataBufSize)
            If lResult = ERROR_SUCCESS Then
                intZeroPos = InStr(strBuf, Chr$(0))
                If intZeroPos > 0 Then
                    getstring = Left$(strBuf, intZeroPos - 1)
                Else
                    getstring = strBuf
                End If
            End If
        End If
    End FunctionPrivate Sub Command1_Click()
    Text1.Text = getstring(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "turkey")
    End Sub
    ************************************
    Public Declare Function RegCloseKey Lib "advapi32.dll" (ByVal Hkey As Long) As Long
    Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
    Public Declare Function RegDeleteKey Lib "advapi32.dll" Alias "RegDeleteKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String) As Long
    Public Declare Function RegDeleteValue Lib "advapi32.dll" Alias "RegDeleteValueA" (ByVal Hkey As Long, ByVal lpValueName As String) As Long
    Public Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal Hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
    Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal Hkey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long
    Public Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal Hkey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
    Public Const REG_SZ = 1 ' Unicode nul terminated String
    Public Const REG_DWORD = 4 ' 32-bit number
    Public Const HKEY_CLASSES_ROOT = &H80000000
    Public Const HKEY_CURRENT_USER = &H80000001
    Public Const HKEY_LOCAL_MACHINE = &H80000002
    Public Const HKEY_USERS = &H80000003
    Public Const HKEY_PERFORMANCE_DATA = &H80000004
    Public Const ERROR_SUCCESS = 0&
      

  3.   

    问题解决了,真是谢谢大家了!
    我用的是函数!很简单,就是保密性差点!getsetting和savesetting就可以了!