您的位置:首页 > 其它

在服务中模拟当前登录用户读取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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