OSDN Git Service

Remove USES_CONVERSION
[winmerge-jp/winmerge-jp.git] / ShellExtension / RegKey.h
1 /** 
2  * @file  RegKey.h
3  *
4  * @brief Declaration of CRegKeyEx C++ wrapper class for reading Windows registry
5  */
6 #pragma once
7
8 #include <Windows.h>
9 #include "UnicodeString.h"
10
11 /**
12  * @brief Class for reading/writing registry.
13  */
14 class CRegKeyEx
15 {
16
17 // Construction
18 public:
19         CRegKeyEx();
20         ~CRegKeyEx();
21
22 // Operations
23 public:
24         HKEY GetKey()  { return m_hKey; }  // Only used by VssPrompt.cpp - can be removed?
25         void Close();
26         LONG Open(HKEY hKeyRoot, LPCTSTR pszPath);
27         LONG OpenWithAccess(HKEY hKeyRoot, LPCTSTR pszPath, REGSAM regsam);
28         LONG OpenNoCreateWithAccess(HKEY hKeyRoot, LPCTSTR pszPath, REGSAM regsam);
29         bool QueryRegMachine(LPCTSTR key);
30         bool QueryRegUser(LPCTSTR key);
31
32         LONG WriteDword (LPCTSTR pszKey, DWORD dwVal);
33         LONG WriteString (LPCTSTR pszKey, LPCTSTR pszVal);
34         LONG WriteBool (LPCTSTR pszKey, BOOL bVal);
35         LONG WriteFloat (LPCTSTR pszKey, float fVal);
36
37         DWORD ReadDword (LPCTSTR pszKey, DWORD defval);
38         float ReadFloat (LPCTSTR pszKey, float defval);
39         BOOL ReadBool(LPCTSTR pszKey, BOOL defval);
40         LONG ReadLong (LPCTSTR pszKey, LONG defval);
41         UINT ReadUint (LPCTSTR pszKey, UINT defval);
42         UINT ReadInt (LPCTSTR pszKey, int defval);
43         short int ReadShort (LPCTSTR pszKey, short int defval);
44         BYTE ReadByte (LPCTSTR pszKey, BYTE defval);
45         String ReadString (LPCTSTR pszKey, LPCTSTR defval);
46         void ReadChars (LPCTSTR pszKey, LPTSTR pData, DWORD dwLength, LPCTSTR defval);
47
48 protected:
49         HKEY m_hKey; /**< Open key (HKLM, HKCU, etc). */
50         String m_sPath; /**< Path to actual key to open. */
51 };