如何在CHtmlView中禁用,屏蔽JavaScript JS 的执行

JavaScript011

如何在CHtmlView中禁用,屏蔽JavaScript JS 的执行,第1张

首先在CHtmlView派生的子类中重写OnAmbientProperty事件。

实现代码如下:

view source

print?

01BOOL CMyHtmlView::OnAmbientProperty(COleControlSite* pSite, DISPID dispid, VARIANT* pvar)

02{

03// TODO: 在此添加专用代码和/或调用基类

04if(dispid == DISPID_AMBIENT_DLCONTROL)

05{

06pvar->vt = VT_I4

07pvar->iVal = DLCTL_NO_SCRIPTS

08return true

09}

10return CHtmlView::OnAmbientProperty(pSite, dispid, pvar)

11}

1.你要么用js接口,网上有相关的库,C/c++是支持的。(个人看过相关的书籍,较麻烦)。

2.用webbroswer控件, Navigator里直接使用js代码代替url即可。(如果是单文档的话,就也是同样的方法,CHtmlView)。

如果是Windwos下面,可以调用专门的API,如

WinExec(),ShellExecute(),ShellExecuteEx(),CreateProcess()等等。。。具体的你可以查查MSDN

用法最简单的应该是WinExec:

UINT WinExec(

LPCSTR lpCmdLine, // command line

UINT uCmdShow // window style

)

lpCmdLine是命令,就相当于Dos命令一样来写

uCmdShow是显示方式,最常用的中

uCmdShow = 5,显示窗口

uCmdShow = 0,隐藏窗口

函数返回TRUE表示调用成功,否则表示调用失败。

例子(调用记事本程序):

WinExec("Notepad.exe", 5)