无法从注册表读取 - HKEY_CLASSES_ROOT,如果不在管理员模式下运行 [英] Cannot read from registry - HKEY_CLASSES_ROOT if not running in Administrator Mode
问题描述
我无法从注册表读取,除非我以管理员模式运行我的应用程序。我正在构建一个预览处理程序,使用IPreviewHandler接口,我需要GUID的文件类型位于HKEY_CLASSES_ROOT。
I cannot read from the registry unless I run my application in administrator mode. I am building a preview handler, using the IPreviewHandler interface, and I require GUIDs for file types located in HKEY_CLASSES_ROOT.
如何在不将我的应用程序升级到管理员的情况下访问此信息。我正在使用Delphi,但对任何示例代码都很开心。
How can I access this information without elevating my application to adminstrator. I am using Delphi but happy for any sample code.
谢谢,
Phillip
Thanks, Phillip
推荐答案
当您创建 TRegistry
对象时,默认情况下 ALL_ACCESS
被请求。
When you create a TRegistry
object, by default ALL_ACCESS
is requested.
如果您只需要读取值,请使用
If you only need to read values, use
reg := TRegistry.Create(KEY_QUERY_VALUE);
这篇关于无法从注册表读取 - HKEY_CLASSES_ROOT,如果不在管理员模式下运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!