web-dev-qa-db-ja.com

Cを使用したWindowsのスリープ機能

Windowsでプログラムをスリープさせる必要があります。スリープ機能を持つヘッダーファイルは何ですか?

32
RYN

つかいます:

#include <windows.h>

Sleep(sometime_in_millisecs); // Note uppercase S

そして、これは MinGW でコンパイルし、それがブリキで言うことをする小さな例です:

#include <windows.h>
#include <stdio.h>

int main() {
    printf( "starting to sleep...\n" );
    Sleep(3000); // Sleep three seconds
    printf("sleep ended\n");
}
79
anon

SleepEx関数( http://msdn.Microsoft.com/en-us/library/ms686307.aspx を参照)は、プログラムが直接または間接的にウィンドウを作成する場合に最適です(例では、いくつかのCOMオブジェクトを使用します)。単純なケースでは、Sleepも使用できます。

7
Oleg

ビジー状態で待機する場合は、コードの先頭に次の関数を含めます。これは、この関数の実行中にプロセスが100%CPUを使用するため、スリープとは異なります。

void sleep(unsigned int mseconds)
{
    clock_t goal = mseconds + clock();
    while (goal > clock())
        ;
}

CPUはまったくスリープしないため、この関数の名前sleepは誤解を招きやすいことに注意してください。

1
user2876907

[〜#〜] msdn [〜#〜] :ヘッダー:Winbase.h(Windows.hを含む)

0
abelenky