2012-04-08 6 views
5

私はTRegistryを使って拡張機能のOpenWithProgidsキーを扱おうとしています。私は、TRegistryがこれらの値(REG_NONEのタイプを必要とする)を書くことはできないと私は知っています。私はAPI RegSetValueEx関数を使ってこれらを設定することができますが、TRegistryでそれをやる。TRegistryはREG_NONE値を書き込みますか?

答えて

4

TRegistryREG_NONEの値を直接サポートしていません。ただし、保護されたハックで、あなたは長さゼロのバイナリREG_NONE値を作成するにそれをだますことができます。

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

あなたが保護されたメンバーであるPutDataへのアクセスを得るために保護されたハックを使用する必要があります。より洗練されたアプローチは、TRegistryから派生したクラスヘルパーまたは真のクラスを使用することですが、あなたはそのアイデアを得るでしょう。

関連する問題