首页 > 代码库 > VB6中如何防止系统休眠?(博问出现问题,在些先编辑好以做备份)

VB6中如何防止系统休眠?(博问出现问题,在些先编辑好以做备份)

以下VB6代码无效:

Option ExplicitPrivate Enum Execution_State    ES_SYSTEM_REQUIRED = &H1    ES_DISPLAY_REQUIRED = &H2    ES_USER_PRESENT = &H4    ES_CONTINUOUS = &H80000000End EnumPrivate Declare Sub SetThreadExecutionState Lib "kernel32" (ByRef esFlags As Long)Private Sub Form_Load()    SetThreadExecutionState Execution_State.ES_SYSTEM_REQUIRED Or Execution_State.ES_DISPLAY_REQUIRED Or Execution_State.ES_CONTINUOUSEnd Sub

但以下C#代码却非常管用:

public partial class Form1 : Form    {        [DllImport("kernel32.dll")]        static extern uint SetThreadExecutionState(uint esFlags);        const uint ES_SYSTEM_REQUIRED = 0x00000001;        const uint ES_DISPLAY_REQUIRED = 0x00000002;        const uint ES_CONTINUOUS = 0x80000000;        public Form1()        {            InitializeComponent();        }        private void Form1_Load(object sender, EventArgs e)        {            SetThreadExecutionState(ES_CONTINUOUS | ES_DISPLAY_REQUIRED | ES_SYSTEM_REQUIRED);        }    }

哪位知道原因,还望不吝赐教。

VB6中如何防止系统休眠?(博问出现问题,在些先编辑好以做备份)