Сервисная учетная запись Windows локальная система. Как отслеживать сеанс Sytem Ex: система разблокировки и блокировки иC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Сервисная учетная запись Windows локальная система. Как отслеживать сеанс Sytem Ex: система разблокировки и блокировки и

Сообщение Anonymous »

Построить инструмент службы мониторинга сотрудников. Я использую службу Windows для создания инструмента. Теперь я очень запутался, какую услугу мне нужно использовать для создания этого инструмента. Эта путаница возникает, когда я пытался регистрировать время блокировки системы и разблокировать время с использованием учетной записи LocalSytem. Событие не запускается. После некоторого времени отладки я понимаю, что локальная система работает на сессии Service 0, у нее нет настройки настольного компьютера. Мне нужно дать работодателю компании с полным доступом. В будущем функции будут улучшены, например, использование приложений сотрудником, сеть треков, закрытие и открытие и т. Д. Может ли кто -нибудь помочь мне < /p>
Я попробовал подписку на службу, переключатель сеанса. Он успешно подписывается. Но событие не запускается. < /P>
using System;
using System.Diagnostics;
using System.IO;
using System.ServiceProcess;

namespace MyFirstService
{
public partial class Service1 : ServiceBase
{
private const int SERVICE_CONTROL_SESSIONCHANGE = 0x0000000D;
private const int WTS_SESSION_LOGON = 0x5;
private const int WTS_SESSION_LOGOFF = 0x6;
private const int WTS_SESSION_LOCK = 0x7;
private const int WTS_SESSION_UNLOCK = 0x8;

public Service1()
{
InitializeComponent();
}

protected override void OnStart(string[] args)
{
WriteToFile("Service started at " + DateTime.Now);
}

protected override void OnStop()
{
WriteToFile("Service stopped at " + DateTime.Now);
}

protected override void OnSessionChange(SessionChangeDescription changeDescription)
{
switch (changeDescription.Reason)
{
case SessionChangeReason.SessionLogon:
WriteToFile("User logged on at " + DateTime.Now);
break;

case SessionChangeReason.SessionLogoff:
WriteToFile("User logged off at " + DateTime.Now);
break;

case SessionChangeReason.SessionLock:
WriteToFile("Workstation locked at " + DateTime.Now);
break;

case SessionChangeReason.SessionUnlock:
WriteToFile("Workstation unlocked at " + DateTime.Now);
break;

default:
WriteToFile($"Session change event: {changeDescription.Reason}");
break;
}
}



Подробнее здесь: https://stackoverflow.com/questions/794 ... system-unl
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»