龙空技术网

在vba中调用windows api 函数实现定时执行

竹林一樵 527

前言:

现时我们对“c语言定时调用函数”都比较重视,姐妹们都想要剖析一些“c语言定时调用函数”的相关内容。那么小编也在网上收集了一些关于“c语言定时调用函数””的相关资讯,希望看官们能喜欢,同学们快快来学习一下吧!

如果vba中实现定时任务的一般方法没有效果,那么可以尝试调用windows api函数来执行定时任务。以结束word进程为例,代码如下:

Private Declare PtrSafe Function SetTimer Lib "user32" ( _

ByVal HWnd As LongPtr, ByVal nIDEvent As LongPtr, _

ByVal uElapse As Long, ByVal lpTimerFunc As LongPtr) As LongPtr

Private Declare PtrSafe Function KillTimer Lib "user32" ( _

ByVal HWnd As LongPtr, ByVal nIDEvent As LongPtr) As Long

Sub 执行定时任务()

dim yyy as longptr

yyy = SetTimer(0, 1, 60000, AddressOf 任务) '时间间隔可以自行设置

End Sub

Sub 任务()

Shell "taskkill /im winword.exe /f "

End Sub

Sub 停止执行()

Call KillTimer(0, yyy)

End Sub

说明:通过SetTimer 函数来创建一个定时器,计算好时间间隔,将回调函数设置为 "任务" 过程的地址。

运行效果:

视频加载中...

标签: #c语言定时调用函数