服务如何获取当前登录的windows用户名
如何获取当前登录的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.在登录界面将用户名放入session中 2.再获取session中的用户名
- 联系微信ID服务器失败,微信小程序-新用户获取微信手机号登录服务端获取不到unionid情况...
需求:微信小程序进行获取手机号登录时,登录失败 授权微信用户信息 授权微信手机号 bindLogin: function(e) { wx.hideLoading(); console.log(e.de ...
- 西门子HMI触摸屏如何获取当前登录的用户名并进行显示?
西门子HMI触摸屏如何获取当前登录的用户名并进行显示? 具体步骤可以参考如下: 用户管理中创建用户.(自动注销功能若不需要,可以取消勾选) 添加计划任务,触发器选择用户更改.事件中关联获取用户名函数. ...
- 获取已经登录的docker镜像仓库地址、用户名、密码
获取已经登录的docker镜像仓库地址.用户名.密码 1.查看存储凭证: cat /root/.docker/config.json 返回信息: {"auths": {" ...
- Windows网络守门人UserLock更新至v9.6,可通过Webhooks获取实时登录通知
UserLock是您的Windows网络守门人,它可以轻松实现有效的Windows和Active Directory网络用户访问控制策略,并严格执行. UserLock v9.6更新内容: 通过Web ...
- 【HMS Core】华为登录后返回错误码 8 、账号服务如何授权、推送服务端获取用户信息异常
1.[HMS core][游戏登陆][问题描述] 调用华为登录后返回错误码 8 [解决方案] 错误码8的话一般在定义为内部错误(引起该错误码的原因很多),但是一般重试基本可以解决该问题(错误码).如果 ...
- 计算机管理中的服务ssl,关于3389远程桌面使用SSL加密登录解决方案Windows服务器操作系统 -电脑资料...
本文章来介绍一下关于如何把3389远程桌面使用SSL加密登录的方法,现在服务器安全是大问题,希望此教程对各位朋友有点帮助哦, 3389远程桌面连接为啥要使用ssl加密? 为了保护敏感数据在传送过程中的 ...
- Linux shell获取当前登录的用户名
在linux操作系统里,很多时候我们需要切换到root去执行一些操作,但同时也需要拿到常驻用户(这里指登录系统的那个用户)名称时就比较困难. 这里可以通过以下命令获取到: getent passwd ...
- 原生JS熊猫登录注册验证,获取本地存储loaclStroage的用户名
1,熊猫登录界面,通过大量原生CSS和原生JS代码,完成并实现了简单的用户交互,通过获取本地存储空间的用户名,来实现简单的登录效果, 2,判断了用户名输入框和本地存储空间的用户名是否有重复, 解决了注 ...
- Windows取证——登录过的用户名、新建的用户名和访问的网址文件(墨者学院)
目录 前言知识点: 一.登录过的用户名 二.新建的用户名 法一: 法二:
最新文章
- listview 打开文件 c#_.NET CORE(C#) WPF简单菜单MVVM绑定
- python入门导引
- Cost Element-成本要素
- UltraEdit 使用操作
- SAP云平台上的Mendix服务 - 如何注册帐号
- CF Vicious Keyboard 构造水题
- php 企业邮箱,PHPMailer可能被全球邮(企业邮箱提供)拉黑
- css小技巧: select的css控制
- CLR Generic
- 二维码生成,打包下载zip,BigDecimal的取值和计算,java发送http请求
- Linux下的编曲软件,MuseScore(免费作曲编曲软件) V3.0.1 Linux版
- 基于FPGA的数字电压表设计
- 微信小程序上传图片(限制图片大小、张数)
- 音乐资源免费_3个免费的音乐研究在线资源
- 苹果6系统怎么更新不了_苹果12app下载不了软件怎么办-苹果12AppStore下载不了软件解决方法...
- SCNN--车道线检测
- 笨方法学python 习题14
- C++输入密码显示*
- 宠物寄养小程序实战教程(上篇)
- 优化问题---梯度、方向导数、法线