包括 Registry.hpp 文件:
#include <Registry.hpp>
然后在您拥有的任何函数中,您可以编写以下内容来读取值:
String __fastcall ReadRegistryString(const String &key, const String &name,
const String &def)
{
TRegistry *reg = new TRegistry();
String result;
try {
reg->RootKey = HKEY_CURRENT_USER;
if (reg->OpenKeyReadOnly(key)) {
result = reg->ReadString(name, def);
reg->CloseKey();
}
}
__finally {
delete reg;
}
return result;
}
所以读取值应该很简单:
ShowMessage(ReadRegistryString("Options", "Last Directory", "none"));
您可以使用以下内容写入值:
void __fastcall WriteRegistryString(const String &key, const String &name,
const String &value)
{
TRegistry *reg = new TRegistry();
try {
reg->RootKey = HKEY_CURRENT_USER;
if (reg->OpenKey(key, true)) {
reg->WriteString(name, value);
reg->CloseKey();
}
}
__finally {
delete reg;
}
}
应该自我解释,记住 try ... finally 在使用 VCL TRegistry 类时实际上真的很有帮助。
编辑
我听说 .ini 文件存储在 Windows 的注册表中,所以如果您想要 ini 文件的速度优势,您应该将它们命名为其他名称 - 例如 .cfg
这是我从一个可靠的来源听到的,我自己没有测试过。