2
通常情況下,調用命令提示符窗口的應用程序不會等待其退出。一旦我輸入myFormApp.exe
並按下回車鍵,將會顯示一個表格,命令提示符立即移動到下一行。啓動一個C#Windows應用程序,然後等待命令行退出
C:\> myFormApp.exe
C:\> # this line will display immediately
我知道使用cmd /c
將等待應用程序退出。
C:\> cmd /c myFormApp.exe
C:\> # this line will display after myFormApp.exe closed
但我想等待,即使在缺少cmd /c
。
有什麼辦法來防止命令提示符移動到新的生產線,具有編輯myFormApp.exe源代碼?
添加AllocConsole
到Windows應用程序將顯示控制檯,但它不會讓命令提示符等待退出。
if (args.Length > 0)
{
// Command line given, display console
AllocConsole();
}
else
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
任何建議將受到讚賞。謝謝!
當執行由包裝控制檯應用程序雙擊,會顯示命令提示符。這是不希望的行爲。有什麼辦法可以避免它? – PandaDrunkard
不,不是真的。您可以將包裝器應用程序的輸出類型更改爲Windows應用程序,這會使窗口不出現,但如果從控制檯啓動它,則不會等待執行完成。不太確定你想在這裏實現什麼,可能是爲了解決錯誤的問題。阻止提示移動到新行不能解決任何問題。用戶可以隨時打開新的提示並執行任何操作。 – Bartosz
您可以使用互操作來隱藏和顯示控制檯窗口。在啓動時隱藏它,在退出時顯示。這樣,如果您在Windows中雙擊您的應用程序,則不會顯示任何控制檯,如果您從現有控制檯啓動該控制檯,它將隱藏WinForms應用程序執行時間,但在退出時再次顯示。 http://stackoverflow.com/questions/3571627/show-hide-the-console-window-of-a-c-sharp-console-application 我wound't勸這樣做,雖然。 – Bartosz