Como posso executar um aplicativo na inicialização em um sistema Windows, que foi modificado para Explorer não executar

StackOverflow https://stackoverflow.com/questions/1121832

  •  13-09-2019
  •  | 
  •  

Pergunta

RESUMO

Como posso fazer minha GUI aplicativo executado na inicialização do Windows em uma caixa de Windows modificado que não vai começar o explorer.exe.

  • Colocar um link em Programas -> Startup pasta não ter executado.
  • Meu aplicativo é gráfico, então eu não pode simplesmente modificar aplicativo para ser executado como um serviço.

Fundo

Eu tenho um aplicativo que precisa ser executado em um PC dedicado que é usado para gerar conteúdo para Digital Signage. É o tipo de software que gera os anúncios e vários conteúdos slideshow que você vê exibidos no Plasma / Telas de LCD em grandes organizações.

Eu tive experiência com vários fornecedores diferentes de tal software de gerenciamento de conteúdo e todos eles basicamente construir um aplicativo do Windows e, em seguida, retirar as coisas de janelas para evitar qualquer tipo de pop-up de aparecer etc. Um um dos vendedores I' m lidar com agora, o Windows foi modificado de tal forma que explorer.exe não começar.

A corrida na funcionalidade de inicialização do nosso programa faz uso de um link na pasta de inicialização. O que eu encontrei é que, desde explorer.exe não está em execução nem o meu pedido.

Quando o computador é iniciado ele automaticamente botas para o modo de operação para a aplicação de sinalização digital que começa a exibir o conteúdo programável. Você pode pressionar Ctrl - ALT - Excluir e matar seu programa e, em seguida, iniciar explorer.exe do taskmanager. Após cerca de um segundo ou assim ... Eu vejo o meu início de aplicação.

Então, minha pergunta é - Como posso fazer a minha carga aplicativo em uma caixa de Windows que não vai começar explorer.exe. Alguém sabe se por exemplo usando uma chave de registro na pasta Run iria funcionar mesmo na ausência de explorador? Existe alguma outra maneira maneira de fazer programa é executado na inicialização?


Edit: aceitei resposta de Implementação Notas

I implementada a abordagem na resposta aceita. Aqui é o link que eu achei útil na sua implementação. Eu nunca fiz tentar a abordagem chave de registro. Se alguém confirma que iria executar w / o explorer.exe carregamento, por favor deixe um comentário.

Foi útil?

Solução

Converter a sua candidatura para um serviço e defini-lo como auto-start. Como alternativa, existem ferramentas on-line para a execução de um exe arbitrária como um serviço. Escrever um você mesmo é bastante simples.

Se seu aplicativo precisa para interagir com o ambiente de trabalho e criar UI, você vai precisar de seu serviço para lançar o exe no ambiente de trabalho apropriado. Para fazer isso, você pode usar WTSEnumerateSessions para encontrar a sessão de usuário interativa, WTSQueryUserToken para obter seu token, então CreateProcessAsUser para iniciar a aplicação no ambiente de trabalho correto como esse usuário.

Outras dicas

<HKLM|HKCU>\Software\Microsoft\Windows\CurrentVersion\Run é o lugar habitual para colocar as coisas, mas se isso não é bom o suficiente HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon tem uma série chamada "Userinit" e ele faz suporte vírgula múltiplos valores separados.

Se você quer ir para a terra sem documentos, há um milhão de lugares no registro onde as coisas estão iniciado, inicie Autoruns da Sysinternals enquanto monitora com RegMon / ProcessMonitor

Você poderia tentar modificar

[HKEY_CLASSES_ROOT\Folder\shell] 

definir o valor padrão de caminho / nome do seu executável

Isto é perigoso .. se você mexer-se, você pode ter grandes problemas para obter o funcionamento do sistema .. melhor para tentar / jogo em um VM

Você pode adicionar uma entrada do Registro

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run

chave?

Eu não tenho certeza se explorer.exe é responsável por iniciar os programas que estão nesta área ou se a infra-estrutura do Windows é responsável, mas vale a pena uma tentativa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top