用VB实现在程序运行时使系统日期和不被修改

意難忘忆難忘

意難忘忆難忘

2016-02-19 16:30

下面,图老师小编带您去了解一下用VB实现在程序运行时使系统日期和不被修改,生活就是不断的发现新事物,get新技能~
在开发软件时,有时可能需要使软件在运行时不让别人从控制面板中修改修改系统的日期和时间,实现此功能的具体思路是:在软件运行是自己建立一个时钟,如果发现系统时间被修改,再用自己的时钟将系统时间改回来就可以了,VB中有一个控件叫SysInfo,可以用它的TimeChanged事件来监测系统时间是否已修改,请看下面的例子程序:
  1、建立一个标准EXE工程,在Form1上添加一个Timer控件、Label控件和SysInfo控件;
  2、声明以下变量:
  '表示小时的整数
  DimhAsInteger
  '表示分钟的整数
  DimmAsInteger
  '表示秒的整数
  DimsAsInteger
  '表示小时的字符串
  DimstrhAsString
  '表示分钟的字符串
  DimstrmAsString
  '表表示秒的字符串
  DimstrsAsString
  '表示修改前的日期
  DimriqiAsDate
  '表示修改前的时刻
  DimshikeAsDate
  
  3、其它代码如下:
  PrivateSubForm_Load()
  '取出系统时间和日期初始化变量
  h=Hour(Now)
  m=Minute(Now)
  s=Second(Now)
  riqi=DateValue(Now)
  EndSub
  
  
  PrivateSubTimechange()
  Ifh10Then
  strh="0"&h
  Else
  strh=h
  EndIf
  
  Ifm10Then
  strm="0"&m
  Else
  strm=m
  EndIf
  
  Ifs10Then
  strs="0"&s
  Else
  strs=s
  EndIf
  shike=Timevalue(strh&":"&strm&":"&strs)
  
  EndSub
  
  
  PrivateSubSysInfo1_TimeChanged()
  IfNotTimeValue(Now)=shikeThen
  Time=shike
  EndIf
  IfNotDateValue(Now)=riqiThen
  Date=riqi
  EndIf
  EndSub
  
  PrivateSubTimer1_Timer()
  s=s 1
  '由于用Timer控件计时存在一定误差,所以每分钟校正一次时间
  Ifs=60Then
  h=Hour(Now)
  m=Minute(Now)
  s=Second(Now)
  '零点时改变riqi变量的值
  Ifh=0Then
  riqi=DateValue(Now)
  EndIf
  EndIf
  Timechange
  Label1.Caption=shike
  EndSub->

展开更多 50%)
分享

猜你喜欢

用VB实现在程序运行时使系统日期和不被修改

编程语言 网络编程
用VB实现在程序运行时使系统日期和不被修改

如何使程序在运行时自动注册ActiveX控件

编程语言 网络编程
如何使程序在运行时自动注册ActiveX控件

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

JScript 运行时错误

编程语言 网络编程
JScript 运行时错误

运行时生成控件

Delphi
运行时生成控件

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用VB实现“木马”式隐形运行程序

编程语言 网络编程
用VB实现“木马”式隐形运行程序

运行时拉伸和移动控件的类

电脑网络
运行时拉伸和移动控件的类

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

保护Applet免遭"窃取"的小技巧

保护Applet免遭

压缩被DBGIRD控件正在使用的MDB数据库

压缩被DBGIRD控件正在使用的MDB数据库
下拉加载更多内容 ↓