自动记录应用软件工作

2016-02-19 16:30 17 1 收藏

今天图老师小编给大家精心推荐个自动记录应用软件工作教程,一起来看看过程究竟如何进行吧!喜欢还请点个赞哦~

【 tulaoshi.com - 编程语言 】

----实践中常常期望有一个小软件,它可以自动追踪记录当前应用软件进行工作的时间和内容,例如:使用Word进行文件编辑排版的时间和文件名称,使用AutoCAD软件进行制图的时间和图挡名称,玩某个游戏软件的时间和游戏软件的名称等等。本文讨论如何利用VB6.0编程实现这样的软件;本文的程序可同时追踪记录使用Word,Excel或AutoCAD14打开文件(包括打开网上邻居中的文件)进行工作的开始时间、结束时间(以秒为单位)和使用的文件名(包括完整路径)。
  
  ----下面给出从建立该软件的工程项目到最后生成可执行文件的全过程,这个程序的关键是下面的Timer事件(以1000毫秒为周期),它利用了微软的ActiveDocument技术(Active文挡),使用函数GetObject来获取当前应用软件对象,用函数DateDiff计算时间差,利用微软的“MicrosoftWindowsCommnControl5.0”中的控件“ListView”来实现数据显示界面;程序在Win98/NT下可以自动追踪记录使用Word97,Excel97和AutoCAD14的使用情况,具体叙述如下。
  
  ----(一)建立工程(项目)vb_time.vbp:
  
  ----在C盘建目录:VB_TIME,今后我们将这个软件的文件都放到这个目录里。运行VB6.0,选“文件|新建工程”的“标准EXE”,出现窗体后可先将这个工程存盘:选菜单的“文件|工程另存为”,先取名“vb_time”存窗体(扩展名:frm),再取名“vb_time”存工程(扩展名:vbp)。
  
  ----(二)增加控件ListView与Timer:
  
  ----在菜单中选:“工程|部件”,出现“部件”对话框后选:MicrosoftCommanControl5.0,这时在控件栏里可以看见一些新增加的控件,其中我们需要将其中的“ListView”控件放入到窗体中;放入该控件后,用鼠标右击窗体中“ListView1”,选“属性”,出现“属性页”对话框,在“通用”部分改变“查看”为3,“外观”为1;在“列首”部分插入4列,分别为:文件,时间,开始时间,结束时间.将Timer控件放入窗体,并设置其Interval属性为1000(=1秒)。
  
  ----(三)增加代码:
  
  ----(1)通用.声明
  
  OptionExplicit
  PublicapplicationNameAsObject
  '运行的应用软件对象名
  PublicprevFileAsString
  '当前应用软件打开的文件名
  DimitmXAsListItem
  'ListView中的列数组
  DimstartDateAsDate'开始时间
  DimendDateAsDate'结束时间
  PublicnewSessionAsBoolean
  (2)FORM的Load过程:
  PrivateSubForm_Load()
  newSession=True
  EndSub
  (3)Timer1.Timer过程:
  PrivateSubTimer1_Timer()
  DimstrAsString
  DimdocAsObject
  OnErrorResumeNext
  SetapplicationName=GetObject(,
  "Excel.Application")'取得当前运行的Excel对象
  Setdoc=applicationName.ActiveWorkBook
  '当前Excel打开的工作簿文件
  SetapplicationName=GetObject(,
  "Word.Application")'取得当前运行的Word对象
  Setdoc=applicationName.ActiveDocument
  '当前Word的applicationName打开的文件
  SetapplicationName=GetObject(,
  "AutoCAD.Application")'取得当前运行的AutoCAD对象
  Setdoc=applicationName.ActiveDocument
  '当前AutoCAD打开的图挡文件
  str=doc.FullName
  '当前applicationName打开的文件名(包括路径)
  Ifstr=""Then'当前无上述对象,
  则用"无工作文件"命名
  str="无工作文件"
  EndIf
  IfprevFile=strThen'时间增加
  DimactDateAsDate
  actDate=Now'
  将系统当前的时间给变量actDate
  itmX.SubItems(1)=DateDiff("s",
  startDate,actDate)'计算开始时间与当前时间的差
  ExitSub'退出子过程
  EndIf
  '若当前文件改变
  IfprevFile""Then
  endDate=Now
  '将系统当前的时间给变量endDate
  itmX.SubItems(3)=Time'"时间结束",
  返回系统当前的时间。
  applicationName=0
  EndIf
  prevFile=str
  SetitmX=ListView1.ListItems.Add(,,str)
  '在ListView中另起一行
  itmX.SubItems(2)=Time
  '"时间开始",返回系统当前的时间。
  startDate=Now
  '将系统当前的时间给变量startDate
  EndSub
  
  
  ----(四)生成并运行可执行文件:
  
  ----选菜单的“文件|生成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可选的,包含待检索对象的文件的全路径和名称。如果省略pathname,则class是必需的。class代表该对象的类的字符串;class参数的语法格式为appname.objecttype,且语法的各个部分如下:
  
  ----appname必需的;Variant(String)。提供该对象的应用程序名称(我们用Word)。
  
  ----objecttype必需的;Variant(String)。待创建对象的类型或类(我们用Application)。
  
  ----使用GetObject函数可以访问文件中的ActiveX对象,而且可以将该对象赋给对象变量。可以使用Set语句将GetObject返回的对象赋给对象变量。例如将Word当前打开的文件对象赋给对象变量word:
  
  ----DimwordAsObject
  
  ----Setword=GetObject(,“Word.Application”)
  
  ----注意:当对象当前已有实例,或要创建已加载的文件的对象时,就使用GetObject函数。
  
  ----如果对象当前还没有实例,或不想启动已加载文件的对象,则应使用CreateObject函数。
  
  ----(3)ActiveDocument性质
  
  ----ActiveDocument得到一个Active文挡(activedocument)的文件对象,语法是:object.ActiveDocument
  
  ----参数object表示一个应用对象,当进入这个应用对象的ActiveDocument性质,由于应用对象已经被隐含,因此可以省略这个应用对象而使用它的属性与方法。注意:对Excel,不用ActiveDocument而使用ActiveWorkBook->

