使用API的CreateProcess方法,可以在代码中动态地创建一个新程序的进程。
以下为创建一个任务管理器进程的例子:
[DllImport("coredll.Dll", EntryPoint = "CreateProcess", SetLastError = true)]
extern static int CreateProcess(string strImageName, string strCmdLine, IntPtr pProcessAttributes,
IntPtr pThreadAttributes, int bInheritsHandle, int dwCreationFlags,
IntPtr pEnvironment, IntPtr pCurrentDir, IntPtr bArray, ProcessInfo oProc);
public class ProcessInfo
{
public Int32 hProcess;
public Int32 hThread;
public Int32 ProcessID;
public Int32 ThreadID;
}
ProcessInfo pi = new ProcessInfo();
CreateProcess("\\windows\\TaskMgr.exe",
"", IntPtr.Zero,
IntPtr.Zero, 0, 0, IntPtr.Zero, IntPtr.Zero, IntPtr.Zero, pi);