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 STARTUPINFO lpStartupInfo, out PROCESS_INFORMATION lpProcessInformation);
public unsafe void startDumper() { string dumperExeName = System.IO.Path.Combine(acDumperPath, "acDumper.exe"); PROCESS_INFORMATION pInfo = new PROCESS_INFORMATION(); STARTUPINFO sInfo = new STARTUPINFO(); SECURITY_ATTRIBUTES pSec = new SECURITY_ATTRIBUTES(); SECURITY_ATTRIBUTES tSec = new SECURITY_ATTRIBUTES(); pSec.nLength = Marshal.SizeOf(pSec); tSec.nLength = Marshal.SizeOf(tSec); sInfo.cb = Marshal.SizeOf(typeof(STARTUPINFO)); sInfo.dwFlags = 0x00000001; sInfo.wShowWindow = 0; this.log("start " + dumperExeName); CreateProcess(null, "cmd.exe /c start /b /i " + dumperExeName, ref pSec, ref tSec, false, 0x00000010, IntPtr.Zero, acDumperPath, ref sInfo, out pInfo); }