Изменить статус Lync при выходе - PullRequest
1 голос
/ 23 марта 2011

У меня есть специальное приложение Lync для изменения статуса / присутствия пользователя. Для приложения Lync работает на подавленном пользовательском интерфейсе на некоторых компьютерах, а не на других. Я хочу, чтобы он подсказал пользователю «Хотите ли вы изменить свой статус на« Нет »?» если они выполняют выключение системы или выход из системы, и их статус установлен на «В». Затем он изменит свой статус, если захочет, и выйдет из системы / завершит работу. Проблема в том, что когда они делают выход из системы / завершают работу, это убивает процесс Lync, а затем мне нужно запустить его снова, прежде чем я смогу изменить их статус.

1 Ответ

3 голосов
/ 23 марта 2011

Если вы сопоставляете свои входящие и исходящие состояния со стандартными состояниями Lync, вам не нужно явно публиковать статус при выходе из системы / завершении работы. Когда пользователь выходит из машины, Lync должен автоматически установить статус «Автономно», поэтому при условии, что статус сопоставлен с «Out», пользователь должен автоматически установить ваш статус «Out»

Если я что-то не так понимаю ...

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

Я думаю, что лучшее, что вы можете сделать, - это использовать функцию Win32 ShutdownBlockReasonCreate - пример использования ее из управляемого кода здесь . К сожалению, это поддерживается только в Vista или выше.

...