如题:
主要是实现用户的克隆,通过注册表操作可实现。
先打开regedt32,HKEY_LOCAL_MACHINE\SAM\SAM,把当前用户提权到system,
然后打开regedit32 HKEY_LOCAL_MACHINE\SAM\SAM,就可见用户了,
但,怎么编程实现呢,google了好久没发现方法,期待高手解决。
主要是实现用户的克隆,通过注册表操作可实现。
先打开regedt32,HKEY_LOCAL_MACHINE\SAM\SAM,把当前用户提权到system,
然后打开regedit32 HKEY_LOCAL_MACHINE\SAM\SAM,就可见用户了,
但,怎么编程实现呢,google了好久没发现方法,期待高手解决。
解决方案 »
- 如何判断俩个CString变量是否相等
- 一个月,总有那么十来天
- 大家说说你们喜欢的语言及开发工具啊,包括喜欢的理由
- ▓▓▓▓▓ Combobox控件的边框怎么去掉? ▓▓▓▓▓
- Simple file operation question (Sorry I can't user Chinese)
- 如何让DLL中导出的dlg有xp风格。在线等,测试通过马上加100分
- 我要从Windows资源管理器中用鼠标拖曳文件到我的程序的列表框,并不是拷贝文件,而是在列表框中显示文件的大小路径等信息,如何实现?
- 线程问题
- 各位好,有个VC数据库问题,帮帮忙吧?
- unichar定义在哪个h文件?
- win7下创建微软的rtc失败
- 关于CColorDialog的问题
CSid sidAdmins(_T("Administrators"));#include <atlbase.h>
#include <atlsecurity.h> // 获取注册表键值安全描述符
CSecurityDesc secDesc;
bool bRet = AtlGetSecurityDescriptor(lpszKeyName, SE_REGISTRY_KEY, &secDesc );CDacl daclAdminAll;
secDesc.GetDacl(&daclAdminAll);
// 添加All权限
bRet = daclAdminAll.AddAllowedAce(sidAdmins, KEY_ALL_ACCESS, INHERITED_ACE);
bRet = AtlSetDacl(lpszKeyName, SE_REGISTRY_KEY, daclAdminAll);// 可以操作了// 恢复权限
CDacl orgDacl;
secDesc.GetDacl(&orgDacl);
bRet = AtlSetDacl(lpszKeyName, SE_REGISTRY_KEY, orgDacl);
#include <atlsecurity.h> LPCTSTR lpszKeyName = _T("MACHINE\\SAM\\SAM");// Administrators组
CSid sidAdmins(_T("Administrators"));
// 获取注册表键值安全描述符
CSecurityDesc secDesc;
bool bRet = AtlGetSecurityDescriptor(lpszKeyName, SE_REGISTRY_KEY, &secDesc );CDacl daclAdminAll;
secDesc.GetDacl(&daclAdminAll);
// 添加All权限
bRet = daclAdminAll.AddAllowedAce(sidAdmins, KEY_ALL_ACCESS, INHERITED_ACE);
bRet = AtlSetDacl(lpszKeyName, SE_REGISTRY_KEY, daclAdminAll);// 可以操作了// 恢复权限
CDacl orgDacl;
secDesc.GetDacl(&orgDacl);
bRet = AtlSetDacl(lpszKeyName, SE_REGISTRY_KEY, orgDacl);
谢谢。
那个是VC7的ATL自带的类,在atlsecurity.h中如果你要用API的话自己从里面扣代码吧,都是些简单的类,看下就清楚了
这段代码在Win7下用不了啊。
小弟正在找Win7下删除注册表下U盘使用记录的代码,操作错误都是拒绝访问使用OpenProcessTokey()这个函数的方法下无效,跪求解决方法!