我使用Qt和visual studio 2015开发了一个c ++应用程序。
我想知道在应用程序运行时如何防止应用程序表单进入休眠状态。我的应用程序应始终在后台运行并响应用户通过语音命令它。
当应用程序运行时,有没有阻止窗口进入睡眠状态?
答案 0 :(得分:8)
SetThreadExecutionState 功能
允许应用程序通知系统它正在使用中,从而防止系统在应用程序运行时进入睡眠状态或关闭显示屏。
在此处详细了解API:SetThreadExecutionState
示例:
{{1}}
答案 1 :(得分:5)
Martin Bonner和ddacot推荐的API SetThreadExecutionState文件非常清楚地说明了这一点。
根据您的描述,您应该将以下函数放在main()。
中SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_AWAYMODE_REQUIRED);
根据该文件,
ES_CONTINUOUS通知系统正在设置的状态应该保持有效,直到下一次使用ES_CONTINUOUS并且其中一个状态标志被清除为止。
ES_SYSTEM_REQUIRED通过重置系统空闲计时器强制系统处于工作状态。
ES_AWAYMODE_REQUIRED强制媒体应用程序在后台运行,以便您可以通过语音呼叫应用程序。