我想在 Windows 下拥有最简单的 C 程序版本,它可以防止操作系统在运行时进入睡眠模式或休眠模式。目前我有这个:
#include <windows.h>
int main(int argc, char **argv)
{
while (1)
{
SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED);
Sleep(300*1000); /* wait 300 seconds */
}
return 0;
}
但是,这不起作用 - 如果我尝试使用 Orwell Dev-C++ 5.2.0.3 编译它,我会收到此错误:
[链接器错误] C:\Users\bachmann\AppData\Local\Temp\ccD8l1tp.o:disable_sleep.c:(.text+0x1e): undefined reference to `SetThreadExecutionState' collect2: ld returned 1 exit status
那么有什么问题呢?根据MSDN,我认为这应该可行。