Exemple #1
0
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;
}
Exemple #3
0
    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);
}
Exemple #5
0
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();
}
Exemple #9
0
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;
}
Exemple #11
0
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();
}