|
class CeProcess { public class ProcessInfo { public IntPtr hProcess; public IntPtr hThread; public Int32 ProcessId; public Int32 ThreadId; }
[DllImport("CoreDll.DLL", SetLastError=true)] private extern static int CreateProcess( String imageName, String cmdLine, IntPtr lpProcessAttributes, IntPtr lpThreadAttributes, Int32 boolInheritHandles, Int32 dwCreationFlags, IntPtr lpEnvironment, IntPtr lpszCurrentDir, byte [] si, ProcessInfo pi );
[DllImport("CoreDll.dll")] private extern static Int32 GetLastError();
public static bool CreateProcess( String ExeName, String CmdLine, ProcessInfo pi ) { if ( pi == null ) pi = new ProcessInfo();
byte [] si = new byte[128];
return CreateProcess(ExeName, CmdLine, IntPtr.Zero, IntPtr.Zero, 0, 0, IntPtr.Zero, IntPtr.Zero, si, pi) != 0; } } |