vb6.0移动鼠标光标防止睡眠

vb6.0移动鼠标光标防止睡眠,vb6,mousemove,Vb6,Mousemove,我需要运行一个vb程序,将所有数据从不同的生产数据库复制到我们的报告数据库。它将至少运行5个小时。因此,为了防止机器进入睡眠状态,我如何在指定的时间间隔内移动鼠标光标1个像素。根据我的客户公司法律,我不能在计算机电源设置中执行此操作。所以我试着在我的程序里做 我试着用sendkeys在指定的时间间隔发送向下箭头,但它给我带来了问题 提前感谢试试这个 Enum Execution_State ES_SYSTEM_REQUIRED = &H1 ES_DISPLAY_REQUI

我需要运行一个vb程序,将所有数据从不同的生产数据库复制到我们的报告数据库。它将至少运行5个小时。因此,为了防止机器进入睡眠状态,我如何在指定的时间间隔内移动鼠标光标1个像素。根据我的客户公司法律,我不能在计算机电源设置中执行此操作。所以我试着在我的程序里做

我试着用sendkeys在指定的时间间隔发送向下箭头,但它给我带来了问题

提前感谢

试试这个

Enum Execution_State
    ES_SYSTEM_REQUIRED = &H1
    ES_DISPLAY_REQUIRED = &H2
    ES_USER_PRESENT = &H4
    ES_CONTINUOUS = &H80000000

End Enum
Declare Sub SetThreadExecutionState Lib "kernel32" (ByRef esFlags As EXECUTION_STATE)
Public Sub DoNotSleep()
    SetThreadExecutionState(esFlags:=Execution_State.ES_SYSTEM_REQUIRED Or Execution_State.ES_DISPLAY_REQUIRED Or Execution_State.ES_CONTINUOUS)
End Sub
选自

为什么不使用标准VB6系统信息控件的


这允许您的程序取消自动睡眠,甚至取消用户启动的睡眠请求(与较旧的
SetThreadExecutionState
API调用不同)。

感谢您的帮助