请教关于NT用户登录的编程问题!难!急!
sean 2000-04-26 09:25:00 我想用VC编程实现用自己设计的界面登录NT系统,
即在自己设计的界面中输入系统已有的帐号和密码,实现注销当前用户,并以新用户登录
我用LogonUser实现,可是总是返回ERROR_PRIVILEGE_NOT_HELD的错误,我查了一下MSDN发现用LogonUser必须有SE_TCB_NAME权限,于是我用以下代码设置此权限:
OpenProcessToken( GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES and TOKEN_QUERY and TOKEN_IMPERSONATE, &hToken1)LookupPrivilegeValue(NULL, SE_TCB_NAME , &tkp.Privileges[0].Luid) ;
tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken1,FALSE,&tkp, 0,(PTOKEN_PRIVILEGES)NULL, 0) );
可是仍然出现ERROR_PRIVILEGE_NOT_HELD错误,即当前进程并未获得SE_TCB_NAME权限。
请问如何使当前进程获得这个权限呢?实现我说的功能还需注意哪些问题?
谢谢各位,您的一句提示或许回各我很大的启示,但请您尽量详细一些。