要調用api函數,有些難度.我給你個网站你看看里面的例子:www.vbgood.com

解决方案 »

  1.   

    给你个简单的函数,保证可以,记得给分哦~~SendMessage(WndHwnd, WM_SYSCOMMAND, SC_CLOSE, 0);
    其中 WndHwnd 为待关闭窗口的句柄啦!
      

  2.   

            先FindWindow捕捉窗口,再关闭 
    捕捉窗口并获得焦点
    VB声明 
    Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 
    说明 
    寻找窗口列表中第一个符合指定条件的顶级窗口(在vb里使用:FindWindow最常见的一个用途是获得ThunderRTMain类的隐藏窗口的句柄;该类是所有运行中vb执行程序的一部分。获得句柄后,可用api函数GetWindowText取得这个窗口的名称;该名也是应用程序的标题) 
    返回值 
    Long,找到窗口的句柄。如未找到相符窗口,则返回零。会设置GetLastError 
    参数表 
    参数 类型及说明 
    lpClassName String,指向包含了窗口类名的空中止(C语言)字串的指针;或设为零,表示接收任何类 
    lpWindowName String,指向包含了窗口文本(或标签)的空中止(C语言)字串的指针;或设为零,表示接收任何窗口标题 
    注解 
    很少要求同时按类与窗口名搜索。为向自己不准备参数传递一个零,最简便的办法是传递vbNullString常数 示例 
    Dim hw&, cnt& 
    Dim rttitle As String * 256 
    hw& = FindWindow("ThunderRT5Main", vbNullString) ' ThunderRTMain under VB4 
    cnt = GetWindowText(hw&, rttitle, 255) 
    MsgBox Left$(rttitle, cnt), 0, "RTMain title" 一、SendMeaasge函数简介 
       顾名思义,SendMessage函数的功能是“发送消息”,即将一条消息发送到指定对象(操作系统、窗口或控件等)上,以产生特定的动作(如滚屏、修改对象外观等)。 
    SendMessage函数在VB中的函数说明如下: 
    Declare Function SendMessage Lib "user32" Alias "SendMessageA" (Byval hwnd As Long, Byval wMsg As Long,Byval wParam As Long,lParam As Any) As Long 
    其中四个自变量的含义和说明如下: 
    hWnd:对象的句柄。希望将消息传送给哪个对象,就把该对象的句柄作为实参传送,在VB中可以简单地用“对象.hWnd”获得某个对象的句柄,如Text1.hWnd和Form1.hWnd分别可以得到Text1和Form1的句柄。 
    wMsg:被发送的消息。根据具体需求和不同的对象,将不同的消息作为实参传送,以产生预期的动作。 
    wParam、lParam:附加的消息信息。这两个是可选的参数,用来提供关于wMsg消息更多的信息,不同的wMsg可能使用这两个参数中的0、1或2个,如果不需要哪个附加参数,则将实参赋为NULL(在VB中赋为0)。 SendMessage(WndHwnd, WM_SYSCOMMAND, SC_CLOSE, 0);
    其中 WndHwnd 为待关闭窗口的句柄啦!
      

  3.   

    楼上的~~抄袭我的答案哦~~一般的SENDMESSAGE可关不了IE的
      

  4.   

    '用CloseWindowPrivate Declare Function CloseWindow Lib "user32" (ByVal hwnd As Long) As Long
    Private Sub Form_Load()
        CloseWindow Me.hwnd
    End Sub