Для того чтобы понять что сессия заблокирована (CTRL+ALT+DEL -> Lock) используется следующий кусок кода:
if (WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE, sessionId, WTSSessionInfoEx, &buffer, &size) == TRUE && size > 0)
{
const WTSINFOEXW *info = reinterpret_cast<WTSINFOEXW *>(buffer);
if (info->Level == 1)
{
LONG flags = info->Data.WTSInfoExLevel1.SessionFlags;
return flags & WTS_SESSIONSTATE_LOCK;
}
}
Но этот код не работает в случае если мы подключились удаленно через Win Remote Control. flags имеет WTS_SESSION_REMOTE_CONTROLно при этом отсутствует флаг WTS_SESSIONSTATE_LOCK. Значит ли это, что при Win Remote Control не возможно узнать заблокирована ли сессия или нет? Если можно, тогда подскажите каким способом?
Сборка персонального компьютера от Artline: умный выбор для современных пользователей