得到进程的用户名-转贴
来源:互联网 发布:安装程序数据库已损坏 编辑:程序博客网 时间:2024/05/20 05:53
这是靠查询进程令牌信息得到的。程序如下。
#include <windows.h>
#include <stdio.h>
/* */
void GetProcessAuth(long pid)
{
//获得运行进程的用户身份,此处对于8以上的进程没问题,对于8,0进程无法列出(8是Win2000下的,WinXP下为4)
SID_NAME_USE peUse;
HANDLE hp;
HANDLE hToken;
int isok;
char buf[0x400];
char buf1[100];
char buf2[100];
DWORD dwNumBytesRet;
DWORD dwNumBytesRet1;
hp=OpenProcess(0x400, 0, pid);//0x400 is PROCESS_QUERY_INFORMATION
isok=OpenProcessToken(hp, 0x20008, &hToken);//这个0x20008不知道什么,TOKEN_QUERY?
if(isok)
{
isok=GetTokenInformation(hToken, TokenUser, &buf, 0x400, &dwNumBytesRet);
if(isok)
{
dwNumBytesRet=100;
dwNumBytesRet1=100;
isok=LookupAccountSid(NULL, (DWORD *) (*(DWORD *)buf), buf1, &dwNumBytesRet, buf2, &dwNumBytesRet1, &peUse);
if(isok)
{
printf("Run Auth:%s//%s /n", buf2, buf1);
}
CloseHandle(hToken);
}
}
CloseHandle(hp);
}
/* */
int main(int argc, char **argv)
{
long pid;
if(argc != 2)
{
printf(" - %s ProcessId/n", argv[0]);
return 0;
}
pid=strtol(argv[1], 0, 0);
GetProcessAuth(pid);
return 0;
}
- 得到进程的用户名-转贴
- 得到父进程的PID
- 使用Sys(0)得到当前工作的主机名和用户名
- 当前可以得到ESET NOD32用户名和密码的地方
- 任务管理器-----获取进程对应的用户名
- 如何获取当前进程的执行用户名?
- C#如何获取进程的用户名
- 获取运行当前进程的用户名
- 得到进程和对应的端口
- 得到进程列表的例子代码
- 怎样得到一个进程的全路径
- 如何得到本进程的CPU占用率?
- 得到进程和对应的端口
- 如何得到当前进程的句柄
- vb得到一个进程的启动参数?
- 如何得到一个进程的句柄
- 得到指定进程的运行时间
- 【转】 得到指定进程的运行时间
- 关于URLDownlaodtoFile()函数下载的验证码图片都一样的问题的解决
- char(nchar)与varchar(nvarchar)的区别以及选择
- 日全食
- Flash 与 Silverlight 终极大比拼
- 几种典型的动画表演动作捕捉系统
- 得到进程的用户名-转贴
- [WCF] Fault Contract
- Photoshop动画制作
- Javascript中最常用的55个经典技巧
- CheckBox 级联例子(转自JAVAEYE)
- 怎样列出Access所有的表名?
- [转] 《我的青春谁做主》经典语录
- 谈谈发送邮件(C#/Asp.net)功能
- hibernate映射数据库表如何使表中字段默认值生效(如更新当传来的值为null时不替换表中值)