#include <stdio.h>
#include <windows.h>
// 打开一个chrome浏览器进程
int RunExc()
{
STARTUPINFO strStartupInfo;
strStartupInfo.cb = sizeof(strStartupInfo);
PROCESS_INFORMATION szProcessInformation;
memset(&strStartupInfo, 0, sizeof(strStartupInfo));
TCHAR szCommandLine[] = L"\"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe\" www.baidu.com";
/*
CreateProcessW(
_In_opt_ LPCWSTR lpApplicationName, 应用程序名称,指向一个以NULL结尾的字符串,用来指定要运行的模块。这个字符串可以是可执行文件的名称或者完整路径
_Inout_opt_ LPWSTR lpCommandLine,命令行,如果要运行的程序需要额外的命令行参数,可以在此指定。如果lpApplicationName参数指定了完整路径或文件名,并且不需要额外的命令行参数,则该参数可以为空
_In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes,进程和线程安全属性,在大多数情况下,这两个参数可以设置为NULL,表示使用默认的安全属性
_In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,进程和线程安全属性,在大多数情况下,这两个参数可以设置为NULL,表示使用默认的安全属性
_In_ BOOL bInheritHandles,是否继承句柄,通常设置为FALSE,除非有特定的需要让子进程继承父进程的句柄
_In_ DWORD dwCreationFlags,创建标识,根据具体需求设置,例如如果不希望新进程使用新的控制台,可以设置CREATE_NO_WINDOW标志
_In_opt_ LPVOID lpEnvironment,环境变量,在大多数情况下,可以设置为NULL,表示新进程使用父进程的环境变量
_In_opt_ LPCWSTR lpCurrentDirectory,当前目录,可以设置为NULL,表示新进程使用父进程的当前目录
_In_ LPSTARTUPINFOW lpStartupInfo,启动信息,指向一个STARTUPINFO或STARTUPINFOEX结构体的指针,用来指定新进程的启动信息,例如窗口样式、标准句柄等
_Out_ LPPROCESS_INFORMATION lpProcessInformation,进程信息,指向一个PROCESS_INFORMATION结构体的指针,用来接收新进程的有关信息,例如进程句柄、主线程句柄、进程ID和主线程ID等
);
*/
int ret = CreateProcess(
NULL,
szCommandLine,
NULL,
NULL,
FALSE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
&strStartupInfo,
&szProcessInformation
);
if (ret)
{
// 创建成功
printf("Create Success ret = %d\n", ret);
// 等待进程创建完成,最多等3秒
WaitForSingleObject(szProcessInformation.hProcess, 3000);
CloseHandle(szProcessInformation.hProcess);
CloseHandle(szProcessInformation.hThread);
szProcessInformation.hProcess = NULL;
szProcessInformation.hThread = NULL;
szProcessInformation.dwProcessId = 0;
szProcessInformation.dwThreadId = 0;
}
else
{
printf("Create Failed ret = %d\n", ret);
printf("Create errorno = %d\n", GetLastError());
}
return 0;
}
int main()
{
printf("This is Chrome\n");
RunExc();
system("pause");
return 0;
}
C++——如何创建一个进程
猜你喜欢
转载自blog.csdn.net/weixin_42789698/article/details/140593821
今日推荐
周排行