Como iniciar o GUI admin ap no login do Windows

0

Eu escrevi um pequeno aplicativo em C # para controlar o tempo que meu kido gasto jogando no PC.

Agora estou procurando um jeito de executar este aplicativo como administrador quando o garoto fizer login em seu perfil. App exibe alguns avisos na tela e armazena algumas estatísticas no arquivo. Assim, ele não pode ser executado escondido / em segundo plano (precisa ser exibido na tela msgs) ou pode ser executado com privilégios de usuário padrão (registros podem ser removidos ...)

Gastar horas tentando fazer isso funcionar através do agendador de tarefas do Windows, mas eu não deixo este aplicativo visível ...

Qualquer sugestão será muito apreciada!

PS Se não for possível executar aplicativos de administração GUI na área de trabalho de outro usuário - talvez alguém possa avisar onde / como eu posso armazenar o arquivo de log para que ele seja facilmente acessado pelo (inteligente) kido:)

    
por Maciej 26.09.2015 / 01:38

1 resposta

1

A maneira correta de fazer isso é ter o aplicativo executado como um serviço ou como outro usuário e, em seguida, enviar janelas para a área de trabalho (infantil) do usuário. Consulte o MSDN página sobre serviços interativos ; embora os serviços não possam mais ser executados de forma interativa, eles ainda podem interagir indiretamente com os usuários, incluindo os usuários que estão sendo executados em contas diferentes. A função WTSSendMessage pode ser usada para mostre uma caixa de mensagem em uma sessão atualmente conectada, ou seu processo pode usar CreateProcessAsUser (se tiver acesso) para criar um processo na sessão do usuário com o qual possa interagir (embora o processo pai ainda possa criar arquivos de log que não podem ser excluídos pelo usuário, etc.).

EDIT: Um processo não precisa estar sendo executado como um serviço para usar essas funções. Eles são úteis para serviços, mas também para qualquer outro processo que seja executado (não interativamente) como outro usuário.

    
por 26.09.2015 / 01:58