zoukankan      html  css  js  c++  java
  • vc++启动子进程


    示例:

    启动一个带有参数的程序

    Execute("c:/1.exe", " -a  ");

    执行一个Dos命令

    Execute("", " 1.bat cmd /C  ");

     

    //参数 文件绝对路径 和 命令行
    bool Execute(LPCTSTR pszExeFile,LPCTSTR pszCmdLine)
    {
        
    // 启动子进程
        PROCESS_INFORMATION pi;
        STARTUPINFO si 
    = {sizeof(si)};
        BOOL ret 
    = CreateProcess(pszExeFile, (LPTSTR)pszCmdLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
        
    if (!ret) 
        
    {
            
    return false;
        }


        
    // 关闭子进程的主线程句柄
        CloseHandle(pi.hThread);
        
    // 等待子进程的退出
        
    //WaitForSingleObject(pi.hProcess, INFINITE);
        
    // 获取子进程的退出码
        
    //GetExitCodeProcess(pi.hProcess, &dwExitCode);
        
    // 关闭子进程句柄
        CloseHandle(pi.hProcess);

        
    return true;
    }
  • 相关阅读:
    批量修改文件
    mysql-5.5.32-linux2.6-x86_64.tar.gz 二进制源码定制安装MySQL服务器
    源码搭建nginx服务器
    Python--安装
    k8s-修改线程数
    容器卡在terminate状态无法删除
    扩/
    磁盘分区+挂载
    499
    清理磁盘
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13318842.html
Copyright © 2011-2022 走看看