コード例 #1
2
STDAPI DllRegisterServerRaw(BOOL bForce)
{
	if(!bForce){// Может мы уже зарегены?
		CRegKey reg;
		LONG    lRet=0;
		CRegKey key2;
		if(key2.Open(HKEY_CURRENT_USER, SAVE_REGKEY)==ERROR_SUCCESS && key2.m_hKey!=NULL){
			DWORD hookData=0;
			DWORD lSize = sizeof(hookData),dwType=0;
			RegQueryValueEx(key2.m_hKey,"ShellExtRegistered",NULL, &dwType,(LPBYTE)(&hookData), &lSize);
			if(hookData!=0){
				plgOptions.bRegistered=1;
			}
		}
	}
	// Не смотря ни на что даже при наличии регистрации в эксплорер меню может быть не видно!!! :(
	// поэтому всеже регим каждый раз
	/*if(plgOptions.bRegistered){
		return 0;
	}*/
	CoInitializeEx(0,COINIT_APARTMENTTHREADED);
	// If we're on NT, add ourselves to the list of approved shell extensions.
    // Note that you should *NEVER* use the overload of CRegKey::SetValue with
    // 4 parameters.  It lets you set a value in one call, without having to 
    // call CRegKey::Open() first.  However, that version of SetValue() has a
    // bug in that it requests KEY_ALL_ACCESS to the key.  That will fail if the
    // user is not an administrator.  (The code should request KEY_WRITE, which
    // is all that's necessary.)
	if ( 0 == (GetVersion() & 0x80000000UL) ){
		CRegKey reg;
		LONG    lRet=0;
		lRet = reg.Open ( HKEY_LOCAL_MACHINE,_T("Software\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved"),KEY_SET_VALUE);
		if ( ERROR_SUCCESS == lRet ){
			lRet = reg.SetValue ( _T("WKShellExtender class"), _T("{AC95BA2C-8211-45D4-AB5C-C2A9BCCC8FB6}") );
		}
	}
	// registers object, typelib and all interfaces in typelib
	BOOL bRes=_Module.RegisterServer(FALSE);
	if(bRes==0){
		if(!plgOptions.bRegistered){// Запоминаем сами...
			CRegKey key2;
			if(key2.Open(HKEY_CURRENT_USER, SAVE_REGKEY)!=ERROR_SUCCESS){
				key2.Create(HKEY_CURRENT_USER, SAVE_REGKEY);
			}
			if(key2.m_hKey!=NULL){
				DWORD hookData=1;
				RegSetValueEx(key2.m_hKey,"ShellExtRegistered",0,REG_DWORD,(BYTE*)(&hookData),sizeof(hookData));
			}
		}
		InterlockedIncrement(&plgOptions.bRegistered);
	}
	CoUninitialize();
    return bRes;
}
コード例 #2
1
//***************************************
//* Date            : 5.26.99
//* Last Modified   : 1.20.2000
//* Function name	: DllRegisterServer
//* Description	    : 
//***************************************
//
STDAPI DllRegisterServer(void)
{
	_TCHAR		strCLSID[50];
	OLECHAR		strWideCLSID[50];
	CRegKey		key;
	HRESULT		hr;
	USES_CONVERSION;

	hr = _Module.RegisterServer(TRUE);

	if (SUCCEEDED(hr)) {
		if (::StringFromGUID2(CLSID_CopyPathContextMenu, strWideCLSID, 50) > 0) {
			_tcscpy(strCLSID, OLE2CT(strWideCLSID));
			hr = key.SetValue(HKEY_CLASSES_ROOT, _T("*\\shellex\\ContextMenuHandlers\\CopyPathExt\\"), strCLSID);
			hr = key.SetValue(HKEY_CLASSES_ROOT, _T("directory\\shellex\\ContextMenuHandlers\\CopyPathExt\\"), strCLSID);
			hr = key.SetValue(HKEY_CLASSES_ROOT, _T("drive\\shellex\\ContextMenuHandlers\\CopyPathExt\\"), strCLSID);
		}
	}
	return hr;
}
コード例 #3
0
ファイル: NCSEcw.cpp プロジェクト: makinacorpus/libecw
STDAPI DllRegisterServer(void)
{
    // registers object, typelib and all interfaces in typelib
    HRESULT hRes = _Module.RegisterServer(TRUE);

	if(!SUCCEEDED(hRes)) {
		HMODULE hDll;
		LONG (APIENTRY *pRegOverridePredefKey)(HKEY hKey, HKEY hNewHKey);

		if((hDll = LoadLibrary(NCS_T("advapi32.dll"))) != NULL) {
			if((pRegOverridePredefKey = 
#ifdef _WIN32_WCE
				(LONG(APIENTRY*)(HKEY, HKEY))GetProcAddress(hDll, NCS_T("RegOverridePredefKey"))
#else
				(LONG(APIENTRY*)(HKEY, HKEY))GetProcAddress(hDll, "RegOverridePredefKey")
#endif
				) != NULL) {
				HKEY hNewCRKey;

				if(RegOpenKeyEx(HKEY_CURRENT_USER, NCS_T("SOFTWARE\\Classes"), 0, KEY_ALL_ACCESS, &hNewCRKey) == ERROR_SUCCESS) {
					if(pRegOverridePredefKey(HKEY_CLASSES_ROOT, hNewCRKey) == ERROR_SUCCESS) {
						// registers object, typelib and all interfaces in typelib
						hRes = _Module.RegisterServer(TRUE);

						pRegOverridePredefKey(HKEY_CLASSES_ROOT, NULL);
					}
					RegCloseKey(hNewCRKey);
				}
			}
			FreeLibrary(hDll);
		}
	}
	return(hRes);
}
コード例 #4
0
//////////////////////////////////////////////////////////////////////////////
//++
//
//  DllRegisterServer
//
//  Description:
//      Adds entries to the system registry
//
//  Arguments:
//      None.
//
//  Return Value:
//      S_OK    Success
//
//--
//////////////////////////////////////////////////////////////////////////////
STDAPI
DllRegisterServer( void )
{
    // registers object, typelib and all interfaces in typelib
    return _Module.RegisterServer( TRUE );

} //*** DllRegisterServer
コード例 #5
0
STDAPI DllRegisterServer(void)
{
    ATLTRACE("DllRegisterServer\n");

    // registers object 
    return _Module.RegisterServer(FALSE);
}
コード例 #6
0
STDAPI DllRegisterServer(void)
{
    HRESULT hresult;

    hresult = S_OK;
#ifdef _MERGE_PROXYSTUB
    hresult = PrxDllRegisterServer();
#endif
    if (SUCCEEDED(hresult)) {
        hresult = _Module.RegisterServer(TRUE);
    }

    // ****************************************************************************
    // ****************************************************************************
    // !!!! Temporary code: registrating the categories should be done by the setup
    // ****************************************************************************
    HRESULT hr = Create4C_CATIDs();
    if (FAILED(hr)) {
        return hr;
    }
    //if (SUCCEEDED(hresult)) {
    //    hresult = RegisterCategory();
    //}
    // end temp code
    // ****************************************************************************
    // ****************************************************************************

    return hresult;
}
コード例 #7
0
/////////////////////////////////////////////////////////////////////////////
// DllRegisterServer - Adds entries to the system registry
STDAPI DllRegisterServer(void)
{
    // registers object, typelib and all interfaces in typelib
    HRESULT hr = _Module.RegisterServer(true);

	// Register the vertical explorer bar object.
    if(!RegisterBand(CLSID_JMEXPLORERBAND_STRING, _T("&Creata Mail")))
		return SELFREG_E_CLASS;

	// Register the component categories for the explorer bar object.
    if(!RegisterComCat(CLSID_JMExplorerBand, CATID_InfoBand))
       return SELFREG_E_CLASS;

	// Register BHO 
    if(!RegisterBHO(CLSID_BROWSERHELPEROBJ_STRING, g_szAppName))
       return SELFREG_E_CLASS;

	// Register IE icon button
    if(!RegisterIEButton(CLSID_JMEXPLORERBAND_STRING, g_szAppName))
       return SELFREG_E_CLASS;

	// Currenly toolband is not used, so we need to check to see
	// if it was registered by previous versions. If so, we unregister.
	if (IsToolbandRegistered(CLSID_JMTOOLBAND_STRING))
		UnregisterToolBand(CLSID_JMTOOLBAND_STRING);

	// Register the tool band object. -- currently not used - JHC 
  /*  if(!RegisterToolBand(CLSID_JMTOOLBAND_STRING, g_szAppName))
		return SELFREG_E_CLASS;*/

    return hr;
}
コード例 #8
0
STDAPI DllRegisterServer(void)
{
	// Registers object, typelib and all interfaces in typelib

	TraceMsg( L"-->DllRegisterServer.\n");

	return _Module.RegisterServer(TRUE);
}
コード例 #9
0
ファイル: B2CServiceEx.cpp プロジェクト: leoleegz/Examples
STDAPI DllRegisterServer(void)
{
	HRESULT hRes = S_OK;
	// registers object, typelib and all interfaces in typelib
	hRes = _Module.RegisterServer(FALSE /*bRegTypeLib*/);
	return hRes;

}  //*** DllRegisterServer()
コード例 #10
0
ファイル: edbs.cpp プロジェクト: gsaralji/TRiAS
STDAPI DllRegisterServer(void)
{
#ifdef _MERGE_PROXYSTUB
    HRESULT hRes = PrxDllRegisterServer();
    if (FAILED(hRes))
        return hRes;
#endif
    // Registriert Objekt, Typelib und alle Schnittstellen in Typelib
    return _Module.RegisterServer(TRUE);
}
コード例 #11
0
STDAPI DllRegisterServer(void)
{
#ifdef _MERGE_PROXYSTUB
    HRESULT hRes = PrxDllRegisterServer();
    if (FAILED(hRes))
        return hRes;
#endif
    // registers object, typelib and all interfaces in typelib
    return _Module.RegisterServer(TRUE);
}
コード例 #12
0
ファイル: CoHHMRISO.cpp プロジェクト: hnordquist/MIC
STDAPI DllRegisterServer(void)
{
    // registers object, typelib and all interfaces in typelib
	HRESULT hr = _Module.RegisterServer(TRUE);

	if (SUCCEEDED(hr))
		hr = RegisterThisComponentWithItsCategory(MIC_ISO,CLSID_HHMRISO);

	return hr;
}
コード例 #13
0
/////////////////////////////////////////////////////////////////////////////
// DllRegisterServer - Adds entries to the system registry
//------------------------------------------------------------------*
STDAPI
    DllRegisterServer(void)
{
    HRESULT hr = Create4C_CATIDs();
    ASSERT(SUCCEEDED(hr));
    if (FAILED(hr)) {
        return hr;
    }
	// registers object, typelib and all interfaces in typelib
	return _Module.RegisterServer(TRUE);
}
コード例 #14
0
STDAPI DllRegisterServer(void)
{
    // registers object, typelib and all interfaces in typelib

    HRESULT hr = _Module.RegisterServer();

    // Notify WMP that plugin has been added

    WMPNotifyPluginAddRemove();

    return hr;
}
コード例 #15
0
ファイル: TCObj.cpp プロジェクト: borgified/Allegiance
STDAPI DllRegisterServer(void)
{
#ifdef _MERGE_PROXYSTUB
    RETURN_FAILED(PrxDllRegisterServer());
#endif

    // registers object, typelib and all interfaces in typelib
    RETURN_FAILED(_Module.RegisterServer(TRUE));

    // Register the component category
    return RegisterComponentCategory(CATID_TCObj,
                                     L"Allegiance Test Common Objects");
}
コード例 #16
0
UINT WINAPI EnableClients(DWORD dwClientType)
{
	HRESULT hr = S_OK;
	BOOL bExpressRegOK	= true;
	BOOL bOutlookRegOK	= true;
	BOOL bIERegOK		= true;
	BOOL bAOLRegOK		= true;
	if (dwClientType & CLIENT_TYPE_EXPRESS)
	{
		hr = _Module.RegisterServer(true, &CLSID_OEAddin);
		bExpressRegOK = SUCCEEDED(hr);
	}

	if (dwClientType & CLIENT_TYPE_OUTLOOK)
	{
		hr = _Module.RegisterServer(true, &CLSID_MsAddIn);
		bOutlookRegOK = SUCCEEDED(hr);
	}

	// Temp, Until AOL supported - JHC
	/*if (dwClientType & CLIENT_TYPE_AOL)
	{
		hr = _Module.RegisterServer(true, &CLSID_AOLAddin);
		bAOLRegOK = SUCCEEDED(hr);
	}*/

	if (dwClientType & CLIENT_TYPE_IE)
	{		
		BOOL bBandRegOK		= RegisterBand(CLSID_JMEXPLORERBAND_STRING, _T("&Creata Mail"));
		BOOL bComCatRegOK	= RegisterComCat(CLSID_JMExplorerBand, CATID_InfoBand);
		BOOL bBHORegOK		= RegisterBHO(CLSID_BROWSERHELPEROBJ_STRING, g_szAppName);
		BOOL bIEButtonRegOK = RegisterIEButton(CLSID_JMEXPLORERBAND_STRING, g_szAppName);
		bIERegOK = bBandRegOK && bComCatRegOK && bBHORegOK && bIEButtonRegOK;
		_Module.RegisterServer(true, &CLSID_JMExplorerBand);
	}
	

	return (bExpressRegOK && bOutlookRegOK && bIERegOK && bAOLRegOK);
}
コード例 #17
0
STDAPI DllRegisterServer(void)
{
CComBSTR bstrPath;

	if (SUCCEEDED(EnsureXmlPath(&bstrPath))) {
		USES_CONVERSION;

		bstrPath.Append(L"\\GeoComponentSequence.dtd");
		DeleteFile(OLE2A(bstrPath));
	}

    // registers object, typelib and all interfaces in typelib
    return _Module.RegisterServer(TRUE);
}
コード例 #18
0
STDAPI DllRegisterServer(void)
{
    HRESULT hresult;

    hresult = S_OK;
#ifdef _MERGE_PROXYSTUB
    hresult = PrxDllRegisterServer();
#endif
    if (SUCCEEDED(hresult)) {
        hresult = _Module.RegisterServer(TRUE);
    }
    if (SUCCEEDED(hresult)) {
        hresult = RegisterCategory();
    }
    return hresult;
}
コード例 #19
0
HRESULT OPCEngine::registerServer(void)
{ 
	_TRACE(TL_INF, TG_ENG, (_T("register server")));
	HRESULT res;

	// register COM Server object
	res = _Module.RegisterServer(FALSE);

	if (SUCCEEDED(res))
	{
		ICatRegister *cr;
		CATEGORYINFO catInfo[4];
		CATID catIDs[2];

		if (SUCCEEDED(res = ::CoCreateInstance(CLSID_StdComponentCategoriesMgr, 
			NULL, CLSCTX_ALL, IID_ICatRegister, (void **)&cr)))
		{
			// register category
			catInfo[0].catid = CATID_OPCDAServer10;
			catInfo[1].catid = CATID_OPCDAServer10;
			catInfo[2].catid = CATID_OPCDAServer20;
			catInfo[3].catid = CATID_OPCDAServer20;
			catInfo[0].lcid = MAKELCID( MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US) , SORT_DEFAULT);
			catInfo[1].lcid = MAKELCID( MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN),  SORT_DEFAULT);
			catInfo[2].lcid = MAKELCID( MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US) , SORT_DEFAULT);
			catInfo[3].lcid = MAKELCID( MAKELANGID(LANG_GERMAN, SUBLANG_GERMAN),  SORT_DEFAULT);
			wcscpy(catInfo[0].szDescription, L"OPC Data Access Server V1.0A");
			wcscpy(catInfo[1].szDescription, L"OPC Daten Server V1.0A");
			wcscpy(catInfo[2].szDescription, L"OPC Data Access Server V2.0");
			wcscpy(catInfo[3].szDescription, L"OPC Daten Server V2.0");
			res = cr->RegisterCategories(4, catInfo);
			_TRACE(TL_INF, TG_ENG, (_T("register component categories [0x%X]"), res));

			// register server in categories
			catIDs[0] = CATID_OPCDAServer10;
			catIDs[1] = CATID_OPCDAServer20;
			res = cr->RegisterClassImplCategories(g_clsid, 2, catIDs);
			_TRACE(TL_INF, TG_ENG, (_T("register component implementations [0x%X]"), res));

			cr->Release();
		}
	}
	return res; 
} // registerServer
コード例 #20
0
STDAPI DllRegisterServer(void)
{
    CComPtr<IWMPMediaPluginRegistrar> spRegistrar;
    HRESULT hr;

    // Create the registration object
    hr = spRegistrar.CoCreateInstance(CLSID_WMPMediaPluginRegistrar, NULL, CLSCTX_INPROC_SERVER);
    if ( FAILED( hr ) )
    {
        return hr;
    }
    
    // Load friendly name and description strings
    CComBSTR    bstrFriendlyName;
    CComBSTR    bstrDescription;

    bstrFriendlyName.LoadString(IDS_FRIENDLYNAME);
    bstrDescription.LoadString(IDS_DESCRIPTION);

    // Describe the type of data handled by the plug-in
    DMO_PARTIAL_MEDIATYPE mt = { 0 };
    mt.type = MEDIATYPE_[!output SAFE_ROOT];
    mt.subtype = MEDIASUBTYPE_NULL;

    // Register the plug-in with WMP
    hr = spRegistrar->WMPRegisterPlayerPlugin(
                    bstrFriendlyName,   // friendly name (for menus, etc)
                    bstrDescription,    // description (for Tools->Options->Plug-ins)
                    NULL,               // path to app that uninstalls the plug-in
                    1,                  // DirectShow priority for this plug-in
                    WMP_PLUGINTYPE_RENDERING, // Plug-in type
                    CLSID_[!output Safe_root],// Class ID of plug-in
                    1,                  // No. media types supported by plug-in
                    &mt);               // Array of media types supported by plug-in

    if ( FAILED( hr ) )
    {
        return hr;
    }

    // registers object
    return _Module.RegisterServer();
}
コード例 #21
0
ファイル: SS_Log_AddIn.cpp プロジェクト: RJVB/SS_Log
// by exporting DllRegisterServer, you can use regsvr32.exe
STDAPI DllRegisterServer(void)
{
	AFX_MANAGE_STATE(AfxGetStaticModuleState());
	HRESULT hRes = S_OK;
	
	// Registers object, typelib and all interfaces in typelib
	hRes = _Module.RegisterServer(TRUE);
	if (FAILED(hRes))
		return hRes;

	// Register description of this add-in object in its own
	//  "/Description" subkey.
	// TODO:  If you add more add-ins to this module, you need
	//  to register all of their descriptions, each description
	//  in each add-in object's registry CLSID entry:
	// HKEY_CLASSES_ROOT\Clsid\{add-in CLSID}\Description="add-in description"
	_ATL_OBJMAP_ENTRY* pEntry = _Module.m_pObjMap;
	CRegKey key;
	LONG lRes = key.Open(HKEY_CLASSES_ROOT, _T("CLSID"));
	if (lRes == ERROR_SUCCESS)
	{
		USES_CONVERSION;
		LPOLESTR lpOleStr;
		StringFromCLSID(*pEntry->pclsid, &lpOleStr);
		LPTSTR lpsz = OLE2T(lpOleStr);

		lRes = key.Open(key, lpsz);
		if (lRes == ERROR_SUCCESS)
		{
			CString strDescription;
			strDescription.LoadString(IDS_SS_LOG_ADDIN_DESCRIPTION);
			key.SetKeyValue(_T("Description"), strDescription);
		}
		CoTaskMemFree(lpOleStr);
	}
	if (lRes != ERROR_SUCCESS)
		hRes = HRESULT_FROM_WIN32(lRes);

	return hRes;
}
コード例 #22
0
ファイル: DVIManExt.cpp プロジェクト: killbug2004/WSProf
STDAPI DllRegisterServer(void)
{

#ifdef _MERGE_PROXYSTUB

    HRESULT hRes = PrxDllRegisterServer();
    if( FAILED(hRes) )
        return hRes;
#endif

	CCommandStringParser p;

	//if(p.IsOutlookInstalled())
	//{
	//	RegisterIManageDlls();
	//}
	//
	p.InsertCommands();


	return _Module.RegisterServer(FALSE);
}
コード例 #23
0
ファイル: FDMCustIEBtn.cpp プロジェクト: DragonZX/fdm2
STDAPI DllRegisterServer(void)
{
   	HKEY key;
	char szIco [MAX_PATH];
	char szCustomizer [1000];
	DWORD dwSize = MAX_PATH;

	if (ERROR_SUCCESS != RegOpenKey (HKEY_CURRENT_USER, "Software\\FreeDownloadManager.ORG\\Free Download Manager", &key))
		return E_FAIL;
	if (ERROR_SUCCESS != RegQueryValueEx (key, "Path", NULL, NULL, (LPBYTE) szIco, &dwSize))
		return E_FAIL;
	szIco [dwSize] = 0;
	if (szIco [dwSize-1] != '\\')
		lstrcat (szIco, "\\");
	lstrcat (szIco, "fdmcsiebtn.ico");

	dwSize = 1000;
	if (ERROR_SUCCESS != RegQueryValueEx (key, "Customizer", NULL, NULL, (LPBYTE) szCustomizer, &dwSize))
		return E_FAIL;
	szCustomizer [dwSize] = 0;

	RegCloseKey (key);

	
    HRESULT hr = _Module.RegisterServer(TRUE);
	if (FAILED (hr))
		return hr;

	RegOpenKey (HKEY_CURRENT_USER, "Software\\Microsoft\\Internet Explorer\\Extensions\\{DAC360AF-9FD0-432D-B2F2-ED3220F4CAD9}", &key);
	RegSetValueEx (key, "Icon", 0, REG_SZ, (LPBYTE)szIco, lstrlen (szIco));
	RegSetValueEx (key, "HotIcon", 0, REG_SZ, (LPBYTE)szIco, lstrlen (szIco));
	RegSetValueEx (key, "ButtonText", 0, REG_SZ, (LPBYTE)szCustomizer, lstrlen (szCustomizer));
	RegCloseKey (key);
	
	return hr;
}
コード例 #24
0
ファイル: device.cpp プロジェクト: Ashatta/tools
STDAPI DllRegisterServer(void)
{
    // オブジェクト、タイプライブラリおよびタイプライブラリ内の全てのインターフェイスを登録します
    return _Module.RegisterServer(TRUE);
}
コード例 #25
0
STDAPI DllRegisterServer(void)
{
	USES_CONVERSION;

    // registers object, typelib and all interfaces in typelib
	HRESULT hr = _Module.RegisterServer(TRUE);
	if (FAILED(hr)) return hr;

	// Mark the control as safe for initializing.
	
	hr = CreateComponentCategory(CATID_SafeForInitializing, L"Controls safely initializable from persistent data!");
	if (FAILED(hr)) return hr;
	
//	MessageBox(NULL, "3", "", MB_OK);

	hr = RegisterCLSIDInCategory(CLSID_LHTMLActiveDocument, CATID_SafeForInitializing);
	if (FAILED(hr)) return hr;
	
//	MessageBox(NULL, "4", "", MB_OK);

	// Mark the control as safe for scripting.
	
	hr = CreateComponentCategory(CATID_SafeForScripting, L"Controls safely scriptable!");
	if (FAILED(hr)) return hr;

//	MessageBox(NULL, "5", "", MB_OK);

	hr = RegisterCLSIDInCategory(CLSID_LHTMLActiveDocument, CATID_SafeForScripting);
	if (FAILED(hr)) return hr;

	{
		LPOLESTR clsidString;
		StringFromCLSID(CLSID_LHTMLActiveDocument, &clsidString);

		TCHAR filename[MAX_PATH];
		{
			CRegKey key;
			key.Open(HKEY_LOCAL_MACHINE, "Software\\Microsoft\\Windows\\CurrentVersion\\App Paths\\IEXPLORE.EXE");

			DWORD dwCount = sizeof(filename);
			key.QueryValue(filename, NULL, &dwCount);
		}

//	MessageBox(NULL, "7", "", MB_OK);

		{
			CRegKey key;
			key.Create(HKEY_CLASSES_ROOT, "svgfile\\CLSID");
			key.SetValue(W2A(clsidString));
		}

		{
			CRegKey key;
			key.Create(HKEY_CLASSES_ROOT, "svgfile\\DefaultIcon");
			key.SetValue("%SystemRoot%\\system32\\url.dll,0");
		}

//	MessageBox(NULL, "8", "", MB_OK);

		{
			CRegKey key;
			key.Create(HKEY_CLASSES_ROOT, "svgfile\\shell\\open\\command");

			TCHAR value[512];
			sprintf(value, "%s -nohome %%1", filename);
			key.SetValue(value);
		}

		// File extension associations
		{
			CRegKey key;
			key.Create(HKEY_CLASSES_ROOT, ".svg");
			key.SetValue("svgfile");
			key.SetValue("image/svg+xml", "Content Type");
		}

		{
			CRegKey key;
			key.Create(HKEY_CLASSES_ROOT, ".svgz");
			key.SetValue("svgfile");
			key.SetValue("image/svg+xml", "Content Type");
		}

		{
			CRegKey key;
			key.Create(HKEY_CLASSES_ROOT, ".xht");
			key.SetValue("svgfile");
			key.SetValue("application/xhtml+xml", "Content Type");
		}

	// Mime associations
		{
			CRegKey key;
			key.Create(HKEY_CLASSES_ROOT, "mime\\Database\\Content Type\\image/svg+xml");
			key.SetValue(".svg", "Extension");
			key.SetValue(W2A(clsidString), "CLSID");
		}

		/*
		{
			CRegKey key;
			key.Create(HKEY_CLASSES_ROOT, "mime\\Database\\Content Type\\image/svg+xml");
			key.SetValue(".svgz", "Extension");
			key.SetValue(W2A(clsidString), "CLSID");
		}
		*/

		{
			CRegKey key;
			key.Create(HKEY_CLASSES_ROOT, "mime\\Database\\Content Type\\application/xhtml+xml");
			key.SetValue(".xht", "Extension");
			key.SetValue(W2A(clsidString), "CLSID");
		}

	///////////
		CoTaskMemFree(clsidString);

		SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, 0, 0);
	}

	return 0;
}
コード例 #26
0
ファイル: ServerInfo.cpp プロジェクト: virtual-void/pbis
STDAPI DllRegisterServer(void)
{
    // オブジェクト、タイプライブラリおよびタイプライブラリ内の全てのインターフェイスを登録します
    _Module.UpdateRegistryFromResource( IDR_ServerInfo, TRUE );
	return _Module.RegisterServer(TRUE);
}
コード例 #27
0
ファイル: natlink.cpp プロジェクト: merrillh/aenea
STDAPI DllRegisterServer(void)
{
	// registers object (see appsupp.reg)

	return _Module.RegisterServer(FALSE);
}
コード例 #28
0
ファイル: PolygisDAT.cpp プロジェクト: hkaiser/TRiAS
STDAPI DllRegisterServer(void) {
	return _Module.RegisterServer(TRUE);
}
コード例 #29
-1
STDAPI DllRegisterServer(void)
{
    // On NT, add our extension to the list of approved extensions.

    if ( 0 == (GetVersion() & 0x80000000) )
        {
        CRegKey reg;
        LONG    lRet;

        lRet = reg.Open ( HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved"),
                          KEY_SET_VALUE );

        if ( ERROR_SUCCESS != lRet )
            return E_ACCESSDENIED;

        lRet = reg.SetValue ( _T("MP3 ID3v1 viewer column ext"), 
                              _T("{AC146E80-3679-4BCA-9BE4-E36512573E6C}") );

        reg.Close();

        if ( ERROR_SUCCESS != lRet )
            return E_ACCESSDENIED;
        }

    // registers object, typelib and all interfaces in typelib
    return _Module.RegisterServer(TRUE);
}
コード例 #30
-1
ファイル: HardLink.cpp プロジェクト: KnowNo/test-code-backup
STDAPI DllRegisterServer(void)
{
    // On NT, add ourself to the list of approved shell extensions.
    if ( 0 == (GetVersion() & 0x80000000) )
        {
        CRegKey reg;
        LONG    lRet;

        lRet = reg.Open ( HKEY_LOCAL_MACHINE, 
                          _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Shell Extensions\\Approved"),
                          KEY_SET_VALUE );

        if ( ERROR_SUCCESS != lRet )
            return E_ACCESSDENIED;

        lRet = reg.SetValue ( _T("Hard Links Shell Extension"),
                              _T("{3C06DFAE-062F-11D4-8D3B-919D46C1CE19}") );

        if ( ERROR_SUCCESS != lRet )
            return E_ACCESSDENIED;
        }

    // registers object, typelib and all interfaces in typelib
    return _Module.RegisterServer(TRUE);
}