str = doc.FullName
''当前applicationName打开的文件名(包括路径)
If str = "" Then ''当前无上述对象,
则用"无工作文件"命名
str = "无工作文件"
End If
If prevFile = str Then ''时间增加
Dim actDate As Date
actDate = Now ''
将系统当前的时间给变量actDate
itmX.SubItems(1) = DateDiff("s",
startDate, actDate) ''计算开始时间与当前时间的差
Exit Sub ''退出子过程
End If
''若当前文件改变
If prevFile <> "" Then
endDate = Now
'' 将系统当前的时间给变量endDate
itmX.SubItems(3) = Time ''"时间结束",
返回系统当前的时间。
applicationName = 0
End If
prevFile = str
Set itmX = ListView1.ListItems.Add(, , str)
''在ListView中另起一行
itmX.SubItems(2) = Time
''"时间开始",返回系统当前的时间。
startDate = Now
'' 将系统当前的时间给变量startDate
End Sub
---- (四) 生成并运行可执行文件:
---- 选菜单的“文件 | 生成vb_time.exe”即可。可退出VB,运行vb_time.exe,该软件运行后自动进行监视,一当您使用了Word(Excel或AutoCAD14)即开始记录,直到该应用软件退出;如桌面上无Word,Excel或AutoCAD14运行,或虽有但尚未打开一个文件,则该软件以“无工作文件”进行记录。有兴趣的读者可以进一步修改,使得
程序可以监视更多的应用软件特别是监视游戏软件,同时将记录结果存盘以供以后
查询使用。
---- (五) 几个关键函数的说明:
---- (1)DateDiff 函数
---- 语法 DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]]) 返回 Variant (Long) 的值,表示两个指定日期间的时间间隔数目。DateDiff 函数语法中有下列命名参数:
---- interval 必要。字符串表达式,表示用来计算date1 和 date2 的时间差的时间间隔 Date1,date2 必要;Variant (Date)。计算中要用到的两个日期。
---- Firstdayofweek 可选。指定一个星期的第一天的常数。如果未予指定,则以星期日为第一天。
---- firstweekofyear 可选。指定一年的第一周的常数。如未指定,则以包含 1 月 1 日的星期为第一周。
---- interval 参数的设定值如下(我们设置为s即秒):
---- yyyy 年;q 季 ;m 月 ;y 一年的日数 ;d 日 ;w 一周的日数 ;ww 周 ;h 时 ;
---- n 分钟 ;s 秒
---- (2)GetObject 函数
---- 语法 GetObject([pathname] [, class])
---- 返回文件中的 ActiveX 对象的引用。 pathname 可选的,包