Como posso iniciar um programa antes mesmo de o Windows iniciar?

10

Eu sei que existem muitos aplicativos (como os que gerenciam partições como Partition Magic, Partition Logic, Easeus etc.) que são iniciados antes mesmo do Windows carregar (o gerenciador de sessões).

Esses aplicativos são carregados, executam o trabalho solicitado e "passam o token" para o Windows novamente. Como essas aplicações fazem isso? Existe uma maneira de fazer algo assim em um aplicativo?

Diogo
fonte
Depende do que você quer dizer com "antes", alguns estão carregando o código do Master Boot Record.
Moab
Como mencionei, quero dizer antes do Windows Session Manager.
Diogo
"antes da execução do Gerenciador de Sessão" não é o mesmo que "antes de o Windows começar a se carregar". Os dois são bastante diferentes partes do processo de inicialização do Windows NT 6.x .
JdeBP
@JdeBP: "como a que aqueles que gerem partições como o Partition Magic"
Diogo
O Moab e o DM8 já explicaram por que esse não foi um exemplo útil. De fato, o Partition Magic não é executado em nenhum dos pontos do processo que você perguntou, uma vez que não é executado antes do Windows "começar a se carregar" nem antes do Gerenciador de Sessão ser executado. A questão é que a sua pergunta foi vaga e ela e suas repetições são auto-contraditórias.
JdeBP

Respostas:

12

Este artigo da Sysinternals explica a entrada do registro envolvida. Mas o aplicativo não pode usar nenhuma das APIs do "subsistema", como o Win32 (outras são as APIs POSIX e OS / 2). Ele deve usar a API "nativa" do NT, principalmente não documentada. A grande maioria dos aplicativos desenvolvidos para Windows não são aplicativos de API nativos puros.

LawrenceC
fonte
Pensei ter lido em algum lugar que ele foi morto no Vista. Editado para corrigir.
LawrenceC
Link muito bom. Extremamente informativo.
MBraedley
O Win32subsystem faz parte do gerenciador de sessões, então você precisa reescrever sua vaga pergunta ... en.wikipedia.org/wiki/Windows_NT_startup_process
Moab
2

Como posso iniciar um programa antes do Windows?

Acredito que você esteja fazendo a pergunta errada (nesse caso, consulte o menu Iniciar> Inicialização ou msconfig).

No entanto, apenas no caso de você realmente dizer o que pediu:

A que tipo de 'programa' você se refere?

Você está se referindo a um sistema operacional diferente?
Veja o GRUB / GRUB2 / qualquer outro carregador de inicialização

Você está se referindo a um aplicativo DOS (ou seja, algum tipo de inventário antigo / gerente de clientes)?
Você está usando o win9x? Essa é a única situação em que um aplicativo DOS faria sentido no que diz respeito ao 'carregamento antes do Windows'.
Se você não estiver usando o win9x, provavelmente desejará fazer uma inicialização múltipla.

Você está se referindo a um aplicativo do Windows? (como no aplicativo gráfico de espaço do usuário?)
A resposta simples é Não. (Você pode inicializar junto com o Windows, mas não antes.)

Você está se referindo à inicialização automática de um serviço / daemon / algo do Windows que fica em segundo plano?
Certo; basta configurá-lo para iniciar por padrão. ou seja, se já estiver definido como um serviço, vá no painel de controle> ferramentas administrativas> serviços.
Se ainda não estiver definido, você pode adicioná-lo .

Você está realmente se referindo a um 'programa' em execução antes do Windows (ou seja, Windows XP / Vista / 7)?
Você poderia dar um exemplo de algo que precisaria fazer isso?
Além de gerenciadores de inicialização, software de criptografia de disco ou talvez ambientes de recuperação (por exemplo, GRUB, gerenciador de inicialização do truecrypt ou qualquer um dos muitos tipos de software de recuperação).

DM8
fonte
O título não é muito descritivo, mas há um exemplo na pergunta.
MBraedley
Eu usei mágica de partição no passado, mas o iirc estava em um CD inicializável.
DM8
O Partition Magic pode ser totalmente instalado (eu já fiz isso antes). É quando está totalmente instalado e as alterações são feitas na tabela de partição a que a pergunta se refere. O computador reinicia e o Partition Magic prossegue seus negócios antes que o Windows esteja totalmente carregado e funcionando. Há algum software anti-malware que também fará isso.
MBraedley
@ MBraedley: concordou, mas isso era coisa da era win9x, isso ainda é válido hoje? (Sim, eu gostaria de saber, apenas pelas curiosidades) ... também, a inicialização do pm8 a partir da mídia de CD era uma solução muito mais direta quando você queria editar a unidade / partição de inicialização. Pessoalmente, eu usei um liveCD com partições nos últimos anos para essa tarefa. De qualquer forma, eu estou começando a pensar pergunta do OP é provavelmente relacionadas a desenvolvimento, algo que ultrasawblade pegou, e eu não fiz :)
DM8
1
Se você quiser saber, siga o hiperlink no meu primeiro comentário para a pergunta e leia. A resposta está aí. (-:
JdeBP 15/06