我正在尝试使用TRegistry处理扩展的OpenWithProgids键.我没有看到TRegistry可以编写这些值(需要一种REG_NONE类型.)我知道我可以使用API RegSetValueEx
函数来设置这些,但我想知道我是否遗漏了TRegistry中的某些
内容做到这一点.
确实,TRegistry没有直接
支持REG_NONE值.但是,使用受保护的hack,您可以欺骗它创建零长度二进制REG_NONE值:
type
TRegistryHack = class(TRegistry);
....
TRegistryHack(Registry).PutData(ValueName,nil,rdUnknown);
您需要使用受保护的hack来访问受保护成员PutData.更简洁的方法是使用从TRegistry派生的类助手或真正的类,但你明白了.