Как создать приостановленный процесс из С# без P/Invoke?

WinAPI CreateProcess имеет флаг CREATE_SUSPENDED, поэтому можно присоединить процесс к JobObject до того, как он что-то сделает, а затем вызвать ResumeThread для его основного потока. Единственное, что я нашел в поисках решения, это это пост написан 11 лет назад!


person SerG    schedule 21.03.2014    source источник


Ответы (1)


Единственный способ сделать это с помощью CreateProcess. Класс .net Process не предлагает эту функциональность. Либо p/invoke CreateProcess, либо используйте сборку C++/CLI смешанного режима, чтобы вызвать то же самое.

person David Heffernan    schedule 21.03.2014
comment
Обладает ли C++/CLI большей совместимостью с WinAPI? Возможно, стоит создать прокси-сборку на C++ для использования из C#. - person SerG; 22.03.2014
comment
Сборка C++/CLI смешанного режима может включать заголовки Windows и напрямую ссылаться на неуправляемые библиотеки. Все можно сделать с помощью pinvoke, но проще с C++/CLI. - person David Heffernan; 22.03.2014