CreateProcess() API 函数有啥用?

Posted

技术标签:

【中文标题】CreateProcess() API 函数有啥用?【英文标题】:What is the use of CreateProcess() API function?CreateProcess() API 函数有什么用? 【发布时间】:2014-09-21 18:46:15 【问题描述】:

我是 Windows 系统编程的新手,我正在尝试学习 CreateProcess() 函数。

我知道调用程序可以运行一个新进程,例如notepad.execmd.exe,方法是将名称(notepadcmd.exe)作为参数传递给CreateProcess() 函数调用程序。

这样做有什么用,你能解释一下任何现实世界的应用吗?

我可以使用这个创建过程函数来克隆自己并并行执行某些操作吗?

【问题讨论】:

不是很清楚你在问什么。如果您不知道在 Windows 中启动进程的真正用途(这是 CreateProcess 的目的),您可能需要先使用 Windows 并注意启动某些应用程序时发生的情况……如果您尝试到端口fork - 查看Porting tfrom UNIX to Win32 文章...或者可能是别的什么? 【参考方案1】:

这样做有什么用,你能解释一下任何现实世界的应用吗?

CreateProcess 是在 Windows 上创建新进程的方法。其使用的明显例子是外壳启动新的应用程序。或者让命令行解释器执行外部命令。

我可以使用这个创建过程函数来克隆自己并并行执行某些操作吗?

没有。 Windows 进程不使用 *nix fork 习惯用法。 Windows 中没有类似 fork 的东西。

【讨论】:

【参考方案2】:

我可以使用这个创建过程函数来克隆自己并并行执行某些操作吗?

与其说是克隆,不如说是。但是调用应用程序可以通过指定自己的文件名来生成自己的单独实例,可能使用命令行参数来告诉生成的进程要做什么。所以在这方面,是的,您可以让应用程序的多个实例并行运行。

【讨论】:

以上是关于CreateProcess() API 函数有啥用?的主要内容,如果未能解决你的问题,请参考以下文章

构造函数有啥用? [关闭]

静态构造函数有啥用?

PHP 嵌套函数有啥用?

lambda 函数有啥用? [复制]

MySQL LIKE函数中的%有啥用

PHP 函数重载有啥用?