Variável de ambiente da pasta de inicialização do Windows

0

Estou desenvolvendo um setup.exe para meu aplicativo que copia para a pasta de inicialização com o seguinte caminho:

cd %PROGRAMDATA%\Microsoft\Windows\Start Menu\Programs\Startup

Agora estou preocupado se esse caminho pode mudar em diferentes versões do Windows. Alguém sabe se o caminho da pasta de inicialização é sempre o mesmo? Existe uma maneira melhor de configurar um aplicativo para iniciar cada inicialização?

Qualquer dica será muito útil,

Obrigado

    
por marcosbontempo 21.08.2016 / 15:53

2 respostas

1

A prioridade de inicialização no Windows é a seguinte, listada do primeiro para o último para o início:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Runonce HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ Explorer \ Run HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run Windows \ CurrentVersion \ Windows \ Run HKEY_CURRENT_USER \ Software \ Microsoft \ Windows HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Run HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ RunOnce SystemDrive \ Documents and Settings \ Todos os Usuários \ Menu Iniciar \ Programas \ Inicialização SystemDrive \ Documents and Settings \ nome_do_usuário \ Menu Iniciar \ Programas \ Inicialização

Os dois últimos itens estão relacionados aos dias do Windows XP. Relacionados com: % PROGRAMDATA% \ Microsoft \ Windows \ Menu Iniciar \ Programas \ Inicialização

E sim, para responder à sua pergunta, o Windows Vista, 7, 8 e 10 usam a mesma pasta de inicialização.

Então, se você quer que seu programa seja executado primeiro, use sempre: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run Caso contrário, a pasta de inicialização será carregada após todo o restante ser carregado.

    
por 21.08.2016 / 16:02
0

Você deseja procurar as pastas no namespace do shell, por exemplo, passando FOLDERID_Startup (ou FOLDERID_CommonStartup ) para as funções da pasta de pesquisa de o namespace do shell .

As entradas de registro (HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run e outras) mencionadas em outra resposta são opções melhores. Consulte aqui

A Microsoft também tem um artigo descrevendo a ordem relativa dos diferentes métodos .

(A pasta de inicialização tem a vantagem de ser fácil (ish) para o usuário controlar)

    
por 17.08.2018 / 10:57