Показать сообщение отдельно
Непрочитано 25.07.2013, 18:05   #28
Аватар для Akumu
Пользователь

По умолчанию Re: C# запуск l2.bin

Код:
public static class WinAPI
{
	public struct PROCESS_INFORMATION
	{
		public IntPtr hProcess;
		public IntPtr hThread;
		public uint dwProcessId;
		public uint dwThreadId;
	}
	public struct STARTUPINFO
	{
		public uint cb;
		public string lpReserved;
		public string lpDesktop;
		public string lpTitle;
		public uint dwX;
		public uint dwY;
		public uint dwXSize;
		public uint dwYSize;
		public uint dwXCountChars;
		public uint dwYCountChars;
		public uint dwFillAttribute;
		public uint dwFlags;
		public short wShowWindow;
		public short cbReserved2;
		public IntPtr lpReserved2;
		public IntPtr hStdInput;
		public IntPtr hStdOutput;
		public IntPtr hStdError;

	}
	public struct SECURITY_ATTRIBUTES
	{
		public uint nLength;
		public IntPtr lpSecurityDescriptor;
		public bool bInheritHandle;
	}

	[DllImport("kernel32.dll")]
	public static extern bool CreateProcess(string lpApplicationName, string lpCommandLine, IntPtr lpProcessAttributes, IntPtr lpThreadAttributes,
		bool bInheritHandles, uint dwCreationFlags, IntPtr lpEnvironment,
		string lpCurrentDirectory, ref STARTUPINFO lpStartupInfo, out PROCESS_INFORMATION lpProcessInformation);
}
Код:
public static bool StartProcess(string path, string workdir, string arguments)
{
	WinAPI.STARTUPINFO si = new WinAPI.STARTUPINFO();
	WinAPI.PROCESS_INFORMATION pi = new WinAPI.PROCESS_INFORMATION();

	return WinAPI.CreateProcess(path, arguments, IntPtr.Zero, IntPtr.Zero, false, 0, IntPtr.Zero, workdir, ref si, out pi);
}
Akumu вне форума Ответить с цитированием