我想在我的程序里关闭另为一个程序,我通过hd = FindWindow(NULL,"程序标题1");  ::PostMessage(hdlAnother,WM_CLOSE,0,0);可以关闭那个程序,可是在关闭那个程序之前会出现一个提示窗口,里面有确定和取消按钮,我再通过hd = FindWindow(NULL,"消息");但是我如何能实现点击里面的确定按钮的功能呢,因为只要触发了确定按钮那个程序才能退出,如果再通过::PostMessage(hdlAnother,WM_CLOSE,0,0);效果只是让提示窗口关闭,而那个程序并没退出,和点取消一个效果了

解决方案 »

  1.   

    HWND hwnd=GetNextWindow(hd,GW_HWNDNEXT);
    UINT id=::GetDlgCtrlID(hwnd);
    ::SendDlgItemMessage(hd, ID, BM_CLICK, 0, 0); 
      

  2.   

     我现在通过直接发送wm_quit阻止了提示框弹出,但这样有可能使软件未保存数据
      

  3.   

    另为我通过shellexute方法可以在我关闭我的程序的时候再让那个软件启动,这时有出来一个提示窗口,而且是延长几秒出现,所以我又通过settimer定时再发送wm_close方法,可是我发现这个时候settimer不起作用,郁闷
      

  4.   

    看来那个软件只处理了  WM_CLOSE 消息,没处理 wm_quit , 所以被你绕过了