windows api学习笔记-创建进程

简介: #include .h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.
#include .h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>//系统会自动连接到指定的库文件lib
#include .h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>
#include .h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>.h>//std  io  标准输入输出接口
#include 
using namespace std;

int main()
{
	char szCommandLine[] = "cmd";
	STARTUPINFO si = {sizeof(si)};//
	PROCESS_INFORMATION pi;
	si.dwFlags = STARTF_USESHOWWINDOW;//指定wShowWindow成员有效
	si.wShowWindow = TRUE;//显示新进程的主窗口
	BOOL bRet = ::CreateProcess(
		NULL,//不在此指定可执行文件的文件名
		szCommandLine,//命令行参数,包含执行什么可执行文件
		NULL,//默认进程安全性
		NULL,//默认线程安全性
		FALSE,//当前进程内的句柄不可以被子进程继承
		CREATE_NEW_CONSOLE,
		NULL,//使用本进程的环境变量
		NULL,//使用本进程的驱动器和目录
		&si,//新进程中主窗口的位置,大小和标准句柄
		&pi //返回新进程的信息,如ID号句柄等
		);
	if(bRet)
	{
		//不使用两个返回的句柄最好把他关闭掉,要不然占有系统资源
		::CloseHandle(pi.hThread);
		::CloseHandle(pi.hProcess);
		printf("新进程的ID号:%d\n",pi.dwProcessId);
		printf("新进程的主线程的ID号:%d\n",pi.dwThreadId);
	}
	char a;
	cin>>a;
	return 0;
}

其中
STARTUPINFO si = {sizeof(si)};//
这一句可以替换成:
STARTUPINFO si;
::ZeroMemory(&si,sizeof(si));
si.cb = sizeof(si);

 

目录
相关文章
|
2月前
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
98 9
|
2月前
|
Windows
重装系统学习笔记(一):Windows10重装步骤(正版)
这篇博客文章详细介绍了如何使用微软官方工具重装Windows 10系统,包括下载安装工具、准备U盘、设置BIOS以及系统安装的步骤。
48 0
重装系统学习笔记(一):Windows10重装步骤(正版)
|
2月前
|
Java 关系型数据库 MySQL
java控制Windows进程,服务管理器项目
本文介绍了如何使用Java的`Runtime`和`Process`类来控制Windows进程,包括执行命令、读取进程输出和错误流以及等待进程完成,并提供了一个简单的服务管理器项目示例。
42 1
|
3月前
|
Docker Windows Python
Windows-Docker学习笔记(一)
本文介绍了Windows环境下Docker的安装与使用方法。首先通过链接下载Windows版本的Docker,然后按步骤配置:启用Windows功能、设置默认WSL版本为2,并检查Docker及其组件是否正常工作。接着详细列出了Docker的基础命令及其用法,包括搜索、下载镜像、管理容器等。同时介绍了Dockerfile的编写方法及其构建过程,以及docker-compose.yml文件的用途。最后提供了运行和管理容器的具体示例。
Windows-Docker学习笔记(一)
|
3月前
|
网络协议 API Windows
MASM32编程调用 API函数RtlIpv6AddressToString,windows 10 容易,Windows 7 折腾
MASM32编程调用 API函数RtlIpv6AddressToString,windows 10 容易,Windows 7 折腾
|
4月前
|
Java Windows
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
|
4月前
|
人工智能 监控 安全
F5社区学习笔记:API和AI如何改变应用安全?
F5社区学习笔记:API和AI如何改变应用安全?
54 1
|
4月前
|
Windows
Windows中如何查看被占用的端口、杀掉对应的进程
这篇文章介绍了在Windows系统中如何查看被占用的端口号以及如何杀掉占用端口的进程,包括使用命令提示符的`netstat -ano | findstr 端口号`命令查找进程PID,然后通过任务管理器或`taskkill /PID PID号`命令来结束进程。
Windows中如何查看被占用的端口、杀掉对应的进程
|
4月前
|
jenkins API 持续交付
jenkins学习笔记之十五:SonarSQube API使用
jenkins学习笔记之十五:SonarSQube API使用
|
4月前
|
JavaScript Windows
NodeJs——如何获取Windows电脑指定应用进程信息
NodeJs——如何获取Windows电脑指定应用进程信息
122 0