青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

小步慢跑

 

標記ocx控件為腳本安全

MFC開發的OCX控件即使使用了簽名。在IE中運行是也會提示“頁面中的OCX的交互是不安全的。。。。”。解決辦法有兩種

方案1:修改IE的設置:

image

方案2:標記控件為腳本安全的

在工程中增加頭文件 cathelp.h

#ifndef _CATHELP_H_
#define _CATHELP_H_
#include <comcat.h>
HRESULT CreateComponentCategory(CATID catid, WCHAR* catDescription);
HRESULT RegisterCLSIDInCategory(REFCLSID clsid, CATID catid);
HRESULT UnRegisterCLSIDInCategory(REFCLSID clsid, CATID catid);
#endif

增加cathelp.cpp

#include "cathelp.h"
HRESULT CreateComponentCategory(CATID catid, WCHAR* catDescription)
{
	
    ICatRegister* pcr = NULL ;
    HRESULT hr = S_OK ;
	
    hr = CoCreateInstance(CLSID_StdComponentCategoriesMgr, 
		NULL, CLSCTX_INPROC_SERVER, IID_ICatRegister, (void**)&pcr);
	if (FAILED(hr))
		return hr;
	
    // Make sure the HKCR\Component Categories\{..catid...}
    // key is registered
    CATEGORYINFO catinfo;
    catinfo.catid = catid;
    catinfo.lcid = 0x0409 ; // english
	
	// Make sure the provided description is not too long.
	// Only copy the first 127 characters if it is
	int len = wcslen(catDescription);
	if (len>127)
		len = 127;
    wcsncpy(catinfo.szDescription, catDescription, len);
	// Make sure the description is null terminated
	catinfo.szDescription[len] = '\0';
	
	if(pcr)
	{
		hr = pcr->RegisterCategories(1, &catinfo);
		pcr->Release();
	}
	
	return hr;
}
HRESULT RegisterCLSIDInCategory(REFCLSID clsid, CATID catid)
{
	// Register your component categories information.
    ICatRegister* pcr = NULL ;
    HRESULT hr = S_OK ;
    hr = CoCreateInstance(CLSID_StdComponentCategoriesMgr, 
		NULL, CLSCTX_INPROC_SERVER, IID_ICatRegister, (void**)&pcr);
    if (SUCCEEDED(hr))
    {
		// Register this category as being "implemented" by
		// the class.
		CATID rgcatid[1] ;
		rgcatid[0] = catid;
		hr = pcr->RegisterClassImplCategories(clsid, 1, rgcatid);
    }
	
    if (pcr != NULL)
        pcr->Release();
	
	return hr;
}
HRESULT UnRegisterCLSIDInCategory(REFCLSID clsid, CATID catid)
{
    ICatRegister* pcr = NULL ;
    HRESULT hr = S_OK ;
    hr = CoCreateInstance(CLSID_StdComponentCategoriesMgr, 
		NULL, CLSCTX_INPROC_SERVER, IID_ICatRegister, (void**)&pcr);
    if (SUCCEEDED(hr))
    {
		// Unregister this category as being "implemented" by
		// the class.
		CATID rgcatid[1] ;
		rgcatid[0] = catid;
		hr = pcr->UnRegisterClassImplCategories(clsid, 1, rgcatid);
    }
	
    if (pcr != NULL)
        pcr->Release();
	
	return hr;
}

 

修改 ocx的 DllRegisterServer 方法

