我有一個C#控制檯應用程序項目,其輸出類型設置爲「Windows應用程序」。這是因爲控制檯在程序開始時不閃光。如何使用Windows應用程序輸出類型在C#程序上顯示控制檯
但是我也想允許一個幫助命令行參數,它將顯示有關程序的詳細信息,如果您從命令行以「/?」運行它的話。作爲論據。
有沒有辦法讓程序正常運行爲Windows應用程序,但如果幫助參數被傳遞,則顯示控制檯?
編輯 -閱讀的答案,在This question一個類似(這個問題假設你用一個控制檯應用程序輸出型運行),我使用的這個解決方案之後。
[DllImport(Kernel32_DllName)]
private static extern bool AllocConsole();
[DllImport("kernel32.dll")]
static extern IntPtr GetConsoleWindow();
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
const int SW_HIDE = 0;
const int SW_SHOW = 5;
static void Main(string[] args)
{
if(args.Contains("/?"))
{
AllocConsole();
Console.WriteLine("helpText");
Console.ReadLine();
var handle = GetConsoleWindow();
//Hides console
ShowWindow(handle, SW_HIDE);
}
}
可能的重複[如何在Winforms中包含控制檯?](http://stackoverflow.com/questions/3917202/how-do-i-include-a-console-in-winforms) –