我的机器(Windows 7 64 位)需要大约 3-4 分钟才能完全启动。有没有什么方法可以指示启动已完成,比如通过某种声音/弹出窗口,无论是使用 Windows 内置功能还是通过任何第三方应用程序?
我需要当两个窗口和所有启动程序都完成启动时
我通常会坐在机器前等待,这样可以更好地利用这段时间快速完成一件事。
当硬盘灯停止闪烁时,它看起来是这样的:
答案1
这里有几个可能有用的答案,但我认为有两个重要的观点尚未提出:
不,不可能以编程方式确定 Windows 和所有启动程序是否已完成启动。这本质上是停机问题并且没有程序能够回答这个问题“对于这个任意程序,我们应该在什么时候说它已经被加载了?”。
您试图解决的实际问题是什么? 这里的所有答案都试图为您的问题找到解决方案,但问题本身似乎可能缺少一些重要信息。我们想解决你的问题,而不仅仅是回答问题。
再次阅读您的问题并根据您所说的内容,我的回答将是:
- 别担心,开始使用您的计算机吧。前台任务具有优先权,除非您遇到了非常不寻常的情况,否则后台任务是否运行并不重要。
或者:
- 手动观察系统几次,根据您拥有的任何指标确定系统“准备就绪”所需的最大时间。获取一个小型计时器程序或脚本并将其添加到系统启动时。它可以在您选择的时间过去后显示消息或播放声音。
这可能无法直接回答您当前的问题,但希望它是有帮助的。
答案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
答案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()