在vb中实现定期去一个目录下查找
某个文件,并执行它,请问用什么
控件。多谢!

解决方案 »

  1.   

    这个应该简单
    用到timer控件
      

  2.   

    run shell command active by timer control
      

  3.   

    楼上是说用windows 脚本吗?
      

  4.   

    使用windows中的文件系统对象
    Scripting.FileSystemObject
      

  5.   

    定时查找肯定要用到timer控件, 用dir查找是否有些文件, 若有, 则shell 文件名
      

  6.   

    用api把,前些天有个人给我一些源代码
      

  7.   

    Private Sub Timer1_Timer()on error goto myErr     Shell "记事本", vbNormalFocus
         exit sub
    myerr:
        '在这里处理错误
         End Sub
     ketao_78(树欲静而风不止) 的办法可能会更好一些。能不能给出待吗?大家学习。
      

  8.   

    点子上的问题:关键是你的“定期”是什么概念。
    1.如果只是每隔5分钟或10分钟就去执行,那么请设置两个全局变量T1和T2,让T1等于起动时的时间,每次Timer时T2等于Timer事件的时间,同时在Timer事件中判断T2的时间与T1之差,如等于你希望的时间值,让T1=T2,再执行你需要的目录文件。2.如果你的定期只是一个定期的日子,请设置全局常量,直接在Timer中去判断时间是否与全局常量吻合,合则执行,否则不执行。
      

  9.   

    示例:假设相差10分钟执行一次(常量的问题就不写了)dim T1 as integer
    dim T2 as integer在Form_Load中写:
    T1=Hour(Now)*60 + minute(Now)'得到当前的分钟数在Timer事件中写
    T2=Hour(Now)*60 + minute(Now)'得到当前的分钟数if (T2-T1)>=10 then
       T1=T2
       shell(*.exe)
    end if
      

  10.   

    当然,如为避免晚上12点至1点间的差别,请修改Timer中的代码为:if abs(T2-T1)>=10 then
       T1=T2
       shell *.exe
    end if
      

  11.   

    dim ret as string '任何程序名称
    ret="记事本"   ‘以记事本为例
    winwnd=FindWindow(vbNulString,ret)    ‘查找程序
    if winwnd<>0 then
    WinWxec "路径" &  "记事本名称",0    ’执行程序
    end if
      
    把上述代码放在计时器Timer1 里就可实现