Avatar billede hanghoj Nybegynder
06. november 2001 - 10:07 Der er 12 kommentarer og
2 løsninger

Læse/Skrive i Registreringsdatabasen med Visual C++

jeg mangler noget godt læsestof eller et par gode korte sample programmer til hvordan jeg kommer igang med Reg.....databasen. !
Avatar billede disky Nybegynder
06. november 2001 - 10:08 #1
kig i MSDN som fulgte med din VC der er gode eksempler.
Avatar billede wisen Nybegynder
06. november 2001 - 10:09 #2
Du kan finde mange gode ting her : http://codeguru.earthweb.com/system/index.shtml
Avatar billede hanghoj Nybegynder
06. november 2001 - 10:10 #3
jeg har prøvet at kigge i MSDN, uden held.
Avatar billede wisen Nybegynder
06. november 2001 - 10:11 #4
Avatar billede hanghoj Nybegynder
06. november 2001 - 10:15 #5
jeg skal ikke bruge den store forgyldet løsning, jeg skal bare finde ud af hvordan jeg skrive en enkelt streng og derefter læser den igen....
Avatar billede wisen Nybegynder
06. november 2001 - 10:16 #6
Jeg har et lille eksempel jeg kan sende til dig....
Avatar billede hanghoj Nybegynder
06. november 2001 - 10:18 #7
kan du ikke sende det til sbh@linux.eucsyd.dk
Avatar billede wisen Nybegynder
06. november 2001 - 10:18 #8
Ellers kan du kikke på API-kaldene \"RegOpenKeyEx\", \"RegQueryValueEx\" og \"RegSetValueEx\"; Dem kan du finde på MSDN...
Avatar billede hanghoj Nybegynder
06. november 2001 - 10:23 #9
jeg har valgt at fordele pointene således, da wisen henviste til hvor i MSDN jeg skulle kigge !!!
Avatar billede wisen Nybegynder
06. november 2001 - 10:29 #10
Takker for point; Jeg har sendt noget til dig, som du kan kikke på...

/Wisen
Avatar billede soepro Nybegynder
06. november 2001 - 11:09 #11
Det er ret simpelt - nedenstående eksempel checker hvor et bestemt program er installeret, ud fra viden om hvordan dens information gemmes i registreringsdatabasen:

AnsiString InstallPath = \"-\";
TRegistry *regFile = new TRegistry;
try
{
  regFile->RootKey = HKEY_LOCAL_MACHINE;
  InstallPath      = regFile->CurrentPath;
  if (regFile->OpenKey(\"Software\\\\IBM\\\\Client Access\\\\CurrentVersion\", /* Don\'t create */ false))
    InstallPath = regFile->ReadString(\"InstallPath\");
}
__finally
{
  delete regFile;
};
Avatar billede soepro Nybegynder
06. november 2001 - 11:11 #12
Registry\'et opfører sig som det ses af d.o. meget lig de \"gamle\" .ini filer, bortset fra at man har flere niveauer i nøglerne, hvor .ini filerne jo kun har et: [Sections]
Avatar billede hanghoj Nybegynder
06. november 2001 - 11:37 #13
jeg har fundet en simpel måde at skrive på.
under initinstance();

SetRegistryKey(_T(\"Local AppWizard-Generated Applications\"));
   
    CString strSection      = \"My Section\";
    CString strStringItem    = \"My String Item\";
    //CString strIntItem      = \"My Int Item\";

    CWinApp* pApp = AfxGetApp();

    pApp->WriteProfileString(strSection, strStringItem, \"Denne værdi skrives i DB\");

/hanghoj
Avatar billede casperwollesen Nybegynder
07. november 2001 - 13:51 #14
Hvem er du hanghoj ? For jeg har da også sådan en email adresse med @linux.eucsyd.dk

Casper W.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester