2012-04-08 19 views
5

TRegistry kullanarak bir uzantının OpenWithProgids anahtarı ile çalışmaya çalışıyorum. TRegistry'in bu değerleri yazabileceğini görmüyorum (bir çeşit REG_NONE gerektirir). Bunları ayarlamak için sadece API RegSetValueEx işlevini kullanabileceğimi biliyorum, ancak TRegistry'de bir şey eksik olup olmadığını merak ediyorum. yap.TRegistry REG_NONE değerlerini yazabilir mi?

cevap

4

TRegistry'un REG_NONE değerleri için doğrudan desteğe sahip olmadığı doğrudur. Ancak, korumalı kesmek ile, sıfır uzunlukta ikili REG_NONE değerler yaratarak içine kandırmak olabilir: Korumalı üyesidir PutData erişmek için korumalı kesmek kullanmak gerekir

type 
    TRegistryHack = class(TRegistry); 
.... 
TRegistryHack(Registry).PutData(ValueName, nil, 0, rdUnknown); 

. Daha temiz bir yaklaşım, bir sınıf yardımcısı veya TRegistry'dan türetilen gerçek sınıfı kullanmak olabilir, ancak siz bu fikri anlayabilirsiniz.

İlgili konular