VBA 如何thisworkbook.open中加入判断硬盘序号的方法,当检查到不在你的电脑上运行时就自杀。

VBA 如何thisworkbook.open中加入判断硬盘序号的方法,当检查到不在你的电脑上运行时就自杀。,第1张

你这东西应该付费索取吧?

不过 既然你问了 就给你提供个思路,

自己找 输出硬盘序号的 代码,做成一个 函数 Fun函数(),

然后在

thisworkbookopen 事件中 判断 Fun函数 返回的结果是否是你想要的,如果不是,则

call Sub自然代码。

如果用其它软件捆绑这个excel文件,先用软件判断系列号,如果合法释放excel文件再运行,但这里存在一个问题,那就是运行后的文件别人又可以复制、另存等做一副本。 追问: 因为自己做了一个表,而这个表是其他同级单位都不具备的,并且不能公开,但又要在自己的单位上让自己的职工应用,为了保护该表格不被泄密,还有没有什么办法?(自己的职工,也不能完全保证不泄密,所以求方法) 回答: excel中只有vba能获取硬盘序列号,对方机器的vba宏安全必须设为低或中,这样才能完成读取和判断,如果别人把安全级别设备高,那你怎么去判断、处理?以前听说过把vba代码封装成DLL,方法应该是可行的,我没有测试过,给你一个思路:1、如果禁用宏,表格中会缺少一些关键数据。(由上一次的workbook close事件修改)2、如果宏可以运行那就判断序列号,合法:写入关键数据,激活工作表,否则直接退出(关键数据放在vba代码中,而这个代码此时封装在DLL文件中,就算禁用宏别人是无法看到的,此时它只是一个对象)如果别人有意要泄密上述方法还是不行,他可以再关闭文档之前去除close事件,这样只要禁用宏再打开你的表格就能使用你的数据了

Private Declare Function GetVolumeInformation Lib "kernel32dll" Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Integer, lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal nFileSystemNameSize As Long) As Long

Function GetSerialNumber(sRoot As String) As Long '获取C盘序列号 "C:\"

Dim lSerialNum As Long

Dim R As Long

Dim sTemp1 As String, sTemp2 As String

strLabel = String$(255, Chr$(0))

strType = String$(255, Chr$(0))

R = GetVolumeInformation(sRoot, strLabel, Len(strLabel), lSerialNum, 0, 0, strType, Len(strType))

GetSerialNumber = lSerialNum

End Function

Msgbox "你的C盘序列号为" & GetSerialNumber("C:\")

当第一次运行时可以把GetSerialNumber("C:\") 这个值写到一个单元格中,第二次运行时比较单元格的值和即时获得的序列号是否一样,如果不一样就执行

ActiveWorkbookClose

ApplicationQuit

不拆机情况下获取计算机硬盘序列号的方法(Window *** 作系统下):

运行 cmd

输入命令 >>wmic diskdrive get serialnumber

另外,工具推荐HardDisk Setinel

以上就是关于VBA 如何thisworkbook.open中加入判断硬盘序号的方法,当检查到不在你的电脑上运行时就自杀。全部的内容,包括:VBA 如何thisworkbook.open中加入判断硬盘序号的方法,当检查到不在你的电脑上运行时就自杀。、如何让EXCEL文件只认一个硬盘序列号、excel编写应用程序中加入识别硬盘号宏等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/10148070.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存