bool CBrowserHelper::GetFirefoxPath(CString& sPath) { CRegKey reg; if (reg.Open(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Mozilla\\Mozilla Firefox"), KEY_READ) != ERROR_SUCCESS) { return false; } TCHAR szCurrentVersion[64] = _T(""); ULONG nCurrentVersionChars = _countof(szCurrentVersion); if (reg.QueryStringValue(_T("CurrentVersion"), szCurrentVersion, &nCurrentVersionChars) != ERROR_SUCCESS) { return false; } CString sMainKey(szCurrentVersion); sMainKey += _T("\\Main"); CRegKey mainReg; if (mainReg.Open(reg, sMainKey, KEY_READ) != ERROR_SUCCESS) { return false; } TCHAR szPath[MAX_PATH] = _T(""); ULONG nPathChars = _countof(szPath); if (mainReg.QueryStringValue(_T("PathToExe"), szPath, &nPathChars) != ERROR_SUCCESS) { return false; } sPath = szPath; return true; }
bool CPPageFormats::IsAutoPlayRegistered(autoplay_t ap) { ULONG len; TCHAR buff[_MAX_PATH]; if(::GetModuleFileName(AfxGetInstanceHandle(), buff, MAX_PATH) == 0) return(false); CString exe = buff; int i = (int)ap; if(i < 0 || i >= countof(handlers)) return(false); CRegKey key; if(ERROR_SUCCESS != key.Open(HKEY_LOCAL_MACHINE, CString(CStringA("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\AutoplayHandlers\\EventHandlers\\Play") + handlers[i].verb + "OnArrival"), KEY_READ)) return(false); len = countof(buff); if(ERROR_SUCCESS != key.QueryStringValue( CString(_T("MPCPlay")) + handlers[i].verb + _T("OnArrival"), buff, &len)) return(false); key.Close(); if(ERROR_SUCCESS != key.Open(HKEY_CLASSES_ROOT, CString(CStringA("MediaPlayerClassic.Autorun\\Shell\\Play") + handlers[i].verb + "\\Command"), KEY_READ)) return(false); len = countof(buff); if(ERROR_SUCCESS != key.QueryStringValue(NULL, buff, &len)) return(false); if(_tcsnicmp(_T("\"") + exe, buff, exe.GetLength() + 1)) return(false); key.Close(); return(true); }
BOOL CMainDlg::GetRegExtInfo(CString& strInfo) { CRegKey key; CString strKeyName; strKeyName = L"." + g_strExt; LONG lRet = key.Open(HKEY_CLASSES_ROOT, strKeyName, KEY_READ); if (lRet != ERROR_SUCCESS) return FALSE; wchar_t* szPathOld = new wchar_t[MAX_PATH]; ULONG nSize = MAX_PATH; lRet = key.QueryStringValue(L"", szPathOld, &nSize); if (nSize > MAX_PATH) { if (szPathOld != NULL) { delete[] szPathOld; szPathOld = NULL; } szPathOld = new wchar_t[nSize + 1]; lRet = key.QueryStringValue(L"", szPathOld, &nSize); if (lRet != ERROR_SUCCESS) return FALSE; } strInfo = szPathOld; if (szPathOld != NULL) { delete[] szPathOld; szPathOld = NULL; } return TRUE; }
void CManualModeDlg::LoadState(void) { CRegKey reg; if (reg.Open(HKEY_CURRENT_USER, g_szManualModeSettingsRegKey) == ERROR_SUCCESS) { TCHAR szText[MAX_PATH]; ULONG ulNumChars = countof(szText); reg.QueryStringValue(g_szMapPdbFile, szText, &ulNumChars); m_txtMapPdbFile.SetWindowText(szText); ulNumChars = countof(szText); reg.QueryStringValue(g_szBaseAddress, szText, &ulNumChars); m_txtBaseAddress.GetNumEdit().SetWindowText(szText); ulNumChars = countof(szText); reg.QueryStringValue(g_szCrashAddress, szText, &ulNumChars); m_txtCrashAddress.GetNumEdit().SetWindowText(szText); ulNumChars = countof(szText); reg.QueryStringValue(g_szModuleSize, szText, &ulNumChars); m_txtModuleSize.GetNumEdit().SetWindowText(szText); reg.Close(); } }
CHostSettingDlg::CHostSettingDlg() { m_szHostExe[0] = _T('\0'); m_szHostArg[0] = _T('\0'); CRegKey key; if(key.Open(HKEY_CURRENT_USER, _T("SOFTWARE\\Sailing\\LuaEdit"), KEY_READ)==ERROR_SUCCESS) { ULONG nChars; nChars = sizeof(m_szHostExe); key.QueryStringValue(_T("HostExe"), m_szHostExe, &nChars); nChars = sizeof(m_szHostArg); key.QueryStringValue(_T("HostArgs"), m_szHostArg, &nChars); } }
bool CP2PServiceModule::RegisterApp() { TCHAR szFileName[MAX_PATH]; GetModuleFileName(_AtlBaseModule.m_hInstResource, szFileName, sizeof(szFileName)); CRegKey reg; LPCTSTR lpszKey = "SOFTWARE\\P2PService_K"; if ( reg.Create( HKEY_LOCAL_MACHINE, lpszKey ) == ERROR_SUCCESS ) { reg.SetStringValue( "AppPath", szFileName ); reg.Close(); } if ( reg.Open( HKEY_LOCAL_MACHINE, lpszKey ) == ERROR_SUCCESS ) { TCHAR szAppPath[MAX_PATH]; ULONG ulLen = sizeof( szAppPath ); if ( reg.QueryStringValue( "AppPath", szAppPath, &ulLen ) == ERROR_SUCCESS ) { reg.Close(); return true; } reg.Close(); } return false; }
CString GetPeraGlobalDataFromReg( LPCTSTR lpszFlag, LPCTSTR lpszKey ) { CString sRegResult; CString sFlag = lpszFlag == NULL ? "" : lpszFlag; CString sRegKey = lpszKey == NULL ? "" : lpszKey; HKEY hKeyParent = NULL; if ( sFlag.CompareNoCase("lm") == 0 ) hKeyParent = HKEY_LOCAL_MACHINE; else if ( sFlag.CompareNoCase("cu") == 0 ) hKeyParent = HKEY_CURRENT_USER; else return ""; CString sRegKeyPath = "Software\\Peraglobal"; CRegKey rk; DWORD pCount = 1024; std::string strKeyValue; char szValue[1024]; memset(szValue, 0, 1024); if(rk.Open(hKeyParent, sRegKeyPath, KEY_READ)== ERROR_SUCCESS) { if(rk.QueryStringValue(sRegKey, szValue, &pCount)== ERROR_SUCCESS) { sRegResult = szValue; } } rk.Close(); if (!sRegResult.IsEmpty()) { return sRegResult; } return sRegResult; }
bool GetAppPath(CString& strFileName) { CString strKeyPath = "Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\"; strKeyPath += strFileName; CRegKey regkey; if (regkey.Open(HKEY_LOCAL_MACHINE, strKeyPath) != ERROR_SUCCESS) return false; char strValue[MAX_PATH]; strValue[0] = '\0'; DWORD dwLength = MAX_PATH; if (regkey.QueryStringValue(NULL/*Default*/, strValue, &dwLength) != ERROR_SUCCESS) return false; strFileName = strValue; if (strFileName.Find('%') >= 0) { char strDstPath[MAX_PATH]; strDstPath[0] = '\0'; if (::ExpandEnvironmentStrings(strFileName, strDstPath, MAX_PATH) > 0) strFileName = strDstPath; } return true; }
CString GetRegForDeskClient( LPCTSTR lpszKey ) { CString sRegResult; HKEY hKeyParent = HKEY_CURRENT_USER; CString sRegKeyPath = "Software\\Peraglobal\\PeraDeskClient"; CString sKey = lpszKey == NULL ? "" : lpszKey; if ( sKey.IsEmpty() ) return ""; CRegKey rk; DWORD pCount = 1024; std::string strKeyValue; char szValue[1024] = {NULL}; //memset(szValue, 0, 1024); if(rk.Open(hKeyParent, sRegKeyPath)== ERROR_SUCCESS) { if(rk.QueryStringValue(sKey, szValue, &pCount)== ERROR_SUCCESS) { sRegResult = szValue; } } rk.Close(); return sRegResult; }
BOOL CScaleOverviewDialog::OnInitDialog() { __super::OnInitDialog(); _working_folder_edit.EnableFolderBrowseButton(); CRegKey regkey; if (regkey.Open(HKEY_CURRENT_USER, _T("Software\\SKMR\\PsiScale"), KEY_READ) == ERROR_SUCCESS) { static TCHAR buffer[512]; ULONG count = 512; if (regkey.QueryStringValue(_T("WorkingFolder"), buffer, &count) == ERROR_SUCCESS) { if (FileSystem::FileExists(buffer)) { _working_folder_edit.SetWindowText(buffer); } } } if (_is_new_user) { _answer_manager.Save(_user->GetWorkingFolder() + _T("\\") + _user->GetUid() + _T(".xml"), _user->GetUid()); } _scale_list.Init(); return TRUE; }
CDocWindow::CDocWindow(CImageControl& ImageControl) : m_ImageControl(ImageControl), m_DocCommands(*this), m_Select(this) { m_hKeyboardHook = NULL; m_pClientDC = NULL; m_PageViewRect.SetRectEmpty(); m_PageRect.SetRectEmpty(); m_bHasFocus = false; m_fZoomScale = -1.0; m_iZoom = 0; // = dtoi(m_fZoomScale - 1.0); m_bIgnoreSetCursor = false; m_bSpecialsEnabled = false; m_strBackgroundMessage = DEFAULT_BACKGROUND_MESSAGE; m_ShadowSize.SetSize(0, 0); m_RecolorMode = RECOLOR_OFF; m_PrimaryColor = 0; m_SecondaryColor = 0; m_fUsePrimaryColor = true; CRegKey regkey; if (regkey.Open(REGKEY_APPROOT, REGKEY_APP) == ERROR_SUCCESS) { DWORD dwLength = MAX_PATH; char strValue[MAX_PATH]; if (regkey.QueryStringValue(REGVAL_SPECIALSENABLED, strValue, &dwLength) == ERROR_SUCCESS) m_bSpecialsEnabled = !!atoi(strValue); } }
BOOL _CheckSogouExist() { BOOL bRet = FALSE; HKEY hKey = NULL; LONG ulRet = -1; CRegKey reg; WCHAR szPath[MAX_PATH] = {0}; ULONG ulSize = MAX_PATH; ulRet = reg.Open(HKEY_LOCAL_MACHINE, L"SOFTWARE\\SogouExplorer", KEY_READ); if (ulRet != ERROR_SUCCESS) { bRet = FALSE; goto clean0; } ulRet = reg.QueryStringValue(NULL, szPath, &ulSize); if (ulRet != ERROR_SUCCESS) { bRet = FALSE; goto clean0; } if (::PathIsDirectory(szPath)) { bRet = TRUE; } clean0: reg.Close(); return bRet; }
void CDataCeneter::GetRecordPath(BYTE bOperation, LPVOID VarData) { wstring *pRecordPath = (wstring*)VarData; TCHAR szData[1024] = {0}; ULONG ulChars = 1024; CRegKey regKey; if( regKey.Open(HKEY_LOCAL_MACHINE, GetRegFolder()) == ERROR_SUCCESS) { LONG nRet = regKey.QueryStringValue(_T("Recording Path"), szData,&ulChars); if(nRet != ERROR_SUCCESS) { vector<ec_Storage> vcStorageObj; ec_Storage data; data.storage_type = _T("RECORD"); vcStorageObj.push_back(data); QueryFromDC(DATABASE,GET_STORAGE,(LPVOID)&vcStorageObj); if (vcStorageObj.size()) { *pRecordPath = vcStorageObj[0].store_location; } } else { *pRecordPath = szData; } } regKey.Close(); }
extern "C" void __declspec(dllexport) detect_httpd( HWND hwndParent, int string_size, char *variables, stack_t **stacktop) { EXDLL_INIT(); TCHAR str[1024]; ULONG len = 1024; char szPath[1024]=""; bool bDetected = false; CRegKey regKey; if(ERROR_SUCCESS==regKey.Open(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\services\\Apache2.2"))) { if(ERROR_SUCCESS==regKey.QueryStringValue(_T("ImagePath"), str, &len)) { bDetected = true; } } CStringA sPath = str; int nPos = sPath.Find("\\bin\\httpd.exe"); if(nPos<0) bDetected = false; sPath = sPath.Mid(0, nPos); sPath.Replace("\"", ""); if(bDetected) pushstring(sPath.GetBuffer()); else pushstring(""); }
bool CHpAutoUpdate::IsSilentUpdateAllowed() { CRegKey regkey; if (regkey.Open(REGKEY_APPROOT, REGKEY_HPAPP) != ERROR_SUCCESS) return true; DWORD dwSize = MAX_PATH; TCHAR szBuffer[MAX_PATH]; if (regkey.QueryStringValue(REGVAL_AUTOUPDATE, szBuffer, &dwSize) != ERROR_SUCCESS) return true; COleDateTime Date; bool bOK = Date.ParseDateTime(CString(szBuffer), 0/*dwFlags*/); if (!bOK) return true; COleDateTime Now = COleDateTime::GetCurrentTime(); CString strDate; strDate.Format("%d/%d/%d", Now.GetMonth(), Now.GetDay(), Now.GetYear()); bOK = Now.ParseDateTime(CString(strDate), 0/*dwFlags*/); if (!bOK) return true; return (Date != Now); }
bool CHpAutoUpdate::FileUpToDate(const CString& strFilePath, const CString& strManifestVersion, bool bTestRegistryVersion) { CString szFilePath = m_strAppPath + m_strAppName; DWORD dwFileVersion = 0; if (!bTestRegistryVersion) { if (!FileExists(szFilePath)) return false; dwFileVersion = GetFileVersion(szFilePath); } else { CRegKey regkey; if (regkey.Open(REGKEY_APPROOT, REGKEY_HPAPP) != ERROR_SUCCESS) return false; DWORD dwSize = MAX_PATH; TCHAR szBuffer[MAX_PATH]; if (regkey.QueryStringValue(m_strKeyName, szBuffer, &dwSize) == ERROR_SUCCESS) { CString strFileVersion = szBuffer; dwFileVersion = Version(strFileVersion); } } return (Version(strManifestVersion) <= dwFileVersion); }
CString GetLM_WorkspacePath() { CString sRegResult; HKEY hKeyParent = HKEY_LOCAL_MACHINE; CString sRegKeyPath = "Software\\Peraglobal"; CString sRegKey = "PeraProcessDesigner"; CRegKey rk; DWORD pCount = 1024; std::string strKeyValue; char szValue[1024]; memset(szValue, 0, 1024); if(rk.Open(hKeyParent, sRegKeyPath, KEY_READ)== ERROR_SUCCESS) { if(rk.QueryStringValue(sRegKey, szValue, &pCount)== ERROR_SUCCESS) { sRegResult = szValue; } } rk.Close(); if (!sRegResult.IsEmpty()) { return sRegResult; } return sRegResult; }
void CDataCeneter::GetMailServer(BYTE bOperation, LPVOID VarData) { struMail *pMailData = (struMail*)VarData; TCHAR szData[1024] = {0}; ULONG ulChars = 1024; CRegKey regKey; if( regKey.Open(HKEY_LOCAL_MACHINE, GetRegFolder()) == ERROR_SUCCESS) { regKey.QueryStringValue(_T("SMTPSETTING"), szData,&ulChars); } regKey.Close(); CString csSMTPSecure, csSMTPServer, csSMTPPort, csSMTPAccount, csSMTPPassword; AfxExtractSubString(csSMTPSecure, szData, 0, ';'); AfxExtractSubString(csSMTPServer, szData, 1, ';'); AfxExtractSubString(csSMTPPort, szData, 2, ';'); AfxExtractSubString(csSMTPAccount, szData, 3, ';'); AfxExtractSubString(csSMTPPassword, szData, 4, ';'); pMailData->SMTPSecure = (SMTP_SECURE)_ttoi(csSMTPSecure); pMailData->SMTPServer = csSMTPServer; pMailData->SMTPPort = csSMTPPort; pMailData->SMTPAccount = csSMTPAccount; pMailData->SMTPPassword = csSMTPPassword; }
BOOL CUtils::IsInstalled(REG_INFO & reg_info) { for (size_t i = 0; i < reg_info.size(); ++i) { REG_GROUP & group = reg_info[i]; if (group.hKey == NULL || group.szSubKey.IsEmpty()) continue; LPCWSTR lpcwValue = NULL; if (!group.szValue.IsEmpty()) { lpcwValue = group.szValue; } CRegKey key; LONG lRes = key.Open(group.hKey, group.szSubKey, KEY_READ|(group.bIsX64?KEY_WOW64_64KEY:KEY_WOW64_32KEY)); if (ERROR_SUCCESS != lRes) { continue; } // 如果value为空,则说明只需要验证键是否存在 if (group.szValue.IsEmpty()) { return TRUE; } WCHAR szPath[MAX_PATH] = {}; DWORD dwLen = MAX_PATH; lRes = key.QueryStringValue(group.szValue, szPath, &dwLen); if (ERROR_SUCCESS != lRes) { continue; } CString szPathFull(szPath); szPathFull.TrimLeft(); szPathFull.TrimRight(); if (szPathFull.IsEmpty()) continue; if (szPathFull.Left(1) == L"\"") { szPathFull = szPathFull.Right(szPathFull.GetLength() - 1); } if (szPathFull.Right(1) == L"\"") { szPathFull = szPathFull.Left(szPathFull.GetLength() - 1); } if (!group.szExe.IsEmpty()) { PathAppend(szPathFull.GetBufferSetLength(MAX_PATH), group.szExe); szPathFull.ReleaseBuffer(); } if (PathFileExists(szPathFull)) return TRUE; } return FALSE; }
bool CRealMediaPlayer::Init() { CString prefs(_T("Software\\RealNetworks\\Preferences")); CRegKey key; if (ERROR_SUCCESS != key.Open(HKEY_CLASSES_ROOT, prefs + _T("\\DT_Common"), KEY_READ)) { return false; } TCHAR buff[MAX_PATH]; ULONG len = _countof(buff); if (ERROR_SUCCESS != key.QueryStringValue(NULL, buff, &len)) { return false; } key.Close(); m_hRealMediaCore = LoadLibrary(CString(buff) + _T("pnen3260.dll")); if (!m_hRealMediaCore) { return false; } m_fpCreateEngine = (FPRMCREATEENGINE)GetProcAddress(m_hRealMediaCore, "CreateEngine"); m_fpCloseEngine = (FPRMCLOSEENGINE)GetProcAddress(m_hRealMediaCore, "CloseEngine"); m_fpSetDLLAccessPath = (FPRMSETDLLACCESSPATH)GetProcAddress(m_hRealMediaCore, "SetDLLAccessPath"); if (!m_fpCreateEngine || !m_fpCloseEngine || !m_fpSetDLLAccessPath) { return false; } if (ERROR_SUCCESS == key.Open(HKEY_CLASSES_ROOT, prefs, KEY_READ)) { CString dllpaths; len = _countof(buff); for (int i = 0; ERROR_SUCCESS == key.EnumKey(i, buff, &len); i++, len = _countof(buff)) { CRegKey key2; TCHAR buff2[MAX_PATH]; ULONG len2 = _countof(buff2); if (ERROR_SUCCESS != key2.Open(HKEY_CLASSES_ROOT, prefs + _T("\\") + buff, KEY_READ) || ERROR_SUCCESS != key2.QueryStringValue(NULL, buff2, &len2)) { continue; } dllpaths += CString(buff) + '=' + buff2 + '|'; } key.Close(); if (!dllpaths.IsEmpty()) { char* s = DEBUG_NEW char[dllpaths.GetLength() + 1]; strcpy_s(s, dllpaths.GetLength() + 1, CStringA(dllpaths)); for (size_t i = 0, j = strlen(s); i < j; i++) { if (s[i] == '|') { s[i] = '\0'; } } m_fpSetDLLAccessPath(s); delete [] s; }
BOOL CNetworkControllView::LoadTimeServerFromRegister(const CString& strKey ,CString& strVal) { CRegKey reg; //CString strEntry = strTSRegRoot + _T("\\")+ strKey; LPTSTR szRet = new TCHAR[128]; ZeroMemory(szRet, sizeof(TCHAR)*128); DWORD dwSize = 128; if(reg.Open(HKEY_CURRENT_USER, strTSRegRoot) == ERROR_SUCCESS) { if(reg.QueryStringValue(strKey, szRet, &dwSize) == ERROR_SUCCESS) { strVal = CString(szRet); } else { delete []szRet; return FALSE; } } else // 没有这个表项 { delete []szRet; return FALSE; } reg.Close(); delete []szRet; return TRUE; }
// Purpose: Add to the list of elements by searching the registry void NsLibraryList::AddListRegistry() { CRegKey icKey; if (ERROR_SUCCESS == icKey.Open(HKEY_LOCAL_MACHINE, _T(szLIBRARY_REGISTRY_BASE), KEY_READ)) { const UINT BUFF_LEN = 256; TCHAR szBuffer[BUFF_LEN]; for (DWORD dwIndex = 0; ; ++dwIndex) { DWORD dwSize = ARRAY_SIZE(szBuffer); if (icKey.EnumKey(dwIndex, szBuffer, &dwSize) == ERROR_NO_MORE_ITEMS) break; // normal exit of loop CRegKey icNewKey; if (ERROR_SUCCESS == icNewKey.Open(icKey, szBuffer, KEY_READ)) { TCHAR szPathBuffer[BUFF_LEN]; ULONG nBytes = ARRAY_SIZE(szPathBuffer); if (ERROR_SUCCESS == icNewKey.QueryStringValue("Path", szPathBuffer, &nBytes)) { CString strDLLName(szPathBuffer); AddDllToList(strDLLName); } } } } }
CString CFcAppSoundsRegistry::GetCurrentSoundScheme( void ) { CString currentSoundScheme; LSTATUS ls; CRegKey schemeskey; ls = schemeskey.Open( HKEY_CURRENT_USER, L"AppEvents\\Schemes", KEY_READ ); DWORD dwType = 0; ULONG cbValue = 0; ls = schemeskey.QueryValue( nullptr, &dwType, nullptr, &cbValue ); if ( ERROR_SUCCESS == ls || ERROR_INSUFFICIENT_BUFFER == ls ) { cbValue += sizeof(wchar_t); wchar_t* pwz = static_cast<wchar_t*>( alloca( cbValue ) ); ls = schemeskey.QueryStringValue( nullptr, pwz, &cbValue ); if ( ERROR_SUCCESS == ls ) { debug( L"CFcAppSoundsRegistry::_RegisterApp: Current sound scheme is '%s'\n", pwz ); currentSoundScheme = pwz; } else { debug( L"CFcAppSoundsRegistry::_RegisterApp: Couldn't query value of current sound scheme: error=%lu\n", ls ); } } else { debug( L"CFcAppSoundsRegistry::GetCurrentSoundScheme: Failed to query size of current sound scheme's name: error=%lu\n", ls ); } ls = schemeskey.Close( ); return currentSoundScheme; }
void CInProcPlugHole::UpdateImagePathForCLSID(REFCLSID rclsid) { USES_CONVERSION; _ASSERTE(rclsid != CLSID_NULL); // Find a suitable image if one has not already been specified and a CLSID is available // to look up in the registry for an Image subkey. if (strlen(achImagePath) == 0) { // The stub is being used to load a standard Dolphin image, rather than one bound // up with the stub, so we have to look up the image to load in the registry LPOLESTR wszCLSID; HRESULT hr = StringFromCLSID(rclsid, &wszCLSID); if (SUCCEEDED(hr)) { LPCSTR szCLSID = W2A(wszCLSID); char szKey[5+1+38+1+5+1] = "CLSID\\"; strcat(szKey, szCLSID); strcat(szKey, "\\Image"); _ASSERTE(strlen(szKey) < sizeof(szKey)); CRegKey rKey; if (ERROR_SUCCESS == rKey.Open(HKEY_CLASSES_ROOT, szKey)) { DWORD dwChars = _MAX_PATH; rKey.QueryStringValue("", achImagePath, &dwChars); } CoTaskMemFree(wszCLSID); } } }
CString CrBotFile() { CString sRegResult; HKEY hKeyParent = HKEY_CLASSES_ROOT; CString sRegKeyPath = "BOT_FileProgID\\Shell\\Open\\Command"; CString sRegKey = ""; CRegKey rk; DWORD pCount = 1024; std::string strKeyValue; char szValue[1024]; memset(szValue, 0, 1024); if(rk.Open(hKeyParent, sRegKeyPath, KEY_READ)== ERROR_SUCCESS) { if(rk.QueryStringValue(sRegKey, szValue, &pCount)== ERROR_SUCCESS) { sRegResult = szValue; } } rk.Close(); if (!sRegResult.IsEmpty()) { CString sBinPath = sRegResult.Left(sRegResult.ReverseFind('\\')); sBinPath.Trim("\""); return sBinPath; } return sRegResult; }
CString OldCuFlexware() { CString sRegResult; HKEY hKeyParent = HKEY_CURRENT_USER; CString sRegKeyPath = "Software\\Peraglobal\\Flexware"; CString sRegKey = "FlexwareBinDir"; CRegKey rk; DWORD pCount = 1024; std::string strKeyValue; char szValue[1024]; memset(szValue, 0, 1024); if(rk.Open(hKeyParent, sRegKeyPath)== ERROR_SUCCESS) { if(rk.QueryStringValue(sRegKey, szValue, &pCount)== ERROR_SUCCESS) { sRegResult = szValue; } } rk.Close(); if (!sRegResult.IsEmpty()) { return sRegResult; } return sRegResult; }
void CFilterBlacklist::LoadFromRegistry(CRegKey& regkey) { Free(); TCHAR strValName[MAX_PATH]; TCHAR strValue[MAX_PATH]; DWORD strValNameLength = MAX_PATH; int i=0; while (ERROR_SUCCESS == RegEnumValue(regkey, i++, strValName, &strValNameLength, NULL, NULL, NULL, NULL)) { DWORD nValueLength = MAX_PATH; if(ERROR_SUCCESS == regkey.QueryStringValue(strValName, strValue, &nValueLength)) { CString valName(strValName); if (valName.Find(_T("clsid")) == 0) { CLSID clsid; CLSIDFromString(strValue, &clsid); if (!IsEqualCLSID(clsid, CLSID_NULL)) m_aBlacklist.Add(CFilterBlacklistEntry(clsid)); } else if (valName.Find(_T("wildcard")) == 0) { m_aBlacklist.Add(CFilterBlacklistEntry(strValue)); } } } }
ATL::CString GetStringValue(CRegKey& rk, const ATL::CString& valueName) { ATL::CString result; DWORD dwLen = 1024; rk.QueryStringValue(valueName, result.GetBuffer(dwLen), &dwLen); result.ReleaseBuffer(); return result; }
void CDataCeneter::GetDDNSInfo(BYTE bOperation, LPVOID VarData) { struDDNS *pDDNSData = (struDDNS*)VarData; ULONG ulChars = 1024; CRegKey regKey; if( regKey.Open(HKEY_LOCAL_MACHINE, GetRegFolder()) == ERROR_SUCCESS) { regKey.QueryDWORDValue(_T("EnableDDNS"), (DWORD&)pDDNSData->bEnableDDNS); regKey.QueryDWORDValue(_T("Provider"), (DWORD&)pDDNSData->Provider); regKey.QueryStringValue(_T("ProviderURL"), pDDNSData->szProviderURL,&ulChars); regKey.QueryStringValue(_T("DDNSUser"), pDDNSData->szUser,&ulChars); regKey.QueryStringValue(_T("DDNSPass"), pDDNSData->szPass,&ulChars); regKey.QueryDWORDValue(_T("IntervalTime"), (DWORD&)pDDNSData->nIntervalTime); } regKey.Close(); }
BOOL COther::GetQQInstallDir( CString& InstallDir ) { BOOL bRet = FALSE; HKEY hKey = HKEY_LOCAL_MACHINE; CString SubKeyPath = L"SOFTWARE\\Tencent"; LONG Result = ERROR_SUCCESS; CRegKey QQMainKey; Result = QQMainKey.Open( hKey, SubKeyPath, KEY_READ ); if ( ERROR_SUCCESS != Result ) { return bRet; } DWORD Index = 0; DWORD BufTCharNum = 0; while ( true ) { //得子键值名 CString EnumSubKeyName; BufTCharNum = MAX_PATH+1; Result = QQMainKey.EnumKey( Index, EnumSubKeyName.GetBuffer(BufTCharNum), &BufTCharNum ); EnumSubKeyName.ReleaseBuffer( (ERROR_SUCCESS!=Result)?(0):(-1) ); if ( ERROR_SUCCESS != Result ) { break; } ++Index; //打开子键 CString EnumSubKeyPath; EnumSubKeyPath.Format( L"%s\\%s", SubKeyPath, EnumSubKeyName ); CRegKey SubKey; Result = SubKey.Open( hKey, EnumSubKeyPath, KEY_READ ); if ( ERROR_SUCCESS != Result ) { continue; } //得安装路径 CString InstallPath; BufTCharNum = MAX_PATH+1; Result = SubKey.QueryStringValue( L"install", InstallPath.GetBuffer(BufTCharNum), &BufTCharNum ); InstallPath.ReleaseBuffer( (ERROR_SUCCESS!=Result)?(0):(-1) ); if ( (ERROR_SUCCESS == Result) && (FALSE == InstallPath.IsEmpty()) ) { InstallDir = InstallPath; bRet = TRUE; break; } } return bRet; }