System.Diagnostics.ProcessStartInfo
Process p = Process.Start("notepad.exe");
Я хочу запустить приложение на панели, а не в отдельном окне. Я запустил следующий код, но исполняемый файл не остается на экране и не открывается на панели. пожалуйста, скажите мне решение для этого.
Process p = Process.Start("notepad.exe"); Thread.Sleep (600); // Allow the process to open it's window SetParent(p.MainWindowHandle, panel1.Handle); [DllImport("user32.dll")] static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
Я думаю, что вы говорите о встраивании приложения в вашу панель.
Это возможно только для исполняемых файлов, которые были созданы для встраивания. Блокнот не из тех. Некоторые браузеры могут быть - Mozilla - один пример, а IE - другой.
Полагаю, вы ищете это: Окно Tabifier
То, что вы хотите, это направить выход exe в ваш процесс. Обычно, когда вы не передаете выходные данные, по умолчанию используется стандартный вывод для консольного приложения. Это окно консоли, когда вы сообщаете исполняемому файлу, что вы хотите, чтобы вывод поступал в ваш процесс, а не в окно консоли. Затем вам нужно будет создать свою собственную «панель» (многострочное текстовое поле) и добавить поток вывода из исполняемого файла, к которому вы ее вызвали!
Узнайте здесь: http://msdn.microsoft.com/en-us/library/system.diagnostics.processstartinfo.redirectstandardoutput(v=VS.90).aspx
Что вы пытаетесь сделать? вы знаете, что если вы хотите запускать на панели свои собственные программы, вы можете написать некоторый основной код плагина и получить элемент управления из сборки с отражением.