98和2k下导入导出注册表分支的问题(100分)

Z

zleo

Unregistered / Unconfirmed
GUEST, unregistred user!
在2k下用TRegistry的SaveKey保存了注册表分支(设置了SeBackupPrivilege权限)<br>但用Loadkey却读不出来,在读前已设置了SeRestorePrivilege权限,<br>我模拟loadkey用RegLoadKey来读返回提示"拒绝访问"<br>
 
你为什么不指定KEY_ALL_ACCESS权限呢?SaveKey要求 KEY_ALL_ACCESS 权限<br>另外,你确定用SaveKey保存出来的文件其大小不会为0吧?(我就遇到过,也就是SaveKey<br>函数没有成功执行),在使用LoadKey以前,其根键必须为HKEY_USERS或<br>HKEY_LOCAL_MACHINE。<br>
 
:HeyTommy<br>能成功保存(可以双击恢复),但是在程序里恢复时候不行,<br><br>问题解决了,用exec调regedit导入
 
应该用程序改权限,exec只是变通的做法.
 
各位大虾,能告诉我怎样实现下面的功能:<br>我的Form1上有一个按钮,我想当我拖动它到桌面上时,就把它释放(Free)掉<br>该怎样来实现呢?<br>我怎样才能知道我的鼠标把它拖动到桌面(或者是我的应用程序以外的其他的应用程序)呢?<br>最好给出个例子,带原码的。谢谢!
 
但是你用LoadKey成功没呢?<br>你所说的“模拟loadkey用RegLoadKey来读返回提示"拒绝访问"<br>”是因为权限不够的嘛:)<br><br>既然可以用别的方式导入,我觉得应该钻一下为什么用loadkey却没成功的问题!我想这样<br>你会有比较深入的体会的。自己的技术都是自己钻出来的哦,你说对吗?
 
菜鸟王子:<br>你要提问最好到提问区去哦?呵呵,
 
我也觉得是这样,可是我设置了SeRestorePrivilege权限,还是同样的提示<br>不过用RestoreKey可以成功恢复但这个函数又不支持98,另外我备份的是<br>HKEY_CURRENT_USER下的一个分支看API帮助RegLoadKey只能恢复<br>HKEY_LOCAL_MACHINE,HKEY_USERS下的分支。。。我实在找不着更好的办法恢复了:(<br>
 
to zleo:<br><br>我给这个建议,不知道你是否采纳??<br><br>如果你考虑不用SAVEKEY或LOADKEY类的,,你可以手工编写代码一个一个值、一个一个键的<br>保存,(反正在循环头处理,你不用费好多事),你可以用TRegistry类的这几个方法:<br>HasSubKeys、KeyExists、GetDataType、GetKeyNames、GetValueNames、ValueExists以及其它<br>几个读写值的方法,将需要恢复的值写回去覆盖嘛,,,<br><br>RestoreKey不支持98?不是吧??你也不用太着急,,晚上我回到宿舍编几句代码试试,,<br><br>其实,,呵呵,,当你把这个问题完全搞定了,那么你对注册表的操作差不多很熟了,,<br>在未成功前,是比较困难,,但不困难,成功了怎么会有喜悦呢???<br><br>问题啊,,大家是可以互相讨论和学习的嘛!!!(是不是很罗嗦?)
 
接受答案了.
 
顶部