O programa de inicialização é executado antes da UI Moderna?

2

Eu tenho um programa de área de trabalho (não Modern UI) que é configurado para ser executado na inicialização usando a chave de registro currentversion \ run. Eu quero que seja a primeira coisa que o usuário vê, no entanto, ele só aparece quando o usuário sai da UI Moderna e vai para a área de trabalho ou executa um aplicativo baseado em desktop.

Existe uma maneira de realmente executar na inicialização?

edite: pensamento adicional: eu escrevi o programa, isso pode ser feito se fosse um aplicativo moderno de interface do usuário?

    
por Keltari 19.09.2013 / 20:37

1 resposta

0

Você pode definir seu programa como shell padrão no Windows 8.

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Shell"="C:\Program Files (x86)\xx\xx\myprogram.exe"

ou para o usuário atual:

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Shell"="C:\Program Files (x86)\xx\xx\myprogram.exe"

Se isto não funcionar, você precisa adicionar cmd.exe /C antes do comando.
ou seja, cmd.exe /C "C:\Program Files (x86)\xx\xx\myprogram.exe"

Isso ignorará completamente a interface do Metro, mas você perderá todo o material padrão do shell do Explorer. (Não sei se você quer isso) Você precisará iniciar o shell normal depois de sair do programa. (O explorer.exe não lhe dá o seu desktop de volta, então eu não sei (ainda) como obter o desktop e o metrô de volta)

(testado com o Windows 8.1, então não sei se isso foi possível no Windows 8)

Editar : Você também pode usar "explorer.exe /select,explorer.exe" como valor de shell. Então, após o login, você verá o metrô por uma fração de segundo após o qual você obtém sua área de trabalho (com uma tela de explorador de suas bibliotecas.) Talvez seu aplicativo iniciado automaticamente esteja no topo disso.

    
por 19.09.2013 / 23:45