您的位置:首页 > 其它

《Windows程序设计》[第二版] - 第2章 Win32程序运行原理 - 创建进程

2010-04-03 17:45 330 查看
《Windows程序设计》[第二版] - 第2章 Win32程序运行原理 - 创建进程

打开Windows自带的命令行程序

#include <windows.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
char szCommandLine[] = "cmd";
STARTUPINFO si = { sizeof(si) };
PROCESS_INFORMATION pi;
si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USEPOSITION;  // 指定wShowWindow 成员有效
si.wShowWindow = TRUE;              // 显示新建进程的主窗口
si.dwX = 100;
si.dwY = 300;
BOOL bRet = ::CreateProcess(
NULL, // 不在此指定可执行程序文件名
szCommandLine, // 命令行参数
NULL, // 默认进程安全性
NULL, // 默认线程安全性
FALSE, // 指定当前进程内句柄不可以被子进程继承
CREATE_NEW_CONSOLE, // 为新进程创建一个样报的控制台窗口
NULL, // 使用本进程环境变量
NULL, // 使用本进程的驱动器和目录
&si,
π
);
if(bRet)
{
// 既然不使用两个句柄,最好是立刻关闭
::CloseHandle(pi.hThread);
::CloseHandle(pi.hProcess);
printf(" 新进程的进程ID号:%d /n", pi.dwProcessId);
printf(" 新进程的主线程ID号:%d /n", pi.dwThreadId);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: