关于IE页面下载功能的问题

baidu_35758633 2016-09-11 09:39:53
有谁知道下面这个方法在做什么吗
可以换成vb.net 给我吗 急!在线等
IeScreen 对象是IE窗口对象
TypeName(IeScreen.Document) = "HTMLDocument"


Public Function downloadFromWeb() As Boolean
Dim iA As IUIAutomation
Dim iAE As IUIAutomationElement
Dim handle As Long
Dim iCnd As IUIAutomationCondition
Dim Button As IUIAutomationElement
Dim InvokePattern As IUIAutomationInvokePattern
Dim iElemFound As IUIAutomationElement
Dim iValuePattern As IUIAutomationValuePattern

downloadFromWeb = True
Set iA = New CUIAutomation

handle = IeScreen.hWnd
' Application.Wait Now() + TimeValue(RUN_WAIT_TIME) '
handle = FindWindowEx(handle, 0, "Frame Notification Bar", vbNullString)

If handle = 0 Then
downloadFromWeb = True

Exit Function
End If

Do
DoEvents
Application.Wait Now() + TimeValue(RUN_WAIT_TIME)
Loop Until IsWindowVisible(handle)

Set iAE = iA.ElementFromHandle(ByVal handle)


Set iCnd = iA.CreatePropertyCondition(UIA_NamePropertyId, "通知栏显示")
Set iElemFound = iAE.FindFirst(TreeScope_Subtree, iCnd)
Set iValuePattern = iElemFound.GetCurrentPattern(UIA_ValuePatternId)

Do
DoEvents

If iValuePattern.CurrentValue Like "*打开还是保存?*” Then
'download开始的时候,保存按钮按下
Set iCnd = iA.CreatePropertyCondition(UIA_NamePropertyId, "保存")
Set iElemFound = iAE.FindFirst(TreeScope_Subtree, iCnd)
Set InvokePattern = iElemFound.GetCurrentPattern(UIA_InvokePatternId)
InvokePattern.Invoke

Exit Do
End If
Loop

'download结束的时候 message表示
Set iCnd = iA.CreatePropertyCondition(UIA_NamePropertyId, "*通知栏显示*")
Set iElemFound = iAE.FindFirst(TreeScope_Subtree, iCnd)
Set iValuePattern = iElemFound.GetCurrentPattern(UIA_ValuePatternId)

Do
DoEvents

If iValuePattern.CurrentValue Like "*已下载*" Then
'下载结束message表示的时候,关闭按钮按下
Set iCnd = iA.CreatePropertyCondition(UIA_NamePropertyId, "关闭")
Set iElemFound = iAE.FindFirst(TreeScope_Subtree, iCnd)
Set InvokePattern = iElemFound.GetCurrentPattern(UIA_InvokePatternId)
InvokePattern.Invoke

Exit Do
End If
Loop

End Function
...全文
538 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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