C++builder编程修改注册表的问题

2020-11-29 03:33

文档管理软件,文档管理系统,知识管理系统,档案管理系统的技术资料:
RootKey是注册表的根键值,比如运行regedit后看到的HKEY_USERS,HKEY_LOCAL_MACHINE就是RootKey,在TRegIniFile中缺省的RootKey是HKEY_USERS.
下面的例子是TRegistry的,TRegIniFile也差不多
void __fastcall TfrmMainForm::WriteToMyRegistry(int table_count)
{
  //TODO: Add your source code here
  TRegistry *MyRegistry=new TRegistry;
  MyRegistry->RootKey=HKEY_LOCAL_MACHINE;  //改变缺省Rootkey
if(!MyRegistry->OpenKey("Software\\Microsoft\\Windows\\Current\Version\\Run",true)) //打开主键
   //这样双引号里面的东西就变成了CurrentKey
   {
     Application->MessageBox("注册表内容无效", "读取注册表出错",MB_ICONERROR);
     MyRegistry->CloseKey();
     delete MyRegistry;
     return;
    }
  MyRegistry->WriteString("myrun","c:\\sthvcd\\sthvcd.exe");
  MyRegistry->CloseKey();
  delete MyRegistry;