Reg.cpp
资源名称:vim53src.zip [点击查看]
上传用户:gddssl
上传日期:2007-01-06
资源大小:1003k
文件大小:2k
源码类别:
编辑器/阅读器
开发平台:
DOS
- #include "stdafx.h"
- // Returns key for HKEY_CURRENT_USER"Software"CompanyAppName
- // 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"RegistryKeyAppNameSection
- // 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;
- }