Exemple #1
2
void CMruStorage::WriteList()
{
	ASSERT(!m_strSection.IsEmpty());
	ASSERT(!m_strEntryFormat.IsEmpty());

	LPTSTR pszEntry = new TCHAR[m_strEntryFormat.GetLength() + 5];
	
	CString strHKeyString = k_strStoreHere;
	strHKeyString += "\\";
	strHKeyString += m_strSection;

	CRegKey aKey;
	DWORD dwNew = 0;

	if (ERROR_SUCCESS == aKey.Create(HKEY_CURRENT_USER, strHKeyString, 
		REG_NONE, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, NULL, &dwNew))
	{
		if (dwNew == REG_CREATED_NEW_KEY)
		{
			// Let's save the DLG name as well to make it easier to recognize this
			// id when browsing the registry.
			aKey.SetValue(HKEY_CURRENT_USER, strHKeyString, m_strParentWindowName);
		}

		POSITION pos = m_lstStrings.GetHeadPosition();

		for (int iMRU = 1; pos && iMRU <= m_nSize; iMRU++)
		{
			wsprintf(pszEntry, m_strEntryFormat, iMRU);

			if (!m_lstStrings.GetAt(pos).IsEmpty())
			{
				VERIFY(ERROR_SUCCESS == aKey.SetValue(HKEY_CURRENT_USER, strHKeyString, m_lstStrings.GetAt(pos), pszEntry));
			}

			m_lstStrings.GetNext(pos);
		}
	}
	else
	{
		ASSERT(0); // Should never fail.
	}

	delete [] pszEntry;
}
Exemple #2
0
CPyScriptAutoConfigDlg::CPyScriptAutoConfigDlg
(
	IEncConverters* pECs,
	const CString&  strFriendlyName,
	const CString&  strConverterIdentifier,
	ConvType        eConversionType,
	const CString&  strLhsEncodingId,
	const CString&  strRhsEncodingId,
	long            lProcessTypeFlags,
	BOOL            m_bIsInRepository
)
  : CAutoConfigDlg
	(
		pECs,
		CPyScriptAutoConfigDlg::IDD,
		strFriendlyName,
		strConverterIdentifier,
		eConversionType,
		strLhsEncodingId,
		strRhsEncodingId,
		lProcessTypeFlags,
		m_bIsInRepository
	)
  , m_strFuncName(_T(""))
  , m_pModule(0)
  , m_pDictionary(0)
{
	if( m_strConverterIdentifier.IsEmpty() )
	{
		// HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.5\InstallPath
		CRegKey keyPythonInstallPath;
		if( keyPythonInstallPath.Open(HKEY_LOCAL_MACHINE, clpszPythonInstallPathKey, KEY_READ) == ERROR_SUCCESS )
		{
			TCHAR szPath[_MAX_PATH]; szPath[0] = 0;
			ULONG ulLen = _MAX_PATH;
			keyPythonInstallPath.QueryStringValue(_T(""), szPath, &ulLen);
			if( ulLen > 0 )
				m_strConverterFilespec = szPath;
		}
	}
	else
	{
		DeconstructConverterSpec(m_strConverterIdentifier,m_strConverterFilespec,m_strFuncName,m_strAddlParams);
		ASSERT(!m_strConverterFilespec.IsEmpty());
	}
}
Exemple #3
0
BOOL CPyScriptAutoConfigDlg::InitPython()
{
	// in case we've been here before, reset it now.
	if( m_pModule != 0 )
		ResetPython();

	// search in that file for the available function names
	Py_Initialize();

	// next add the path to the sys.path
	CStringA strCmd;
	strCmd.Format("import sys\nsys.path.append('%s')", CT2A(GetDirNoSlash(m_strConverterFilespec)));
	PyRun_SimpleString(strCmd);

	// turn the filename into a Python object (Python import doesn't like .py extension)
	CString strFilespec = m_strConverterFilespec;
	if( !strFilespec.Right(3).CompareNoCase(_T(".py")) )
		strFilespec = strFilespec.Left(strFilespec.GetLength() - 3);

	int nIndex = strFilespec.ReverseFind('\\');
	strFilespec = strFilespec.Right(strFilespec.GetLength() - nIndex - 1);

	// get the module point by the name
	m_pModule = PyImport_ImportModule(CT2A(strFilespec));
	if( m_pModule == 0 )
	{
		CString strError;

		// first check to see if the Python reg keys exist. If not, then tell them they need a distribution
		CRegKey keyPythonInstallPath;
		if( keyPythonInstallPath.Open(HKEY_LOCAL_MACHINE, clpszPythonInstallPathKey, KEY_READ) != ERROR_SUCCESS )
			strError = _T("It doesn't appear that you have a Python distribution installed. See the About tab for details of where to get one.");
		else
			strError.Format(_T("Unable to import script module '%s'! Is it locked? Does it have a syntax error? Is a Python distribution installed?"),strFilespec);

		MessageBox(strError);
		// gracefully disconnect from Python
		if( PyErr_Occurred() )
			PyErr_Clear();  // without this, the Finalize normally throws a fatal exception.
		Py_Finalize();
		return false;
	}

	m_pDictionary = PyModule_GetDict(m_pModule);
	return true;
}
Exemple #4
0
bool CFileAssoc::AreRegisteredFileContextMenuEntries(CString strExt)
{
    CRegKey key;
    TCHAR   buff[_MAX_PATH];
    ULONG   len = _countof(buff);
    CString strProgID = PROGID + strExt;
    bool    registered = false;

    if (ERROR_SUCCESS == key.Open(HKEY_CLASSES_ROOT, strProgID + _T("\\shell\\open"), KEY_READ)) {
        CString strCommand = ResStr(IDS_OPEN_WITH_MPC);
        if (ERROR_SUCCESS == key.QueryStringValue(NULL, buff, &len)) {
            registered = (strCommand.CompareNoCase(CString(buff)) == 0);
        }
    }

    return registered;
}
Exemple #5
0
void LoadFilterSettings(std::vector<Filter>& filters, CRegKey& reg)
{
	for (int i = 0; ; ++i)
	{
		CRegKey regFilter;
		if (regFilter.Open(reg, WStr(wstringbuilder() << L"Filter" << i)) != ERROR_SUCCESS)
			break;

		filters.push_back(Filter(
			Str(RegGetStringValue(regFilter)),
			IntToMatchType(RegGetDWORDValue(regFilter, L"MatchType", MatchType::Regex)),
			IntToFilterType(RegGetDWORDValue(regFilter, L"Type")),
			RegGetDWORDValue(regFilter, L"BgColor", Colors::BackGround),
			RegGetDWORDValue(regFilter, L"FgColor", Colors::Text),
			RegGetDWORDValue(regFilter, L"Enable", 1) != 0));
	}
}
///////////////////////////////////////////////////////////////////////////
//   IsToolbandRegistered 
///////////////////////////////////////////////////////////////////////////
BOOL IsToolbandRegistered(LPCTSTR szCLSID)
{
	CRegKey regkey;
	CString szClsidKey;

	// is szCLSID registered with IE
	szClsidKey = _T("Software\\Microsoft\\Internet Explorer\\Toolbar");
	if (regkey.Open(REGKEY_APPROOT, szClsidKey) != ERROR_SUCCESS)
		return false;

	DWORD dwLength = MAX_PATH;
	TCHAR szBuffer[MAX_PATH];
	if (regkey.QueryStringValue(szCLSID, szBuffer, &dwLength) != ERROR_SUCCESS)
		return false;

    return true;
}
Exemple #7
0
CString CStatistic::GetPID()
{
    CRegKey key;
    LRESULT lRes = key.Open(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Ludashi"), KEY_READ);
    if (lRes == ERROR_SUCCESS)
    {
        TCHAR szValue[MAX_PATH];
        DWORD dwLen = MAX_PATH;
        lRes = key.QueryStringValue(_T("VendorID"), szValue, &dwLen);
        if (lRes == ERROR_SUCCESS)
        {
            return szValue;
        }
    }

    return _T("");
}
Exemple #8
0
CString	ABPLTools::GetJavawExePath()
{
	CString result;
	CRegKey regKey;
	if (regKey.Open(HKEY_CLASSES_ROOT, "jarfile\\shell\\open\\command", KEY_READ)==ERROR_SUCCESS)
	{
		char buffer[4096];
		ULONG size = sizeof(buffer);
		if (regKey.QueryStringValue("", buffer, &size)==ERROR_SUCCESS)
		{
			// We get "C:\Program Files (x86)\Java\jre6\bin\javaw.exe" -jar "%1" %*
			result = buffer+1;
			result = result.Mid(0, result.Find('"'));
		}
	}
	return result;
}
Exemple #9
0
// === IMpcAudioRendererFilter
STDMETHODIMP CMpcAudioRenderer::Apply()
{
#ifdef STANDALONE_FILTER
    CRegKey key;
    if (ERROR_SUCCESS == key.Create(HKEY_CURRENT_USER, _T("Software\\Gabest\\Filters\\MPC Audio Renderer"))) {
        key.SetDWORDValue(_T("UseWasapi"), m_useWASAPIAfterRestart);
        key.SetDWORDValue(_T("MuteFastForward"), m_bMuteFastForward);
        key.SetStringValue(_T("SoundDevice"), m_csSound_Device);
    }
#else
    AfxGetApp()->WriteProfileInt(_T("Filters\\MPC Audio Renderer"), _T("UseWasapi"), m_useWASAPI);
    AfxGetApp()->WriteProfileInt(_T("Filters\\MPC Audio Renderer"), _T("MuteFastForward"), m_bMuteFastForward);
    AfxGetApp()->WriteProfileString(_T("Filters\\MPC Audio Renderer"), _T("SoundDevice"), m_csSound_Device);
#endif

    return S_OK;
}
Exemple #10
0
//RecurseDeleteKey is necessary because on NT RegDeleteKey doesn't work if the
//specified key has subkeys
void CRegKey::RecurseDeleteKey(LPCTSTR lpszKey)
{
	CRegKey key;
	if (!key.Open(m_hKey, lpszKey))
		return;
	FILETIME time;
	TCHAR szBuffer[256];
	DWORD dwSize = 256;
	while (RegEnumKeyEx(key.m_hKey, 0, szBuffer, &dwSize, NULL, NULL, NULL,
		&time)==ERROR_SUCCESS)
	{
		key.RecurseDeleteKey(szBuffer);
		dwSize = 256;
	}
	key.Close();
	DeleteSubKey(lpszKey);
}
Exemple #11
0
bool DotNetChecker::IsCheckSatisfied()
{
	return true;

	bool res = false;
	CRegKey reg;
	if ( reg.Open( HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full")) == ERROR_SUCCESS )
	{
		DWORD dwInstallValue = 0;
		if ( reg.QueryDWORDValue( _T("Install") , dwInstallValue ) == ERROR_SUCCESS )
		{
			if ( dwInstallValue == 1 )
				res = true;
		}
	}
	return res;
}
Exemple #12
0
BOOL CRegRun::AutoRun(BOOL bAutoRun, const char *procname)
{
	CRegKey regRun;
	int   ret;

	if (bAutoRun) {
		if (!IfAutoRun()) {
			ret = regRun.Create(HKEY_LOCAL_MACHINE, sKey);
			if (ret == ERROR_SUCCESS) {
				regRun.SetStringValue(m_sRegName.GetString(), procname, REG_SZ);
				regRun.Close();
			} else {
				m_sErrMsg.Format("CRegKey::Create sKey(%s) error(%d)", sKey, ret);
				m_nErrno = ret;
				return FALSE;
			}
		}
	} else {
		ret = regRun.Open(HKEY_LOCAL_MACHINE, sKey, KEY_ALL_ACCESS);
		if (ret == ERROR_SUCCESS) {
			regRun.DeleteValue(m_sRegName.GetString());
			regRun.Close();
		} else {
			m_sErrMsg.Format("CRegKey::Open sKey(%s) error(%d)", sKey, ret);
			m_nErrno = ret;
			return FALSE;
		}
	}

	return TRUE;
}
Exemple #13
0
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);
}
Exemple #14
0
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;
        }
