Pergunta

Em uma janela de projeto que estou trabalhando, eu pretendo ter uma seleção de menu que copletely reinicia o aplicativo. Existe uma função do Windows ou C ++ que faz isso?

Foi útil?

Solução

Não há um built-in para isso, mas uma aplicação bem projetado pode simplesmente parar tudo o que está acontecendo e, em seguida, loop de volta ao começo. Se você quer um verdadeiro 'novo começo', você terá que gerar um novo processo (possivelmente como a última coisa que você faz antes de o antigo é desligado.)

Outras dicas

Não, você deve fazê-lo sozinho. Por exemplo, você pode executar processo externo que irá esperar até que você sair do seu aplicativo, e depois executá-lo novamente.

Na verdade, você pode querer dar uma olhada na API Restart Manager que veio com Windows Vista. Como sempre você pode p-invoke isso a seu índice dos corações e deles apoio explícito vinda para ele em Visual C ++ 2010 .

Já precisava fazer isso. A maneira mais fácil, sem qualquer outra leitura seria escrever um simples .bat-file (à mão ou dinamicamente pelo seu aplicativo) de iniciar o seu programa e, em seguida, chamando que bat-arquivo do seu aplicativo.

A-bat podem até conter uma linha para remover-se depois de ter começado a sua aplicação ...

Você deseja chamar CreateProcess em seguida, feche a instância atual do aplicativo graciosamente com ExitProcess () , ou se você ligar para o tempo de execução C, a volta do main (). Mas primeiro você deve se perguntar por que você precisa para recriar o processo em primeiro lugar.

ExitWindowsEx é o que você quer. Você também pode executar o utilitário shutdown.exe embutido no Windows.

shutdown -t0 -r (restart the system after 0 seconds)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top