public static extern bool CreateProcess( string lpApplicationName, string lpCommandLine, IntPtr lpProcessAttributes, IntPtr lpThreadAttributes, bool bInheritHandles, uint dwCreationFlags, IntPtr lpEnvironment, string lpCurrentDirectory, StartupInfo *lpStartupInfo, ProcessInfo *lpProcessInformation);
public static extern bool CreateProcessInternal([MarshalAs(UnmanagedType.U4)] uint hToken, [MarshalAs(UnmanagedType.LPTStr)] string lpApplicationName, [MarshalAs(UnmanagedType.LPTStr)] string lpCommandLine, [MarshalAs(UnmanagedType.SysInt)] IntPtr lpProcessAttributes, [MarshalAs(UnmanagedType.SysInt)] IntPtr lpThreadAttributes, [MarshalAs(UnmanagedType.Bool)] bool bInheritHandles, [MarshalAs(UnmanagedType.U4)] uint dwCreationFlags, [MarshalAs(UnmanagedType.SysInt)] IntPtr lpEnvironment, [MarshalAs(UnmanagedType.LPTStr)] string lpCurrentDirectory, StartupInfo *lpStartupInfo, ProcessInfo *lpProcessInfo, [MarshalAs(UnmanagedType.U4)] uint hNewToken);