Можно ли определить, был ли интерактивный сеанс пользователя запущен автоматически по сравнению с ручным входом пользователя?
Мне нужно знать это отличие от локальной службы Windows, написанной на C ++ / MFC.
РЕДАКТИРОВАТЬ: Под «автоматически» я имею в виду первую учетную запись пользователя, которая создается после установки Windows и не имеет пароля. В этом случае Windows автоматически загружается в эту учетную запись после загрузки.
Windows не имеет автоматически запускаемых типов входа.
Тип входа — один из SECURITY_LOGON_TYPE
перечислимые значения. это
определяется в <Ntsecapi.h>
как это:
typedef enum _SECURITY_LOGON_TYPE {
Interactive = 2,
Network,
Batch,
Service,
Proxy,
Unlock,
NetworkCleartext,
NewCredentials,
RemoteInteractive,
CachedInteractive,
CachedRemoteInteractive,
CachedUnlock
} SECURITY_LOGON_TYPE, *PSECURITY_LOGON_TYPE;
Вы можете получить значение, используя LsaEnumerateLogonSessions
а также
затем LsaGetLogonSessionData
и там это как sessionData.LogonType
,