我想在Windows下有一个最简单的C程序版本,它可以防止操作系统在运行时进入睡眠模式或hibernate模式。 目前我有这个:
#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):未定义对SetThreadExecutionState的引用collect2:ld返回1退出状态
那么怎么了? 据MSDN ,这应该工作,我认为。
这是一个链接器错误:你需要链接到kernel32.lib
。 从问题中链接的页面:
要求 最低支持的客户端| Windows XP 最小支持的服务器| Windows server 2003 头文件| Winbase.h(包括Windows.h) 库| coreel32.lib <--------- DLL |的coreel32.dll