怎么在一个运行程序中开启或关闭另一个可执行程序

解决方案 »

  1.   

    开启
    BOOL CreateProcess(
      LPCTSTR lpApplicationName,                 // name of executable module
      LPTSTR lpCommandLine,                      // command line string
      LPSECURITY_ATTRIBUTES lpProcessAttributes, // SD
      LPSECURITY_ATTRIBUTES lpThreadAttributes,  // SD
      BOOL bInheritHandles,                      // handle inheritance option
      DWORD dwCreationFlags,                     // creation flags
      LPVOID lpEnvironment,                      // new environment block
      LPCTSTR lpCurrentDirectory,                // current directory name
      LPSTARTUPINFO lpStartupInfo,               // startup information
      LPPROCESS_INFORMATION lpProcessInformation // process information
    );关闭
    BOOL TerminateProcess(
      HANDLE hProcess, // handle to the process
      UINT uExitCode   // exit code for the process
    );
      

  2.   

    哦,这个好像很麻烦啊,是不是用Shell()可以实现呢?
      

  3.   

    再问一下:关于TerminateProcess(HANDLE hProcess, UINT uExitCode );
    我怎么得到这个hProcess?
    操作过程是这样的:
    首先点击一个1.EXE文件,然后再这个1.EXE文件中用CreateProcess()启动另一个2.EXE,然后在2.EXE中结束1.EXE,可是我不知道该怎么得到这个hProcess和uExitCode
      

  4.   

    CreateProcess
    或者
    ShellExec?
      

  5.   

    Q: "我怎么得到这个hProcess?"A: CreateProcess()的最后一个参数,LPPROCESS_INFORMATION lpProcessInformation ,typedef struct _PROCESS_INFORMATION { 
        HANDLE hProcess;   // 这个就是你想要的东东了
        HANDLE hThread; 
        DWORD dwProcessId; 
        DWORD dwThreadId; 
    } PROCESS_INFORMATION; 
      

  6.   

    http://www.vckbase.com/document/viewdoc.asp?id=416