如何关闭另一个可执行程序?

解决方案 »

  1.   

    dim h as long
    '關閉記事本
    h = findwindow("notepad",vbnullstring)
    sendmessage h , wm_close , 0& , byval 0&
      

  2.   

    知道 改可执行*.exe的路径,
    如果,他是打开的,就把他关闭,怎么写语句???
      

  3.   

    本文摘自<<计算机世界>>在VB中如何关闭别的应用程序窗口?我用API的FindWindow函数找到IE4的窗口,但用API的CloseWindow函数只使该窗口最小化,而不能关闭,应该怎样做?  答:首先,建立一个类模块,利用 API察看器程序,将需要用到的常量定义和API函数粘贴过来,如:  Public ConstWM_CLOSE = &H10  Public Const WM_QUIT = &H12  Declare Function FindWindow Lib user32 Alias FindWindowA (ByVal lpClassName As String, ByVal lpWindowName As String) As Long  Declare Function PostMessage Lib user32 Alias PostMessageA (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long  接下来,就可以利用 FindWindow 函数获取窗口句柄,然后向这个窗口发送 WM_CLOSE 或 WM_QUIT 信息让窗口自行关闭:  Handle = FindWindow(IEFrame, vbNullString)  PostMessage Handle,WM_CLOSE,0,0 或 PostMessage Handle,WM_QUIT,0,0 均可。 
      

  4.   

    知道 改可执行*.exe的路径,例如:d:\aaa.exe
    如果,aaa.exe是打开的,就把他关闭,怎么写语句???
      

  5.   

    简单地介绍一下FindWindow()函数的用法。要使用该API,请先建立一个.bas模块,然后从winapi\win32api.txt中拷贝如下的FindWindow()函数的声明: 
        Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long 
        这个函数有两个参数,第一个是要找的窗口的类,第二个是要找的窗口的标题。在搜索的时候不一定两者都知道,但至少要知道其中的一个。有的窗口的标题是比较容易得到的,如"计算器",所以搜索时应使用标题进行搜索。但有的软件的标题不是固定的,如"记事本",如果打开的文件不同,窗口标题也不同,这时使用窗口类搜索就比较方便。如果找到了满足条件的窗口,这个函数返回该窗口的句柄,否则返回0。 
        前面提到的VB的FindWindow()函数的声明将两个参数都定义为String类型,而在实际使用过程中,如果我们忽略某个参数就将该参数的定义又As String改为As Any。这里的As Any相当于C语言中的强制类型转换。例如,如果我们忽略窗口的类,就将定义修改如下: 
        Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As Any, ByVal lpWindowName As String) As Long 
        然后,在调用时使用如下语句: 
         hwndCalc = FindWindow(0&, "计算器") 
        这里的0&就表示忽略类名。需要注意的是FindWindow(0&, "计算器")和FindWindow("", "计算器")有两种完全不同的含义,前者表示忽略窗口的类,而后者表示窗口的类是个空串。类似的,我们也可以忽略标题而搜索指定的类。 
        从上面的讨论中可以看出,如果要搜索的外部程序的窗口标题比较容易得到,问题是比较简单的。可如果窗口的标题不固定或者根本就没有标题,怎么得到窗口的类呢?如果你安装了Visual C++,你可以使用其中的Spy++(如果没有VC++,在VB的盘上也可以找到Spy),在Spy++中有一个FindWindow工具,它允许你使用鼠标选择窗口,然后Spy++会显示这个窗口的类。 
        在Win32 API中还有一个FindWindowEx,它非常适合寻找子窗口。
      

  6.   

    就是 shell 可以调用一个可执行程序,用什么方法可以关闭这个可执行程序呢???
      

  7.   

    to:leolan(史留香)  
      那可能要枚舉所有進程才行.
    //太复杂了!!
    那究竟如何实现呢??
      

  8.   

    http://blog.csdn.net/online/archive/2004/08/05/66373.aspx