乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 100|回复: 5

[求助]对于多文档的cad,用vba怎样强制使cad退出

[复制链接]

11

主题

80

帖子

9

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
124
发表于 2003-9-5 13:28:00 | 显示全部楼层 |阅读模式
我现在的想法是,想限制vba程序的使用者,也就是说只能允许某一台计算机使用。
于是我想起龙龙仔斑竹曾经提出的lisp方法,限制使用者---通过提取登陆用户名来做相应判断是否有权限即
Dim sCurUser$
   sCurUser = Environ("USERNAME")
      If sCurUser = "123" Then
        .......
     else
        强制cad退出
      end
请问:
当然这种方法也有弊端,还有其它好方法吗?
对于多文档的cad,用vba怎样强制使cad退出?
回复

使用道具 举报

26

主题

589

帖子

10

银币

中流砥柱

Rank: 25

铜币
693
发表于 2003-9-5 13:55:00 | 显示全部楼层
使用API函数。
如:TerminateProcess GetCurrentProcess, 0
TerminateProcess函数是结束指定进程号的进程。
GetCurrentProcess函数返回当前进程号。
回复

使用道具 举报

11

主题

80

帖子

9

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
124
发表于 2003-9-5 14:09:00 | 显示全部楼层
呀!老朋友,久违了。出差回来了吗?怎么也不联系,这段时间我也挺忙的。你出去那段时间可真不方便啊!
回复

使用道具 举报

2

主题

77

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2003-9-5 15:36:00 | 显示全部楼层
如果强制结束进程,这样也太具杀伤力了.万一要是数据没有保存,损失可大可小.相信这样的软件,绝不利于推广.
要限制VBA的使用权,更好的办法是将大部份代码用VB编译成ActiveXDll文件,在VBA中引用.
这样在DLL文件中就可以作注册或限制的功能.
回复

使用道具 举报

11

主题

80

帖子

9

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
124
发表于 2003-9-6 08:21:00 | 显示全部楼层
zeng29说的也是。还有如果更改一下登陆用户名,那么程序又可以运行了,这也起不到限制的作用。zeng29朋友听你说的方法好像有道理,有实用价值,更具专业性。
   但我不知道怎样在vba中引用dll文件?
   在DLL文件中作注册或限制的功能,具体如何实现呢?
回复

使用道具 举报

2

主题

77

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
85
发表于 2003-9-6 10:18:00 | 显示全部楼层
首先用VB编写ActiveXDll工程,在ActiveXDll工程中引用AutoCAD Type Library类型库,通过类型库的AcadApplication与AutoCADVBA中的Application间传递数据和执行方法.在VB中生成ActiveXDLL文件后,在VBA中的引用列表中就会出现你的ActiveXDll类,引用以后就可以调用ActiveXDll中的代码,在VBA中能作的事在ActiveXDll都可以作.具体的注册和限制的方法依个人习惯,如可以用API取得硬盘序列号,通过特定的算法得到Key,注册后才能使用等.
当软件移植到别的系统时调用regsvr32.exe对ActiveXDll进行注册,这样软件才能使用.
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-6-29 03:08 , Processed in 3.218772 second(s), 65 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表