diff options
author | Bram Moolenaar <Bram@vim.org> | 2004-06-13 20:20:40 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2004-06-13 20:20:40 +0000 |
commit | 071d4279d6ab81b7187b48f3a0fc61e587b6db6c (patch) | |
tree | 221cbe3c40e043163c06f61c52a7ba2eb41e12ce /src/VisVim/Reg.cpp | |
parent | b4210b3bc14e2918f153a7307530fbe6eba659e1 (diff) | |
download | vim-git-071d4279d6ab81b7187b48f3a0fc61e587b6db6c.tar.gz |
updated for version 7.0001v7.0001
Diffstat (limited to 'src/VisVim/Reg.cpp')
-rw-r--r-- | src/VisVim/Reg.cpp | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/VisVim/Reg.cpp b/src/VisVim/Reg.cpp new file mode 100644 index 000000000..b4378e545 --- /dev/null +++ b/src/VisVim/Reg.cpp @@ -0,0 +1,56 @@ +#include "stdafx.h" + +// Returns key for HKEY_CURRENT_USER\"Software"\Company\AppName +// creating it if it doesn't exist +// responsibility of the caller to call RegCloseKey() on the returned HKEY +// +HKEY GetAppKey (char* AppName) +{ + HKEY hAppKey = NULL; + HKEY hSoftKey = NULL; + if (RegOpenKeyEx (HKEY_CURRENT_USER, "Software", 0, KEY_WRITE | KEY_READ, + &hSoftKey) == ERROR_SUCCESS) + { + DWORD Dummy; + RegCreateKeyEx (hSoftKey, AppName, 0, REG_NONE, + REG_OPTION_NON_VOLATILE, KEY_WRITE | KEY_READ, NULL, + &hAppKey, &Dummy); + } + if (hSoftKey) + RegCloseKey (hSoftKey); + + return hAppKey; +} + +// Returns key for +// HKEY_CURRENT_USER\"Software"\RegistryKey\AppName\Section +// creating it if it doesn't exist. +// responsibility of the caller to call RegCloseKey () on the returned HKEY +// +HKEY GetSectionKey (HKEY hAppKey, LPCTSTR Section) +{ + HKEY hSectionKey = NULL; + DWORD Dummy; + RegCreateKeyEx (hAppKey, Section, 0, REG_NONE, + REG_OPTION_NON_VOLATILE, KEY_WRITE|KEY_READ, NULL, + &hSectionKey, &Dummy); + return hSectionKey; +} + +int GetRegistryInt (HKEY hSectionKey, LPCTSTR Entry, int Default) +{ + DWORD Value; + DWORD Type; + DWORD Count = sizeof (DWORD); + if (RegQueryValueEx (hSectionKey, (LPTSTR) Entry, NULL, &Type, + (LPBYTE) &Value, &Count) == ERROR_SUCCESS) + return Value; + return Default; +} + +bool WriteRegistryInt (HKEY hSectionKey, char* Entry, int nValue) +{ + return RegSetValueEx (hSectionKey, Entry, NULL, REG_DWORD, + (LPBYTE) &nValue, sizeof (nValue)) == ERROR_SUCCESS; +} + |