您的位置:首页 > 其它

服务中打开当前登录用户注册表项方法

2016-07-19 13:22 267 查看
dwExpPid表示Explorer.exe的进程ID号

// 打开进程

hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, dwExpPid);

if(NULL == hProcess)
break;

//获取进程的Token
OpenProcessToken(hProcess, TOKEN_QUERY | TOKEN_DUPLICATE, &hToken);
if(hToken == NULL)
break;

// 模拟当前登录用户
ImpersonateLoggedOnUser(hToken);
bNeedRevert = TRUE;

// 打开注册表
if(ERROR_SUCCESS != RegOpenCurrentUser(KEY_WRITE, &hKey))
break;

//打开注册表

if(ERROR_SUCCESS != RegOpenKeyExW(hKey, L"Software\\Microsoft\\Internet Explorer\\Main",
0, KEY_WRITE | KEY_WOW64_32KEY, &hSubKey))
break;

// 结束当前模拟登录令牌

RevertToSelf();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: