明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 718|回复: 6

[经验] InternetExplorer.Application

[复制链接]
发表于 2020-7-18 18:54 | 显示全部楼层 |阅读模式
本帖最后由 1291500406 于 2020-7-18 19:33 编辑


(setq ie (vlax-create-object "InternetExplorer.Application"))
#<VLA-OBJECT IWebBrowser2 0952004c>
命令: (vlax-dump-object ie t )
; IWebBrowser2: Web Browser Interface for IE4.
;特性值:
;   AddressBar = ...不显示带索引的内容...
;   Offline = ...不显示带索引的内容...
;   ReadyState (RO) = ...不显示带索引的内容...
;   RegisterAsBrowser = ...不显示带索引的内容...
;   RegisterAsDropTarget = ...不显示带索引的内容...
;   Resizable = ...不显示带索引的内容...
;   Silent = ...不显示带索引的内容...
;   TheaterMode = ...不显示带索引的内容...
;支持的方法:
;   ExecWB (4)
;   Navigate2 (5)
;   QueryStatusWB (2)
;   ShowBrowserBar (3)
T

特性值:
(Vlax-get-Property ie  'AddressBar)       :vlax-true   设置或获取一个值,该值指示对象的地址栏是可见还是隐藏。
(Vlax-get-Property ie  'Application)   #<VLA-OBJECT IWebBrowser2 0952004c>   获取托管WebBrowser Control的应用程序的自动化对象。
(Vlax-get-Property ie  'Busy)    :vlax-false  获取一个值,该值指示对象是从事导航还是下载操作。
(Vlax-get-Property ie  'Container)  nil  获取对容器的对象引用。
(Vlax-get-Property ie  'Document) ; 错误: Automation 错误。未提供说明。 获取活动文档的自动化对象(如果有)。
(Vlax-get-Property ie  'FullName)  "C:\\Program Files (x86)\\Internet Explorer\\IEXPLORE.EXE"  检索Internet Explorer可执行文件的标准路径。 注意   FullName可能会在操作系统或产品的后续版本中更改或不可用。
(Vlax-get-Property ie  'FullScree)  ; 错误: ActiveX 服务器返回错误: 未知名称: FULLSCREE   设置或获取一个值,该值指示Internet Explorer是处于全屏模式还是普通窗口模式。
(Vlax-get-Property ie  'Height)   1000     设置或获取对象的高度。
(Vlax-get-Property ie  'Left)   59   设置或获取对象左边缘的坐标。
(Vlax-get-Property ie  'LocationName) ""  检索当前显示的资源的路径或标题。
(Vlax-get-Property ie  'LocationURL) ""     获取当前显示的资源的URL。
(Vlax-get-Property ie  'MenuBar)  :vlax-true  设置或获取一个值,该值指示Internet Explorer菜单栏是否可见。
(Vlax-get-Property ie  'Offline)  :vlax-false   设置或获取一个值,该值指示对象是否在离线模式下运行。
(Vlax-get-Property ie  'Parent)  #<VLA-OBJECT IWebBrowser2 0952004c>   获取对象的父级。
(Vlax-get-Property ie  'Path)"C:\\Program Files (x86)\\Internet Explorer\\"  检索Internet Explorer可执行文件的系统文件夹。 注意   路径可能会更改或在操作系统或产品的后续版本中不可用。
(Vlax-get-Property ie  'ReadyState)  0  获取对象的就绪状态。
(Vlax-get-Property ie  'RegisterAsBrowser):vlax-false  设置或获取一个值,该值指示该对象是否注册为顶级浏览器窗口。
(Vlax-get-Property ie  'RegisterAsDropTarget)  :vlax-true  设置或获取一个值,该值指示该对象是否已注册为导航的放置目标。
(Vlax-get-Property ie  'Resizable):vlax-true    设置或获取一个值,该值指示是否可以调整对象的大小。
(Vlax-get-Property ie  'Silent)  :vlax-false  设置或获取一个值,该值指示对象是否可以显示对话框。
(Vlax-get-Property ie  'StatusBar):vlax-false   设置或获取一个值,该值指示对象的状态栏是否可见。
(Vlax-get-Property ie  'TheaterMode):vlax-false  设置或获取对象是否处于剧院模式。
(Vlax-get-Property ie  'ToolBar)1  设置或获取对象的工具栏是否可见。
(Vlax-get-Property ie  'Top)   59 设置或获取对象顶部边缘的坐标。
(Vlax-get-Property ie  'TopLevelContainer)  :vlax-true  获取一个值,该值指示该对象是否为顶级容器。
(Vlax-get-Property ie  'Type)  ; 错误: Automation 错误。未提供说明。  获取包含的文档对象的用户类型名称。
(Vlax-get-Property ie  'Visible)  :vlax-false  设置或获取一个值,该值指示对象是可见的还是隐藏的。
(Vlax-get-Property ie  'Width)  1600  设置或获取对象的宽度。

支持的方法:
ExecWB            *object.*ExecWB(cmdID, cmdexecopt, pvaIn, pvaOut) 执行命令并使用IOleCommandTarget接口返回命令执行的状态。
GetProperty     *object.*GetProperty(sProperty, vValue)   获取与用户定义的属性名称关联的值。
GoBack             *object.*GoBack()    向后浏览历史记录列表中的一项。
GoForward      *object.*GoForward()   向前浏览历史记录列表中的一项。
GoHome          *object.*GoHome()  导航到当前主页或起始页面。
GoSearch          *object.*GoSearch() 导航到当前搜索页面。
Navigate           *object.*Navigate(url, Flags, TargetFrameName, PostData, Headers)  导航到URL标识的资源或完整路径标识的文件。
Navigate2         *object.*Navigate2(URL, Flags, TargetFrameName, PostData, Headers) 将浏览器导航到可能不表示为URL的位置,例如Windows Shell名称空间中实体的PIDL。
PutProperty      *object. *PutProperty(sProperty, vValue);  将用户定义的名称/值对与对象相关联。
QueryStatusWB *object. *QueryStatusWB(nCmdID);  使用IOleCommandTarget接口查询对象的命令状态。
Refresh               *object.*Refresh()     重新加载对象中当前显示的文件。
Refresh2             *object.*Refresh2(vLevel)   使用指定的刷新级别重新加载当前显示的文件。
Stop                    *object.*Stop()   取消待处理的导航或下载,并停止动态页面元素,例如背景声音和动画。

事件:
BeforeNavigate 在给定对象(在窗口或框架集元素上)发生导航之前触发。
CommandStateChange  当命令的启用状态更改时触发。
DocumentComplete  当文档完全加载并初始化时触发。
DownloadBegin 导航操作开始时触发。
DownloadComplete 导航操作完成,停止或失败时触发。
NavigateComplete  在window元素或frameSet元素上完成对链接的导航后触发。
NavigateComplete2 在window元素或frameSet元素上完成对链接的导航后触发。
NewProcess  创建一个新的过程来处理导航。
NewWindow  当要创建新窗口时触发。
NewWindow2  当要创建新窗口时触发。
NewWindow3 在创建新窗口时引发。用有关新窗口的其他信息扩展NewWindow2。
OnFullScreen  更改FullScreen属性时触发。
OnMenuBar  更改MenuBar属性时触发。
OnQuit 在Internet Explorer应用程序退出之前触发。
OnStatusBar  当StatusBar属性更改时触发。
OnTheaterMode  更改TheaterMode属性时触发。
OnToolBar 更改ToolBar属性时触发。
OnVisible             更改对象的Visible属性时触发。
PrintTemplateInstantiation 实例化打印模板时触发。
PrintTemplateTeardown 打印模板销毁时触发。
ProgressChange  在对象上更新下载操作的进度时触发。
PropertyChange 当对象的PutProperty方法更改属性值时触发。
StatusTextChange  当对象的状态栏文本更改时触发。
TitleChange  当对象中的文档标题可用或更改时触发。
UpdatePageStatus                  此事件未实现。
WindowActivate 工作簿的窗口激活时,将产生本事件    此事件未实现。
WindowMove 窗口移动  此事件未实现。
WindowResize 窗口大小   此事件未实现。
WindowStateChanged 当内容窗口(例如浏览器窗口或选项卡)的可见性状态更改时触发。

VERSION 5.00
Begin VB.UserControl uctlIe
   ClientHeight    =   450
   ClientLeft      =   0
   ClientTop       =   0
   ClientWidth     =   510
   ScaleHeight     =   450
   ScaleWidth      =   510
End
Attribute VB_Name = "uctlIe"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = True
Option Explicit
Private WithEvents IEWindow As SHDocVw.WebBrowser
Attribute IEWindow.VB_VarHelpID = -1
Event BeforeNavigate2(ByVal pDisp As Object, ByVal URL As String, ByVal Flags As Long, ByVal TargetFrameName As String, PostData As Variant, ByVal Headers As String, Cancel As Boolean)
Event NewWindow2(ByVal pDisp As Object, ByVal Cancel As Boolean)
Event NavigateError(ByVal pDisp As Object, URL As Variant, Frame As Variant, StatusCode As Variant, Cancel As Boolean)
Event NavigateComplete2(ByVal pDisp As Object, ByVal URL As String)
Event ClientToHostWindow(CX As Long, CY As Long)
Event CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean)
Event DocumentComplete(ByVal pDisp As Object, URL)
Event DownloadBegin()
Event DownloadComplete()
Event FileDownload(Cancel As Boolean)
Event OnFullScreen(ByVal FullScreen As Boolean)
Event OnMenuBar(ByVal MenuBar As Boolean)
Event OnQuit()
Event OnStatusBar(ByVal StatusBar As Boolean)
Event OnTheaterMode(ByVal TheaterMode As Boolean)
Event OnToolBar(ByVal ToolBar As Boolean)
Event OnVisible(ByVal Visible As Boolean)
Event PrintTemplateInstantiation(ByVal pDisp As Object)
Event PrintTemplateTeardown(ByVal pDisp As Object)
Event PrivacyImpactedStateChange(ByVal bImpacted As Boolean)
Event ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long)
Event PropertyChange(ByVal szProperty As String)
Event SetSecureLockIcon(ByVal SecureLockIcon As Long)
Event StatusTextChange(ByVal Text As String)
Event TitleChange(ByVal Text As String)
Event UpdatePageStatus(ByVal pDisp As Object, nPage, fDone)
Event WindowClosing(ByVal IsChildWindow As Boolean, Cancel As Boolean)
Event WindowSetHeight(ByVal Height As Long)
Event WindowSetLeft(ByVal Left As Long)
Event WindowSetResizable(ByVal Resizable As Boolean)
Event WindowSetTop(ByVal Top As Long)
Event WindowSetWidth(ByVal Width As Long)
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_SETTEXT = &HC
Private Sub Class_Initialize()
    Set IEWindow = New SHDocVw.WebBrowser
End Sub
'请求连接前触发的事件
Private Sub IEWindow_BeforeNavigate2(ByVal pDisp As Object, URL, Flags, TargetFrameName, PostData, Headers, Cancel As Boolean)
    RaiseEvent BeforeNavigate2(pDisp, URL, Flags, TargetFrameName, PostData, Headers, Cancel)
End Sub
'当需要创建新窗口时触发的事件
Private Sub IEWindow_NewWindow2(pDisp As Object, Cancel As Boolean)
    RaiseEvent NewWindow2(pDisp, Cancel)
End Sub
'当访问出错触发的事件
Private Sub IEWindow_NavigateError(ByVal pDisp As Object, URL As Variant, Frame As Variant, StatusCode As Variant, Cancel As Boolean)
    RaiseEvent NavigateError(pDisp, URL, Frame, StatusCode, Cancel)
End Sub
'当访问完成触发的事件
Private Sub IEWindow_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
    RaiseEvent NavigateComplete2(pDisp, URL)
End Sub
Public Property Get IEObject() As SHDocVw.WebBrowser
    Set IEObject = IEWindow
End Property
Public Property Let IEObject(ByVal vNewValue As SHDocVw.WebBrowser)
    Set IEWindow = vNewValue
End Property
Private Sub IEWindow_ClientToHostWindow(CX As Long, CY As Long)
    RaiseEvent ClientToHostWindow(CX, CY)
End Sub
Private Sub IEWindow_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean)
    RaiseEvent CommandStateChange(Command, Enable)
End Sub
Private Sub IEWindow_DocumentComplete(ByVal pDisp As Object, URL)
    RaiseEvent DocumentComplete(pDisp, URL)
End Sub
Private Sub IEWindow_DownloadBegin()
    RaiseEvent DownloadBegin
End Sub
Private Sub IEWindow_DownloadComplete()
    RaiseEvent DownloadComplete
End Sub
Private Sub IEWindow_FileDownload(Cancel As Boolean)
    RaiseEvent FileDownload(Cancel)
End Sub
Private Sub IEWindow_OnFullScreen(ByVal FullScreen As Boolean)
    RaiseEvent OnFullScreen(FullScreen)
End Sub
Private Sub IEWindow_OnMenuBar(ByVal MenuBar As Boolean)
    RaiseEvent OnMenuBar(MenuBar)
End Sub
Private Sub IEWindow_OnQuit()
    RaiseEvent OnQuit
End Sub
Private Sub IEWindow_OnStatusBar(ByVal StatusBar As Boolean)
    RaiseEvent OnStatusBar(StatusBar)
End Sub
Private Sub IEWindow_OnTheaterMode(ByVal TheaterMode As Boolean)
    RaiseEvent OnTheaterMode(TheaterMode)
End Sub
Private Sub IEWindow_OnToolBar(ByVal ToolBar As Boolean)
    RaiseEvent OnToolBar(ToolBar)
End Sub
Private Sub IEWindow_OnVisible(ByVal Visible As Boolean)
    RaiseEvent OnVisible(Visible)
End Sub
Private Sub IEWindow_PrintTemplateInstantiation(ByVal pDisp As Object)
    RaiseEvent PrintTemplateInstantiation(pDisp)
End Sub
Private Sub IEWindow_PrintTemplateTeardown(ByVal pDisp As Object)
    RaiseEvent PrintTemplateTeardown(pDisp)
End Sub
Private Sub IEWindow_PrivacyImpactedStateChange(ByVal bImpacted As Boolean)
    RaiseEvent PrivacyImpactedStateChange(bImpacted)
End Sub
Private Sub IEWindow_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long)
    RaiseEvent ProgressChange(Progress, ProgressMax)
End Sub
Private Sub IEWindow_PropertyChange(ByVal szProperty As String)
    RaiseEvent PropertyChange(szProperty)
End Sub
Private Sub IEWindow_SetSecureLockIcon(ByVal SecureLockIcon As Long)
    RaiseEvent SetSecureLockIcon(SecureLockIcon)
End Sub
Private Sub IEWindow_StatusTextChange(ByVal Text As String)
    RaiseEvent StatusTextChange(Text)
End Sub
Private Sub IEWindow_TitleChange(ByVal Text As String)
    RaiseEvent TitleChange(Text)
End Sub
Private Sub IEWindow_UpdatePageStatus(ByVal pDisp As Object, nPage, fDone)
    RaiseEvent UpdatePageStatus(pDisp, nPage, fDone)
End Sub
Private Sub IEWindow_WindowClosing(ByVal IsChildWindow As Boolean, Cancel As Boolean)
    RaiseEvent WindowClosing(IsChildWindow, Cancel)
End Sub
Private Sub IEWindow_WindowSetHeight(ByVal Height As Long)
    RaiseEvent WindowSetHeight(Height)
End Sub
Private Sub IEWindow_WindowSetLeft(ByVal Left As Long)
    RaiseEvent WindowSetLeft(Left)
End Sub
Private Sub IEWindow_WindowSetResizable(ByVal Resizable As Boolean)
    RaiseEvent WindowSetResizable(Resizable)
End Sub
Private Sub IEWindow_WindowSetTop(ByVal Top As Long)
    RaiseEvent WindowSetTop(Top)
End Sub
Private Sub IEWindow_WindowSetWidth(ByVal Width As Long)
    RaiseEvent WindowSetWidth(Width)
End Sub
Private Sub Class_Terminate()
    Set IEWindow = Nothing
End Sub
Public Sub Navigate(ByVal URL As String, ByVal Flags As Long, ByVal TargetFrameName As String, PostData As Variant, ByVal Headers As String)
    IEWindow.Navigate URL, Flags, TargetFrameName, PostData, Headers
End Sub
Public Sub Navigate2(ByVal URL As String, ByVal Flags As Long, ByVal TargetFrameName As String, PostData As Variant, ByVal Headers As String)
    IEWindow.Navigate2 URL, Flags, TargetFrameName, PostData, Headers
End Sub
Public Sub SetIEWindowText(IEWindow As SHDocVw.WebBrowser, ByVal strText As String)    SendMessage IEWindow.hwnd, WM_SETTEXT, 0, ByVal strTextEnd Sub





"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2020-7-18 19:35 | 显示全部楼层
WIN10 X64 支持吗?
 楼主| 发表于 2020-7-18 19:42 | 显示全部楼层
yxp 发表于 2020-7-18 19:35
WIN10 X64 支持吗?

WIN 10  X64支持的 ,我的就是电脑系统就是WIN 10  X64   
WIN7 电脑有的没有IE   
发表于 2020-7-18 20:09 来自手机 | 显示全部楼层
怎么看上去像VBA

评分

参与人数 1明经币 +1 收起 理由
yangchao2005090 + 1

查看全部评分

发表于 2020-7-18 22:21 | 显示全部楼层
1291500406 发表于 2020-7-18 19:42
WIN 10  X64支持的 ,我的就是电脑系统就是WIN 10  X64   
WIN7 电脑有的没有IE

我的电脑就是这样,几个版本CAD都是。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2020-7-18 22:58 | 显示全部楼层
本帖最后由 1291500406 于 2020-7-18 23:53 编辑
yxp 发表于 2020-7-18 22:21
我的电脑就是这样,几个版本CAD都是。

这个得先明白ITypeInfo接口,
ITypeInfo接口不返回信息时, 其方法,特性值是否任然可以使用
这个是有返回值的,只不过dump 不出来,很多的dump不出来的,要不然我也不会辛苦收集
我百度了一下,供参考


https://wedelphi.com/t/275036/
http://blog.chinaunix.net/uid-16937328-id-377107.html


您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-9 05:14 , Processed in 0.502298 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表