createprocess安装
时间: 2025-06-08 18:36:55 浏览: 17
### 使用 `CreateProcess` 函数创建新进程
在 Windows API 中,`CreateProcess` 是用于启动新的进程及其主线程的重要函数。此函数允许应用程序指定可执行文件的位置以及传递给该程序的命令行参数。
为了成功调用 `CreateProcess` ,需要准备两个结构体变量:一个是 `STARTUPINFO` 结构用来描述新进程的一些属性;另一个是 `PROCESS_INFORMATION` 结构来接收有关已创建进程的信息[^1]。
下面是一个简单的 C++ 例子展示怎样利用 CreateProcess 来运行记事本应用:
```cpp
#include <windows.h>
#include <stdio.h>
int main()
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
// 启动子进程 (notepad.exe)
if (!CreateProcess(
NULL,
(LPSTR)"C:\\Windows\\System32\\notepad.exe",// 要启动的应用路径及名称
NULL,
NULL,
FALSE,
CREATE_NEW_CONSOLE,// 创建控制台窗口标志位
NULL,
NULL,
&si,
&pi))
{
printf("CreateProcess failed (%d).\n", GetLastError());
return -1;
}
// 等待直到子进程退出...
WaitForSingleObject(pi.hProcess, INFINITE);
// 关闭句柄资源
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
return 0;
}
```
上述代码片段展示了如何通过提供完整的路径名作为第二个参数的方式去启动特定的应用程序实例,在这里是以系统自带的 Notepad 应用为例说明了基本流程[^2]。
当尝试使用相对路径或者环境变量中的位置时,则第一个参数应该指向目标 .exe 文件的名字字符串而不是设置为 `NULL` 。如果希望获取更多关于被创建进程的状态信息还可以进一步处理 `PROCESS_INFORMATION` 对象成员的数据。
阅读全文
相关推荐


















