本文演示如何通过 CreateProcess 创建一个进程句柄和主线程句柄可以被继承的子进程。
BOOL CreateProcess(
LPCTSTR lpApplicationName, // name of executable module
LPTSTR lpCommandLine, // command line string
LPSECURITY_ATTRIBUTES LPSECURITY_ATTRIBUTES , // SD
LPSECURITY_ATTRIBUTES lpThreadAttributes, // SD
BOOL bInheritHandles, // handle inheritance option
DWORD dwCreationFlags, // creation flags
LPVOID lpEnvironment, // new environment block
LPCTSTR lpCurrentDirectory, // current directory name
LPSTARTUPINFO lpStartupInfo, // startup information
LPPROCESS_INFORMATION lpProcessInformation // process information);
CreateProcess 的第三,第四参数分别表示新进程的进程属性和主线程属性,如果希望创建一个新进程,使得新进程的进程句柄和主线程句柄在当前进程的句柄表中可以被继承,则需要对 LPSECURITY_ATTRIBUTES 进行设置。
下面通过一个例子来测试进程句柄继承。

本文介绍了如何使用CreateProcess创建一个允许句柄继承的子进程。通过设置进程和主线程的安全属性,使得新进程的句柄可以在父进程中被继承。通过示例展示了如何在子进程中挂起并操作父进程继承的notepad进程。
最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



