Como saber quando o Windows e todos os programas de inicialização foram concluídos?

36

Minha máquina (Windows 7 64 bits) leva cerca de 3-4 minutos para inicializar completamente. Existe alguma maneira que indique que a inicialização está completa, algum tipo de som / pop-up, seja usando o recurso interno do Windows ou por qualquer aplicativo de terceiros?

Eu preciso quando as duas janelas e todos os programas de inicialização terminarem de inicializar

Normalmente, em algum momento, sento-me e espero na frente da máquina, esse tempo poderia ser melhor utilizado para uma rapidinha.

Assim é, quando a luz do disco rígido pára de piscar:

    
por Firee 16.03.2014 / 17:37

11 respostas

24

Existem várias respostas potencialmente úteis aqui, mas acho que há dois pontos importantes que não foram feitos:

  1. Não, não é possível determinar programaticamente que o Windows e todos os programas de inicialização terminaram a inicialização. Isto é essencialmente o Problema de Interrupção e nenhum programa lá fora poderá responder a pergunta "Para este programa arbitrário, em que ponto devemos dizer que foi carregado? ".

  2. Qual é o problema real que você está tentando resolver? Todas as respostas aqui tentam encontrar uma solução para sua pergunta, mas a pergunta em si parece que pode estar faltando alguma pergunta importante. em formação. Queremos resolver o seu problema, não apenas responder à pergunta .

Lendo sua pergunta novamente e indo apenas pelo que você disse, minha resposta seria uma das seguintes:

  • Apenas não se preocupe com isso e comece a usar seu computador. As tarefas em primeiro plano são priorizadas e, a menos que você tenha algo realmente incomum acontecendo, não importa se as tarefas em segundo plano estão em execução.

Ou:

  • Assista manualmente ao sistema algumas vezes e calcule o tempo máximo necessário para que o sistema esteja "pronto" de acordo com as métricas que você tiver. Obtenha um programa ou script de timer pequeno e adicione-o à inicialização do seu sistema. Pode exibir uma mensagem ou tocar um som quando o tempo que você escolheu tiver passado.

Isso pode não responder diretamente à sua pergunta atual, mas esperamos que seja útil.

    
por 17.03.2014 / 19:05
11

Por que não usar o Agendador de Tarefas do Windows e o Event ID 100 para reproduzir um som personalizado quando o Windows está realmente acabado?

Em Disparadores, selecione "Em um evento" e

  • Log: LogMicrosoft-Windows-Diagnostics-Performance / Operacional
  • Origem: desempenho de diagnóstico
  • ID do evento: 100

Em Ações, selecione "Iniciar um programa" com

por 16.03.2014 / 18:35
8

Eu tenho um programa gratuito instalado que usei por muito tempo, Soluto: link

Eu sou apenas um usuário, não conectado.

Funciona para mim.

Ele faz uma contagem regressiva e permite que você selecione exatamente o que deseja carregar na inicialização.

Também permite atrasar o início.

    
por 16.03.2014 / 18:03
8

O Windows tratará a inicialização concluída se estiver ocioso 80% (excluindo atividade de CPU e disco de baixa prioridade) por 10s após atingir a interface do usuário da área de trabalho.

Para ver o tempo exato de inicialização, use o xbootmgr para rastrear por que o Windows inicializa lentamente .

    
por 16.03.2014 / 20:03
5

Execute este script Python na inicialização. Ele reproduzirá o som de inicialização quando o uso da CPU estiver abaixo de 20% por 5 segundos consecutivos:

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()
    
por 17.03.2014 / 19:42
2

Isso pode não ser muito eficaz, mas é barato.

Eu costumo olhar para a atividade do disco rígido liderada (você pode identificá-lo no caso por algo como um ícone de banco de dados), até que o LED estabilize e pisque com pouca freqüência, então eu sei que agora posso usar o PC sem muito atraso. O disco rígido é normalmente o gargalo do PC e, se não estiver sendo muito usado, você terá espaço para trabalhar.

Espero que ajude.

    
por 16.03.2014 / 22:50
2

Você pode adicionar um som à inicialização.

Você pode atrasar os processos de inicialização e colocar um efeito de som para ser executado primeiro. A ferramenta Startup Delayer faz isso.

    
por 16.03.2014 / 17:55
0

Eu nunca usei isso sozinho, mas o Windows Task Scheduler permitirá que você crie uma tarefa que é acionada para executar "Na inicialização" ou "No logon". Você pode agendar uma tarefa para executar um script do PowerShell para acessar a Método Console.Beep () do .NET Framework. Você pode até mesmo transformá-lo em um tom decente.

