转让控制权,以便让操作系统处理其它的事件

解决方案 »

  1.   

    不明白你是什么意思,如果你的程序处于空转状态,操作系统不会再给他分配CPU时间(准确地说是操作系统访问你的程序后,发现你的程序用不着响应消息,就会转去照顾其他程序),无论你怎么处理,只要你地程序还在运行,这个步骤都要走。用不着你来做专门地处理。如果你地程序正在全速运行,比如一个很费时地循环,建议你开启一个新地线程来处理你地循环。
    或者在你的循环体中加如下面的三句
    MSG message;
    while(::PeekMessage(&message,NULL,0,0,PM_REMOVE))
    {
         ::TranslateMessage(&message);
         ::DispatchMeesage(&message);
    }
    但是尽量不要在最内层插入,否则你的循环要很久才能结束。