获得webbrowser的编码菜单
来源:互联网 发布:深圳软件外包 编辑:程序博客网 时间:2024/05/19 22:28
获得webbrowser的编码菜单
msdn有篇文章教如何自定义webbrowser的右键菜单,名曰"WebBrowser Customization"
(http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/hosting/wbcustomization.asp)
看这段,IDocHostUIHandler::ShowContextMenu
有这么一句,这个是关键,可以获得的编码菜单的句柄
// Get the language submenu
hr = spCT->Exec(&CGID_ShellDocView, SHDVID_GETMIMECSETMENU, 0, NULL, &var);
var是什么? 是这个,CComVariant var
估计大概就是相当于vb的Variant,
然后它是这样获得菜单句柄的,
mii.hSubMenu = (HMENU) var.byref;
猜测vb中这样使用就行,var.byref,可惜不行,
于是猜想返回的是一个自定义类型,大概菜单就在某个地址上,经过测试,就在 varptr(var)+8上
下面是主要的vb代码,其中用到的库需要下载这个
http://www.mvps.org/emorcillo/download/vb6/tl_ole.zip
(引用页, http://www.mvps.org/emorcillo/en/code/vb6/wbframe.shtml)
Dim t2
Dim tOle As IOleCommandTarget
Dim tGuid As olelib.UUID, tCtID As olelib.UUID, tOWId As olelib.UUID
Dim tUn As olelib.IUnknown
Dim iWin As IOleWindow
CLSIDFromString "{b722bccb-4e68-101b-a2bc-00aa00404770}", tCtID
CLSIDFromString "{00000114-0000-0000-C000-000000000046}", tOWId
Set tUn = WebBrowser1.object
tUn.QueryInterface tCtID, tOle
tUn.QueryInterface tOWId, iWin
CLSIDFromString CGIDSTR_ShellDocView, tGuid
tOle.Exec tGuid, 27, 0, Null, t2
Dim tlng&
'获取菜单句柄
CopyMemory tlng, ByVal VarPtr(t2) + 8, 4
Debug.Print tlng, IsMenu(tlng)
Dim tId&, tHwnd&
tHwnd = iWin.GetWindow
Dim tPop As New cPopMenu
tPop.Create tlng
tId = tPop.Popup2(iWin.GetWindow)
If tId <> 0 Then
tHwnd = FindWindowEx(iWin.GetWindow, 0, "Shell DocObject View", "")
tHwnd = FindWindowEx(tHwnd, 0, "Internet Explorer_Server", "")
Debug.Print tHwnd
PostMessage tHwnd, WM_COMMAND, tId, ByVal 0
End If
很乱,懒得修改了,其中cPopMenu是我写的一个菜单类,.Popup2的作用相当于TrackPopupMenu
最后PostMessage是让webbrowser响应改变(改变编码)
lingll
lingll2001@21cn.com
lingll.yeah.net
2005-8-25
- 获得webbrowser的编码菜单
- c# webbrowser C# WebBrowser 获得选中部分的html源码
- 获得菜单的信息
- 问题:如何隐藏webBrowser的网页菜单?
- 经验及技巧:WebBrowser 获得选中部分的html源码
- 获得汉字的unicode编码
- 获得中文的unicode编码
- 怎么样修改和删除 IE WebBrowser Control的右键菜单
- 去除WebBrowser的 3D边框、滚动条、右键菜单...
- 设置webBrowser编码
- 下拉菜单select值的获得
- 批处理 获得上一级菜单的路径
- dxNavBar获得右键菜单位置的dxNavBarItem。
- 获得汉字的首字母(unicode编码的)
- 如何获得汉字的unicode编码
- 如何获得证书的BASE64编码
- 获得系统的默认字符编码
- 获得汉字的UTF-8编码
- 在PHP.MVC中上传文件
- 汇编学习笔记~1
- 成功人士的20个优良习惯
- 雨,又是雨......
- 近五年,久违了......
- 获得webbrowser的编码菜单
- [翻译]-WinCE 程序设计 (3rd 版)--第2章 屏幕绘图--概述
- [P.S.学习]高达图象合并(1)
- PC端工具箱版本升级为4.01beta
- [P.S.学习]高达图象合并(2)
- [P.S.学习]落日余辉
- [P.S.学习]摄影广告
- [P.S.学习]狗中狗
- [P.S.学习]黄金字体