De Ei, cara de scripts! Blog

[console]::beep(500,300)

Change the value of the first number to alter the pitch (anything lower than 190 or higher than 8500 can’t be heard), and change the value of the second number to alter the duration

Editar: Como acontece, o método Console.Beep () pode não funcionar em sistemas de 64 bits de acordo com a documentação do MSDN .NET. Testado em um Script do PowerShell e funciona bem.

Você também pode querer verificar seus processos de inicialização. Você pode fazer isso executando msconfig e clicando em serviços. Você também pode usar o Autoruns da ferramenta Sysinternals.

    
por 16.03.2014 / 17:59
0

Por último, a documentação do Windows na ordem de carregamento é currentuser / runOnce do registro (após a pasta de inicialização) ... mas, o que quer que seja a ordem de carregamento, alguns programas podem demorar muito tempo de inicialização.

Então, talvez observar a atividade da CPU no arquivo em lote possa ser uma boa solução:

@echo off
setlocal ENABLEDELAYEDEXPANSION
set cpuLimit=15
set /a lowCount=0

for /l %%i in (1,1,30) do (
   for /F %%c in ('wmic cpu get loadpercentage ^| findstr "[0-9]"') do (
       echo %%i cpu-Load: %%c  ...lowCnt: !lowCount!
      if %%c gtr %cpuLimit% ( set lowCount=0
      ) else ( set /a lowCount+=1
         if !lowCount! gtr 10 (
            ECHO BEEEEEEP ... mplay32 beep.wav... or something
            exit
         )
      )
   )
   ping -n1 127.0.0.1 >NUL
)

... e BEEEPing após o spoting nos últimos 10 cpu-load-checks, havia carga cpu abaixo de 15%. este arquivo de lote pode ser iniciado por link na pasta de inicialização, ou melhor no registro HKLM \ Software \ Microsoft \ Windows \ CurrentVersion \ Run

    
por 16.03.2014 / 22:36
0

Você escreveu:

«My machine (Windows 7 64-bit) takes about 3-4 mins to completely boot...»

Uma inicialização "normal" leva em torno de 30 segundos , incluindo o acesso à conta do usuário. Há algo errado e isso deve ser consertado. Para consertá-lo, você precisa obter os dados. Eu sugiro que você dois utilitários resolvam este problema:

1) Autoruns

Com este, você pode verificar cada processo, programa, driver carregado durante o processo de inicialização. Tka care: esta é uma ferramenta muito poderosa e NÃO exclua itens a menos que você saiba o que está fazendo. Mas você pode desmarcar (desativar) alguns programas de logon de inicialização ...

2) System Explorer

Com essa ferramenta, você pode ver todo o processo iniciado e o histórico deles até que o System Explorer seja iniciado. Também é possível verificar todos esses processos para fins de segurança (em comparação com um banco de dados de processos).

Verifique primeiro se eles nos dão algum feedback.

Você também pode verificar os serviços na inicialização com services.msc e o status dos dispositivos com devmgmt.msc (triângulo amarelo para dispositivos defeituosos, disco rígido no modo PIO em vez de DMA e assim por diante ...) no Windows ferramentas administrativas ...

Espero que esta ajuda. Deixe-nos saber.

    
por 16.03.2014 / 23:23
0

Eu estava procurando por algo assim e encontrei a resposta

Eu postarei o código real mais tarde, provavelmente, mas aqui vai

link

apenas salve o conteúdo da última parte como um arquivo vbs e execute-o, você pode pesquisar cada evento do sistema e extrair sua mensagem sendo exibida, simples.

o que é necessário fazer para concluir a sequência de inicialização é fazer com que esse script seja executado apenas até que o ID do evento seja '100', que corresponde ao processo de conclusão da inicialização nos eventos do sistema

consulte: link

Então, quando você tiver este script na inicialização, ele pesquisará todos os eventos e aguardará a identificação do evento ser 100 e alertá-lo. o mesmo pode ser empregado em qualquer ferramenta de script como autoit

Só queria que todos soubessem disso. porque quando eu procurei por isso. Tudo o que eu encontrei foi a idéia do Windows Task Scheduler ou soluto no melhor. na verdade, o soluto parou de funcionar no meu pc x64 há algum tempo por algum motivo estranho. então eu queria fazer um roteiro que me levasse a essa solução final ....

    
por 06.10.2014 / 17:03