2016-12-29 16 views
0

В моем приложении WPF я хочу открыть консоль и окно WPF одновременно (я бы набрал команды в консоли, что повлияло бы на содержимое окна во время выполнения). К сожалению, консоль открывается первым и не позволяет открывать окно WPF, пока оно не завершит свою работу (после закрытия консоли открывается окно). Мой код:C# - запускать консоль и окно WPF одновременно

using System; 
using System.Runtime.InteropServices; 

namespace MaszynaTest 
{ 
    public partial class MainWindow 
    { 
     [DllImport("Kernel32")] 
     public static extern void AllocConsole(); 

     [DllImport("Kernel32")] 
     public static extern void FreeConsole(); 

     public MainWindow() 
     { 
      InitializeComponent(); 

      AllocConsole(); 
      Console.WriteLine("Type something: "); 
      Console.ReadLine(); 
     } 
    } 
} 
+1

Очевидно, что вы должны были бы тех, кто работает в разных потоках ... – BradleyDotNET

+0

Вы смотрите на http://stackoverflow.com/questions/160587/no-output-to-console-from-a-wpf-application – Mohit

+0

Просто создайте проект WPF, а затем измените его тип на * Консольное приложение *. Теперь у вас есть оба ... –

ответ

0

Что вам нужно, это взаимодействие между процессами, а не уверен, что только работа на разных потоках решит всю проблему.

Обратитесь к примеру здесь о том, как два процесса могут общаться с помощью именованных каналов: https://code.msdn.microsoft.com/windowsdesktop/Interprocess-Communication-858cc9c7