3 回答
TA贡献1891条经验 获得超3个赞
这是一个古老的问题,并激发了一些有趣的漫画:
在此处输入图片说明
让我们修复它。您要执行的操作是从桌面,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);
}
- 3 回答
- 0 关注
- 1034 浏览
添加回答
举报