Как в windows программно отследить события logon и logoff?
Мне нужно написать программку, которая будет выполнять некоторые действия при входе пользователя в систему и при выходе из системы. Предполагаю, что нужно использовать хуки. Но вот какой хук и на какие события - не знаю. Подскажите плиз.
ИМХО,там и хранится информация о подписчиках на logon/logoff
В организации есть проблема с хранением информации на рабочих столах. У нас домен Windows и профили пользователей дублируются на сервер. В состав профиля входит папка "Рабочий стол". Есть несколько разнесенных по городу подразделений и пропускная способность канала от этих подразделения к головному офису - низкая. Поэтому чем меньше профиль пользователя, тем ниже нагрузка на сеть. Но юзеры упорно не понимают устного запрета - не хранить на рабочем столе ничего кроме ярлыков.
Эту проблему я хочу решить так:
1) пользователь логинится в систему
2) после того как прогрузится профиль некий процесс (рукотворный) блокирует рабочий стол для этого юзера, оставляя ему права на чтение и выполнение
3) Если юзер хочет добавить ярлык на рабочий стол, он щелкает на файле правой кнопкой мыши и выбирает пункт "На рабочий стол" (этот пункт мы создаем сами, он не системный - аналогия со встроенными контекстными менюшками WinRAR или Kaspersky)
4) перед тем (или после того) как пользователь выполнит завершение сеанса, некий процесс (см. п.2) дает на папку "Рабочий стол" полные права на юзера. Это нужно, чтобы при следующем входе в систему профиль корректно обновился, ИБО запись в профиль идет от имени залогиневшегося юзеря.
От такие пирожища, товарищи!
И мне было бы удебней отслеживать некое системное событие, нежели мониторить реестр.
Пункты 2 и 3 я уже реализовал. Мне осталось только знать момент, когда наступают события logon и logoff.
WM_ENDSESSION ?