如何判断 Windows 和所有启动程序何时完成启动?

如何判断 Windows 和所有启动程序何时完成启动?

我的机器(Windows 7 64 位)需要大约 3-4 分钟才能完全启动。有没有什么方法可以指示启动已完成,比如通过某种声音/弹出窗口,无论是使用 Windows 内置功能还是通过任何第三方应用程序?

我需要当两个窗口和所有启动程序都完成启动时

我通常会坐在机器前等待,这样可以更好地利用这段时间快速完成一件事。

当硬盘灯停止闪烁时,它看起来是这样的:

在此处输入图片描述

答案1

这里有几个可能有用的答案,但我认为有两个重要的观点尚未提出:

  1. 不,不可能以编程方式确定 Windows 和所有启动程序是否已完成启动。这本质上是停机问题并且没有程序能够回答这个问题“对于这个任意程序,我们应该在什么时候说它已经被加载了?”。

  2. 您试图解决的实际问题是什么? 这里的所有答案都试图为您的问题找到解决方案,但问题本身似乎可能缺少一些重要信息。我们想解决你的问题,而不仅仅是回答问题

再次阅读您的问题并根据您所说的内容,我的回答将是:

  • 别担心,开始使用您的计算机吧。前台任务具有优先权,除非您遇到了非常不寻常的情况,否则后台任务是否运行并不重要。

或者:

  • 手动观察系统几次,根据您拥有的任何指标确定系统“准备就绪”所需的最大时间。获取一个小型计时器程序或脚本并将其添加到系统启动时。它可以在您选择的时间过去后显示消息或播放声音。

这可能无法直接回答您当前的问题,但希望它是有帮助的。

答案2

为什么当 Windows 真正完成时不使用 Windows 任务计划程序和事件 ID 100 来播放自定义声音?

在“触发器”下选择“在事件上”并

  • 日志:LogMicrosoft-Windows-Diagnostics-Performance/Operational
  • 来源:诊断性能
  • 事件 ID:100

在“操作”下,选择“启动程序”

  • 程序/脚本:"%ProgramFiles(x86)%\Windows Media Player\wmplayer.exe"
  • 添加参数:"%windir%\Media\Windows Logon Sound.wav"

    Event ID: 100   
    Decription: Windows has started up
    

    来源事件 ID 100:Windows 诊断 - 性能

答案3

Windows 将认为启动已完成如果到达桌面 UI 后 10 秒内有 80% 处于空闲状态(不包括低优先级 CPU 和磁盘活动)。

要查看确切的启动时间,请使用xbootmgr 追踪 Windows 启动缓慢的原因

答案4

在启动时运行此 Python 脚本。一旦 CPU 使用率连续 5 秒低于 20%,它将播放启动声音:

import subprocess
import time

# set these to whatever works for you
# sound will play when cpu load has been < IDLE_PERCENT for IDLE_TIME consecutive seconds
IDLE_TIME = 5
IDLE_PERCENT = 20

# you can execute any program you want by changing the alert function below


def get_load():
    output = subprocess.check_output('wmic cpu get loadpercentage', shell=True)
    load = output.split()[1]
    return int(load)

def alert():
    subprocess.call([
        r"c:\Program Files (x86)\Windows Media Player\wmplayer.exe",
        r"c:\Windows\Media\Windows Logon Sound.wav"])


idleSeconds = 0

while idleSeconds < IDLE_TIME:
    load = get_load()
    if load < IDLE_PERCENT:
        idleSeconds += 1
    else:
        idleSeconds = 0

    time.sleep(1)

alert()

相关内容