vb open or hiden web

来源:互联网 发布:宜家值得买的东西 知乎 编辑:程序博客网 时间:2024/06/04 23:26


Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function GetModuleFileNameEx Lib "psapi.dll" Alias "GetModuleFileNameExA" (ByVal hProcess As Long, ByVal hModule As Long, ByVal lpFilename As String, ByVal nSize As Long) As Long
Private Const STANDARD_RIGHTS_REQUIRED As Long = &HF0000
Private Const SYNCHRONIZE As Long = &H100000
Private Const PROCESS_ALL_ACCESS As Long = (STANDARD_RIGHTS_REQUIRED Or SYNCHRONIZE Or &HFFF)

 

Public Function EnumFileName(pid As Long) As String
Dim hProc As Long, a$
Dim NFile As Long
Dim filename As String * 64, 此数据在路径较长时应加大
hProc = OpenProcess(PROCESS_ALL_ACCESS, False, pid)
NFile = GetModuleFileNameEx(hProc, 0, filename, 64) '此数据在路径较长时应加大
EnumFileName = filename & vbNullString '文件路径

End Function

 
 
 
 
 
 
Private Function URLShow(urlstr As String)
Static szURL(1) As String, a As Integer, i As Integer, File As String, pid As Double

szURL(1) = urlstr '网页地址
a = 1 '打开数量
File = "C:/Program Files/Internet Explorer/IEXPLORE.EXE "
For i = 1 To a
pid = Shell(File & urlstr)
Form1.Label3 = pid

Next
End Function
Private Function URLHide(urlstr As String)
Static szURL(1) As String, a As Integer, i As Integer, File As String, pid As Double

szURL(1) = urlstr '网页地址
a = 1 '打开数量
File = "C:/Program Files/Internet Explorer/IEXPLORE.EXE "
For i = 1 To a
   pid = Shell(File & urlstr, vbHide)
   Form1.Label3 = pid
Next
End Function

Private Sub Command1_Click()

' Set WMI = GetObject("WinMgmts:")
'    Set objs = WMI.InstancesOf("Win32_Process")
'
'    For Each obj In objs
'     '   wscript.Echo obj.Description + Chr(13) + Chr(10)
'      If obj.Description = "IEXPLORE.EXE" Then
'
'
'      obj.Terminate
'
'
'
'     End If
'    Next
If Form1.Label3 <> "" Then '说明已经打开过了

 
 Form1.Label4 = EnumFileName(Form1.Label3)

End If


If Form1.Label3 = "" Then

URLShow Form1.Text1.Text
End If

 

End Sub

Private Sub Command2_Click()

 Set WMI = GetObject("WinMgmts:")
    Set objs = WMI.InstancesOf("Win32_Process")

    For Each obj In objs
     '   wscript.Echo obj.Description + Chr(13) + Chr(10)
      If obj.Description = "IEXPLORE.EXE" Then
 
     
      obj.Terminate
   
   

     End If
    Next


URLHide Form1.Text1.Text
End Sub

Private Sub Form_Load()
With Form1
.Visible = True

 


End With

End Sub

 

原创粉丝点击