大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
VB.NET调用IE代码示例:
公司主营业务:网站建设、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出班戈免费做网站回馈大家。
Dim p As New Process
'获得URL
aURL = GetURL()
'获得IE路径
p.StartInfo.FileName =
System.Environment.
GetFolderPath( _
Environment.SpecialFolder.
ProgramFiles).Trim() _
"\Internet Explorer\
IEXPLORE.EXE"
p.StartInfo.Arguments
= aDenURL
'启动IE
'p.Start(aDenURL)
p.Start()
'主程序开始等待IE结束
p.WaitForExit()
另一种VB.NET调用IE的方法
Imports System.Threading
Private Sub Button1_Click(ByVal
sender As System.Object, ByVal e
As System.EventArgs) Handles
Button1.Click
Dim webobj As Object
webobj = CreateObject("Internet
Explorer.Application")
With webobj
.visible = True
.Navigate2(";)
Do While (.busy Or .readyState 4)
Thread.Sleep(100)
Loop
.Document.f.q.Value = Me.TextBox1.Text
.Document.f.btng.Click()
End With
MsgBox("completed.")
End Sub
清空所有窗口的话,直接就是把所有的东西都划掉就可以了,很简单的。
清空IE缓存和Cookie
新增一个Form,新增一个ListBox,新增三个CommandButton,新增一个Label名称取默认值,粘贴下面代码到Form的代码窗口中,
定时的功能自己加一个定时器
摘自
'该示例提供读取缓存列表,删除指定缓存,删除所有缓存
Option Explicit
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Copyright ??1996-2008 VBnet, Randy Birch, All Rights Reserved.
' Some pages may also contain other copyrights by the author.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Distribution: You can freely use this code in your own
' applications, but you may not reproduce
' or publish this code on any web site,
' online service, or distribute as source
' on any media without express permission.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Private Const ERROR_CACHE_FIND_FAIL As Long = 0
Private Const ERROR_CACHE_FIND_SUCCESS As Long = 1
Private Const ERROR_FILE_NOT_FOUND As Long = 2
Private Const ERROR_ACCESS_DENIED As Long = 5
Private Const ERROR_INSUFFICIENT_BUFFER As Long = 122
Private Const MAX_PATH As Long = 260
Private Const MAX_CACHE_ENTRY_INFO_SIZE As Long = 4096
Private Const LMEM_FIXED As Long = H0
Private Const LMEM_ZEROINIT As Long = H40
Private Const LPTR As Long = (LMEM_FIXED Or LMEM_ZEROINIT)
Private Const NORMAL_CACHE_ENTRY As Long = H1
Private Const EDITED_CACHE_ENTRY As Long = H8
Private Const TRACK_OFFLINE_CACHE_ENTRY As Long = H10
Private Const TRACK_ONLINE_CACHE_ENTRY As Long = H20
Private Const STICKY_CACHE_ENTRY As Long = H40
Private Const SPARSE_CACHE_ENTRY As Long = H10000
Private Const COOKIE_CACHE_ENTRY As Long = H100000
Private Const URLHISTORY_CACHE_ENTRY As Long = H200000
Private Const URLCACHE_FIND_DEFAULT_FILTER As Long = NORMAL_CACHE_ENTRY Or _
COOKIE_CACHE_ENTRY Or _
URLHISTORY_CACHE_ENTRY Or _
TRACK_OFFLINE_CACHE_ENTRY Or _
TRACK_ONLINE_CACHE_ENTRY Or _
STICKY_CACHE_ENTRY
Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Private Type INTERNET_CACHE_ENTRY_INFO
dwStructSize As Long
lpszSourceUrlName As Long
lpszLocalFileName As Long
CacheEntryType As Long
dwUseCount As Long
dwHitRate As Long
dwSizeLow As Long
dwSizeHigh As Long
LastModifiedTime As FILETIME
ExpireTime As FILETIME
LastAccessTime As FILETIME
LastSyncTime As FILETIME
lpHeaderInfo As Long
dwHeaderInfoSize As Long
lpszFileExtension As Long
dwExemptDelta As Long
End Type
Private Declare Function FindFirstUrlCacheEntry Lib "wininet" _
Alias "FindFirstUrlCacheEntryA" _
(ByVal lpszUrlSearchPattern As String, _
lpFirstCacheEntryInfo As Any, _
lpdwFirstCacheEntryInfoBufferSize As Long) As Long
Private Declare Function FindNextUrlCacheEntry Lib "wininet" _
Alias "FindNextUrlCacheEntryA" _
(ByVal hEnumHandle As Long, _
lpNextCacheEntryInfo As Any, _
lpdwNextCacheEntryInfoBufferSize As Long) As Long
Private Declare Function FindCloseUrlCache Lib "wininet" _
(ByVal hEnumHandle As Long) As Long
Private Declare Function DeleteUrlCacheEntry Lib "wininet" _
Alias "DeleteUrlCacheEntryA" _
(ByVal lpszUrlName As String) As Long
Private Declare Sub CopyMemory Lib "kernel32" _
Alias "RtlMoveMemory" _
(pDest As Any, _
pSource As Any, _
ByVal dwLength As Long)
Private Declare Function lstrcpyA Lib "kernel32" _
(ByVal RetVal As String, ByVal Ptr As Long) As Long
Private Declare Function lstrlenA Lib "kernel32" _
(ByVal Ptr As Any) As Long
Private Declare Function LocalAlloc Lib "kernel32" _
(ByVal uFlags As Long, _
ByVal uBytes As Long) As Long
Private Declare Function LocalFree Lib "kernel32" _
(ByVal hMem As Long) As Long
Private Sub Form_Load()
Command1.Caption = "Get Cache"
Command2.Caption = "Delete Selected"
Command3.Caption = "Delete All"
Label1.Caption = ""
End Sub
Private Sub Form_Resize()
If Me.WindowState vbMinimized Then
If Me.Width 3000 Then
With Command1
.Left = Me.ScaleWidth - .Width - 200
.Top = 200
End With
With Command2
.Left = Command1.Left
.Top = Command1.Top + Command1.Height + 100
End With
With Command3
.Left = Command1.Left
.Top = Command2.Top + Command2.Height + 100
End With
With Label1
.Left = 200
.Top = Me.ScaleHeight - 100 - Label1.Height
End With
With List1
.Left = 200
.Top = 200
.Width = Command1.Left - 300
.Height = (Me.ScaleHeight - 300) - (Me.ScaleHeight - Label1.Top)
End With
End If
End If
End Sub
Private Sub Command1_Click()
With List1
'this speeds up adding to the list
'and eliminates list flicker
.Visible = False
.Clear
Call GetCacheURLList
.Visible = True
Label1.Caption = .ListCount " files listed."
End With
End Sub
Private Sub Command2_Click()
Dim cachefile As String
Dim currindex As Long
Dim currtopindex As Long
'delete the selected file
With List1
'because we're going to reload
'the cache following the deletion,
'be nice and save the current list
'position so it can be restored later
currtopindex = .TopIndex
currindex = .ListIndex
cachefile = .List(currindex)
Call DeleteUrlCacheEntry(cachefile)
'reload the list, hiding the list box
'to prevent flicker. (This workaround
'will not provided the desired results
'if a DoEvents is added to the
'GetCacheURLList routine!)
.Visible = False
GetCacheURLList
.TopIndex = currtopindex
If currindex = .ListCount Then
.ListIndex = currindex - 1
Else
.ListIndex = currindex
End If
.Visible = True
Label1.Caption = .ListCount " files listed."
End With
End Sub
Private Sub Command3_Click()
Dim cachefile As String
Dim cnt As Long
With List1
'delete all files
For cnt = 0 To .ListCount - 1
cachefile = .List(cnt)
'if the file is a cookie let's not
'delete it in case it is used to
'store password data.
'
'remove the Instr() test if you want
'to delete cookies as well
If InStr(cachefile, "Cookie") = 0 Then
Call DeleteUrlCacheEntry(cachefile)
End If
Next
.Visible = False
GetCacheURLList
.ListIndex = -1
.Visible = True
Label1.Caption = .ListCount " files listed."
End With
End Sub
Private Sub List1_Click()
Command2.Enabled = InStr(List1.List(List1.ListIndex), "Cookie") = 0
End Sub
Private Sub GetCacheURLList()
Dim icei As INTERNET_CACHE_ENTRY_INFO
Dim hFile As Long
Dim cachefile As String
Dim posUrl As Long
Dim posEnd As Long
Dim dwBuffer As Long
Dim pntrICE As Long
List1.Clear
'Like other APIs, calling FindFirstUrlCacheEntry or
'FindNextUrlCacheEntry with an buffer of insufficient
'size will cause the API to fail. Call first to
'determine the required buffer size.
hFile = FindFirstUrlCacheEntry(0, ByVal 0, dwBuffer)
'both conditions should be met by the first call
If (hFile = ERROR_CACHE_FIND_FAIL) And _
(Err.LastDllError = ERROR_INSUFFICIENT_BUFFER) Then
'The INTERNET_CACHE_ENTRY_INFO data type
'is a variable-length UDT. It is therefore
'necessary to allocate memory for the result
'of the call and to pass a pointer to this
'memory location to the API.
pntrICE = LocalAlloc(LMEM_FIXED, dwBuffer)
'allocation successful
If pntrICE 0 Then
'set a Long pointer to the memory location
CopyMemory ByVal pntrICE, dwBuffer, 4
'call FindFirstUrlCacheEntry again
'now passing the pointer to the
'allocated memory
hFile = FindFirstUrlCacheEntry(vbNullString, _
ByVal pntrICE, _
dwBuffer)
'hfile should = 1 (success)
If hFile ERROR_CACHE_FIND_FAIL Then
'loop through the cache
Do
'the pointer has been filled, so move the
'data back into a ICEI structure
CopyMemory icei, ByVal pntrICE, Len(icei)
'CacheEntryType is a long representing
'the type of entry returned
If (icei.CacheEntryType And _
NORMAL_CACHE_ENTRY) = NORMAL_CACHE_ENTRY Then
'extract the string from the memory location
'pointed to by the lpszSourceUrlName member
'and add to a list
cachefile = GetStrFromPtrA(icei.lpszSourceUrlName)
List1.AddItem cachefile
End If
'free the pointer and memory associated
'with the last-retrieved file
Call LocalFree(pntrICE)
'and again by repeating the procedure but
'now calling FindNextUrlCacheEntry. Again,
'the buffer size set to 0 causing the call
'to fail and return the required size as dwBuffer
dwBuffer = 0
Call FindNextUrlCacheEntry(hFile, ByVal 0, dwBuffer)
'allocate and assign the memory to the pointer
pntrICE = LocalAlloc(LMEM_FIXED, dwBuffer)
CopyMemory ByVal pntrICE, dwBuffer, 4
'and call again with the valid parameters.
'If the call fails (no more data), the loop exits.
'If the call is successful, the Do portion of the
'loop is executed again, extracting the data from
'the returned type
Loop While FindNextUrlCacheEntry(hFile, ByVal pntrICE, dwBuffer)
End If 'hFile
End If 'pntrICE
End If 'hFile
'clean up by closing the find handle,
'as well as calling LocalFree again
'to be safe
Call LocalFree(pntrICE)
Call FindCloseUrlCache(hFile)
End Sub
Private Function GetStrFromPtrA(ByVal lpszA As Long) As String
GetStrFromPtrA = String$(lstrlenA(ByVal lpszA), 0)
Call lstrcpyA(ByVal GetStrFromPtrA, ByVal lpszA)
End Function