来源:https://www.tulaoshi.com/n/20160219/1612318.html

延伸阅读
标签: windows 操作系统
提到“系统安全”这样的字眼,相信多数人会条件反射地想到各种防火墙工具、防病毒软件等,并且会片面认为只要在系统中有了它们的存在,系统安全就会高枕无忧。其实,系统的安全单纯靠“防”是防不住的,还需要你有足够的安全意识。你对系统进行操作的一举一动都可能在系统“暗角”留下访问痕迹,这些痕迹要是不及时被清理的话,就很有可能带...
标签: 电脑入门
点击任务栏中的搜索,输入PowerShell,然后在搜索结果中右键单击PowerShell,选择以管理员身份运行。 微软提供Win10自带Modern应用快速卸载方法 微软提供Win10自带Modern应用快速卸载方法 在PowerShell中输入下面的命令回车稍等片刻就可以将当前账户中的所有预装应用都删除。注意,过程中可能会出现错误提示,不过这并不影响最终效果...
iPhone拍照时会自动记录摄像头朝向信息 现在使用智能手机的相机拍出来的照片,不仅包含图像信息,其实还有地理位置、拍照设备、拍摄时间等多方面的信息也存储在这张原始照片里。从iPhone 3G开始,苹果手机拍摄出来的照片就开始支持包含地理位置信息了,而现在使用iOS 6系统的较新型号苹果手机拍摄出来的超片,除了地理位置,还可以包含拍...
标签: 办公软件
    一、基本框架设置     首先要进行的工作当然就是新建工作簿,在工作表中输入姓名、日期,制订考勤表的基本框架。     1.启动Excel 2002,新建一个工作簿,命名为“2004年员工考勤表”,在工作簿中建立12个工作表。     2.在当月工作表的A1、B1单元格中分别输入“姓名”、“...
ios9.3怎么删除iPhone自带应用软件   大家在使用iphone手机的时候,由于ios系统会内置不少预装软件,一些用户就会想要删除一些完全用不到的自带应用,那么ios9.3已经可以让用户删除iphone预装程序了哦,ios9.3怎么删除iPhone自带应用软件,下面图老师小编就给大家带来ios9.3删除iPhone内置预装应用教程 之前介绍过,ios9.3增加了...

经验教程

522

收藏

91
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部