怎样定义自己的时间?(30分)

  • 主题发起人 主题发起人 mengh
  • 开始时间 开始时间
M

mengh

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在正在编一个单机版的机房管理程序,因为要根据系统时间来记录上机者
的开始和结束时间,所以为了避免人为地随意修改windows桌面上的系统时间,
决定在程序中设置自己的系统时间,没有权限的人不可以改变。
我该怎么做呢?
因为是个新手,遇到困难多多,希望各位指教!
因为分也不多,还有好多问题想问,就只能给您30分了!
 
呵呵, 运行一个timer, 没5second记录一下, 看最后时间就可以了.
 
cytown的方法可行,但如果使用者终止了该程序呢?
或更简单,关机又开机怎么办?
所以
1、要吧程序作成开机便启动,
2、程序记时需写入硬盘(数据库、文本文件....)
3、可以根据口令清除原有记录。
 
不会这样简单的。
 
hehe, 如果使用者把机器砸了怎么办?
有人看着怎么会让人关机开机?
终止程序, 注册成service就可以了:-)
 
用GetTickCount吧,它返回自从Windows启动后所经过的毫秒数。
这样就不怕别人修改系统时钟了。
 
改造成网络版,读服务器时间:)
 
我们学校用的是单独一台机器来记录操作者的情况。
每次开机时要求输入注册口令(not cmos password),这样才
允许进入,退出时要重开机进行退出的登陆。
 
记得可以用cmos时间来计算经过时间, 是cmos的晶体振荡频率得到的, 不是systemtime
那类的. 有的软件用的就是这个时间.
不过, 不知道如何得到:-(
 
amo的办法就可以了.
 
agree amo, it's more safe
 
amo的也不行,万一他来个reset,那不是又从0开始吗?

你也可以用一个Timer,比如每隔5秒,检查一次系统时间,并记录下来,若
时间与原记录的时间相差5秒以上,你的程序就将系统时间调整回来,并将开机
时间存入磁盘中,即使他在Bios里修改时间也没有关系,每次启动把存入磁盘的
时间读入,继续记时。
 
amo的方法我觉得可以.
每格1分钟将将他当前所用时间写到他的账户里,下次开机(比如reset),再重新开始
计时,然后再随时写入他的账户,以后一累加就可以了.
 
hehe, hexi的方法虽然笨, 但没有其它更好的方法前可以用.
除非找到我说的函数. 不过如果换了bios就不行了:-(
光天化日下有人敢开机器换bios? 呵呵:-)
另外一定注册成service.
 
多人接受答案了。
 
后退
顶部