You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止Windows在CMD窗口闲置时暂停CPU密集型C程序?

解决Windows下CMD运行的CPU密集型程序被暂停的问题
  • 调整进程优先级
    提升进程优先级能让Windows更优先分配CPU资源给你的程序,有三种实现方式:

    • 手动调整:打开任务管理器,切换到「详细信息」标签,找到my_program.exe进程,右键选择「设置优先级」,推荐选高;若需要极致优先级可选择实时,但注意实时优先级可能抢占系统关键进程的资源,导致系统卡顿,需谨慎使用。
    • 命令行启动时指定:用start命令带优先级参数启动,示例:
      start /high .\my_program.exe
      
      实时优先级启动命令:
      start /realtime .\my_program.exe
      
    • 代码内设置:在C程序中调用Windows API直接调整自身优先级,示例代码:
      #include <windows.h>
      
      int main() {
          // 设置为高优先级
          SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS);
          // 可选:设置为实时优先级(谨慎使用)
          // SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS);
          
          // 你的CPU密集型业务代码
          while (1) {
              // 替换为你的实际逻辑
          }
          return 0;
      }
      
  • 关闭CMD的快速编辑模式
    这是窗口失去焦点时进程暂停的常见诱因:

    • 临时生效:打开CMD窗口,右键标题栏选择「属性」,切换到「选项」标签,取消勾选快速编辑模式和插入模式,点击确定。
    • 永久生效:右键CMD标题栏选择「默认值」,同样在「选项」标签取消上述两项勾选。
  • 后台无窗口运行程序
    让程序脱离CMD窗口运行,彻底规避窗口焦点带来的暂停问题:
    编写一个VBS脚本(比如命名为run_bg.vbs),内容如下:

    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run ".\my_program.exe", 0, False
    

    双击该VBS脚本,程序就会在后台无窗口运行,不会再因窗口焦点切换被暂停。

内容的提问来源于stack exchange,提问作者DJames

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 01:43:12