Existem várias respostas potencialmente úteis aqui, mas acho que há dois pontos importantes que não foram feitos:
-
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? ".
-
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.