Exemple #15
0
bool CFileAssoc::RegisterApp()
{
    bool success = false;

    if (!m_pAAR) {
        m_pAAR = CFileAssoc::CreateRegistrationManager();
    }

    if (m_pAAR) {
        CString appIcon = "\"" + GetProgramPath(true) + "\",0";

        // Register MPC for the windows "Default application" manager
        CRegKey key;

        if (ERROR_SUCCESS == key.Open(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\RegisteredApplications"))) {
            key.SetStringValue(_T("Media Player Classic"), strRegisteredAppKey);

            if (ERROR_SUCCESS == key.Create(HKEY_LOCAL_MACHINE, strRegisteredAppKey)) {
                // ==>>  TODO icon !!!
                key.SetStringValue(_T("ApplicationDescription"), ResStr(IDS_APP_DESCRIPTION), REG_EXPAND_SZ);
                key.SetStringValue(_T("ApplicationIcon"), appIcon, REG_EXPAND_SZ);
                key.SetStringValue(_T("ApplicationName"), ResStr(IDR_MAINFRAME), REG_EXPAND_SZ);

                success = true;
            }
        }
    }

    return success;
}
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();
	}
}
Exemple #17
0
/**
 * Get named GUID for debug log.
 * Attempt to translate it through standard Registry lookup, or our
 * custom Registry repository of interface, GUID, Co-class names.
 */
