Недавно писал одну утилитку, которой нужно было отслеживать заблокирован ли компьютер. Нашёл очень простой способ это узнать: достаточно лишь подписаться на событие SessionSwitch класса SystemEvents, который находится в пространсве имён Microsoft.Win32.
SystemEvents.SessionSwitch += new SessionSwitchEventHandler(SystemEvents_SessionSwitch);
...
void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e)
{
switch (e.Reason)
{
case SessionSwitchReason.SessionLock:
//компьютер заблокирован
case SessionSwitchReason.SessionUnlock:
//компьютер разблокирован
}
}
Понадобитсья может в довольно большом количестве случаев, например запускать скачивание, пока компьютер заблокирован или же какую-то ресурсоёмкую задачу.
четверг, ноября 19, 2009
Подписаться на:
Комментарии к сообщению (Atom)


Комментариев нет:
Отправить комментарий