\section{CWin\-Reg\-Key Klassenreferenz}
\label{classCWinRegKey}\index{CWinRegKey@{CWinRegKey}}
Klasse zum einfachen Zugriff auf die Windows Registry.  


{\tt \#include $<$Win\-Reg\-Key.h$>$}

\subsection*{\"{O}ffentliche Methoden}
\begin{CompactItemize}
\item 
{\bf CWin\-Reg\-Key} ()\label{classCWinRegKey_a0}

\begin{CompactList}\small\item\em Konstructor. \item\end{CompactList}\item 
virtual {\bf $\sim$CWin\-Reg\-Key} ()\label{classCWinRegKey_a1}

\begin{CompactList}\small\item\em Destructor. \item\end{CompactList}\item 
{\bf operator HKEY} () const
\begin{CompactList}\small\item\em Konverteirt ein CWin\-Reg\-Key objekt to zu HKEY. \item\end{CompactList}\item 
HKEY {\bf Detach} (void)
\begin{CompactList}\small\item\em L\"{o}st das interne Handle m\_\-h\-Key vom Objekt. \item\end{CompactList}\item 
void {\bf Attach} (HKEY h\-Key)\label{classCWinRegKey_a4}

\begin{CompactList}\small\item\em Bindet ein Handle an das interne Handle m\_\-h\-Key. \item\end{CompactList}\item 
LONG {\bf Open} (HKEY h\-Key\-Parent, LPCTSTR lpsz\-Key\-Name, REGSAM n\-Sam\-Desired=KEY\_\-ALL\_\-ACCESS)
\begin{CompactList}\small\item\em \"{O}ffnet einen Registry-Schl\"{u}ssel. \item\end{CompactList}\item 
LONG {\bf Close} ()
\begin{CompactList}\small\item\em Beendet den Zugriff auf den aktuellen Registry-Schl\"{u}ssel. \item\end{CompactList}\item 
LONG {\bf Create} (HKEY h\-Key\-Parent, LPCTSTR lpsz\-Key\-Name, LPTSTR lpsz\-Class=NULL, DWORD dw\-Options=REG\_\-OPTION\_\-NON\_\-VOLATILE, REGSAM n\-Sam\-Desired=KEY\_\-ALL\_\-ACCESS, LPSECURITY\_\-ATTRIBUTES lp\-Sec\-Attr=NULL, LPDWORD lpdw\-Disposition=NULL)
\begin{CompactList}\small\item\em Erzeugt einen neuen Registry-Schl\"{u}ssel. \item\end{CompactList}\item 
LONG {\bf Set\-Value} (DWORD dw\-Value, LPCTSTR lpsz\-Value\-Name)
\begin{CompactList}\small\item\em Setzt einen Registry-Wert vom aktuellen Schl\"{u}ssel vom Typ DWORD. \item\end{CompactList}\item 
LONG {\bf Set\-Value} (LPCTSTR lpsz\-Value, LPCTSTR lpsz\-Value\-Name)
\begin{CompactList}\small\item\em Setzt einen Registry-Wert vom aktuellen Schl\"{u}ssel vom Typ String. \item\end{CompactList}\item 
LONG {\bf Query\-Value} (DWORD \&dw\-Value, LPCTSTR lpsz\-Value\-Name)
\begin{CompactList}\small\item\em Liest einen Registry-Wert vom aktuellen Schl\"{u}ssel vom Typ DWORD. \item\end{CompactList}\item 
LONG {\bf Query\-Value} (LPTSTR sz\-Value, LPCTSTR lpsz\-Value\-Name, DWORD $\ast$pdw\-Count)
\begin{CompactList}\small\item\em Liest einen Registry-Wert vom aktuellen Schl\"{u}ssel vom Typ String. \item\end{CompactList}\item 
LONG {\bf Delete\-Sub\-Key} (LPCTSTR lpsz\-Sub\-Key)
\begin{CompactList}\small\item\em L\"{o}scht einen Unterschl\"{u}ssel des aktuelle Schl\"{u}ssels aus der Registry. \item\end{CompactList}\item 
LONG {\bf Recurse\-Delete\-Key} (LPCTSTR lpsz\-Key)
\begin{CompactList}\small\item\em L\"{o}scht einen Unterschl\"{u}ssel des aktuelle Schl\"{u}ssels inkl. \item\end{CompactList}\item 
LONG {\bf Delete\-Value} (LPCTSTR lpsz\-Value)
\begin{CompactList}\small\item\em L\"{o}scht einen Wert aus der Registry. \item\end{CompactList}\item 
LONG {\bf Enum\-Sub\-Keys} (std::vector$<$ std::string $>$ \&a\-Key\-Names)
\begin{CompactList}\small\item\em Ermittelt die untergeordneten Schl\"{u}ssel. \item\end{CompactList}\item 
LONG {\bf Enum\-Values} (std::vector$<$ std::string $>$ \&a\-Value\-Names)
\begin{CompactList}\small\item\em Ermittelt die vorhandenen Wertnamen. \item\end{CompactList}\end{CompactItemize}
\subsection*{Private Attribute}
\begin{CompactItemize}
\item 
HKEY {\bf m\_\-h\-Key}\label{classCWinRegKey_r0}

\end{CompactItemize}


\subsection{Ausf\"{u}hrliche Beschreibung}
Klasse zum einfachen Zugriff auf die Windows Registry. 

Basis-Code aus Microsoft VC++ 6.0 ATL-Bibliothek. \begin{Desc}
\item[Autor:]Axel Schmidt \end{Desc}




\subsection{Dokumentation der Elementfunktionen}
\index{CWinRegKey@{CWin\-Reg\-Key}!Close@{Close}}
\index{Close@{Close}!CWinRegKey@{CWin\-Reg\-Key}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}LONG CWin\-Reg\-Key::Close ()}\label{classCWinRegKey_a6}


Beendet den Zugriff auf den aktuellen Registry-Schl\"{u}ssel. 

\begin{Desc}
\item[R\"{u}ckgabe:]ERROR\_\-SUCCESS, falls kein Fehler aufgetreten \end{Desc}
\index{CWinRegKey@{CWin\-Reg\-Key}!Create@{Create}}
\index{Create@{Create}!CWinRegKey@{CWin\-Reg\-Key}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}LONG CWin\-Reg\-Key::Create (HKEY {\em h\-Key\-Parent}, LPCTSTR {\em lpsz\-Key\-Name}, LPTSTR {\em lpsz\-Class} = {\tt NULL}, DWORD {\em dw\-Options} = {\tt REG\_\-OPTION\_\-NON\_\-VOLATILE}, REGSAM {\em n\-Sam\-Desired} = {\tt KEY\_\-ALL\_\-ACCESS}, LPSECURITY\_\-ATTRIBUTES {\em lp\-Sec\-Attr} = {\tt NULL}, LPDWORD {\em lpdw\-Disposition} = {\tt NULL})}\label{classCWinRegKey_a7}


Erzeugt einen neuen Registry-Schl\"{u}ssel. 

\begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em h\-Key\-Parent}]Schl\"{u}ssel, ab dem gesucht wird (Vordefinierte Schl\"{u}ssel : HKEY\_\-CLASSES\_\-ROOT, HKEY\_\-CURRENT\_\-CONFIG, HKEY\_\-CURRENT\_\-USER, HKEY\_\-LOCAL\_\-MACHINE HKEY\_\-USERS \item[{\em lpsz\-Key\-Name}]Unterschlusselname (NULL oder \char`\"{}\char`\"{}, falls kein Unteschl\"{u}ssel gew\"{u}nscht). \item[{\em lspz\-Class}]Class-String \item[{\em dw\-Options}]Optionen (REG\_\-OPTION\_\-NON\_\-VOLATILE, REG\_\-OPTION\_\-VOLATILE oder REG\_\-OPTION\_\-BACKUP\_\-RESTORE) \item[{\em n\-Sam\-Desired}]gew\"{u}nschter Zugriffs-Modus \item[{\em lp\-Sec\-Attr}]Security-Attribute \item[{\em lpdw\-Disposition}]REG\_\-CREATED\_\-NEW\_\-KEY oder REG\_\-OPENED\_\-EXISTING\_\-KEY \end{description}
\end{Desc}
\begin{Desc}
\item[R\"{u}ckgabe:]ERROR\_\-SUCCESS, falls kein Fehler aufgetreten \end{Desc}
\index{CWinRegKey@{CWin\-Reg\-Key}!DeleteSubKey@{DeleteSubKey}}
\index{DeleteSubKey@{DeleteSubKey}!CWinRegKey@{CWin\-Reg\-Key}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}LONG CWin\-Reg\-Key::Delete\-Sub\-Key (LPCTSTR {\em lpsz\-Sub\-Key})}\label{classCWinRegKey_a12}


