STDAPI DllUnregisterServer() { // If we're on NT, remove ourselves from the list of approved shell extensions. // Note that if we get an error along the way, I don't bail out since I want // to do the normal ATL unregistration stuff too. CRegKey reg; LONG lRet; if ( 0 == (GetVersion() & 0x80000000UL) ) { lRet = reg.Open ( HKEY_LOCAL_MACHINE, _T("Software\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved"), KEY_SET_VALUE ); if ( ERROR_SUCCESS == lRet ) { lRet = reg.DeleteValue ( _T("{3C16B20A-BA16-4156-916F-0A375ECFFE24}") ); } } reg.DeleteSubKey(_T("*\\shellex\\ContextMenuHandlers\\GitExtensions2")); reg.DeleteSubKey(_T("Directory\\shellex\\ContextMenuHandlers\\GitExtensions2")); reg.DeleteSubKey(_T("Directory\\Background\\shellex\\ContextMenuHandlers\\GitExtensions2")); return _Module.UnregisterServer(FALSE); }
//*************************************** //* Date : 5.26.99 //* Last Modified : 5.27.99 //* Function name : DllUnregisterServer //* Description : //*************************************** // STDAPI DllUnregisterServer(void) { CRegKey key; HRESULT hr; hr = _Module.UnregisterServer(TRUE); if (SUCCEEDED(hr)) { if (key.Open(HKEY_CLASSES_ROOT, _T("*\\shellex\\ContextMenuHandlers\\")) == ERROR_SUCCESS) { hr = key.DeleteValue(NULL); if (hr != ERROR_SUCCESS && hr != ERROR_FILE_NOT_FOUND) return hr; hr = key.DeleteSubKey(_T("CopyPathExt")); if (hr != ERROR_SUCCESS && hr != ERROR_FILE_NOT_FOUND) return hr; } if (key.Open(HKEY_CLASSES_ROOT, _T("directory\\shellex\\ContextMenuHandlers\\")) == ERROR_SUCCESS) { hr = key.DeleteSubKey(_T("CopyPathExt")); if (hr != ERROR_SUCCESS && hr != ERROR_FILE_NOT_FOUND) return hr; } if (key.Open(HKEY_CLASSES_ROOT, _T("drive\\shellex\\ContextMenuHandlers\\")) == ERROR_SUCCESS) { hr = key.DeleteSubKey(_T("CopyPathExt")); if (hr != ERROR_SUCCESS && hr != ERROR_FILE_NOT_FOUND) return hr; } } return hr; }
HRESULT DllUnregisterServer(BOOL typelib = TRUE) { if (!(GetVersion() & 0x80000000UL)) { CRegKey reg; LONG lRet = reg.Open(HKEY_LOCAL_MACHINE, _T("Software\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved"), KEY_SET_VALUE); if (lRet == ERROR_SUCCESS) lRet = reg.DeleteValue(_T("{2EECB91C-3E6A-4D08-BDCA-05FB48CCE9F3}")); } { CRegKey reg; LONG ret = reg.Open(HKEY_CLASSES_ROOT, _T("*\\shellex\\ContextMenuHandlers"), KEY_SET_VALUE); if (ret == ERROR_SUCCESS) reg.DeleteSubKey(_T("CopyPathnameExt")); } { CRegKey reg; LONG ret = reg.Open(HKEY_CLASSES_ROOT, _T("Directory\\shellex\\ContextMenuHandlers"), KEY_SET_VALUE); if (ret == ERROR_SUCCESS) reg.DeleteSubKey(_T("CopyPathnameExt")); } return CAtlDllModuleT<CCopyPathnameModule>::DllUnregisterServer(typelib); }
HRESULT DeleteRegistrationCookie() { CRegKey key; LONG res = key.Open(HKEY_CURRENT_USER, SAMPLES_CONFIG_KEY); if (res != ERROR_SUCCESS) return AtlHresultFromWin32(res); res = key.DeleteSubKey(CONSOLE_CONFIG_KEY_NAME); return AtlHresultFromWin32(res); }
void TestCheckUser::DeleteDailyRegistryKey() { CRegKey regKey; if(ERROR_SUCCESS == regKey.Open(DAILY_NAG_HIVE, DAILY_NAG_KEY)) { std::tstring key(DAILY_NAG_KEY_VALUE); key = key.substr(key.rfind('\\') + 1, key.size()); regKey.DeleteSubKey(key.c_str()); regKey.Close(); } }
/////////////////////////////////////////////////////////////////////////// // UnregisterIEButton /////////////////////////////////////////////////////////////////////////// BOOL UnregisterIEButton(LPCTSTR szCLSID) { CRegKey regkey; if (regkey.Open(REGKEY_APPROOT, _T("Software\\Microsoft\\Internet Explorer\\Extensions")) != ERROR_SUCCESS) return false; if (regkey.DeleteSubKey(CLSID_JMEXPLORERBUTTON_STRING) != ERROR_SUCCESS) return false; return true; }
/////////////////////////////////////////////////////////////////////////// // UnregisterBHO /////////////////////////////////////////////////////////////////////////// BOOL UnregisterBHO(LPCTSTR szCLSID) { // Must use HKEY_LOCAL_MACHINE CRegKey regkey; if (regkey.Open(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Browser Helper Objects")) != ERROR_SUCCESS) return false; regkey.DeleteSubKey(szCLSID); regkey.Close(); return true; }
STDAPI DllUnregisterServer(void) { CComPtr<IWMPMediaPluginRegistrar> spRegistrar; HRESULT hr; // Create the registration object hr = spRegistrar.CoCreateInstance(CLSID_WMPMediaPluginRegistrar, NULL, CLSCTX_INPROC_SERVER); if (FAILED( hr ) ) { return hr; } // Tell WMP to remove this plug-in hr = spRegistrar->WMPUnRegisterPlayerPlugin(WMP_PLUGINTYPE_RENDERING, CLSID_[!output Safe_root]); // Remove the preference from the registry. CRegKey key; long lResult; lResult = key.Open( HKEY_CURRENT_USER, kwszPrefsRegKey, KEY_ALL_ACCESS ); if( ERROR_SUCCESS == lResult ) { lResult = key.DeleteValue( kwszPrefsTextColor ); } if( ERROR_SUCCESS == lResult ) { lResult = key.Close(); } if( ERROR_SUCCESS == lResult ) { lResult = key.Open( HKEY_CURRENT_USER, NULL, KEY_ALL_ACCESS ); } if( ERROR_SUCCESS == lResult ) { lResult = key.DeleteSubKey( kwszPrefsRegKey ); } key.Close(); return _Module.UnregisterServer(); }
void CIBALoginDlg::OnCancel() { // 2015-0828 liyajun CRegKey regKey; LONG lRet = regKey.Open(HKEY_CURRENT_USER, _T("Software\\Sunlike\\IBA")); if (ERROR_SUCCESS == lRet) { DWORD dwValue = 0; lRet = regKey.QueryDWORDValue(_T("IsFN"), *(DWORD*)&dwValue); if (ERROR_SUCCESS == lRet) { regKey.DeleteValue(_T("IsFN")); regKey.DeleteSubKey(_T("IsFN")); } regKey.Close(); } CIBADialog::OnCancel(); }
/////////////////////////////////////////////////////////////////////////// // UnregisterBand /////////////////////////////////////////////////////////////////////////// BOOL UnregisterBand(LPCTSTR szCLSID) { CRegKey regkey; CString szClsidKey; szClsidKey.Format(_T("CLSID\\%38s\\"), szCLSID); // Reset menu title for explorer bar. if (regkey.Open(HKEY_CLASSES_ROOT, szClsidKey) != ERROR_SUCCESS) return false; if (regkey.SetStringValue(NULL, "") != ERROR_SUCCESS) return false; // Remove support for HTML in eplorer bar. Remove special CLSID: "{4D5C8C2A-D075-11D0-B416-00C04FB90376}". /*regkey.DeleteSubKey( _T("\\Instance\\InitPropertyBag"));*/ //regkey.DeleteSubKey( _T("\\Instance")); regkey.Close(); //Remove explorer bar settings szClsidKey.Format(_T("Software\\Microsoft\\Internet Explorer\\Explorer Bars\\%38s"), szCLSID); if (regkey.Open(REGKEY_APPROOT, szClsidKey) != ERROR_SUCCESS) return false; regkey.DeleteValue(_T("BarSize")); regkey.Close(); if (regkey.Open(REGKEY_APPROOT, _T("Software\\Microsoft\\Internet Explorer\\Explorer Bars")) != ERROR_SUCCESS) return false; szClsidKey.Format(_T("%38s"), szCLSID); regkey.DeleteSubKey(szClsidKey); regkey.Close(); return true; }
void CWinAppSingle::RegisterShellFileTypesEx( BOOL bCompat /*FALSE*/, BOOL bRegister /*TRUE*/ ) { // Register all application document types: if( bRegister == TRUE ) CWinApp::RegisterShellFileTypes( bCompat ); // Now register SDI document dde open. // Loop through the document templates: POSITION pos = GetFirstDocTemplatePosition(); while( pos != NULL ) { CString strFileTypeId( _T("") ); CDocTemplate* pTemplate = GetNextDocTemplate( pos ); if( pTemplate->GetDocString( strFileTypeId, CDocTemplate::regFileTypeId ) && !strFileTypeId.IsEmpty() ) { // CDocTemplate::windowTitle is present only in the document template // for SDI applications. So, we detected SDI application and should // overregister shell file types : CString strTemp( _T("") ); if ( pTemplate->GetDocString( strTemp, CDocTemplate::windowTitle ) && !strTemp.IsEmpty() ) { // path\shell\open\ddeexec = [open("%1")] strTemp.Format( _T( "%s\\shell\\open\\%s" ), (LPCTSTR)strFileTypeId, _T( "ddeexec" ) ); #if ( _MFC_VER >= 0x0700 ) CRegKey reg( HKEY_CLASSES_ROOT ); #else CRegKey reg; reg.Attach( HKEY_CLASSES_ROOT ); #endif if( bRegister ) { if( reg.SetKeyValue( strTemp, _T( "[open(\"%1\")]" ) ) == ERROR_SUCCESS ) { strTemp += _T( "\\Application" ); OSVERSIONINFO osvi = { 0 }; osvi.dwOSVersionInfoSize = sizeof( OSVERSIONINFO ); ::GetVersionEx( & osvi ); if( !( osvi.dwPlatformId == VER_PLATFORM_WIN32_NT && osvi.dwMajorVersion == 5 && osvi.dwMinorVersion >= 1 ) ) { reg.SetKeyValue( strTemp, AfxGetAppName() ); } else reg.DeleteSubKey( strTemp ); } } else // Unregister 'ddeexec' registry entry: reg.RecurseDeleteKey( strTemp ); #if ( _MFC_VER >= 0x0700 ) reg.Flush(); #else ::RegFlushKey( reg ); #endif reg.Close(); } } } // Unregister all application document types: if( bRegister == FALSE ) CWinApp::UnregisterShellFileTypes(); }