看了这段代码,很是感动。 我的要求是:如果此程序在本机上运行,则无时间限制,也不要弹出提示还能运行多少天;只有复制本程序到其它机器运行,则只能运行60天后将自动停止工作,代码将如何修改? 原代码如下: Sub auto_open() Set WMI = GetObject("winmgmts:") strCls = "Win32_PhysicalMedia" strKey = strCls & ".Tag=""\\\\.\\PHYSICALDRIVE0" & """" s = Trim(WMI.InstancesOf(strCls)(strKey).serialnumber)
If s = "VFJ161R71TY6XK" Then '要使用的电脑磁盘序列号,注意加引号 MsgBox "序列号正确!" Exit Sub End If Dim FirstDate, de, days FirstDate = Date de = GetSetting("XXX", "YYY", "date", "") '从注册表取值 If de = "" Then '如果取不到值 SaveSetting "XXX", "YYY", "date", FirstDate '把日期保存到注册表 MsgBox "本文件可使用60天,今天是第1次使用", , "提示" Else days = Date - CDate(de) '计算文件使用的天数 If days > 60 Then '如果文件使用超过60天 MsgBox "已超过使用期限,本文件将自杀", , "警告" ThisWorkbook.ChangeFileAccess xlReadOnly '改为只读属性 Kill ThisWorkbook.FullName '自杀 ThisWorkbook.Close False '关闭不保存 End If MsgBox "本文件已使用" & days & "天,还有" & 60 - days & "天可使用", , "提示" End If End Sub
[此贴子已经被作者于2008-9-19 11:11:18编辑过] |