乐筑天下

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

[求助]如何不让文件被拷贝?

[复制链接]

11

主题

17

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
61
发表于 2005-2-27 12:03:00 | 显示全部楼层 |阅读模式
我用VBA编写了一个专业软件,内嵌在某一图形文件中.我只想拷贝给我的同事使用,而不想让他们外传.也就是说只有我有权利给别人拷贝,而别人无法进行拷贝,只能使用.请高手指教.
回复

使用道具 举报

12

主题

71

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
119
发表于 2005-2-27 13:32:00 | 显示全部楼层
在程序开始的部分加一段,检查使用者是否在合法用户名单里面
AutoCAD有一个只读的系统变量LOGINNAME,其值为用户名。
在AutoCAD命令栏直接输LOGINNAME就可以看出当前值是多少
比如你只准备让USER1、USER2、USER3三个人用你的程序
Dim strLoginName As String
Dim varLegalUsers As Variant
Dim i As Integer
Dim n As Integer
varLegalUsers = Array("USER1", "USER2", "USER3") '合法用户名单
n = UBound(varLegalUsers)
strLoginName = ActiveDocument.GetVariable("LOGINNAME")
For i = 0 To n
         If UCase$(strLoginName) = varLegalUsers(i) Then Exit For
Next
If i > n Then End '如属非法用户停止运行
回复

使用道具 举报

11

主题

17

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
61
发表于 2005-2-27 18:14:00 | 显示全部楼层
LOGINNAME 这个用户名是不是每台机器都不一样.如何确认别人的LOGINNAME是唯一的?有没有更好的办法
回复

使用道具 举报

9

主题

40

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
76
发表于 2005-4-7 14:27:00 | 显示全部楼层
有没有办法根据硬盘序列号来限制?
回复

使用道具 举报

20

主题

115

帖子

5

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
195
发表于 2005-4-7 18:36:00 | 显示全部楼层
我觉得通过LOGINNAME来控制不是太好,我有一个LISP程序也是这么做的。结果给人家安装前得去看看他的电脑,太麻烦了。我现在通过使用期限来实现的,并且每次打开或者关闭图形弹出一个令他们讨厌的对话框。:)
回复

使用道具 举报

158

主题

2315

帖子

10

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2951
发表于 2005-4-7 21:42:00 | 显示全部楼层
用硬盘序列号生成的机器码通过一定的计算来生成验证码可能也不错。
回复

使用道具 举报

55

主题

282

帖子

5

银币

中流砥柱

Rank: 25

铜币
502
发表于 2005-4-9 17:59:00 | 显示全部楼层
如果是专业开发,是应该设置保护的,但如果只是业余的,有必要设置保护吗?这样给同事用的话,他们会这样想呢?呵呵!
回复

使用道具 举报

0

主题

2

帖子

2

银币

初来乍到

Rank: 1

铜币
2
发表于 2005-4-20 22:09:00 | 显示全部楼层

请教如何实现呢!
能不能给个示例,我找了很长时间,就是没找到相应的帖子!
先谢谢了!
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-7-2 06:18 , Processed in 0.779590 second(s), 68 queries .

© 2020-2025 乐筑天下

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