把你的dll,ocx里面设定一个标志变量。你的Application在使用他们之前,先对该变量负值。在ocx和dll的初期化函数里面验证

解决方案 »

  1.   

    授权怎么用???
     miaoweijun(苗苗)的说法可行,但是如果com太多,就麻烦了吧
      

  2.   

    呵呵,COM太多就定义一个接口,每个COM都要使用那个接口,然后就好办了萨,呵呵,详细情况请去学习OOP。也要使用授权,这样就很好
    例如添加一个方法
    Private Registered
    Sub Register(Name As String, Password as string)
    Registered=name="xxxx" and password="xxxx"
    End Sub
    然后在每个Sub的开头都加入
    If Not Registered Then Exit Sub
    每隔Function的开头都加入
    If Not Registered Then Exit Function
    每隔Proeprty的开头都加入
    If Not Registered Then Exit Property
    就这样萨另外,所有发布的EXE,OCX,DLL最好使用ASPACK,否则别人用UltraEdit就看出了授权的Name和Password了
      

  3.   

    别人用你的控件或链接库,说明你的活干的漂亮。
    如果大家都用你的控件,那你就等着收银子 - 经常update.
      

  4.   

    我有个办法,给dll文件里面你编写的函数增加一个用于检验的参数,比如是定义一个参数 cert ,如果参数 cert 不等于一个固定的值比如是 1234 就跳出函数,当调用dll 里面的函数的时候, 要 给出参数 cert=1234 作为密码,这样别人就算能分析出你的dll里面有些什么函数,也不知道 cert 应该等于多少。根据这样的思路,还可以把 cert做一些变化,比如同当前的日期结合起来,把日期经过变换生成参数cert,然后在你的函数内部用同样的算法用日期产生一个变量,看cert与该变量是否相等,别人就不知道怎么调用你的dll的函数了。