Winform 동적 시작,콘 솔 명령 행 방법
해답:
AllocConsole,FreeConsole 두 API 는 명령 줄 을 언제든지 호출 하고 닫 을 수 있 습 니 다.
코드 데모:API 부분
using System.Runtime.InteropServices;
namespace WindowsFormsApplication1
{
public partial class NativeMethods
{
/// <summary>
///
/// </summary>
/// <returns></returns>
[DllImport("kernel32.dll")]
public static extern bool AllocConsole();
/// <summary>
///
/// </summary>
/// <returns></returns>
[DllImport("kernel32.dll")]
public static extern bool FreeConsole();
}
}
시작 매개 변수 구현
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
static class Program
{
/// <summary>
/// 。
/// </summary>
[STAThread]
static void Main(string[] args)
{
try
{
if (args.Length > 0 && args[0].ToLower() == "-c")
{// xxxx.exe -c ,Console
// : Main(string[] args)、System.Environment.GetCommandLineArgs();
//
NativeMethods.AllocConsole();
Console.WriteLine(" ");
}
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
finally
{
// ( )
NativeMethods.FreeConsole();
}
}
}
}
프로그램 구현
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnOpenConsole_Click(object sender, EventArgs e)
{
//
NativeMethods.AllocConsole();
}
private void btnCloseConsole_Click(object sender, EventArgs e)
{
//
NativeMethods.FreeConsole();
}
private void btnOut_Click(object sender, EventArgs e)
{
//
Console.WriteLine(textBox1.Text);
}
}
}
코드 다운로드:(VS 2008 다른 버 전 VS 는 스스로 수정 하 십시오)http://xiazai.jb51.net/201302/other/WinformShellConsole_VS08.rar마지막:
사실 코드 는 매우 간단 하지만 실행 할 때 임시 디 버 깅 정 보 를 출력 하 는 데 적합 합 니 다.GUI 로 그림 을 그 리 는 작업 은 일반적으로 인 터 럽 트 가 Print 사건 의 상황 에 영향 을 주기 쉽 습 니 다.가끔 은 고객 에 게 프로그램 문제 가 위 에서 콘 솔 을 열 어 디 버 깅 정 보 를 출력 하 는 것 이 편리 합 니 다.또한 스 레 드 제한 이 너무 없 기 때문에 단독 로그 창 보다 사용 하기에 편리 하고 내용 을 복사 하기 쉬 우 며 paus 키 도 지원 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
winformtextbox에 글꼴 크기 증가 또는 감소텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.