以SYSTEM权限运行的进程获取登录用户名的方法
参考原文:如何获取Windows系统登陆用户名 http://www.vckbase.com/document/viewdoc/?id=1241
以SYSTEM权限运行的进程,若用GetUserName()方法获取到的用户名则为SYSTEM,若想获取当前登录系统的用户名,可用以下代码(支持XP及以上):
BOOL CSecurityTool::GetLogUserXP(CString& strName)
{
BOOL bRet = FALSE;
strName = _T("");
//for xp or above
TCHAR *szLogName = NULL;
DWORD dwSize = 0;
if (WTSQuerySessionInformation(WTS_CURRENT_SERVER_HANDLE,
WTS_CURRENT_SESSION,
WTSUserName,
&szLogName,
&dwSize))
{
strName = szLogName;
WTSFreeMemory(szLogName);
bRet = TRUE;
}
return bRet;
}