Я пытаюсь воспользоваться консолью типа консольного проекта для отображения вывода из моей формы Windows.
В основном мой проект настроен на консольный тип проекта. Я открываю форму окна из Main. В этой форме окна у меня есть панель, в которой я хотел бы использовать SetParent()
( pinvoke ), которая будет содержать консоль.
Возможно ли это? Я даже пытался добавить другой консольный проект в решение и разместить консольный проект ТА на панели, но он становится невидимым, как только вызывается SetParent()
. Я пытался использовать ShowWindow()
( pinvoke ), чтобы сделать его видимым, но ничего не происходит. Как я могу это сделать?
Я сделал обертку над этими функциями Win32, но я чувствую, что они довольно понятны. Вот код:
private void button1_Click(object sender, EventArgs e)
{
Utilities.SetParent(Utilities.GetWindowHandle(ConsoleTitle), panel1.Handle);
Utilities.SetWindowVisible(Utilities.GetWindowHandle(ConsoleTitle), true);
}
ConsoleTitle
- это просто строка, заданная для заголовка моей консоли, а именно «Консоль тестера». Во время записи консоль исчезает при вызове моего кода, поэтому я знаю, что она захватывает дескриптор окна и выполняет что-то .
Спасибо за любую помощь!