#include "cathelp.h"
#include <objsafe.h>//for CATID_SafeForInitializing
#include "SafeocxtestCtl.h"
STDAPI DllRegisterServer(void)
{
	AFX_MANAGE_STATE(_afxModuleAddrThis);
	if (!AfxOleRegisterTypeLib(AfxGetInstanceHandle(), _tlid))
		return ResultFromScode(SELFREG_E_TYPELIB);
	if (!COleObjectFactoryEx::UpdateRegistryAll(TRUE))
		return ResultFromScode(SELFREG_E_CLASS);
	// 注冊腳本安全
	if( FAILED( CreateComponentCategory(CATID_SafeForScripting, L"Controls that are safely scriptable") ) )
		return ResultFromScode(SELFREG_E_CLASS);
	
	if( FAILED( CreateComponentCategory(CATID_SafeForInitializing, L"Controls safely initializable from persistent data") ) )
		return ResultFromScode(SELFREG_E_CLASS);
	if (FAILED( RegisterCLSIDInCategory(
		CSafeocxtestCtrl::guid, CATID_SafeForScripting) ))
		return ResultFromScode(SELFREG_E_CLASS);
	
	if (FAILED( RegisterCLSIDInCategory(
		CSafeocxtestCtrl::guid, CATID_SafeForInitializing) ))
                return ResultFromScode(SELFREG_E_CLASS);
    
	return NOERROR;
}
/////////////////////////////////////////////////////////////////////////////
// DllUnregisterServer - Removes entries from the system registry
STDAPI DllUnregisterServer(void)
{
	AFX_MANAGE_STATE(_afxModuleAddrThis);
	if (!AfxOleUnregisterTypeLib(_tlid, _wVerMajor, _wVerMinor))
		return ResultFromScode(SELFREG_E_TYPELIB);
	if (!COleObjectFactoryEx::UpdateRegistryAll(FALSE))
		return ResultFromScode(SELFREG_E_CLASS);
	// 控件安全反初始化
    UnRegisterCLSIDInCategory(	CSafeocxtestCtrl::guid, CATID_SafeForScripting);
    UnRegisterCLSIDInCategory(	CSafeocxtestCtrl::guid, CATID_SafeForInitializing);
    
   
	return NOERROR;
}

編譯注冊就OK了。

 

如果要查看ocx是否是腳本安全的。在注冊表HKEY_CLASSES_ROOT\CLSID\OCX的clsid\Implemented Categories\ 下看一下有沒有“{7DD95801-9882-11CF-9FA9-00AA006C42C4}” 和“{7DD95802-9882-11CF-9FA9-00AA006C42C4}”

下圖就是腳本安全的:

image

 

參考:http://support.microsoft.com/kb/161873/en-us

posted on 2013-04-24 10:30 zaccheo 閱讀(626) 評論(0)  編輯 收藏 引用 所屬分類: win32/MFC

導航

統計

常用鏈接

留言簿

隨筆分類(23)

隨筆檔案(26)

文章分類(1)

文章檔案(1)

