これは古代の問題であり、いくつかの面白い漫画に影響を与えました。
修正しましょう。デスクトップ、Windowsエクスプローラー、またはVisual Studioのショートカットからコンソールアプリを起動したときに、ユーザーにAnyキーを押すように求めるメッセージが表示されます。ただし、独自のコンソールを実行しているコマンドプロセッサから起動した場合はそうではありません。あなたは少しのピンボークでそうすることができます、あなたはプロセスがこのようにコンソールウィンドウの唯一の所有者であるかどうかを知ることができます:
using System;
class Program {
static void Main(string[] args) {
Console.WriteLine("Working on it...");
//...
Console.WriteLine("Done");
PressAnyKey();
}
private static void PressAnyKey() {
if (GetConsoleProcessList(new int[2], 2) <= 1) {
Console.Write("Press any key to continue");
Console.ReadKey();
}
}
[System.Runtime.InteropServices.DllImport("kernel32.dll")]
private static extern int GetConsoleProcessList(int[] buffer, int size);
}