如何在C/C++中创建一个新进程,并在WinXp中获得这个新进程句柄
How to create a new process in C/C++ and get this new process handle in WinXp?
我需要知道如何在C/C++代码中获得新创建的进程的句柄。我对所有这些微软库了解不多,我只读过两种创建流程的方法。第一个是通过ShellExcecute调用,第二个是通过CreateProcess,但它们都没有重新生成HANDLE。我需要知道进程的句柄,因为我希望主线程在进程继续之前等待进程完成。最棒的是,如果有人帮我写一个函数,它看起来像这样:
HANDLE create_process(/*parameters same as for ShellExecute*/)
{
...
}
请帮忙。
CreateProcess()
返回一个包含进程句柄的PROCESS_INFORMATION
结构。看看这里和这里。
虽然ShellExecute()
不会为您提供所需的信息,但ShellExecuteEx()
会返回SHELLEXECUTEINFO
结构中的进程句柄。看看这里和这里。
我建议您查看MSDN文档,了解您正在使用的API函数,因为它非常有用。
CreateProcess
将句柄返回给PROCESS_INFORMATION
中的进程。
相关文章:
- 在进程中对同一管道进行读取和写入时C++管道出现问题
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- 如何创建一个空的全局类并在启动时实例化它
- 在两个类中共享相同的函数调用,并在不需要时避免空实例化
- 在函数内部的声明中初始化数组,并在外部使用它
- C++-我可以创建另一个类的成员并在构造函数中使用它吗
- 缓存std::数组的选定元素,并在c++中自动保持其一致性
- 定义C++新的环境变量并在 bat 文件中使用它
- Visual Studio 2017 停止工作,并在打开后显示许多控制台窗口
- 如何读取单个字符并在输入两个字符序列时输出? 使用 while 循环和C++
- 我想获取我在C++中创建的每个进程的 PID,并在特定时间后终止每个进程
- 阻止进程在从服务启动时启动,并在某些进程关闭后继续运行服务。
- 将 CreateProcess() 的 stdout 重定向到管道并在另一个进程 c++ 窗口中读取它
- 识别后台进程并在 C++ WIN32 中置于前台
- 如何在C/C++中创建一个新进程,并在WinXp中获得这个新进程句柄
- 如何获取进程ID并在Windows上使用EmptyWorkingSet
- 创建进程并在进程返回消息后运行代码(c++)
- 扫描进程并在找到特定进程时执行操作
- 如何通过窗口标题找到进程,并在打开时关闭它
- 如何使子进程具有与 parrent 相同的环境变量,并在窗口中拥有自己的环境变量?