Instância única de um programa, com acesso a vários usuários

0

Eu quero que meu software seja executado em um determinado computador, e se o usuário atual fizer logout e outro fizer login, ele não deverá fechar e o novo usuário continuará o trabalho onde o último parou. É fundamental que o aplicativo precise ser executado constantemente. E também é importante que os usuários precisem usar a mesma instância do último usuário.

Isso é possível no Windows 10 (com o AD)?

    
por Recon 28.09.2018 / 10:36

3 respostas

2

Um aplicativo que não "pertence" a um usuário, mas ao sistema é chamado de serviço na linguagem NT (e também W10). Embora não seja possível fornecer uma interface do usuário diretamente, ela pode criar um ponto de extremidade no qual um aplicativo somente de interface do usuário é conectado para mostrar uma interface do usuário.

Isso é melhor explicado com o mecanismo do Windows Update ou do Windows Defender: ambos têm um processo de trabalho sendo executado como serviços, ou seja, em segundo plano desacoplado de um usuário que efetuou login, mas sua interface é separada desse processo de trabalho mantenha qualquer estado - pode ser morto sem afetar o serviço subjacente. O processo da interface do usuário se conecta ao processo do operador para obter o estado do serviço e exibi-lo em uma boa interface do usuário ou para enviar comandos para o serviço que foram inseridos por meio da GUI.

Se o seu aplicativo faz algo "sofisticado" que precisa do consentimento do UAC, esse modelo também ajuda: Os serviços têm consentimento intrínseco (o i / a do UAC aparece ao instalá-lo) e a parte da interface não precisa dele. / p>     

por 28.09.2018 / 11:03
0

Eu vejo duas soluções:

  • Salve no arquivo as informações sobre o estado do aplicativo, então você pode reiniciar onde parou,

  • Converta seu aplicativo em um serviço do sistema Windows e divida em duas partes: parte de serviço do sistema e parte GUI.

por 28.09.2018 / 11:04
-1

O processo é finalizado quando o usuário efetua logout.

Sugiro que você crie um novo usuário no AD, e esse deve ser o único usuário ativo nesse computador, para que ele não precise sair.

    
por 28.09.2018 / 10:57