Tag: reparenting

如何使用C#中的STARTUPINFOEX调用CreateProcess()并重新生成子项

我需要创建一个新进程,但是它是另一个进程的“子”而不是当前进程,例如重新父进程。 以下几乎让我有.NET:如何使用C#和.NET中的 STARTUPINFOEX调用CreateProcessAsUser() :如何PInvoke UpdateProcThreadAttribute和http://winprogger.com/launching-a-non-child-process/ using System; using System.Diagnostics; using System.IO; using System.Runtime.InteropServices; public class ProcessCreator { [DllImport(“kernel32.dll”)] [return: MarshalAs(UnmanagedType.Bool)] static extern bool CreateProcess( string lpApplicationName, string lpCommandLine, ref SECURITY_ATTRIBUTES lpProcessAttributes, ref SECURITY_ATTRIBUTES lpThreadAttributes, bool bInheritHandles, uint dwCreationFlags, IntPtr lpEnvironment, string lpCurrentDirectory, [In] ref STARTUPINFOEX lpStartupInfo, out PROCESS_INFORMATION lpProcessInformation); [DllImport(“kernel32.dll”, SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] […]