关闭自己程序打开的外部程序,是不是也只能用 findwindow 来找到句柄后才能关闭?如果我用 Winexec 或 ShellExecute 函数打开外部程序时把返回值保存下来的,那能不能用这个返回值来关闭呢?有没有这方面的资料?请指教!

解决方案 »

  1.   

    shellexecute(handle,'open','c:\my.exe','','',sh_shownormal) 
    open my.exe
      

  2.   

    如何在 Delphi 应用程序中, 去关闭外部已开启的应用程序? 
    下面给出一段在 Delphi 中关闭“计算器”程序为例: 
    var 
    HWndCalculator : HWnd; 
    begin 
    // find the exist calculator window 
    HWndCalculator := Winprocs.FindWindow(nil, '计算器'); // close the exist Calculator 
    if HWndCalculator <> 0 then 
    SendMessage(HWndCalculator, WM_CLOSE, 0, 0); 
    end; 
      

  3.   


    自己打开的程序也要用findwindow??如果我同时打开了几个呢??或是我的程序打开了一个,用户又打开了一个??那这样是关闭了哪个?我只要关闭我的程序打开的这个。怎么办??关闭资源管理器窗口,而且是关闭正浏览(即当前选择目录)特定目录的资源管理器窗口。
      

  4.   

    shellexecute
    sendmessage(程序句柄,WM_CLOSE,0,0)