我想知道是否可以从 WPF 应用程序启动控制台应用程序。
在我的控制台应用程序中,我添加了一个名为 Reports 的类。在我的 WPF 应用程序中,我创建了一个 Reports 对象并调用其公共方法之一。
它调用的方法包含以下代码。问题在于代码不会等待用户输入任何输入,因此它会在 ValidateUserInput 中崩溃。我也没有看到任何控制台应用程序实际加载。我看不到如何在我的控制台应用程序中调用 Program 类的 Main 方法。你可能会说我很迷茫。
Console.WriteLine("*** Running Report ***");
Console.WriteLine("User enter something:");
string myStr = Console.ReadLine();
ValidateUserInput(myStr);
Run Code Online (Sandbox Code Playgroud)
由于您正在运行 WPF 应用程序,如果在调试模式下运行,所有控制台输出都会转到 Visual Studio 的输出窗口。
要实际启动控制台应用程序,您必须手动打开控制台窗口并在使用后关闭它。在您的类中添加以下方法:
[DllImport("Kernel32")]
public static extern void AllocConsole();
[DllImport("Kernel32", SetLastError = true)]
public static extern void FreeConsole();
Run Code Online (Sandbox Code Playgroud)
现在,使用这样的方法:
AllocConsole();
report.ConsoleMethod() // Method to console application.
FreeConsole();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1998 次 |
最近记录: |