明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2304|回复: 3

宏卸载自身并自我删除

[复制链接]
发表于 2008-4-18 07:43:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2008-4-19 15:11:58 编辑

我自己编了一个VBA不想被破解或别人使用

使用三次后或到一时间,自动删除自己的dvb文件

 楼主| 发表于 2008-4-19 14:57:00 | 显示全部楼层
本帖最后由 作者 于 2008-4-19 15:04:36 编辑
  1. Sub 宏自杀()
  2. Dim n As String
  3. If Date < DateValue("2009-5-30") Then
  4.    msgbox "正常"
  5. Else
  6.    n = Replace(VBE.ActiveVBProject.FileName, "Documents and Settings", "docume~1")
  7.    Open VBA.Environ("TEMP") + "xxx.bat" For Output As #1
  8.    Print #1, "ping -n 1 127.0.0.1 > nul"
  9.    Print #1, "del " + n + " /f/s/q/a"
  10.    Close #1
  11.    VBA.Shell "cmd /Q /C " + VBA.Environ("TEMP") + "xxx.bat", vbHide
  12.    UnloadDVB VBE.ActiveVBProject.FileName
  13. End If
  14. End Sub
Sub 宏自杀()
Dim LJ As String
If Date < DateValue("2009-5-21") Then
'在2009年5月21之前能正常使用msgbox,否则借助批命令删除宏
msgbox "正常调用程序"
Else

LJ = Replace(VBE.ActiveVBProject.FileName, "Documents and Settings", "docume~1")
'用VBE.ActiveVBProject.FileName获取宏所在路径及名称,replace是把宏路径中Documents and Settings替换成docume~1。删除文件批命令del C:\Documents and Settings\Administrator\宏名.dvb是无效,必须改成del C:\docume~1\Administrator\宏名.dvb才可以删除文件

Open VBA.Environ("TEMP") + "xxx.bat" For Output As #1
'上面一条命令VBA.Environ("TEMP") 获取环境变量中temp路径,并在系统temp文件夹生成xxx.bat批文件
Print #1, "ping -n 1 127.0.0.1 > nul"
Print #1, "del " + LJ + " /f/s/q/a"
'上面两条命令向xxx.bat批文件写入两行命令"ping -n 1 127.0.0.1 > nul"和"del  "+ LJ + " /f/s/q/a "
'批命令执行,延时1秒钟后删除宏。
'  ping -n 1 127.0.0.1 > nul作用是延时1秒钟
'  "del  "+ n + " /f/s/q/a "删除文件
'为什么要延时1秒钟?如果宏加载到cad,宏被占用是不能直接删除的,只有先卸载了才能删除

Close #1

VBA.Shell "cmd /Q /C " + VBA.Environ("TEMP") + "xxx.bat", vbHide
'执行批命令
UnloadDVB VBE.ActiveVBProject.FileName
'卸载当前宏.卸载以后,批命令就能删除宏了
End If
End Sub
发表于 2008-4-20 11:22:00 | 显示全部楼层
有没有办法让宏不能复制?
 楼主| 发表于 2008-4-20 19:49:00 | 显示全部楼层
呵呵这个太难了,估计只有精通系统底层专家才能办到
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 08:46 , Processed in 0.144061 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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