L\"{o}scht einen Unterschl\"{u}ssel des aktuelle Schl\"{u}ssels aus der Registry. 

Unter Win95 werden alle Unterschl\"{u}ssel mitgel\"{o}scht, unter Windows NT k\"{o}nnen nur Schl\"{u}ssel ohne Unterschl\"{u}ssel gel\"{o}scht werden (Benutze Recurse\-Delete\-Dey anstatt). \begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em lpsz\-Sub\-Key}]Name des Unterschl\"{u}ssels \end{description}
\end{Desc}
\begin{Desc}
\item[R\"{u}ckgabe:]ERROR\_\-SUCCESS, falls kein Fehler aufgetreten \end{Desc}
\index{CWinRegKey@{CWin\-Reg\-Key}!DeleteValue@{DeleteValue}}
\index{DeleteValue@{DeleteValue}!CWinRegKey@{CWin\-Reg\-Key}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}LONG CWin\-Reg\-Key::Delete\-Value (LPCTSTR {\em lpsz\-Value})}\label{classCWinRegKey_a14}


L\"{o}scht einen Wert aus der Registry. 

\begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em lpsz\-Value}]Name des Wertes \end{description}
\end{Desc}
\begin{Desc}
\item[R\"{u}ckgabe:]ERROR\_\-SUCCESS, falls kein Fehler aufgetreten \end{Desc}
\index{CWinRegKey@{CWin\-Reg\-Key}!Detach@{Detach}}
\index{Detach@{Detach}!CWinRegKey@{CWin\-Reg\-Key}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}HKEY CWin\-Reg\-Key::Detach (void)}\label{classCWinRegKey_a3}


