检查注册表写入权限

时间:2013-11-20 09:29:45

标签: delphi winapi registry

是否有API调用来检查当前用户是否具有对注册表的写入权限? 我们有一个较旧的程序,它遗憾地存储了HKLM中的几个关键值,这些值必须在应用程序开始和结束时更新(有一个服务可以选择这些)。 升级用户不是一个选项,以管理员身份运行也不是一个选项。 我们只需要检查一下是否可以写(并且不会,写一个密​​钥并且捕获异常不是我正在寻找的东西)。

1 个答案:

答案 0 :(得分:2)

您要求的Win32 API函数是AccessCheck。但是,它并不是最容易使用的功能。

执行您尝试的操作的普遍接受的方法是在不事先执行任何检查的情况下编写值。如果写入失败并显示ERROR_ACCESS_DENIED,则表示您没有权限。最好是请求宽恕而不是许可,当然还有Windows安全性!

相关问题