Вопрос
В общем, хочется, чтобы в Windows XP программа-резидент получала сообщения о том, что произошел Fast User Switching.
Ответ
Прога должна получать мессаги
WM_WTSSESSION_CHANGE = $02b1
wParam = 7 при выходе юзера в экран приветствия,
wParam = 8 при входе обратно.
Для этого надо вызвать след. ф-ю:
function WTSRegisterSessionNotification(hWnd: HWND; dwFlags: DWORD): BOOL; stdcall; external 'wtsapi32.dll';
hWnd ставишь главного окна проги, dwFlags ставишь 0 для текущего юзера, 1 для сообщений о всех юзерах (Вроде бы. Тогда lParam будет ID сессии, не знаю как это понимать)
При окончании работы проги надо вызвать:
function WTSUnRegisterSessionNotification(hWnd: HWND): BOOL; stdcall; external 'wtsapi32.dll';
А вообще это из MSDN взято.
Из конференции Expert_FAQ
Copyright 2000-2004 Сообщество Чайников
Контактная информация