创建特定用户的进程
来源:互联网 发布:ios 大型游戏源码 编辑:程序博客网 时间:2024/06/05 04:09
BOOL GetTokenByName(HANDLE &hToken,LPTSTR lpName)
{
if(!lpName)
{
return FALSE;
}
HANDLE hProcessSnap = NULL;
BOOL bRet = FALSE;
PROCESSENTRY32 pe32 = {0};
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hProcessSnap == INVALID_HANDLE_VALUE)
return (FALSE);
pe32.dwSize = sizeof(PROCESSENTRY32);
if (Process32First(hProcessSnap, &pe32))
{
do
{
if(!_tcscmp(_tcsupr(pe32.szExeFile),_tcsupr(lpName)))
{
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION,FALSE,pe32.th32ProcessID);
bRet = OpenProcessToken(hProcess,TOKEN_ALL_ACCESS,&hToken);
CloseHandle (hProcessSnap);
return (bRet);
}
}
while (Process32Next(hProcessSnap, &pe32));
bRet = TRUE;
}
else
bRet = FALSE;
CloseHandle (hProcessSnap);
return (bRet);
}
BOOL LaunchProcess(LPWSTR lpCmdLine)
{
if(!lpCmdLine)
{
return FALSE;
}
HANDLE hToken;
if(!GetTokenByName(hToken,L"EXPLORER.EXE"))
{
return FALSE;
}
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(STARTUPINFO));
si.cb= sizeof(STARTUPINFO);
si.lpDesktop = TEXT("winsta0\\default");
BOOL bResult = CreateProcessAsUser(hToken,NULL,lpCmdLine,NULL,NULL,
FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL,&si,&pi);
CloseHandle(hToken);
return bResult;
}
- 创建特定用户的进程
- ubuntu删除特定用户的进程
- 八、用户进程:TSS、用户进程的创建、用户进程的执行(通过调度函数)
- 浅析内核中用户进程的创建
- expdp排除特定用户的特定表
- ubuntu下创建ftp用户,该用户只访问特定目录下的内容
- ubuntu下创建ftp用户,该用户只访问特定目录下的内容
- "SYSTEM"用户创建进程
- system 用户创建的进程创建当前用户(如Administrator)的进程。
- 留言簿特定用户的显示
- kill特定进程的方法
- VB 创建SYSTEM用户进程
- 在服务程序中创建用户进程的方法
- 在服务程序中创建用户进程的方法(C++)
- 服务中创建当前登录用户名下的进程
- Windows创建进程的用户态和内核态交互
- 给mysql创建用户并设定特定权限
- Linux创建指定用户特定指定目录权限
- OBJECT ARX 修改选中实体的颜色 选择集的使用
- 心如止水的程序员
- 【erlang学习 】开源nosql kai 的源码分析
- 迅雷面试题练习
- 注意 带有包的编译与运行(在cmd里) ,java java.lang.NoClassDefFoundError 的解决办法
- 创建特定用户的进程
- Unable to execute dex: Java heap space Java heap space(导入itextpdf-5.2.1.jar出错)
- Android 之 Window、WindowManager 与窗口管理
- MVC学习笔记之Asp.Net MVC 中的验证问题
- Linkify简介
- MySql保存乱码问题
- const与volatile
- CSDN微博第一篇
- 关闭QMessageBox的时候,整个程序也退出