豹筒生 发表于 2025-6-4 21:45:14

Windows编程----CreateProcess函数

CreateProcess函数原型

CreateProcess 函数用于创建一个新进程(子进程)及其主线程,其函数原型如下:
BOOL CreateProcess(
LPCWSTR               lpApplicationName,//指向可执行模块名称的指针
LPWSTR                lpCommandLine,//指向命令行字符串的指针。
LPSECURITY_ATTRIBUTES lpProcessAttributes,//指向 SECURITY_ATTRIBUTES 结构的指针,指定新进程的安全属性。
LPSECURITY_ATTRIBUTES lpThreadAttributes,//指向 SECURITY_ATTRIBUTES 结构的指针,指定新线程的安全属性。
BOOL                  bInheritHandles,//如果为 TRUE,新进程将继承调用进程的句柄。
DWORD               dwCreationFlags,//指定附加的、用来控制优先类和进程的创建的标志。
LPVOID                lpEnvironment,//指向新进程的环境块的指针。如果为 NULL,新进程将使用调用进程的环境。
LPCWSTR               lpCurrentDirectory,//指向新进程的当前目录的指针。如果为 NULL,新进程将使用调用进程的当前目录。
LPSTARTUPINFOW      lpStartupInfo,//指向 STARTUPINFOW 结构的指针,指定新进程的主窗口特性。
LPPROCESS_INFORMATION lpProcessInformation//指向 PROCESS_INFORMATION 结构的指针,接收新进程的标识符和句柄。
);为了演示用一个进程来启动一个新的进程,我们在这里首先准备一个NewApp的进程,表示即将被CreateProcess 函数启动的进程,NewApp的代码如下,代码打印出进程的命令行启动参数
//这是NewApp程序#include #include int main(int argc, char** argv){    for (int i = 0; i < argc; i++) {      std::wcout
页: [1]
查看完整版本: Windows编程----CreateProcess函数