csdn

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            在线看成人片| 亚洲视频网站在线观看| 在线观看91精品国产麻豆| 99v久久综合狠狠综合久久| 久久麻豆一区二区| 香蕉久久精品日日躁夜夜躁| 欧美三级欧美一级| 亚洲美女中出| 亚洲日本成人网| 免费高清在线一区| 在线观看视频免费一区二区三区| 久久久天天操| 久久av在线看| 国产欧美日韩中文字幕在线| 性xx色xx综合久久久xx| 亚洲午夜精品17c| 欧美少妇一区| 亚洲自拍三区| 亚洲女性裸体视频| 国产精品美女一区二区| 欧美在线播放| 久久精品视频免费播放| 国产欧美视频一区二区三区| 欧美一站二站| 久久精品日韩| 91久久久久久久久| 亚洲精品久久久久久久久久久久久| 欧美成人tv| 一区二区三区黄色| 亚洲一区三区视频在线观看| 国产精品性做久久久久久| 久久精品成人| 免费日韩一区二区| 宅男噜噜噜66国产日韩在线观看| 一区二区三区日韩欧美精品| 国产欧美日韩综合一区在线观看| 两个人的视频www国产精品| 免费在线欧美视频| 亚洲一区二区三区涩| 香蕉av777xxx色综合一区| 在线看一区二区| 亚洲精品一区二区三区蜜桃久| 国产精品久久午夜| 美女视频黄 久久| 欧美日韩亚洲激情| 亚洲精品黄色| 91久久精品久久国产性色也91| 欧美日韩123| 欧美在线资源| 欧美成人亚洲成人| 欧美一区二区在线播放| 欧美69视频| 欧美在线视频免费| 女生裸体视频一区二区三区| 一区二区三区精密机械公司| 午夜日韩在线| 亚洲视频综合在线| 久久久久久久久久码影片| 亚洲片在线观看| 香蕉视频成人在线观看| 亚洲最新在线视频| 欧美在线亚洲综合一区| 亚洲深爱激情| 欧美fxxxxxx另类| 欧美伊人影院| 国产精品www色诱视频| 欧美黑人在线观看| 国产精品亚洲片夜色在线| 亚洲国产高清视频| 国产一区二区三区视频在线观看| 99精品视频网| aa成人免费视频| 久久欧美肥婆一二区| 久久精品国产欧美激情| 欧美视频在线一区| 91久久久久久| 91久久夜色精品国产九色| 久久久久久久999| 性刺激综合网| 国产精品欧美日韩| 亚洲视频一区在线观看| 亚洲天堂成人| 欧美日韩一二三四五区| 亚洲欧洲免费视频| 亚洲人妖在线| 欧美成人资源网| 亚洲国产成人在线| 亚洲精品乱码久久久久久| 久久中文字幕一区二区三区| 久久一区免费| 亚洲电影专区| 久久人人97超碰精品888| 久久伊人免费视频| 黄色一区二区三区| 久久精品成人| 久热国产精品视频| 国外成人免费视频| 久久久777| 欧美成人日韩| 日韩视频二区| 欧美日韩一区二区欧美激情 | 亚洲第一福利社区| 亚洲激情成人在线| 欧美xxx成人| 亚洲激情另类| 亚洲深夜福利在线| 国产精品私拍pans大尺度在线| 亚洲视频成人| 久久爱www.| 激情另类综合| 欧美第一黄网免费网站| 伊人成年综合电影网| 国产一区二区三区无遮挡| 久久福利资源站| 男女激情久久| 亚洲免费电影在线观看| 国产精品成人aaaaa网站| 亚洲欧美另类国产| 免播放器亚洲一区| 亚洲美女视频在线免费观看| 欧美午夜欧美| 亚洲欧洲av一区二区| 欧美/亚洲一区| 一区二区三区四区国产精品| 欧美视频在线观看视频极品| 午夜精品在线| 欧美激情网站在线观看| 亚洲在线免费视频| 韩国一区电影| 欧美精品一区二区精品网| 在线亚洲欧美视频| 麻豆国产精品777777在线| 一区二区三区成人精品| 韩日精品视频一区| 欧美日韩精品在线视频| 久久久精品国产一区二区三区| 亚洲高清资源| 久久本道综合色狠狠五月| 亚洲精品美女久久久久| 国产乱码精品一区二区三区忘忧草 | 欧美精品一线| 新狼窝色av性久久久久久| 亚洲国产一区二区在线| 久久精品国产欧美激情| 亚洲视频高清| 亚洲日本va午夜在线电影| 国产日产精品一区二区三区四区的观看方式 | 亚洲欧洲日本国产| 美女视频黄a大片欧美| 午夜精品www| 一本久久综合亚洲鲁鲁五月天| 狠狠入ady亚洲精品| 国产精品网红福利| 欧美日韩免费在线| 欧美国产日韩一区二区三区| 久久蜜桃香蕉精品一区二区三区| 午夜一区二区三区不卡视频| 亚洲午夜国产成人av电影男同| 亚洲精品国产视频| 亚洲成人在线免费| **欧美日韩vr在线| 国产一区二区欧美| 国产精品日韩高清| 国产精品高潮呻吟久久av黑人| 欧美a级一区| 亚洲自拍偷拍一区| aa亚洲婷婷| 亚洲精品一区二区三区四区高清 | 亚洲一区二区三区高清| 亚洲人成人一区二区三区| 在线观看成人小视频| 国产一区二区av| 国产午夜精品在线观看| 国产精品一级二级三级| 国产麻豆一精品一av一免费| 国产精品日韩高清| 国产日韩欧美在线播放| 国产欧美一区二区三区沐欲| 国产日产精品一区二区三区四区的观看方式 | 午夜精品一区二区三区四区| 亚洲女同在线| 欧美在线亚洲综合一区| 久久网站免费| 欧美激情视频一区二区三区免费 | 快播亚洲色图| 美女图片一区二区| 欧美大片一区二区三区| 欧美理论电影在线播放| 欧美日韩在线视频一区| 国产精品户外野外| 国产精品一区二区三区久久| 国产日产亚洲精品系列| 黑人一区二区三区四区五区| 亚洲国产精品久久久久婷婷老年| 亚洲精品美女在线| 亚洲欧美变态国产另类| 久久精品免费| 欧美韩日高清| 亚洲调教视频在线观看| 欧美在线在线|