HINSTANCE mIn = ::ShellExecute(NULL,"","client.exe",NULL,"",1);
关?

解决方案 »

  1.   

    兄弟,不对呀.
    HINSTANCE mIn = ::ShellExecute(NULL,"","client.exe",NULL,"",1);
    BOOL b = ::TerminateProcess(mIn,0);
    DWORD err = ::GetLastError();
    错误是句柄无效.
      

  2.   

    ShellExecute打开的是一个单独的进程,所以关闭它也和关闭普通进程一样,用EnumProcesses枚举进程列表,用OpenProcess打开进程句柄获取信息,逐个判断是否你需要关闭的进程,然后TerminateProcess关闭之。
      

  3.   

    还需要枚举呀,我返回时有HINSTANCE呀.
      

  4.   

    在Win32下面,这个HINSTANCE返回值在小于32的时候表示错误代码,其余没有意义。
      

  5.   

    返回的不是HINSTANCE的
    因为你不知道系统所分配的HINSTACE所以要枚举
      

  6.   

    用ShellExcute创建的进程并不是你程序的子进程,可以通过枚举窗口的方法得到程序主窗口,然后发WM_QUIT