zoukankan      html  css  js  c++  java
  • C#在winform中调用系统控制台输出

    在Winform程序中有时候调试会通过Console.Write()方式输出一些信息,这些信息是在Visual Studio的输出窗口显示。

    所以就会想,能不能调用系统的Cmd窗口输出呢,经过一番查阅,发现是可以的,现在就把方法写下了:

    主要用到的是win32 API函数实现的:

    1 [DllImport("kernel32.dll")]
    2 static extern bool FreeConsole();
    3 [DllImport("kernel32.dll")]
    4 public static extern bool AllocConsole();

    在Program.cs文件中调用方法即可

    完整代码:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Windows.Forms;
     4 using System.Runtime.InteropServices;
     5 
     6 namespace XY.WinformDebug
     7 {
     8     static class Program
     9     {
    10         [DllImport("kernel32.dll")]
    11         static extern bool FreeConsole();
    12         [DllImport("kernel32.dll")]
    13         public static extern bool AllocConsole();
    14         /// <summary>
    15         /// 应用程序的主入口点。
    16         /// </summary>
    17         [STAThread]
    18         static void Main()
    19         {
    20             AllocConsole();//调用系统API,调用控制台窗口
    21             Application.EnableVisualStyles();
    22             Application.SetCompatibleTextRenderingDefault(false);
    23             Application.Run(new FrmMain());
    24             FreeConsole();//释放控制台
    25         }
    26     }
    27 }
    知识共享许可协议
    本作品由SeayXu创作,采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
    基于http://www.cnblogs.com/seayxu上的作品创作。
    可自由转载、引用,但需署名作者且注明文章出处,并以相同方式共享。
  • 相关阅读:
    初识C++
    Linux下死锁的调研
    C语言实现单链表面试题(进阶篇)
    C语言实现单链表面试题(基础篇)
    IPC之—共享内存
    IPC之—信号量
    IPC之—消息队列
    初识多线程
    Mysql5.7安装
    RabbitMQ单节点安装/使用!
  • 原文地址:https://www.cnblogs.com/seayxu/p/4643306.html
Copyright © 2011-2022 走看看