您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。
- 内容介绍
- 文章标签
- 相关推荐
本文共计734个文字,预计阅读时间需要3分钟。
最近写了一个下载程序,发现一个问题:在挂机下载时,下载任务会因为系统休眠而终止。最初我的解决方法是关闭休眠,但后来发现这种策略并不理想:下载完成后,系统会立即休眠。
最近写了一个下载程序,发现有一个问题:挂机下载的时候,下载任务会因为系统休眠被终止掉。
最开始我的解决方法是关闭休眠,后来发现这种策略并不是很好:下载完成后,如果仍然继续保持开机状态浪费电。
因此,最好的方式是:在下载的时候阻止系统休眠。即不会因为休眠而终止下载任务,下载完成后自动转为休眠状态省电,都不用做下载完成后自动关机功能了。
查了一下相关文章,可以通过这个SetThreadExecutionState API实现阻止系统休眠。它在C#中的声明方式如下:
[DllImport("kernel32.dll")] static extern uint SetThreadExecutionState(ExecutionFlag flags); [Flags] enum ExecutionFlag : uint { System = 0x00000001, Display = 0x00000002, Continuous = 0x80000000, }
它就一个flags参数,这个参数有三个选项,可以组合使用。主要说明如下:
只使用Continuous参数时,则是恢复系统休眠策略。
本文共计734个文字,预计阅读时间需要3分钟。
最近写了一个下载程序,发现一个问题:在挂机下载时,下载任务会因为系统休眠而终止。最初我的解决方法是关闭休眠,但后来发现这种策略并不理想:下载完成后,系统会立即休眠。
最近写了一个下载程序,发现有一个问题:挂机下载的时候,下载任务会因为系统休眠被终止掉。
最开始我的解决方法是关闭休眠,后来发现这种策略并不是很好:下载完成后,如果仍然继续保持开机状态浪费电。
因此,最好的方式是:在下载的时候阻止系统休眠。即不会因为休眠而终止下载任务,下载完成后自动转为休眠状态省电,都不用做下载完成后自动关机功能了。
查了一下相关文章,可以通过这个SetThreadExecutionState API实现阻止系统休眠。它在C#中的声明方式如下:
[DllImport("kernel32.dll")] static extern uint SetThreadExecutionState(ExecutionFlag flags); [Flags] enum ExecutionFlag : uint { System = 0x00000001, Display = 0x00000002, Continuous = 0x80000000, }
它就一个flags参数,这个参数有三个选项,可以组合使用。主要说明如下:
只使用Continuous参数时,则是恢复系统休眠策略。

