从句柄创建CreateProcess而不是从Path

时间:2014-04-29 15:14:27

标签: c++ handle createprocess

有没有办法从File Handle返回的CreateFile()创建流程?

CreateProcess()函数只能从文件路径创建进程,我找不到任何方法从File Handle

创建进程

编辑:我需要直接从File Handle创建流程。我无法从路径创建流程。

2 个答案:

答案 0 :(得分:4)

不,您无法直接从文件句柄创建进程。但是你可以使用GetFinalPathNameByHandle从句柄中获取文件路径,然后在路径上使用CreateProcess。

注意 GetFilePathNameByHandle API仅适用于Vista&因此,如果您想支持较旧的操作系统,则必须获得创意.. :)有关详细信息,请参阅this article

答案 1 :(得分:1)

http://pastebin.com/WvWABiRu可以帮助你。如果你浏览本机API(NtCreateProcess),你只需要一个文件句柄(你可以指定一个随机路径forRtlCreateProcessParameters afaik)。但是你必须做很多工作才能让这个过程真正执行。

相关问题