今天老板提出了这样一个请求,我是一个刚参加工作不到半年的新手 求指教

解决方案 »

  1.   

    能找到窗口句柄就直接用SendMessage(hWnd,WM_CLOSE);
    找不到句柄就是用上面两位说的,使用进程快照,找到你想要关闭的进程,TerminateProcess
      

  2.   


    HWND hWnd = ::FindWindow(_T("ConsoleWindowClass"), NULL);
    if(hWnd)
    {
    ::PostMessage(hWnd, WM_CLOSE, 0, 0);
    }
      

  3.   


    有句柄的话就简单多了,发送关闭消息即可,
    没有的话就遍历任务管理器吧,找到指定的进程,然后TerminateProcess即可
      

  4.   

    例如我的控制台程序是  a.exe它的路径是 d:\这样写对么  还是要加上路径名?
    HWND hWnd = ::FindWindow(_T("a.exe"), NULL);
    if(hWnd)
    {
    ::PostMessage(hWnd, WM_CLOSE, 0, 0);
    }
      

  5.   

    TerminateProcess  第一个参数不是也是handle么?
      

  6.   

    你的cmd的窗口名是d:\a.exe吧
    HWND hWnd = ::FindWindow(_T("a.exe"), NULL);
    ->
    HWND hWnd = ::FindWindow(NULL, _T("d:\\a.exe"));