LPCWSTR DbgGetIID(REFIID riid)
{
   static CComAutoCriticalSection s_lock;
   CComCritSecLock<CComCriticalSection> lock(s_lock);
   static CSimpleMap<GUID, CComBSTR> s_Cache;
   LPCWSTR pwstrResult = s_Cache.Lookup(riid);
   if( pwstrResult != NULL ) return pwstrResult;
   TCHAR szName[80] = { 0 };
   OLECHAR wszGUID[50] = { 0 };
   ::StringFromGUID2(riid, wszGUID, lengthof(wszGUID));
   // Attempt to find it in the interfaces section
   CRegKey key;
   DWORD dwType = 0;
   DWORD dwCount = sizeof(szName) - sizeof(TCHAR);
   key.Open(HKEY_CLASSES_ROOT, _T("Interface"), KEY_READ);
   if( szName[0] == '\0' && key.Open(key, wszGUID, KEY_READ) == NOERROR ) {
      ::RegQueryValueEx(key.m_hKey, NULL, NULL, &dwType, (LPBYTE) szName, &dwCount);
   }
   // Attempt to find it in the CLSID section
   key.Open(HKEY_CLASSES_ROOT, _T("CLSID"), KEY_READ);
   if( szName[0] == '\0' && key.Open(key, wszGUID, KEY_READ) == NOERROR ) {
      ::RegQueryValueEx(key.m_hKey, NULL, NULL, &dwType, (LPBYTE) szName, &dwCount);
   }
   // Attempt to find it in our Named GUIDs section
   key.Open(HKEY_CLASSES_ROOT, _T("Named GUIDs"), KEY_READ);
   if( szName[0] == '\0' && key.Open(key, wszGUID, KEY_READ) == NOERROR ) {
      ::RegQueryValueEx(key.m_hKey, NULL, NULL, &dwType, (LPBYTE) szName, &dwCount);
   }
   if( szName[0] == '\0' ) wcscpy_s(szName, lengthof(szName), CW2T(wszGUID));
   s_Cache.Add(riid, CComBSTR(szName));
   return s_Cache.Lookup(riid);
}
Exemple #18
0
bool CCpDesktop::RegistryUpToDate(CString strKeyName, CString strFileVersion)
{
	CRegKey regkey;
	if (regkey.Open(REGKEY_APPROOT, REGKEY_APP) != ERROR_SUCCESS)
		return false;

	DWORD dwSize = MAX_PATH;
	TCHAR szBuffer[MAX_PATH];
	if (regkey.QueryStringValue(strKeyName, szBuffer, &dwSize) == ERROR_SUCCESS)
	{
		CString strRegVersion = szBuffer;
		DWORD dwRegVersion = Version(strRegVersion);

		return Version(strFileVersion) <= dwRegVersion;
	}

	return false;
}
Exemple #19
0
HRESULT CPigEngine::put_ZoneAuthTimeout(long nMilliseconds)
{
  // Open the registry key of the AppID
  CRegKey key;
  RETURN_FAILED(_Module.OpenAppIDRegKey(key));

  // Save the specified timeout to the registry
  long lr = key.SetValue(static_cast<DWORD>(nMilliseconds), TEXT("ZoneAuthTimeout"));
  if (ERROR_SUCCESS != lr)
    return HRESULT_FROM_WIN32(lr);

  // Save the specified timeout
  XLock lock(this);
  m_nZoneAuthTimeout = nMilliseconds;

  // Indicate success
  return S_OK;
}
void CExpressModeDlg::LoadState(void)
{
	CRegKey reg;
	if (reg.Open(HKEY_CURRENT_USER, g_szExpressModeSettingsRegKey) == ERROR_SUCCESS)
	{
		TCHAR szText[MAX_PATH];

		ULONG ulNumChars = countof(szText);
		reg.QueryStringValue(g_szLogFile, szText, &ulNumChars);
		m_txtLogFile.SetWindowText(szText);

		ulNumChars = countof(szText);
		reg.QueryStringValue(g_szMapPdbFolder, szText, &ulNumChars);
		m_txtMapPdbFolder.SetWindowText(szText);

		reg.Close();
	}
}
//----------------------------------------------------------------------------
// GetInstallDir()
// Read install dir from registry, 32 and 64bit version.
BOOL Base::GetInstallDir(LPTSTR aInstallDir, ULONG aMaxLength, BOOL aFor64bit)
{
  CRegKey hklmAncho;
  REGSAM sam = (aFor64bit)
      ? KEY_READ | KEY_WOW64_64KEY
      : KEY_READ | KEY_WOW64_32KEY;
  if (ERROR_SUCCESS !=
      hklmAncho.Open(HKEY_LOCAL_MACHINE,
                   _T("SOFTWARE\\Salsita\\AnchoAddonService"),
                   sam)) {
    return FALSE;
  }
  aMaxLength -= 2;
  LONG res = hklmAncho.QueryStringValue(_T("install"), aInstallDir, &aMaxLength);
  aInstallDir[aMaxLength] = 0;
  PathAddBackslash(aInstallDir);
  return TRUE;
}
Exemple #22
0
short CDepSettings::GetIISMajorVer()
{
	if (m_nIISMajorVer != -1)
		return m_nIISMajorVer;

	CRegKey verKey;
	if (ERROR_SUCCESS == verKey.Open(HKEY_LOCAL_MACHINE,
						_T("SOFTWARE\\Microsoft\\INetStp"),
						KEY_READ))
	{
		DWORD dwValue = 0xFFFFFFFF;
		if (ERROR_SUCCESS == verKey.QueryDWORDValue(_T("MajorVersion"), dwValue))
		{
			m_nIISMajorVer = (short)dwValue;
		}
	}
	return m_nIISMajorVer;
}
VARTYPE CTCPropBagOnRegKey::_GetSubkeyVarType(CRegKey& key,
  const _bstr_t& strPropName)
{
  ASSERT(key.Exists(strPropName));

  // Open the subkey with the specified name
  CRegKey subkey;
  if (!subkey.Open(key, strPropName))
    return VT_EMPTY;

  // Read the subkey's variant type value
  DWORD dwVT;
  if (!subkey.GetDWord(m_szVariantType, dwVT))
    return VT_EMPTY;

  // Return the subkey's variant type value
  return VARTYPE(dwVT);
}
Exemple #24
0
BOOL CWnd::SavePosition(HKEY hRootKey,LPCSTR lpKey,LPCSTR lpSubKey) const
{
	CRegKey RegKey;
	if (lpKey==NULL)
		RegKey.m_hKey=hRootKey;
	else if (RegKey.OpenKey(hRootKey,lpKey,CRegKey::createNew|CRegKey::samAll)!=ERROR_SUCCESS)
		return FALSE;
	
	WINDOWPLACEMENT wp;
	wp.length=sizeof(WINDOWPLACEMENT);
	GetWindowPlacement(&wp);
	
	BOOL bRet=RegKey.SetValue(lpSubKey,LPSTR(&wp),sizeof(WINDOWPLACEMENT),REG_BINARY)==ERROR_SUCCESS;

	if (lpKey==NULL)
		RegKey.m_hKey=NULL;
	return bRet;
}
///////////////////////////////////////////////////////////////////////////
//   RegisterBHO 
///////////////////////////////////////////////////////////////////////////
BOOL RegisterBHO(LPCTSTR szCLSID, LPCTSTR lpszTitle)
{
	CRegKey regkey;
	CString szClsidKey;
	szClsidKey.Format(_T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Browser Helper Objects\\%38s"), szCLSID);

	// Set title for explorer bar bho.
	// Must use HKEY_LOCAL_MACHINE.
	if (regkey.Create(HKEY_LOCAL_MACHINE, szClsidKey) != ERROR_SUCCESS)
		return false;

	if (regkey.SetStringValue(NULL, lpszTitle) != ERROR_SUCCESS)
		return false;

	regkey.Close();
	
    return true;
}
Exemple #26
0
CString CXMLDialog::GetInitialDir(CString strPath)
{
	CString strTargetDir;
	CRegKey regkey;
	if (regkey.Open(REGKEY_APPROOT, REGKEY_APP) == ERROR_SUCCESS)
	{
		char szFilePath[MAX_PATH];
		szFilePath[0] = 0;
		DWORD nChars = MAX_PATH;
		bool bOK = (regkey.QueryStringValue(strPath, szFilePath, &nChars) == ERROR_SUCCESS);
		if (bOK)
		{
			szFilePath[nChars] = 0;
			strTargetDir = szFilePath;
		}
	}
	return strTargetDir;
}
Exemple #27
0
BOOL CIEMonitor::IsPathOk( void )
{
	CRegKey checkkey;
	if(checkkey.Open(HKEY_CLASSES_ROOT, _T("CLSID\\{48618374-565F-4CA0-B8CD-6F496C997FAF}\\InprocServer32")) != ERROR_SUCCESS)
		return FALSE;
	TCHAR szVal[MAX_PATH];
	ULONG len = MAX_PATH;
	checkkey.QueryStringValue(NULL, szVal, &len);

	//VC-dgkang 2008年6月11日
	//应该忽略字符串大小写敏感比较

	CString tcs;
	tcs = thePrefs.GetMuleDirectory(EMULE_MODULEDIR) + _T("IE2EM.dll");
	return !tcs.CompareNoCase(szVal);

	//return thePrefs.GetMuleDirectory(EMULE_MODULEDIR) + _T("IE2EM.dll") == szVal;
}
Exemple #28
0
bool ProfileDlg::IsAutoCheckProfile()
{
	CString str = _T("Software\\Microsoft\\Windows\\CurrentVersion\\Run");
	CRegKey regKey;
	if(regKey.Open(HKEY_CURRENT_USER, str, KEY_READ) == ERROR_SUCCESS)
	{
		DWORD cnt = MAX_PATH;
		TCHAR tmp[MAX_PATH];
		long ret = regKey.QueryValue(tmp, _T("xp-AntiSpy Profile Check"), &cnt);
		if(ret == ERROR_SUCCESS && cnt > 0)
		{
			return true;
		}
		
		regKey.Close();
	}
	return false;
}
Exemple #29
0
//网络链接
bool CPlazaViewItem::ConnectServer()
{
	//合法判断
	if ( m_ClientSocket.GetInterface() == NULL ) 
	{
		return false;
	}

	//地址解释
	CRegKey RegServer;
	LPCTSTR pszServerIP=m_DlgLogon.GetLogonServer();
	TCHAR szRegServer[256]=TEXT(""),szServerAddr[64]=TEXT("");
	_snprintf(szRegServer,sizeof(szRegServer),TEXT("%s\\%s"),REG_LOGON_SERVER,pszServerIP);

	if (RegServer.Open(HKEY_CURRENT_USER,szRegServer,KEY_READ)==ERROR_SUCCESS)
	{
		TCHAR szReadData[1024]=TEXT("");
		DWORD dwReadData=0L,dwDataType=0L,dwDataSize=sizeof(szReadData);
		LONG lErrorCode=RegServer.QueryValue(TEXT("ServerAddr"),&dwDataType,szReadData,&dwDataSize);
		if (lErrorCode==ERROR_SUCCESS) 
		{
			CXOREncrypt::CrevasseData(szReadData,szServerAddr,sizeof(szServerAddr));
			pszServerIP=szServerAddr;
		}
	}

	//连接服务器
	try
	{
		//连接服务器
		m_ClientSocket->CloseSocket();
		if (m_ClientSocket->Connect(pszServerIP,PORT_LOGON_SERVER)!=ERROR_SUCCESS)
		{
			throw TEXT("服务器连接错误,可能是你的系统还没有成功连接上网络!");
		}
	}
	catch (LPCTSTR pszError)
	{
		UNREFERENCED_PARAMETER(pszError);
		return false;
	}

	return true;
}
Exemple #30
-1
void CConfigSet::WriteVariablesToRegistry (const char *reg_name, const char *config_section)
{
	LONG result;
	char buff[1024];
	CRegKey newrk;

	snprintf(buff, sizeof(buff), "%s\\\\%s", reg_name, config_section);
	result = newrk.Create(HKEY_CURRENT_USER, buff);
	if (result != ERROR_SUCCESS) return;

	for (config_index_t ix = 0; ix < m_numVariables; ix++) {
	  switch (m_variables[ix].m_type) {
	  case CONFIG_TYPE_INTEGER:
	    newrk.SetValue(m_variables[ix].m_value.m_ivalue,
			   m_variables[ix].m_sName);
	    break;
	  case CONFIG_TYPE_BOOL:
	    newrk.SetValue(m_variables[ix].m_value.m_bvalue ? 1 : 0,
			   m_variables[ix].m_sName);
	    break;
	  case CONFIG_TYPE_STRING:
	    newrk.SetValue(ToAscii(&m_variables[ix]),
			   m_variables[ix].m_sName);
	    break;
	  case CONFIG_TYPE_FLOAT:
	    
	    newrk.SetValue(ToAscii(&m_variables[ix]), 
			   m_variables[ix].m_sName);
	    break;
			   
	  }
	}
	newrk.Close();

}