是否可以判断是否自动启动了交互式用户会话与用户手动登录?

时间:2015-05-30 19:44:49

标签: c++ windows winapi mfc terminal-services

是否可以判断是否自动启动了交互式用户会话与用户手动登录?

我需要从用C ++ / MFC编写的Windows本地服务中了解这种区别。

编辑:“自动”是指安装没有密码的Windows后创建的第一个用户帐户。在这种情况下,Windows会在启动后自动加载到该帐户。

1 个答案:

答案 0 :(得分:1)

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