如何提升用户级别(XP 和 Vista)?
用标准用户登陆操作系统后,想进行一些系统操作,可是权限不够无法操作。
怎样才能用程序提升自己的用户权限,而不是用管理员登陆。
我找了一段代码,好像不对,大家也可以看看。代码如下:
TOKEN_PRIVILEGES TP;
LUID luid;
LPCSTR MachineName = NULL;
HANDLE hToken = NULL;
if(!::OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES, &hToken))
{
::MessageBoxA(NULL, "OpenProcessToken is failed", NULL, MB_OK);
return;
}
if(!::LookupPrivilegeValueA(MachineName, SE_SHUTDOWN_NAME, &luid))
{
::MessageBoxA(NULL, "LookupPrivilegeValue is failed", NULL, MB_OK);
return;
}
TP.PrivilegeCount = 1;
TP.Privileges[0].Luid = luid;
TP.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
::AdjustTokenPrivileges(hToken, FALSE, &TP, sizeof(TOKEN_PRIVILEGES),NULL, NULL);
问题点数:100、回复次数:6Top
1 楼DrSmart(斯玛特)回复于 2006-03-15 12:53:21 得分 100
不是关机SE_SHUTDOWN_NAME-->SE_DEBUG_NAME //调试Top
2 楼sad_4978(回忆之前,忘记之后)回复于 2006-03-15 13:02:15 得分 0
我想在标准用户登陆的时候修改特定的注册表。这时候,标准用户是没有权限的。所以,我想提升当前用户的权限。其实这是对应Vista下UAP机制来做的。Top
3 楼jiangsheng(蒋晟.Net[MVP])回复于 2006-03-15 13:23:56 得分 0
嗯,给Windows操作系统找BUG?Top
4 楼sad_4978(回忆之前,忘记之后)回复于 2006-03-15 14:53:01 得分 0
呵呵,哪里啊。我是想做一个对用户来说是透明的东西。大家有没有好的方法呢。Top
5 楼Mackz(在相互)回复于 2006-03-15 15:13:14 得分 0
蒋老大的话看不懂?
如果可以这样,还有什么安全性可言?Top
6 楼sad_4978(回忆之前,忘记之后)回复于 2006-03-15 15:39:53 得分 0
不过我觉得还应该是有方法的,照大哥们这么说,用了Vista后就百分百安全了吗?
Top




