Хотелось бы еще раз затронуть вопрос о том, как определить заблокирован ли компьютер.
Мне нужно чтобы мой код работал на Windows 2000, Windows XP.
Недокументированное событие WinSta0_DesktopSwitch не подходит, так как не известно, что будет с ним в будущем.
Действительно ли необходимо создавать собственную *.dll в случае использования winlogon notification package? Наверняка есть какая-нибудь функция или событие, которое можно использовать для этой цели и чтобы работало на обоих операционных системах.
Я пробовал использовать сообщение WM_WTSSESSION_CHANGE, но при запуске программы под Windows 2000 говорит, что не знает функции ::WTSRegisterSessionNotification, которая нужна для получения окном WM_WTSSESSION_CHANGE.
В MSDN, Winlogon Notification Package ничего подохдящего не нашел, либо не туда смотрел.