L\"{o}st das interne Handle m\_\-h\-Key vom Objekt. 

\begin{Desc}
\item[R\"{u}ckgabe:]das aktuelle interne Handle \end{Desc}
\index{CWinRegKey@{CWin\-Reg\-Key}!EnumSubKeys@{EnumSubKeys}}
\index{EnumSubKeys@{EnumSubKeys}!CWinRegKey@{CWin\-Reg\-Key}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}LONG CWin\-Reg\-Key::Enum\-Sub\-Keys (std::vector$<$ std::string $>$ \& {\em a\-Key\-Names})}\label{classCWinRegKey_a15}


Ermittelt die untergeordneten Schl\"{u}ssel. 

\begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em a\-Key\-Names}]Feld mit den Schl\"{u}sseln. \end{description}
\end{Desc}
\begin{Desc}
\item[R\"{u}ckgabe:]immer ERROR\_\-SUCCESS \end{Desc}
\index{CWinRegKey@{CWin\-Reg\-Key}!EnumValues@{EnumValues}}
\index{EnumValues@{EnumValues}!CWinRegKey@{CWin\-Reg\-Key}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}LONG CWin\-Reg\-Key::Enum\-Values (std::vector$<$ std::string $>$ \& {\em a\-Value\-Names})}\label{classCWinRegKey_a16}


Ermittelt die vorhandenen Wertnamen. 

\begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em a\-Value\-Names}]Feld mit den Wertnamen. \end{description}
\end{Desc}
\begin{Desc}
\item[R\"{u}ckgabe:]immer ERROR\_\-SUCCESS \end{Desc}
\index{CWinRegKey@{CWin\-Reg\-Key}!Open@{Open}}
\index{Open@{Open}!CWinRegKey@{CWin\-Reg\-Key}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}LONG CWin\-Reg\-Key::Open (HKEY {\em h\-Key\-Parent}, LPCTSTR {\em lpsz\-Key\-Name}, REGSAM {\em n\-Sam\-Desired} = {\tt KEY\_\-ALL\_\-ACCESS})}\label{classCWinRegKey_a5}


\"{O}ffnet einen Registry-Schl\"{u}ssel. 

\begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em h\-Key\-Parent}]Schl\"{u}ssel, ab dem gesucht wird (Vordefinierte Schl\"{u}ssel : HKEY\_\-CLASSES\_\-ROOT, HKEY\_\-CURRENT\_\-CONFIG, HKEY\_\-CURRENT\_\-USER, HKEY\_\-LOCAL\_\-MACHINE HKEY\_\-USERS \item[{\em lpsz\-Key\-Name}]Unterschlusselname (NULL oder \char`\"{}\char`\"{}, falls kein Unteschl\"{u}ssel gew\"{u}nscht). \item[{\em n\-Sam\-Desired}]gew\"{u}nschter Zugriffs-Modus \end{description}
\end{Desc}
\begin{Desc}
\item[R\"{u}ckgabe:]ERROR\_\-SUCCESS, falls kein Fehler aufgetreten \end{Desc}
\index{CWinRegKey@{CWin\-Reg\-Key}!operator HKEY@{operator HKEY}}
\index{operator HKEY@{operator HKEY}!CWinRegKey@{CWin\-Reg\-Key}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}CWin\-Reg\-Key::operator HKEY () const}\label{classCWinRegKey_a2}


