| 作品名称 |
用VB“破解”有时间限制的程序 |
 |
| 作品编号 |
|
| 编程工具 |
|
| 数 据 库 |
|
| 论文字数 |
2000
字 |
| 运行环境 |
|
| 论文价格 |
200
元 |
| 推荐指数 |
☆☆☆☆☆ |
| 包含内容 |
|
| 整理日期 |
|
| 作品简介 |
用VB“破解”有时间限制的程序张 胜
| 你是否经常遇到有时间限制的程序?我等懒人尤其对此特别反感,可惜囊中羞涩,只好反复修改其系统日期而使自己多用几次此软件——实在是辛苦!于是使用“Anyday32”,可惜也太麻烦了;再后使用“时光倒流”,也不好用,而且——居然还有Bugs!。。。。。。看样子只好自己动手做“VB软件DIY”了。 |
| 有时间限制的程序大都是依靠在启动过程中检测系统日期,再与其记录的第一次使用日期(放于注册表或特殊文件中)进行对比检测是否试用期已到,若试用期已到,可能会在注册表中作一定的标记,使下次程序不可用。 |
| 我们一般可以通过修改系统时间来使用此类程序,当然在其作过过期标志后可能此“大法”就无效了;也有一些程序的检测细化到了小时,那我们只能将时间也一块改了。 |
| 我们可以在自己的程序中先修改系统日期,再启动相应的有时间限制的程序,过一段时间后再将系统日期改回来。 |
| 注意:在等待外部程序检测系统日期的等待过程中,系统日期已经改变,那么我们改回的系统日期将是错误的!因此我们要进行一定的检测,以防止此类错误的发生。 |
| 这里我们为方便控制,使用Access数据库进行软件编制。 |
字段名 | 类型 | 长度 | 备注 | 程序名称 | Text | 20 | 程序的标识,以便于管理 | 启动程序 | Text | 255 | 实际启动的程序 | 启动日期 | Date/Time | 8 | 应改回的系统日期 |
|
名称 | 类型 | 设置 | Form1 | 窗体 | BorderStyle=1 | Command1 | command | Caption="执行(&R)" | Command2 | command | Caption="退出(&Q)" | Check1 | CheckBox | Caption="启动程序后自动关闭本软件" | Timer1 | Timer | Enabled=False;Interval=5000 | Data1 | Data | DatabaseName=数据库路径及名称 RecordSource=数据表名称 | CommonDialog1 | CommonDialog | Filter="请选择您想要启动的程序 (*。*)" | DBGrid1 | DBGrid | AllowaddNew=True;AllowDelete=True;DataSource=Data1 |
|
| CommonDialog和DBGrid控件需要另外加载,其中还需在DBGrid的属性页中进行一定的数据库挂接和设置,要在其属性页中“布局”中的第二列的“按钮”选中。 |
| Private Declare Function ShellExecute Lib "shell32。dll" Alias "ShellExecuteA" _ |
| (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _ |
| ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long |
| Dim OldDate As Date ´保存系统日期 |
| Private Sub Command1_Click() |
| If Not Data1。Recordset。EOF Then ´若数据库正在添加记录则不动作 |
| Date = Data1。Recordset(2) ´改系统时间 |
| Call ShellExecute(0, vbNullString, Data1。Recordset(1), vbNullString, vbNullString, vbOK) ´启动外部程序 |
| Me。Enabled = False ´屏蔽其他操作 |
| Timer1。Enabled = True ´启动延时记时器 |
| Private Sub Command2_Click() |
| Private Sub DBGrid1_BeforeUpdate(Cancel As Integer) |
| If MsgBox("记录改变吗?", vbYesNo + vbQuestion) <> vbYes Then Cancel = True ´是否更新数据库控制 |
| Private Sub DBGrid1_ButtonClick(ByVal ColIndex As Integer) |
| On Error GoTo errdeal ´打开错误监测 |
| CommonDialog1。CancelError = True ´系统对话框错误控制 |
| CommonDialog1。ShowOpen ´打开系统对话框 |
| If CommonDialog1。filename <> "" Then DBGrid1。Text = CommonDialog1。filename ´写入要启动的程序信息 |
| Call Parameter ´获取系统启动时的参数 |
| Private Sub Timer1_Timer()’五秒钟后恢复 |
| If Format(Time, "HH:MM:SS") < "00:00:05" Then OldDate = OldDate + 1 ´防止在接近零时时的日期恢复错误 |
| Me。Enabled = True ´恢复正常操作 |
| Timer1。Enabled = False ´屏蔽延时记时器 |
| If Check1。Value = 1 Then End ´是否关闭本系统 |
| Private Sub Parameter() ´系统参数处理 |
| Data1。RecordSource = "Select * From [StartProgram] Where [程序名称]=´" & Trim(Command) & "´" |
| If Not (Data1。Recordset。EOF And Data1。Recordset。BOF) Then |
| Command1_Click ´激活本系统的执行事件 |
| MsgBox "没有此启动程序!", 16, Me。Caption ´错误提示 |
| 本小软件可启动多个有时间限制的程序,也可以通过命令参数(格式是:本程序名 要启动的程序名称)一次启动一个程序,可用于作相应的快捷方式(和Anyday32类似),让你放心去使用。 |
| 程序编完了,但还需你的完善和润色,遇到问题自己解决——我是软件DIY人! |
|
|
| 下载地址 |
|
| 购买说明 |
计算机毕业设计完整作品。
包括源程序、可执行文件、开题报告、论文、英文文献和中文翻译。
请加客户服务联系 15303601058 联系QQ:380894045/279018395 EMAIL:CareF@CareF.CN 获取作品的详细资料。 |
|
|