我试图在用C#构建的visual studio中打开一个控制台应用程序.我打开它后立即关闭.
我知道Windows设置这是一个安全默认设置(至少我认为).我该如何解决?
我知道我可以编译它并创建一个快捷方式并修改目标,以便它在应用程序位置之前具有命令提示符的位置.虽然创建它的程序员可以在visual studio的输出中生成信息,但是我必须在那里打开它.
它发生在大多数应用程序而不仅仅是在visual studio中,只是在这种情况下我需要它在VS 2010中打开.我使用的是Windows 7.
解决方法
这是一个古老的问题,并激发了几个有趣的漫画:
我们来解决它.当您从桌面,Windows资源管理器或Visual Studio上的快捷方式启动控制台应用程序时,您要做的是提示用户按任意键.但不是从命令处理器运行自己的控制台启动时.您可以使用一点pinvoke来执行此操作,您可以查看该进程是否是控制台窗口的唯一所有者,如下所示:
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); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。