xxlroad:
   你说的是在VB下的实现吗?谢谢你的回复

解决方案 »

  1.   

    我想还是用createprocess新建一个线程,
    再来关闭也容易.
      

  2.   

    利用 ShellExecute or WinExec 执行外部程序
    Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPublic Declare Function WinExec Lib "kernel32" Alias "WinExec" (ByVal lpCmdLine As String, ByVal nCmdShow As Long) As Long利用FindWindow查找窗口句柄,然后关闭Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Public Declare Function CloseWindow Lib "user32" Alias "CloseWindow" (ByVal hwnd As Long) As Long
      

  3.   

    VB->Shell 
    VC->ShellExecute or WinExec 
      

  4.   

    我也想知道在VB中怎样关闭用shell "aa.exe",1打开的程序。缺省情况下,Shell 函数是以异步方式来执行其它程序的。也就是说,用 Shell 启动的程序可能还没有完成执行过程,就已经执行到 Shell 函数之后的语句。我能不能执行完了aa.exe后再执行下面的语句?谢谢。