我用VB编了一个监控软件,功能是每天自动生成一个新的文件,但判断是不是新的一天,用变量的话,是存储暂时的值的,系统时间是变化的,软件不是总启动,有什么方法可以让软件关闭时记录当前日期和时间,并保存到下次启动?请大家帮助!

解决方案 »

  1.   

    用文件话VB本身就有语句和函数能实现。
    用注册表的话需要用到API中以Reg开头的那些。
      

  2.   

    用vb通过api可以很方便的访问ini文件
    听说vb有个注册表对象,没用过,不知怎么回事
      

  3.   

    //听说vb有个注册表对象,没用过,不知怎么回事说的是wshshell吧
      

  4.   

    调用API函数,软件关闭时可以将系统时间写到win.ini文件中,也可以保存到自己定义的文件中,软件开启的时候,就到该文件中去读出系统时间就可以了。具体的函数如下:
    Public Declare Function WriteProfileString Lib "kernel32" Alias "WriteProfileStringA" (ByVal lpszSection As String, ByVal lpszKeyName As String, ByVal lpszString As String) As LongPublic Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (ByVal lpAppName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long) As Long
    调用就可以了
      

  5.   

    上面那些方法也许不行,因为程序很可能经常不正常退出,如停电等。建议用时间控件,每隔一分钟更新数据库或INI文件中记录最后在线时间的字段。
      

  6.   

    把你的文件存放在一个固定的目录,并且生成文件时文件名中含有日期记号,例如file20040101.txt表示2004年1月1日生成的文件,file20041123.txt表示2004年11月23日生成的文件。当你的程序再启动并到了要生成文件的时候,就先取得当前日期如2004年2月2日,得到字符串file20040202.txt,然后在存放文件的目录中查找是否有file20040202.txt这个文件(如F$=DIR("C:\TEST\FILE20040202.TXT")),如果没有,则是新的一天(或这天还没有生成文件),生成文件。如果有这文件,就跳过不用生成文件了。这方法适用于没有保密要求的情况。
      

  7.   

    软件每次开、关时都对固定的文件里写入时间和开关的标记,看怎么样?往txt,ini里写都是一样的。