Konverteirt ein CWin\-Reg\-Key objekt to zu HKEY. 

\begin{Desc}
\item[R\"{u}ckgabe:]HKEY \end{Desc}
\index{CWinRegKey@{CWin\-Reg\-Key}!QueryValue@{QueryValue}}
\index{QueryValue@{QueryValue}!CWinRegKey@{CWin\-Reg\-Key}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}LONG CWin\-Reg\-Key::Query\-Value (LPTSTR {\em sz\-Value}, LPCTSTR {\em lpsz\-Value\-Name}, DWORD $\ast$ {\em pdw\-Count})}\label{classCWinRegKey_a11}


Liest einen Registry-Wert vom aktuellen Schl\"{u}ssel vom Typ String. 

\begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em lpsz\-Value}]Wert (darf nicht NULL sein) \item[{\em lpsz\-Value\-Name}]Wertname \end{description}
\end{Desc}
\begin{Desc}
\item[R\"{u}ckgabe:]ERROR\_\-SUCCESS, falls kein Fehler aufgetreten \end{Desc}
\index{CWinRegKey@{CWin\-Reg\-Key}!QueryValue@{QueryValue}}
\index{QueryValue@{QueryValue}!CWinRegKey@{CWin\-Reg\-Key}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}LONG CWin\-Reg\-Key::Query\-Value (DWORD \& {\em dw\-Value}, LPCTSTR {\em lpsz\-Value\-Name})}\label{classCWinRegKey_a10}


Liest einen Registry-Wert vom aktuellen Schl\"{u}ssel vom Typ DWORD. 

\begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em dw\-Value}]Wert \item[{\em lpsz\-Value\-Name}]Wertname \end{description}
\end{Desc}
\begin{Desc}
\item[R\"{u}ckgabe:]ERROR\_\-SUCCESS, falls kein Fehler aufgetreten \end{Desc}
\index{CWinRegKey@{CWin\-Reg\-Key}!RecurseDeleteKey@{RecurseDeleteKey}}
\index{RecurseDeleteKey@{RecurseDeleteKey}!CWinRegKey@{CWin\-Reg\-Key}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}LONG CWin\-Reg\-Key::Recurse\-Delete\-Key (LPCTSTR {\em lpsz\-Key})}\label{classCWinRegKey_a13}


L\"{o}scht einen Unterschl\"{u}ssel des aktuelle Schl\"{u}ssels inkl. 

aller Unterschl\"{u}ssel aus der Registry. \begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em lpsz\-Key}]Name des Unterschl\"{u}ssels \end{description}
\end{Desc}
\begin{Desc}
\item[R\"{u}ckgabe:]ERROR\_\-SUCCESS, falls kein Fehler aufgetreten \end{Desc}
\index{CWinRegKey@{CWin\-Reg\-Key}!SetValue@{SetValue}}
\index{SetValue@{SetValue}!CWinRegKey@{CWin\-Reg\-Key}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}LONG CWin\-Reg\-Key::Set\-Value (LPCTSTR {\em lpsz\-Value}, LPCTSTR {\em lpsz\-Value\-Name})}\label{classCWinRegKey_a9}


Setzt einen Registry-Wert vom aktuellen Schl\"{u}ssel vom Typ String. 

\begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em lpsz\-Value}]Wert (darf nicht NULL sein) \item[{\em lpsz\-Value\-Name}]Wertname \end{description}
\end{Desc}
\begin{Desc}
\item[R\"{u}ckgabe:]ERROR\_\-SUCCESS, falls kein Fehler aufgetreten \end{Desc}
\index{CWinRegKey@{CWin\-Reg\-Key}!SetValue@{SetValue}}
\index{SetValue@{SetValue}!CWinRegKey@{CWin\-Reg\-Key}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}LONG CWin\-Reg\-Key::Set\-Value (DWORD {\em dw\-Value}, LPCTSTR {\em lpsz\-Value\-Name})}\label{classCWinRegKey_a8}


Setzt einen Registry-Wert vom aktuellen Schl\"{u}ssel vom Typ DWORD. 

\begin{Desc}
\item[Parameter:]
\begin{description}
\item[{\em dw\-Value}]Wert \item[{\em lpsz\-Value\-Name}]Wertname \end{description}
\end{Desc}
\begin{Desc}
\item[R\"{u}ckgabe:]ERROR\_\-SUCCESS, falls kein Fehler aufgetreten \end{Desc}


Die Dokumentation f\"{u}r diese Klasse wurde erzeugt aufgrund der Dateien:\begin{CompactItemize}
\item 
Win\-Reg\-Key.h\item 
Win\-Reg\-Key.cpp\end{CompactItemize}
