在C++builder中读写注册的方法如下:
#include <vcl.h>
#pragma hdrstop
#include <Registry.hpp>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TRegistry *pReg = new TRegistry();
pReg->RootKey = HKEY_CURRENT_USER; // 打开主键
bool r = pReg->OpenKey("Software\\Borland\\C++builder\\6.0\\Known Packages", false);
if(r)
{
//创建注册表左边的路径
if(!pReg->KeyExists("PathInfo"))
pReg->CreateKey("PathInfo");
else
ShowMessage("此键已存在");
//注册表右边:写某项值,如果不存在则创建
if(!pReg->ValueExists("C:\\Program Files\\Borland\\CBuilder6\\
Projects\\Bpl\\ButtonGraphic.bpl"))
pReg->WriteString("C:\\Program Files\\Borland\\CBuilder6\\
Projects\\Bpl\\ButtonGraphic.bpl","ButtonGraphic");
else
ShowMessage("此项已存在");
//注册表右边:读出某项
AnsiString reg = pReg->ReadString("C:\\Program Files\\Borland\\CBuilder6\\
Projects\\Bpl\\ButtonGraphic.bpl");
ShowMessage(reg);
}
pReg->CloseKey();
delete pReg;
}
//---------------------------------------------------------------------------
如果自己编写的控件要注册到IDE环境中,实际上是在注册表中相应的位置写入路径信息,即bpl的路径,然后把bpi,lib等文件复制到IDE相应的目录中去。就会在开发环境中(控件面板上)看到自己的控件了。