zoukankan      html  css  js  c++  java
  • C++创建一个新的进程

    原文:http://blog.csdn.net/hk627989388/article/details/53309865

    STARTUPINFO用于指定新进程的主窗口特性的一个结构。

    PROCESS_INFORMATION在创建进程时相关的数据结构之一,该结构返回有关新进程及其主线程的信息。

    [cpp] view plain copy
     
    1. void CCreateProgressDlg::StartProgress()  
    2. {  
    3.     CString csCommandLine;  
    4.     char chWindowsDir[MAX_PATH];  
    5.     char chCommandLine[MAX_PATH];  
    6.     DWORD dwExitCode;  
    7.     PROCESS_INFORMATION pi;  
    8.   
    9.     STARTUPINFO     si;//用于指定新进程的主窗口特性的一个结构  
    10.     memset(&si, 0, sizeof(si));  
    11.     si.cb = sizeof(STARTUPINFO);  
    12.     si.dwFlags = STARTF_USESHOWWINDOW;  
    13.     si.wShowWindow = SW_SHOW;//SW_HIDE隐藏窗口  
    14.   
    15.     //得到windows目录  
    16.     GetWindowsDirectory(chWindowsDir, MAX_PATH);  
    17.   
    18.     //启动“记事本”程序的命令行  
    19.     csCommandLine = CString(chWindowsDir) + "\NotePad.exe";  
    20.     ::strcpy(chCommandLine, csCommandLine);  
    21.   
    22.     //启动“记事本”作为子进程  
    23.     BOOL ret = CreateProcess(NULL, chCommandLine, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);  
    24.     if (ret)  
    25.     {  
    26.         //关闭子进程的主线程句柄  
    27.         CloseHandle(pi.hThread);  
    28.   
    29.         //等待子进程的退出  
    30.         WaitForSingleObject(pi.hProcess, INFINITE);  
    31.   
    32.         //获取子进程的退出码  
    33.         GetExitCodeProcess(pi.hProcess, &dwExitCode);  
    34.   
    35.         //关闭子进程句柄  
    36.         CloseHandle(pi.hProcess);  
    37.   
    38.     }  
    39.   
    40.   
    41. }  

    源码:http://files.cnblogs.com/files/lizhigang/CreateProgress.rar

  • 相关阅读:
    css3 animation 点亮灯光效果
    setTimeout和setInterval
    红绿灯 promise和原始方式实现
    思考3
    转载: 理解Javascript执行过程
    tapable
    SVG: 将 svg 导出成图片
    ES6: Module:
    d3 插值-实现一个简单的 animation
    three.js开发指南(第三版)_案例源码
  • 原文地址:https://www.cnblogs.com/lizhigang/p/7324166.html
Copyright © 2011-2022 走看看