webbrowser控件的hwnd怎么得到?

sunliangchao 2003-10-16 05:17:47
webbrowser控件的hwnd怎么得到?
注意:1。他本来就有这个属性,可是我一引用它,就提示什么方法无效
2。他没有hdc属性不可能通过dc得到句柄。
...全文
68 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Ringfo 2003-10-18
  • 打赏
  • 举报
回复
webbrowser.document.parentwindow.hwnd
sunliangchao 2003-10-18
  • 打赏
  • 举报
回复
能不能详细一点呢?
rainstormmaster 2003-10-16
  • 打赏
  • 举报
回复
写shell 扩展
sunliangchao 2003-10-16
  • 打赏
  • 举报
回复
那我浏览的不是网页,而是“c:\”,为什么得不到hwnd呢?
我主要是想用他实现文件浏览,现在我需要复制粘贴功能,自己手敲ctrl c
可以实现,但是setfocus后sendkeys"^C"却不能实现?于是我用sendmessage但是得不到hwnd.大虾帮帮忙了。
TechnoFantasy 2003-10-16
  • 打赏
  • 举报
回复
webbrowser控件需要首先浏览一个页面hwnd才有效的,你可以先Navigator"about:blank"然后再取得hwnd
4 浏览器网络编程(共两周) 4.1 浏览器工作原理(老师讲解1学时,学生理解1学时) 浏览器工作原理如图4-1所示。 图4-1 浏览器工作原理 (1) 浏览器分析超链指向页面的 URL。 (2) 浏览器向 DNS 请求解析 www.tsinghua.edu.cn 的 IP 地址。 (3) 域名系统 DNS 解析出清华大学服务器的 IP 地址。 (4) 浏览器与服务器建立 TCP 连接 (5) 浏览器发出取文件命令: GET /chn/yxsz/index.htm。 (6) 服务器 给出响应,把文件 index.htm 发给浏览器。 (7) TCP 连接释放。 (8) 浏览器显示“清华大学院系设置”文件 index.htm 中的所有文本 4.2 浏览器功能结构(老师讲解1学时,学生理解1学时) 浏览器程序功能结构如图4-2所示。 图4-2 浏览器功能结构 1) 浏览器有一组客户、一组解释程序,以及管理这些客户和解释程序的控制程序。 2) 控制程序是其中的核心部件,它解释鼠标的点击和键盘的输入,并调用有关的组件来执行用户指定的操作。 3) 例如,当用户用鼠标点击一个超链的起点时,控制程序就调用一个客户从所需文档所在的远地服务器上取回该文档,并调用解释程序向用户显示该文档 4) HTML 解释程序是必不可少的,而其他的解释程序则是可选的。 5) 解释程序把 HTML 规格转换为适合用户显示硬件的命令来处理版面的细节。 6) 许多浏览器还包含 FTP 客户,用来获取文件传送服务。 7) 一些浏览器也包含电子邮件客户,使浏览器能够发送和接收电子邮件 8) 浏览器将它取回的每一个页面副本都放入本地磁盘的缓存中。 9) 当用户用鼠标点击某个选项时,浏览器首先检查磁盘的缓存。若缓存中保存了该项,浏览器就直接从缓存中得到该项副本而不必从网络获取,这样就明显地改善浏览器的运行特性。 10) 但缓存要占用磁盘大量的空间,而浏览器性能的改善只有在用户再次查看缓存中的页面时才有帮助。 11) 许多浏览器允许用户调整缓存策略。 4.3 浏览器设计(老师讲解2学时,学生设计2学时) (1)浏览器功能设计 浏览器功能设计主要确定设计好的浏览器需要具备哪些功能,以及这些功能是以什么方式进行实现,这个步骤相当于软件设计中的“需求分析”,其中必须保证基本功能的具备,即浏览器必须能够浏览Web页面。 (2)浏览器界面设计 浏览器界面设计主要确定浏览器的页面布局,设定浏览器窗口上设置哪些功能菜单项、设置哪些功能按钮、设置哪些状态栏,它们各自的位置如何、属性如何、对应的变量如何等等。 (3)浏览器代码设计 浏览器代码设计主要是确定对上述的设计的功能在代码上怎样实现,包括选用的程序语言和编程平台选择、程序代码的编写、程序代码的调试、程序功能的测试等等。 4.4 浏览器编程设计平台(老师讲解2学时,学生理解4学时) (1)VS2005编程平台 (2)WebBrowser类及其使用 (3)一些浏览器程序的代码分析 4.5 浏览器开发步骤(8天) (1)熟悉VS2005平台,建立项目(半天) 打开VS2005选择“创建项目”,进入“新建项目”对话框,如图4-1所示。 图4-1 “新建项目”对话框 在“新建项目”对话框的项目类型窗口中选中“Visual C#”作为项目开发语言,在模板窗口中选中“Windows 应用程序”作为项目开发模板,在“名称”、“位置”编辑框中输入自己设定的项目名字和项目存储位置,本讲义使用“CSharp浏览器”作为项目名称,如图4-2所示。 图4-2 输入新建项目的属性 完成输入内容后,单击“确定”按钮,进入项目VC#开发窗口“Form.cs[设计]”,如图4-3所示。 图4-3 VC#开发窗口“Form.cs[设计]” (2)界面设计(1天) ○1设计菜单栏如图4-4所示。(半天) 图4-4 设计菜单栏 设计“文件”菜单如4-5所示。 图4-5 设计“文件”菜单 设计“编辑”菜单如图4-6所示。 图4-6 设计“编辑”菜单 设计“查看”菜单如图4-7所示。 图4-7 设计“查看”菜单 设计“收藏”菜单如图4-8所示。 图4-8 设计“收藏”菜单 设计“工具”菜单如图4-9所示。 图4-9 设计“工具”菜单 ○2设计工具栏、用户区和状态栏如图4-10所示(半天) 图4-10 工具栏和状态栏 (3)功能代码编辑 ○1初始化代码(半天) 双击“Form”设计页面进入代码编写页面,如图4-11所示。 图4-11 代码编写页面 初始化页面代码如下: ////////////////////////////////////////////////////////
1 , vb5dialog.zipThis demonstrates how to subclass the Common Dialog Dialogs and manipulate a specific Dialog.2 , cpnl.zipForm_Taskbar is a control for Visual Basic which, once placed onto a form, makes the form act like the Taskbar (minus the Start Menu).3 , vbo_progbar.zipImplement a common control progress bar with added features that are not accessable using COMCTL32.OCX! 4 , vbo_infolabel.zipThis control adds a great user-friendly interface with and icon and "Hover" ability. Based on a control seen in ICQ. 5 , vbo_checkcombo.zipAdd a checkbox to a combo box and use it to enabled/disable the combo! or whatever you would like to do with it! 6 , vbo_controlframe.zipCreate your own system button such as a Maximize, Minimize, Close, and many others with ease! 7 , vbo_ctextbox.zipThis class makes using the Textbox or Edit class API simple. Easily set properties and access many features not available directly from VB. 8 , taskbar.zipForm_Taskbar is a control for Visual Basic which, once placed onto a form, makes the form act like the Taskbar (minus the Start Menu).9 , NT_Service.zipThis is an OCX that allows you to create an NT service application...add the control to your project and register it as a service!!10 , Scroller.zipThis is a Control Container, it's like a frame control but it lets you scroll the content up and down...11 , TrayArea.zipThis control lets you add your icon to the System Tray Area and handle some events such as MouseMove, MouseDown, MouseUp and DblClick.12 , Resizer.zipThis is a very useful control: It's a container control, you can insert two controls inside and then you'll have a vertical (or horizontal) resizer bar (like the Windows File Explorer). A resizer can contain another resizer... an so on. (you can divide you form in as many sizable sections as you want...).13 , Label3D.zipTh
(1) 这个控件叫INET控件 INET控件的几点使用 Inet控件支持HTTP与FTP两种通讯协议。利用这个控件可以完成许多功能。 我们通过例子来看看。 环境VB6+WINXP 打开VB6,新建工程 添加部件Microsoft Internet Transfer Controls. 在form中添加2个按钮,2个文本框和Inet控件 代码如下: Option Explicit ''这段代码使用了GetHeader来返回页面信息,比较准确一些 ''可以得到文件最后修改日期,文件大小等等 ''用这个办法还可以判断一个文件是否存在 Private Sub Command1_Click() Dim a As String Dim str As String Dim RetCode As Long Inet1.OpenURL "http://localhost/xml/tt.htm" If Inet1.StillExecuting Then DoEvents End If ''可以看到所有的项目 MsgBox Inet1.GetHeader ''得到修改日期时间是格林时间,将它转换北京时间 str = Inet1.GetHeader("Last-modified") str = Replace(Right(str, Len(str) - InStr(1, str, ",") - 1), "GMT", "") Text1.Text = CDate(Format(str, "yyyy/mm/dd hh:mm:ss")) MsgBox Inet1.GetHeader("content-length") RetCode = Val(Mid(Trim(Inet1.GetHeader), 10, 3)) Select Case RetCode Case 200 MsgBox "成功" Case 404 MsgBox "没有发现" Case Else MsgBox "Error" End Select End Sub ''这段代码简单的判断了是否与internet连接 ''如果连接,得到网页源码并且保存 Private Sub Command2_Click() Inet1.Cancel If Len(Inet1.OpenURL("http://localhost/xml\tt.htm")) <> 0 Then MsgBox "已经连接" Text2.Text = Inet1.OpenURL("http://localhost/xml\tt.htm") If Inet1.StillExecuting Then DoEvents End If ''保存到文件 Open App.Path & "\index.htm" For Output As #1 Print #1, Text2.Text Close #1 Else MsgBox "没有连接" End If End Sub. (2) '我最喜欢用这种方法 Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Sub Command1_Click() Dim WEBADDR As String WEBADDR = "http://www.baidu.com/" Call ShellExecute(hwnd, "Open", WEBADDR, "", App.Path, 3) End Sub '另两种方法 Private Sub Command1_Click() aa = "Explorer http://www.baidu.com/" Shell aa, vbNormalFocus End Sub '******************************* Private Sub Command1_Click() WebBrowser1.Navigate ("http://www.baidu.com/") End Sub

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