首页
社区
课程
招聘
未解决 1
发表于: 2020-9-17 21:39 1980

未解决 1

2020-9-17 21:39
1980
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 495
活跃值: (147)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
 模拟会话
2020-9-18 13:44
0
雪    币: 6678
活跃值: (4177)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
大神啊, 5年前 问了一个类似的问题。  现在还没解决,真是厉害。
2020-9-18 23:20
0
雪    币: 144
活跃值: (335)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
养乐多A 模拟会话
模拟用户会话还是在uac下面的
2020-9-21 12:36
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
5
// 这个函数需要在system权限下运行, 例如在服务里。
void main()
{
       HANDLE hToken = NULL;
       HANDLE hTokenDup = NULL;
       if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ALL_ACCESS, &hToken))
       {
               return;
       }

       DWORD dwSessionId = WTSGetActiveConsoleSessionId();
       if (!DuplicateTokenEx(hToken, MAXIMUM_ALLOWED, NULL, SecurityIdentification, TokenPrimary, &hTokenDup)) {
               CloseHandle(hToken);
               return;
       }
       if (!SetTokenInformation(hTokenDup, TokenSessionId, &dwSessionId, sizeof(DWORD))) {
               CloseHandle(hToken);
               CloseHandle(hTokenDup);
               return;
       }

       char szCommon[MAX_PATH] = { "C:\\Windows\\System32\\cmd.exe" };
       PROCESS_INFORMATION pi = { 0 };
       STARTUPINFO si = { sizeof(si) };
       si.dwFlags = STARTF_USESHOWWINDOW;
       si.wShowWindow = TRUE;//窗口显示为0不显示 
       if (!CreateProcessAsUser(
               hTokenDup,
               (char*)szCommon, //在Unicode版本中此参数不能为常量字符串,因为此参数会被修改    
               NULL,
               NULL,
               NULL,
               FALSE,
               NULL,
               0,
               NULL,
               &si,
               &pi))
       {

       }
}
2020-9-24 16:14
0
雪    币: 2
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
6
5年了,楼主出狱了?
2020-9-24 16:34
0
游客
登录 | 注册 方可回帖
返回
//