Я хочу, чтобы мое программное обеспечение работало на определенном компьютере, и если текущий пользователь выходит из системы, а другой входит в систему, он не должен закрываться, и новый пользователь продолжит работу с того места, где остановился последний. Очень важно, чтобы приложение работало постоянно. И также важно, что пользователи должны использовать тот же экземпляр, что и последний отключенный пользователь.

Возможно ли это в Windows 10 (с AD)?

3 ответа3

2

Приложение, которое не "принадлежит" пользователю, а системе, называется NT на языке NT (а значит, и W10). Хотя он не может предоставить пользовательский интерфейс напрямую, он может создать конечную точку, к которой подключается приложение только для пользовательского интерфейса, чтобы показать пользовательский интерфейс.

Это лучше всего объяснить с помощью механизма Центра обновления Windows или Защитника Windows: оба имеют рабочий процесс, выполняющийся как сервисы, то есть в фоновом режиме, отделенном от пользователя, вошедшего в систему, но их пользовательский интерфейс отделен от этого рабочего процесса и не сохраняет любое состояние - его можно убить, не влияя на базовый сервис. Процесс пользовательского интерфейса подключается к рабочему процессу, чтобы получить состояние службы и отобразить его в удобном пользовательском интерфейсе или отправить команды службе, которые были введены через графический интерфейс.

Если ваше приложение делает что-то "причудливое", для которого требуется согласие UAC, эта модель также помогает вам: службы имеют внутреннее согласие (всплывающее окно UAC, которое появляется при установке), а часть пользовательского интерфейса не нуждается в нем.

0

Я вижу два решения:

  • Сохраните в файле информацию о состоянии приложения, чтобы вы могли перезапустить, где остановился,

  • Преобразуйте свое приложение в системную службу Windows и разделите его на две части: часть системной службы и часть с графическим интерфейсом.

-1

Процесс завершается, когда пользователь выходит из системы.

Я предлагаю вам создать нового пользователя в AD, и он должен быть единственным активным пользователем на этом компьютере, чтобы им не приходилось выходить из системы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .