转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
用VB“破解”有时间限制的程序         ★★★★

用VB“破解”有时间限制的程序

作者:闵涛 文章来源:闵涛的学习笔记 点击数:627 更新时间:2009/4/23 18:58:17

用VB“破解”有时间限制的程序


张 胜

你是否经常遇到有时间限制的程序?我等懒人尤其对此特别反感,可惜囊中羞涩,只好反复修改其系统日期而使自己多用几次此软件——实在是辛苦!于是使用“Anyday32”,可惜也太麻烦了;再后使用“时光倒流”,也不好用,而且——居然还有Bugs!......看样子只好自己动手做“VB软件DIY”了。 一、问题所在 有时间限制的程序大都是依靠在启动过程中检测系统日期,再与其记录的第一次使用日期(放于注册表或特殊文件中)进行对比检测是否试用期已到,若试用期已到,可能会在注册表中作一定的标记,使下次程序不可用。 二、解决问题 我们一般可以通过修改系统时间来使用此类程序,当然在其作过过期标志后可能此“大法”就无效了;也有一些程序的检测细化到了小时,那我们只能将时间也一块改了。 三、DIY中的思路及注意事项 我们可以在自己的程序中先修改系统日期,再启动相应的有时间限制的程序,过一段时间后再将系统日期改回来。 注意:在等待外部程序检测系统日期的等待过程中,系统日期已经改变,那么我们改回的系统日期将是错误的!因此我们要进行一定的检测,以防止此类错误的发生。 四、开始软件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的属性页中进行一定的数据库挂接和设置,要在其属性页中“布局”中的第二列的“按钮”选中。 以下是本小软件的源代码: Option Explicit ''''启动外部应用程序的API函数定义 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 ''''启动延时记时器 End If End Sub Private Sub Command2_Click() End ''''关闭本系统 End Sub Private Sub DBGrid1_BeforeUpdate(Cancel As Integer) If MsgBox("记录改变吗?", vbYesNo + vbQuestion) <> vbYes Then Cancel = True ''''是否更新数据库控制 End Sub 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 ''''写入要启动的程序信息 errdeal: End Sub Private Sub Form_Load() OldDate = Date ''''保存系统时间 Call Parameter ''''获取系统启动时的参数 End Sub Private Sub Timer1_Timer()’五秒钟后恢复 If Format(Time, "HH:MM:SS") < "00:00:05" Then OldDate = OldDate + 1 ''''防止在接近零时时的日期恢复错误 Date = OldDate ''''恢复系统时间 Me.Enabled = True ''''恢复正常操作 Timer1.Enabled = False ''''屏蔽延时记时器 If Check1.Value = 1 Then End ''''是否关闭本系统 End Sub Private Sub Parameter() ''''系统参数处理 If Command <> "" Then ''''查找相应的启动程序 Data1.RecordSource = "Select * From [StartProgram] Where [程序名称]=''''" & Trim(Command) & "''''" Data1.Refresh If Not (Data1.Recordset.EOF And Data1.Recordset.BOF) Then Me.Hide ''''隐藏本系统 Check1.Value = 1 ''''设置关闭标志 Command1_Click ''''激活本系统的执行事件 Else ''''未找到处理 MsgBox "没有此启动程序!", 16, Me.Caption ''''错误提示 End ''''关闭 End If End If End Sub 五、小 结 本小软件可启动多个有时间限制的程序,也可以通过命令参数(格式是:本程序名 要启动的程序名称)一次启动一个程序,可用于作相应的快捷方式(和Anyday32类似),让你放心去使用。 程序编完了,但还需你的完善和润色,遇到问题自己解决——我是软件DIY人!


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台