如何实现让IE只允许上指定的URL,如上了非指定的URL,则关闭或强行让它上指定的URL??? 如何实现让IE只允许上指定的URL,如上了非指定的URL,则关闭或强行让它上指定的URL,给点代码及思路,谢了!!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可能要枚举IE窗口,获得URL,然后判断 在Invoke函数里面增加如下代码:HRESULT CIEHandle::Invoke(DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pvarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr){ if( !pDispParams ) { return E_INVALIDARG; } HRESULT hr = S_OK; switch(dispidMember) { case DISPID_BEFORENAVIGATE: case DISPID_FRAMEBEFORENAVIGATE: { USES_CONVERSION; if( pDispParams->cArgs < 0 ) { break; } if( pDispParams->rgvarg[5].vt != VT_BSTR ) { break; } char hrefStr[2048]; _bstr_t href( pDispParams->rgvarg[5].bstrVal ); WideCharToMultiByte(CP_OEMCP, WC_COMPOSITECHECK | WC_DISCARDNS | WC_DEFAULTCHAR, (wchar_t *)href, -1, hrefStr, MAX_PATH, NULL, NULL); // 如果URL中有中文,建议执行如下代码// char ts[MAX_PATH];// DWORD dwLen = sizeof(ts);// ::InternetCanonicalizeUrl((const char *) hrefStr, ts, &dwLen, ICU_DECODE | ICU_NO_ENCODE);// MessageBox( NULL, ts, "", MB_OK );// strcpy( hrefStr, ts );// 以禁止网站http://www.sina.com.cn为例 if( strcmp((const char *)strlwr(hrefStr), "http://www.sina.com.cn") == 0 ) { if(pDispParams->rgvarg[0].vt == (VT_BYREF | VT_BOOL)) { VARIANT_BOOL FAR* pTmp; pTmp = pDispParams->rgvarg[0].pboolVal; *pTmp = true; } m_spWebBrowser2->Stop(); break; } } break; ... http://www.microsoft.com/mind/0598/browhelp.asp DirectShow设置媒体格式的问题 再次提出"高分请教一个CSocket的问题?双核CPU." 关于分辨率的问题...... 请刚才给我书的朋友上来接分!! 关于win2000下symbol的问题,高分求助 切分窗口有问题 求:本周是今年的第几个星期?我的方法不对(附上),征求方法!!在线等。。。 visual studio 2008 改变临时文件路径 大家来帮我!!好困惑的! 彩票模拟器 boundschecker的错误信息是什么意思? 如何改变控件在VB控件板上的图标?如何使控件在窗口中也显示这个图标?
HRESULT CIEHandle::Invoke(DISPID dispidMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pvarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
{
if( !pDispParams ) {
return E_INVALIDARG;
} HRESULT hr = S_OK;
switch(dispidMember)
{
case DISPID_BEFORENAVIGATE:
case DISPID_FRAMEBEFORENAVIGATE:
{
USES_CONVERSION; if( pDispParams->cArgs < 0 ) {
break;
}
if( pDispParams->rgvarg[5].vt != VT_BSTR ) {
break;
} char hrefStr[2048];
_bstr_t href( pDispParams->rgvarg[5].bstrVal );
WideCharToMultiByte(CP_OEMCP, WC_COMPOSITECHECK | WC_DISCARDNS | WC_DEFAULTCHAR, (wchar_t *)href, -1, hrefStr, MAX_PATH, NULL, NULL);
// 如果URL中有中文,建议执行如下代码
// char ts[MAX_PATH];
// DWORD dwLen = sizeof(ts);
// ::InternetCanonicalizeUrl((const char *) hrefStr, ts, &dwLen, ICU_DECODE | ICU_NO_ENCODE);
// MessageBox( NULL, ts, "", MB_OK );// strcpy( hrefStr, ts );
// 以禁止网站http://www.sina.com.cn为例
if( strcmp((const char *)strlwr(hrefStr), "http://www.sina.com.cn") == 0 )
{
if(pDispParams->rgvarg[0].vt == (VT_BYREF | VT_BOOL))
{
VARIANT_BOOL FAR* pTmp;
pTmp = pDispParams->rgvarg[0].pboolVal;
*pTmp = true;
} m_spWebBrowser2->Stop();
break;
}
}
break;
...