如何获取当前登录的windows用户名?
在win7里,可以有多个explorer同时运行,那通过explorer来获取当前正在使用的用户名就不准确了,GetUserName()也不行,应为我这个是服务,WTSQuerySessionInformation同时也不适用,许多的系统都不支持,各位还有什么好办法么?

------解决方案--------------------
int gethostname(
char* name,
int namelen
);

------解决方案--------------------
void Get_LogUser(char *lpUserName,DWORD nNameLen)
{
DWORD dwProcessID = name_2_pid("explorer.exe");
if (dwProcessID == 0)
return ;

BOOL fResult = FALSE;
HANDLE hProc = NULL;
HANDLE hToken = NULL;
TOKEN_USER *pTokenUser = NULL;

__try
{
// Open the process with PROCESS_QUERY_INFORMATION access
hProc = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, dwProcessID);
if (hProc == NULL)
{
__leave;
}
fResult = OpenProcessToken(hProc, TOKEN_QUERY, &hToken);
if(!fResult) 
{
__leave;
}

DWORD dwNeedLen = 0;
fResult = GetTokenInformation(hToken,TokenUser, NULL, 0, &dwNeedLen);
if (dwNeedLen > 0)
{
pTokenUser = (TOKEN_USER*)new BYTE[dwNeedLen];
fResult = GetTokenInformation(hToken,TokenUser, pTokenUser, dwNeedLen, &dwNeedLen);
if (!fResult)
{
__leave;
}
}
else
{
__leave;
}

SID_NAME_USE sn;
TCHAR szDomainName[MAX_PATH];
DWORD dwDmLen = MAX_PATH;

fResult = LookupAccountSid(NULL, pTokenUser->User.Sid, lpUserName, &nNameLen,
szDomainName, &dwDmLen, &sn);
}
__finally
{
if (hProc)
::CloseHandle(hProc);
if (hToken)
::CloseHandle(hToken);
if (pTokenUser)
delete[] (char*)pTokenUser;
}

------解决方案--------------------
我的是win7系统 你进cmd 然后输入 set username 就显示了..

服务如何获取当前登录的windows用户名相关推荐

  1. 获取当前登录用户的用户名

    1.在登录界面将用户名放入session中 2.再获取session中的用户名

  2. 联系微信ID服务器失败,微信小程序-新用户获取微信手机号登录服务端获取不到unionid情况...

    需求:微信小程序进行获取手机号登录时,登录失败 授权微信用户信息 授权微信手机号 bindLogin: function(e) { wx.hideLoading(); console.log(e.de ...

  3. 西门子HMI触摸屏如何获取当前登录的用户名并进行显示?

    西门子HMI触摸屏如何获取当前登录的用户名并进行显示? 具体步骤可以参考如下: 用户管理中创建用户.(自动注销功能若不需要,可以取消勾选) 添加计划任务,触发器选择用户更改.事件中关联获取用户名函数. ...

  4. 获取已经登录的docker镜像仓库地址、用户名、密码

    获取已经登录的docker镜像仓库地址.用户名.密码 1.查看存储凭证: cat /root/.docker/config.json 返回信息: {"auths": {" ...

  5. Windows网络守门人UserLock更新至v9.6,可通过Webhooks获取实时登录通知

    UserLock是您的Windows网络守门人,它可以轻松实现有效的Windows和Active Directory网络用户访问控制策略,并严格执行. UserLock v9.6更新内容: 通过Web ...

  6. 【HMS Core】华为登录后返回错误码 8 、账号服务如何授权、推送服务端获取用户信息异常

    1.[HMS core][游戏登陆][问题描述] 调用华为登录后返回错误码 8 [解决方案] 错误码8的话一般在定义为内部错误(引起该错误码的原因很多),但是一般重试基本可以解决该问题(错误码).如果 ...

  7. 计算机管理中的服务ssl,关于3389远程桌面使用SSL加密登录解决方案Windows服务器操作系统 -电脑资料...

    本文章来介绍一下关于如何把3389远程桌面使用SSL加密登录的方法,现在服务器安全是大问题,希望此教程对各位朋友有点帮助哦, 3389远程桌面连接为啥要使用ssl加密? 为了保护敏感数据在传送过程中的 ...

  8. Linux shell获取当前登录的用户名

    在linux操作系统里,很多时候我们需要切换到root去执行一些操作,但同时也需要拿到常驻用户(这里指登录系统的那个用户)名称时就比较困难. 这里可以通过以下命令获取到: getent passwd ...

  9. 原生JS熊猫登录注册验证,获取本地存储loaclStroage的用户名

    1,熊猫登录界面,通过大量原生CSS和原生JS代码,完成并实现了简单的用户交互,通过获取本地存储空间的用户名,来实现简单的登录效果, 2,判断了用户名输入框和本地存储空间的用户名是否有重复, 解决了注 ...

  10. Windows取证——登录过的用户名、新建的用户名和访问的网址文件(墨者学院)

    目录 前言知识点: 一.登录过的用户名 二.新建的用户名 法一: 法二:

最新文章

  1. listview 打开文件 c#_.NET CORE(C#) WPF简单菜单MVVM绑定
  2. python入门导引
  3. Cost Element-成本要素
  4. UltraEdit 使用操作
  5. SAP云平台上的Mendix服务 - 如何注册帐号
  6. CF Vicious Keyboard 构造水题
  7. php 企业邮箱,PHPMailer可能被全球邮(企业邮箱提供)拉黑
  8. css小技巧: select的css控制
  9. CLR Generic
  10. 二维码生成,打包下载zip,BigDecimal的取值和计算,java发送http请求
  11. Linux下的编曲软件,MuseScore(免费作曲编曲软件) V3.0.1 Linux版
  12. 基于FPGA的数字电压表设计
  13. 微信小程序上传图片(限制图片大小、张数)
  14. 音乐资源免费_3个免费的音乐研究在线资源
  15. 苹果6系统怎么更新不了_苹果12app下载不了软件怎么办-苹果12AppStore下载不了软件解决方法...
  16. SCNN--车道线检测
  17. 笨方法学python 习题14
  18. C++输入密码显示*
  19. 宠物寄养小程序实战教程(上篇)
  20. 优化问题---梯度、方向导数、法线

热门文章

  1. sipp uas 脚本
  2. 清理c盘、c盘哪些文件可以删、图形显示文件大小软件
  3. 稳压二极管限流电阻怎么选择
  4. 彻底删除BootCamp Windows分区和合并到Mac分区中教程
  5. 纬地道路纵断面设计教程_道路BIM模型快速生成
  6. Java初级程序员需要知道的基本Java代码规范
  7. 虚拟机安装win10专业版
  8. 微信平台h5开发问题总结
  9. 物联网从业者必须知道的知识:IMSI号介绍与解析
  10. 2.python制作的倒计时小工具