TRegistry (C++)

From RAD Studio Code Examples
Jump to: navigation, search

Language:

Description

This example shows how to use the TRegistry class in order to find, insert, and delete Keys and Items into the Windows Registry. This example uses two buttons: InsertToRegBtn and DeleteFromRegBtn, for inserting and deleting the values.

Code

void __fastcall TForm2::InsertToRegBtnClick(TObject *Sender)
{
        TRegistry* reg = new TRegistry(KEY_READ);
        reg->RootKey = HKEY_LOCAL_MACHINE;
 
        if(!reg->KeyExists("Software\\MyCompanyName\\MyApplication\\"))
        {
                MessageDlg("Key not found! Created now.",
                                        mtInformation, TMsgDlgButtons() << mbOK, 0);
        }
        reg->Access = KEY_WRITE;
        bool openResult = reg->OpenKey("Software\\MyCompanyName\\MyApplication\\", true);
 
        if(!openResult)
        {
                MessageDlg("Unable to create key! Exiting.",
                                        mtError, TMsgDlgButtons() << mbOK, 0);
                return;
        }
        //Checking if the values exist and inserting when neccesary
 
        if(!reg->KeyExists("Creation\ Date"))
        {
                TDateTime today = TDateTime::CurrentDateTime();
                reg->WriteDateTime("Creation\ Date", today);
        }
 
        if(!reg->KeyExists("Licenced\ To"))
        {
                reg->WriteString("Licenced\ To", "MySurname\ MyFirstName");
        }
 
        if(!reg->KeyExists("App\ Location"))
        {
                reg->WriteExpandString("App\ Location",
                                                                "%PROGRAMFILES%\\MyCompanyName\\MyApplication\\");
        }
 
        if(!reg->KeyExists("Projects\ Location"))
        {
                reg->WriteExpandString("Projects\ Location",
                                                                "%USERPROFILE%\\MyApplication\\Projects\\");
        }
 
        reg->CloseKey();
        reg->Free();
}
//---------------------------------------------------------------------------
void __fastcall TForm2::DelFromRegBtnClick(TObject *Sender)
{
        //Deleting the example registry entries
        TRegistry* reg = new TRegistry(KEY_WRITE);
        reg->RootKey = HKEY_LOCAL_MACHINE;
 
        reg->DeleteKey("Software\\MyCompanyName\\MyApplication");
        reg->DeleteKey("Software\\MyCompanyName");
 
        reg->CloseKey();
        reg->Free();
}
//---------------------------------------------------------------------------

Uses

Personal tools