码迷,mamicode.com
首页 > 系统相关 > 详细

创建进程

时间:2014-11-08 17:57:11      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   ar   os   使用   sp   for   

#include <windows.h>
#include <stdio.h>

/*************************************
*DWORD CreateChildProcess(LPSTR szChildProcessCmd)
*功能: 演示创建子进程
*参数: LPSTR szChildProcessCmd 启动子进程命令
*返回值: 成功返回0, 失败返回1
**************************************/
DWORD CreateChildProcess(LPSTR szChildProcessCmd){
    STARTUPINFO si; //startup_info 启动_信息
    PROCESS_INFORMATION pi; //process_information 进程_消息(通知)
    //将启动信息结构清零
    ZeroMemory(&si, sizeof(si));
    //设置结构大小, cb属性应为结构的大小
    si.cb = sizeof(si);
    //将进程信息结构清零
    ZeroMemory(&pi, sizeof(pi));
    //创建子进程, 并判断是否成功
    if (!CreateProcess(NULL,    //使用命令行
        szChildProcessCmd,        //命令行
        NULL,                    //不继承进程句柄 
        NULL,                    //不继承线程句柄
        FALSE,                    //不继承句柄
        0,                        //没有创建标志
        NULL,                    //使用父进程环境变量
        NULL,                    //使用父进程目录作为当前目录
        &si,                    
        &pi)
        ){
    //创建失败
    printf("CreateProcess failed (%d).\n", GetLastError());
    return 1;
    }
    //在创建成功后父进程也可以直接退出, 这里等待子进程执行结束

    //等待子进程结束
    //使用到了通过 PROCESS_INFORMATION 返回的相关信息, hProcess 为子进程句柄
    //父进程也可以不等待子进程运行完成而直接退出
    WaitForSingleObject(pi.hProcess, INFINITE);
    //关闭进程句柄和线程句柄.
    CloseHandle(pi.hProcess);
    CloseHandle(pi.hThread);
    return 0;
}

//演示进程创建过程
int main(){
    CreateChildProcess("Child.exe abc 123");
    printf("子进程结束!!!");
    system("pause");
}

编译时, 把字符集改成 使用多字节字符集.

创建进程

标签:style   blog   io   color   ar   os   使用   sp   for   

原文地址:http://www.cnblogs.com/hlwyfeng/p/4083597.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!