[C++] 纯文本查看 复制代码
BOOL WINAPI CreateProcess(
__in_opt LPCTSTR lpApplicationName,
__inout_opt LPTSTR lpCommandLine,
__in_opt LPSECURITY_ATTRIBUTES lpProcessAttributes,
__in_opt LPSECURITY_ATTRIBUTES lpThreadAttributes,
__in BOOL bInheritHandles,
__in DWORD dwCreationFlags,
__in_opt LPVOID lpEnvironment,
__in_opt LPCTSTR lpCurrentDirectory,
__in LPSTARTUPINFO lpStartupInfo,
__out LPPROCESS_INFORMATION lpProcessInformation
);
[C++] 纯文本查看 复制代码
#include "stdafx.h"
#include <locale.h>
#include <Windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
PROCESS_INFORMATION ProInfo; //进程信息结构
STARTUPINFO StartInfo;
ZeroMemory ( &StartInfo, sizeof(StartInfo));
LPTSTR szPrameter = TEXT("C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe www.groad.net");
TCHAR szCmdLine[2048] = {0};
CopyMemory(szCmdLine, szPrameter, 2*_tcslen(szPrameter));
ZeroMemory (&ProInfo, sizeof(ProInfo));
if (!CreateProcess ( NULL, // 执行的程序名
szCmdLine, // 命令行指定
NULL, // 进程安全属性,NULL 时使用默认安全属性
NULL, // 线程安全属性,NULL 时使用默认安全属性
FALSE, // 不继承句柄
0, // 进程创建标志
NULL, // 环境变量块,为 NULL 时使用父进程环境变量
NULL, // 新进程目录
&StartInfo, // 启动信息结构
&ProInfo) // 进程信息结构
) {
_tprintf (TEXT("CreateProcess failed : %d\n"), GetLastError());
return (-1);
}
// 等待子进程结束
WaitForSingleObject(ProInfo.hProcess, INFINITE);
CloseHandle ( ProInfo.hProcess );
CloseHandle ( ProInfo.hThread );
return 0;
}