加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在visual studio中打开后,控制台应用程序立即关闭

发布时间:2020-12-15 20:47:36 所属栏目:百科 来源:网络整理
导读:我试图在用C#构建的visual studio中打开一个控制台应用程序.我打开它后立即关闭. 我知道Windows设置这是一个安全默认设置(至少我认为).我该如何解决? 我知道我可以编译它并创建一个快捷方式并修改目标,以便它在应用程序位置之前具有命令提示符的位置.虽然创
我试图在用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);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读