帮帮忙 计算Windows从启动后所运行的总时间 这程序有问题啊~~

longgen 2004-09-08 09:35:09
Private Declare Function GetTickCount Lib "kernel32" () As Long

Private Sub Timer1_Timer()
Dim hour As Integer
Dim minute As Integer
Dim second As Integer
hour = GetTickCount \ 1000 \ 60 \ 60
Label1.Caption = Str(hour) + "小时"

minute = (GetTickCount - hour * 60 * 60 * 1000) \ 1000 \ 60
Label2.Caption = Str(minute) + "分钟"

second = (GetTickCount - Val(Label1.Caption) * 60 * 60 * 1000 - Val(Label2.Caption) * 60 * 1000) \ 1000
Label3.Caption = Str(second) + "秒钟"
End Sub

这里我在 VB6 中运行 到 minute 是出错啊 有那位 兄台 帮帮忙~~`! (-_-)/~~~~
...全文
175 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
longgen 2004-09-09
  • 打赏
  • 举报
回复
谢谢大家的帮助!
northwolves 2004-09-08
  • 打赏
  • 举报
回复
与timer 没有关系:
Private Declare Function GetTickCount Lib "kernel32" () As Long



Private Sub Command1_Click()
Dim temp As Long, msg As String
temp = GetTickCount
msg = temp Mod 1000 & "毫秒"
temp = temp \ 1000
msg = temp Mod 60 & "秒" & msg
temp = temp \ 60
msg = temp Mod 60 & "分" & msg
temp = temp \ 60
msg = "已经开机: " & temp & " 小时" & msg
MsgBox msg
End Sub
laviewpbt 2004-09-08
  • 打赏
  • 举报
回复
我的电脑没有记录自第一次使用以来工用了多长时间的功能(有的显示器有这个功能),于是自己写了个程序来记录他,这部分代码如下:
只不过他要设置为开机启动,
Dim alltime As Long
Dim cc As Long
Private Declare Function GetTickCount Lib "kernel32" () As Long

Private Sub Form_Load()
alltime = GetSetting("alltime1", "timer", "runtime1", 0)
End Sub
Private Sub Form_Unload(Cancel As Integer)
alltime = cc
SaveSetting "alltime1", "timer", "runtime1", alltime
End Sub
Private Sub Timer1_Timer()
Timer1.Interval = 800
cc = alltime + GetTickCount
hour1 = cc \ 1000 \ 60 \ 60
minute1 = (cc - Val(Str(hour1)) * 60 * 60 * 1000) \ 1000 \ 60
second3 = (cc - Val(Str(hour1)) * 60 * 60 * 1000 - Val(Str(minute1)) * 60 * 1000) \ 1000
Text1.Text = Val(Str(hour1)) & ":" & Val(Str(minute1)) & ":" & Val(Str(second3))
End Sub
不过这样在一次开机中,如果中途终止程序后在启动,就不对了,时间会累加,所以还要修改一些。
laviewpbt 2004-09-08
  • 打赏
  • 举报
回复
Private Declare Function GetTickCount Lib "kernel32" () As Long

Private Sub Timer1_Timer()
Timer1.Interval = 800
cc = GetTickCount
hour1 = cc \ 1000 \ 60 \ 60
minute1 = (cc - Val(Str(hour1)) * 60 * 60 * 1000) \ 1000 \ 60
second3 = (cc - Val(Str(hour1)) * 60 * 60 * 1000 - Val(Str(minute1)) * 60 * 1000) \ 1000
Text1.Text = Val(Str(hour1)) & ":" & Val(Str(minute1)) & ":" & Val(Str(second3))
End Sub
Andy__Huang 2004-09-08
  • 打赏
  • 举报
回复
用函數time

Private Sub Timer1_Timer()
Dim hour As Integer
Dim minute As Integer
Dim second As Integer
hour = hour(time)
Label1.Caption = Str(hour) + "小时"

minute = minute(time)
Label2.Caption = Str(minute) + "分钟"

second = second(time)
Label3.Caption = Str(second) + "秒钟"
End Sub

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