ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 6388|回复: 14

[讨论] 封装加注册码才能使用,使封装更安全.

[复制链接]

TA的精华主题

TA的得分主题

发表于 2014-6-27 16:55 | 显示全部楼层 |阅读模式
封装加注册码才能使用!
封装虽说保护了VBA安全,但没有更多的保护封装文件的权限
一般来说封装文件大多是以菜单形式运行,使用加权限变得很重要了
在VBA环境中这些命令就很简单解决,而VB6环境中就不容易解决.


TA的精华主题

TA的得分主题

发表于 2014-6-28 00:14 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2014-6-28 01:08 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-6-28 09:00 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
VB6封装03及07版以上菜单
QQ截图20140628085600.jpg
没注册命令灰白(命令不能运行),其中注册命令可操作
已注册,所有命令都能运行
注册形式,可以是U盘绑定序列号及硬盘序列号等

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-6-28 09:07 | 显示全部楼层
VBA中U盘绑定命令
Sub auto_open()
Dim objWMIService As Object
Dim colItems As Object
Dim objitem As Object
Dim a, b, c, d, e, U_Dist, aaa
  Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
  Set colItems = objWMIService.ExecQuery("Select * From Win32_USBHub")
  For Each objitem In colItems
    a = objitem.DeviceID
    If a Like "*VID*" Then
      b = Split(a, "\")
      c = Split(b(UBound(b) - 1), "&")
      d = Split(c(UBound(c) - 1), "_")
      e = Split(c(UBound(c)), "_")
      U_Dist = d(UBound(d)) + e(UBound(e)) + b(UBound(b))
      If U_Dist = "13FE3823070B243F2821EE34" Then Exit Sub  'U盘物理序列号
    End If
  Next
CreateObject("WScript.Shell").Popup "U盘系列号不对,自动关闭EXCEL!", 1, "雅林-警告"
ThisWorkbook.Close False
end sub
而在VB6封装怎样做到?

TA的精华主题

TA的得分主题

 楼主| 发表于 2014-6-28 09:23 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2014-6-28 10:38 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
雅林源居 发表于 2014-6-28 09:07
VBA中U盘绑定命令
Sub auto_open()
Dim objWMIService As Object

这个不错,稍微修改一下,获取U盘的物理序列号:

Sub GetUdiskNo()
    DimobjWMIService As Object, colItems As Object, objitem As Object, a, b, c, d, e,U_Dist, aaa
    SetobjWMIService = GetObject("winmgmts:\\.\root\cimv2")
    SetcolItems = objWMIService.ExecQuery("Select * From Win32_USBHub")
    For Eachobjitem In colItems
        a =objitem.DeviceID
        If aLike "*VID*" Then
            b= Split(a, "\")
            c= Split(b(UBound(b) - 1), "&")
            d= Split(c(UBound(c) - 1), "_")
            e= Split(c(UBound(c)), "_")
           U_Dist = d(UBound(d)) + e(UBound(e)) + b(UBound(b))
           '  If U_Dist ="13FE3823070B243F2821EE34" Then Exit Sub  'U盘物理序号
        EndIf
    Next
   'CreateObject("WScript.Shell").Popup "U盘系列号不对,自动关闭EXCEL!",1, "雅林-警告"
   'ThisWorkbook.Close False
    MsgBox"U盘物理序号: " & vbCr & _
          U_Dist, 64 + 0, "提醒"
End Sub






TA的精华主题

TA的得分主题

发表于 2015-10-3 14:00 | 显示全部楼层
雅林源居 发表于 2014-6-28 09:00
VB6封装03及07版以上菜单

没注册命令灰白(命令不能运行),其中注册命令可操作

没有注册命令为灰色怎么做出来,能不能分享一下?

TA的精华主题

TA的得分主题

发表于 2016-12-6 16:03 | 显示全部楼层
getEnable回调,终于做出来了呵如果到现在还没做出来,请私我

TA的精华主题

TA的得分主题

发表于 2016-12-7 00:01 来自手机 | 显示全部楼层
loquat 发表于 2016-12-6 16:03
getEnable回调,终于做出来了呵如果到现在还没做出来,请私我

什么是回调?怎么实现灰白与启用,求分享1361068701@qq.com
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-19 05:55 , Processed in 0.041403 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表