実行中にOSがスリープモードまたは休止モードに入らないようにする最も単純なバージョンのCプログラムをWindowsで使用したいと考えています。現在、私はこれを持っています:
#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によると、これは機能するはずです。