各位好!小弟用vb和webbrowser做了个类似浏览器的东西,并且屏蔽了右键和选中等功能,然后将公司的内部资料word、excel等文档另存为网页,以便用这个这个自制的浏览器打开。我这样做是为了保护公司资料不被盗。可没想到,用这个自制的浏览器打开word保存的网页,可以屏蔽右键和文本选中等功能,但是打开excel保存的网页却不屏蔽右键和文本选中等功能。小弟绞尽脑汁也想不出这是为什么,为何同样是html文件效果却一样呢?希望高手帮忙指教。谢谢。这是我的vb源代码:
Option Explicit
Private WithEvents M_Dom As MSHTML.HTMLDocumentPrivate Sub brwWebBrowser_NewWindow2(ppDisp As Object, Cancel As Boolean)
Dim NFrm As New Form1
NFrm.brwWebBrowser.RegisterAsBrowser = True
Set ppDisp = NFrm.brwWebBrowser.Object
NFrm.Visible = True
End SubPrivate Sub Form_Load()
brwWebBrowser.Navigate "D:\我的文档\桌面\物料编码目录手册-标准件模板(V2.0).htm"
End SubPrivate Sub Form_Resize()
brwWebBrowser.Width = Me.ScaleWidth
brwWebBrowser.Height = Me.ScaleHeight
End SubPrivate Function M_Dom_oncontextmenu() As Boolean
M_Dom_oncontextmenu = False
End FunctionPrivate Sub brwWebBrowser_DownloadComplete()
Set M_Dom = brwWebBrowser.Document '屏蔽右键菜单
End SubPrivate Function M_Dom_onselectstart() As Boolean
M_Dom_onselectstart = False
End Function
Option Explicit
Private WithEvents M_Dom As MSHTML.HTMLDocumentPrivate Sub brwWebBrowser_NewWindow2(ppDisp As Object, Cancel As Boolean)
Dim NFrm As New Form1
NFrm.brwWebBrowser.RegisterAsBrowser = True
Set ppDisp = NFrm.brwWebBrowser.Object
NFrm.Visible = True
End SubPrivate Sub Form_Load()
brwWebBrowser.Navigate "D:\我的文档\桌面\物料编码目录手册-标准件模板(V2.0).htm"
End SubPrivate Sub Form_Resize()
brwWebBrowser.Width = Me.ScaleWidth
brwWebBrowser.Height = Me.ScaleHeight
End SubPrivate Function M_Dom_oncontextmenu() As Boolean
M_Dom_oncontextmenu = False
End FunctionPrivate Sub brwWebBrowser_DownloadComplete()
Set M_Dom = brwWebBrowser.Document '屏蔽右键菜单
End SubPrivate Function M_Dom_onselectstart() As Boolean
M_Dom_onselectstart = False
End Function
解决方案 »
- 关于条码扫描枪的问题....会用的朋友进来看下..谢谢
- 着急,在线等答案!
- 怎么实现鼠标在界面上选中多个对象
- Text问题
- 大家好!我需要帮助!!!
- 怎样在VB中实现二分查找算法
- 求助!!!如何用VB来添加新的ODBC数据源?
- !求Programming Microsoft Visual Basic 6.0 配书源码!
- 用VB怎样做出像东方快车、南极星一样悬挂于屏幕上方的工具条. 重酬
- vb中有没有象c中union那样可以存储多种数据类型(包括自定义类型)的变量??
- 保存时出现错误:“系统错误 &H80004005 (-2147467259),未指定的错误”
- 怎样才能让vsflexgrid 只能选中一行
又:直接截屏好了,绝对比拍照清晰。
这个设置应该是vs2005时才有的吧。唉 我用的是vb6.0 没这功能呀。还好用其他方法也能实现屏蔽菜单。
还是很感谢你的提示呀。
myjian (嗷嗷叫的老马---思路啊思路.)的子类化方法很有价值。可惜那方面我比较菜,参透不了。
现在这个问题现在已解决。主要是excel文档采用发布方式保存为网页,而不是直接另存为网页格式。
这个两种方法有什么区别我也说不清楚,希望大家继续探讨啊。