void AxsOneHandler::DisableAxsOne() { auto aoCacheKey = std::make_shared<wxRegKey>(wxRegKey::HKLM, wxT("SOFTWARE\Wow6432Node\Microsoft\Office\Outlook\Addins\Aocache.aocacheAddin")); if (aoCacheKey->Exists()) return; aoCacheKey->DeleteSelf(); }
bool HttpChannelChild::RecvDeleteSelf() { if (mEventQ.ShouldEnqueue()) { mEventQ.Enqueue(new DeleteSelfEvent(this)); } else { DeleteSelf(); } return true; }
bool wxRegKey::Rename(const wxString& szNewName) { wxCHECK_MSG( !m_strKey.empty(), false, wxT("registry hives can't be renamed") ); if ( !Exists() ) { wxLogError(_("Registry key '%s' does not exist, cannot rename it."), GetFullName(this)); return false; } // do we stay in the same hive? bool inSameHive = !wxStrchr(szNewName, REG_SEPARATOR); // construct the full new name of the key wxRegKey keyDst; if ( inSameHive ) { // rename the key to the new name under the same parent wxString strKey = m_strKey.BeforeLast(REG_SEPARATOR); if ( !strKey.empty() ) { // don't add '\\' in the start if strFullNewName is empty strKey += REG_SEPARATOR; } strKey += szNewName; keyDst.SetName(GetStdKeyFromHkey(m_hRootKey), strKey); } else { // this is the full name already keyDst.SetName(szNewName); } bool ok = keyDst.Create(false /* fail if alredy exists */); if ( !ok ) { wxLogError(_("Registry key '%s' already exists."), GetFullName(&keyDst)); } else { ok = Copy(keyDst) && DeleteSelf(); } if ( !ok ) { wxLogError(_("Failed to rename the registry key '%s' to '%s'."), GetFullName(this), GetFullName(&keyDst)); } else { m_hRootKey = keyDst.m_hRootKey; m_strKey = keyDst.m_strKey; } return ok; }