在服务中模拟当前登录用户读取HKEY_CURRENT_USER
2012-12-21 18:59
489 查看
在服务中模拟当前登录用户读取HKEY_CURRENT_USER
#include <Windows.h>
#include <Wtsapi32.h>
#pragma comment(lib, "Wtsapi32.lib")
int main()
{
DWORD ActiveConsoleSessionId = 0;
HANDLE phToken;
HKEY hKEY;
long ret0;
ActiveConsoleSessionId = WTSGetActiveConsoleSessionId();
if(WTSQueryUserToken(ActiveConsoleSessionId, &phToken))
{
OutputDebugStringA("SetGlobalPower: WTSQueryUserToken Successful!\n");
if(ImpersonateLoggedOnUser(phToken))
{
OutputDebugStringA("SetGlobalPower: ImpersonateLoggedOnUser Successful!\n");
////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
ret0=(RegOpenKeyEx(HKEY_CURRENT_USER,
Software, 0, KEY_WRITE, &hKEY));
if(ret0!=ERROR_SUCCESS)
{
OutputDebugStringA("SetGlobalPower: Open HKEY_CURRENT_USER register key Failed!");
}
else
{
OutputDebugStringA("SetGlobalPower: Open HKEY_CURRENT_USER register key Successful!");
}
RegCloseKey(hKEY);
return 1;
}
else
{
OutputDebugStringA("SetGlobalPower: ImpersonateLoggedOnUser Failed!\n");
}
}
else
{
OutputDebugStringA("SetGlobalPower: WTSQueryUserToken Failed!\n");
}
RevertToSelf();
CloseHandle(phToken);
}
#include <Windows.h>
#include <Wtsapi32.h>
#pragma comment(lib, "Wtsapi32.lib")
int main()
{
DWORD ActiveConsoleSessionId = 0;
HANDLE phToken;
HKEY hKEY;
long ret0;
ActiveConsoleSessionId = WTSGetActiveConsoleSessionId();
if(WTSQueryUserToken(ActiveConsoleSessionId, &phToken))
{
OutputDebugStringA("SetGlobalPower: WTSQueryUserToken Successful!\n");
if(ImpersonateLoggedOnUser(phToken))
{
OutputDebugStringA("SetGlobalPower: ImpersonateLoggedOnUser Successful!\n");
////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
ret0=(RegOpenKeyEx(HKEY_CURRENT_USER,
Software, 0, KEY_WRITE, &hKEY));
if(ret0!=ERROR_SUCCESS)
{
OutputDebugStringA("SetGlobalPower: Open HKEY_CURRENT_USER register key Failed!");
}
else
{
OutputDebugStringA("SetGlobalPower: Open HKEY_CURRENT_USER register key Successful!");
}
RegCloseKey(hKEY);
return 1;
}
else
{
OutputDebugStringA("SetGlobalPower: ImpersonateLoggedOnUser Failed!\n");
}
}
else
{
OutputDebugStringA("SetGlobalPower: WTSQueryUserToken Failed!\n");
}
RevertToSelf();
CloseHandle(phToken);
}
相关文章推荐
- 服务中读取当前用户注册表HKEY_CURRENT_USER
- 服务中读取当前用户注册表HKEY_CURRENT_USER
- windows下服务或SYSTEM权限读取当前用户注册表HKEY_CURRENT_USER
- 如何读取指定用户的 HKEY_CURRENT_USER 注册表键
- 如何读取指定用户的 HKEY_CURRENT_USER 注册表键
- 如何读取指定用户的 HKEY_CURRENT_USER 注册表键
- 通过自定义 @CurrentUser 获取当前登录用户
- NT服务程序中对注册表中HKey_Current_User读取的问题
- 解决员工更换工号后通过SPContext.Current.Web.CurrentUser.LoginName查找当前登录用户还是原来工号的问题
- 如何读取指定用户的 HKEY_CURRENT_USER 注册表键收藏
- Win7中如何在服务中启动一个当前用户的进程——函数CreateProcessAsUser()的一次使用记录
- 从Windows系统服务获取活动用户的注册表信息(当前活动用户的sessionId. 当前活动用户的 hUserToken)
- mysql 查看当前登陆用户匹配原则及权限user()与current_user()
- windows无法连接到user profile service服务。此问题阻止标准用户登录系统
- 登录服务器windows2008出现:远程桌面服务当前正忙,因此无法完成您尝试执行的任务。请在几分钟后重试。其他用户应该仍然能够登录
- 开机登录失败 提示"user profile service服务未能登录,无法加载用户配置文件" 问题解决办法
- mysql 查看当前登陆用户匹配原则及权限user()与current_user()
- 从系统服务进程访问HKEY_CURRENT_USER主键
- sharepoint 2010 验证用户组是否存在当前用户 IsCurrentUserMemberOfGroup
- 从系统服务进程访问HKEY_CURRENT_USER主键