创建进程API
Posted 自己的小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了创建进程API相关的知识,希望对你有一定的参考价值。
前言:
在一个进程中创建并启动一个新进程,无论是对于病毒木马程序还是普通的应用程序而言。这都是一个常见的技术,最简单的方法无非是直接通过调用WIN32 API函数创建新进程。用户层上,微软提供了WinExec、ShellExecute和CreateProcess等函数来实现进程创建
实现代码:
//************************************ // 函数名: CStartDlg::WinExec_Start // 返回类型: BOOL // 功能: 以WinExec的方式创建进程 // 参数1: char * pszExePath exe文件路径 // 参数2: UINT uiCmdShow 显示方式 //************************************ BOOL CStartDlg::WinExec_Start(char *pszExePath, UINT uiCmdShow) { UINT uiRet = 0; //函数成功,返回值大于31 uiRet = WinExec(pszExePath, uiCmdShow); if (31 < uiRet) { return TRUE; } return FALSE; } //************************************ // 函数名: CStartDlg::ShellExecute_Test // 返回类型: BOOL // 功能: 以ShellExecute的方式创建进程 // 参数1: CString pszExePath exe文件路径 // 参数2: UINT uiCmdShow 显示方式 //************************************ BOOL CStartDlg::ShellExecute_Start(CString pszExePath, UINT uiCmdShow) { HINSTANCE hInstance = 0; //ShellExecute函数不仅可以运行exe文件,也可以运行已经关联的文件。 //例如,可以打开网页、发送邮件、以默认程序打开文件、打开目录、打 //印文件等。若返回值大于32,则表示执行成功,否则执行失败 hInstance = ShellExecute(NULL, NULL, pszExePath, NULL, NULL, uiCmdShow); if (32 < (DWORD)hInstance) { return TRUE; } return FALSE; } //************************************ // 函数名: CStartDlg::CreateProcess_Start // 返回类型: BOOL // 功能: 以CreateProcess方式创建进程 // 参数1: char * pszExePath exe文件路径 // 参数2: UINT uiCmdShow 显示方式 //************************************ BOOL CStartDlg::CreateProcess_Start(char* pszExePath, UINT uiCmdShow) { STARTUPINFO si = { 0 }; PROCESS_INFORMATION pi; BOOL bRet = FALSE; si.cb = sizeof(si); si.dwFlags = STARTF_USESHOWWINDOW; //指定wShowWindow成员有效 si.wShowWindow = uiCmdShow; bRet = CreateProcess(NULL, (LPWSTR)pszExePath, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi); if (bRet) { //不使用的句柄最好关掉 CloseHandle(pi.hThread); CloseHandle(pi.hProcess); return TRUE; } return FALSE; }
以上是关于创建进程API的主要内容,如果未能解决你的问题,请参考以下文章
在 Python 多处理进程中运行较慢的 OpenCV 代码片段
java 简单的代码片段,展示如何将javaagent附加到运行JVM进程
Express实战 - 应用案例- realworld-API - 路由设计 - mongoose - 数据验证 - 密码加密 - 登录接口 - 身份认证 - token - 增删改查API(代码片段
Azure 机器人微软Azure Bot 编辑器系列 : 机器人/用户提问回答模式,机器人从API获取响应并组织答案 (The Bot Framework Composer tutorial(代码片段