【问题标题】:How to create suspended process from c# without P/Invoke?如何在没有 P/Invoke 的情况下从 c# 创建挂起的进程?
【发布时间】:2014-03-21 22:25:38
【问题描述】:

WinAPI CreateProcess 具有 CREATE_SUSPENDED 标志,因此可以在 JobObject 完成某些操作之前将其附加到 JobObject,然后为其主线程调用 ResumeThread。我发现寻找解决方案的唯一方法是 11 年前写的 this post

【问题讨论】:

    标签: c# process pinvoke createprocess suspend


    【解决方案1】:

    这样做的唯一方法是使用CreateProcess。 .net Process 类不提供该功能。 p/invoke CreateProcess 或使用混合模式 C++/CLI 程序集来调用它。

    【讨论】:

    • C++/CLI 是否与 WinAPI 有更多的互操作性?可能值得在 C++ 中创建一个“代理”程序集以便从 C# 中使用。
    • 混合模式 C++/CLI 程序集可以包含 windows 头文件,并直接链接到非托管库。使用 C++/CLI 可以更轻松地使用 pinvoke 完成所有操作。
    猜你喜欢
    • 2012-05-20
    • 2012-06-29
    • 1970-01-01
    • 1970-01-01
    • 2020-04-19
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    相关资源
    最近更新 更多