<small id='NJoiT'></small><noframes id='NJoiT'>

          <bdo id='NJoiT'></bdo><ul id='NJoiT'></ul>
      1. <i id='NJoiT'><tr id='NJoiT'><dt id='NJoiT'><q id='NJoiT'><span id='NJoiT'><b id='NJoiT'><form id='NJoiT'><ins id='NJoiT'></ins><ul id='NJoiT'></ul><sub id='NJoiT'></sub></form><legend id='NJoiT'></legend><bdo id='NJoiT'><pre id='NJoiT'><center id='NJoiT'></center></pre></bdo></b><th id='NJoiT'></th></span></q></dt></tr></i><div id='NJoiT'><tfoot id='NJoiT'></tfoot><dl id='NJoiT'><fieldset id='NJoiT'></fieldset></dl></div>
      2. <legend id='NJoiT'><style id='NJoiT'><dir id='NJoiT'><q id='NJoiT'></q></dir></style></legend><tfoot id='NJoiT'></tfoot>
      3. 如何确定控制台应用程序是如何启动的?

        时间:2023-08-27

        <small id='bmAsv'></small><noframes id='bmAsv'>

        <tfoot id='bmAsv'></tfoot>

            <tbody id='bmAsv'></tbody>
        • <i id='bmAsv'><tr id='bmAsv'><dt id='bmAsv'><q id='bmAsv'><span id='bmAsv'><b id='bmAsv'><form id='bmAsv'><ins id='bmAsv'></ins><ul id='bmAsv'></ul><sub id='bmAsv'></sub></form><legend id='bmAsv'></legend><bdo id='bmAsv'><pre id='bmAsv'><center id='bmAsv'></center></pre></bdo></b><th id='bmAsv'></th></span></q></dt></tr></i><div id='bmAsv'><tfoot id='bmAsv'></tfoot><dl id='bmAsv'><fieldset id='bmAsv'></fieldset></dl></div>

              • <bdo id='bmAsv'></bdo><ul id='bmAsv'></ul>
              • <legend id='bmAsv'><style id='bmAsv'><dir id='bmAsv'><q id='bmAsv'></q></dir></style></legend>

                1. 本文介绍了如何确定控制台应用程序是如何启动的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  如何判断用户是否通过双击 EXE(或快捷方式)启动了我的控制台应用程序,或者他们是否已经打开了命令行窗口并在该会话中执行了我的控制台应用程序?

                  How can I tell whether the user launched my console application by double-clicking the EXE (or a shortcut), or whether they already had a command line window open and executed my console app within that session?

                  推荐答案

                  将此静态字段粘贴到您的Program"类中,以确保它在任何输出之前运行:

                  Stick this static field in your "Program" class to ensure it runs before any output:

                  static bool StartedFromGui = 
                           !Console.IsOutputRedirected
                        && !Console.IsInputRedirected
                        && !Console.IsErrorRedirected
                        && Environment.UserInteractive
                        && Environment.CurrentDirectory == System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location)
                        && Console.CursorTop == 0 && Console.CursorLeft == 0
                        && Console.Title == Environment.GetCommandLineArgs()[0]
                        && Environment.GetCommandLineArgs()[0] == System.Reflection.Assembly.GetEntryAssembly().Location;
                  

                  这有点矫枉过正/偏执,但从资源管理器开始,而不响应 cls && 之类的东西app.exe (通过检查完整路径)甚至 cls &&"f:ullpath oapp.exe"(通过查看标题).

                  This is a little bit overkill/paranoid, but picks up being started from Explorer while not responding to things like cls && app.exe (by checking for the full path) or even cls && "f:ullpath oapp.exe" (by looking at the title).

                  我从 win32 版本的这个问题.

                  这篇关于如何确定控制台应用程序是如何启动的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:使用控制台应用程序卡在 C# 中的 GenerateConsoleCt 下一篇:Console.WriteLine 中的 {0} 代表什么?

                  相关文章

                  最新文章

                2. <tfoot id='VmV6Y'></tfoot>
                  1. <i id='VmV6Y'><tr id='VmV6Y'><dt id='VmV6Y'><q id='VmV6Y'><span id='VmV6Y'><b id='VmV6Y'><form id='VmV6Y'><ins id='VmV6Y'></ins><ul id='VmV6Y'></ul><sub id='VmV6Y'></sub></form><legend id='VmV6Y'></legend><bdo id='VmV6Y'><pre id='VmV6Y'><center id='VmV6Y'></center></pre></bdo></b><th id='VmV6Y'></th></span></q></dt></tr></i><div id='VmV6Y'><tfoot id='VmV6Y'></tfoot><dl id='VmV6Y'><fieldset id='VmV6Y'></fieldset></dl></div>

                    <small id='VmV6Y'></small><noframes id='VmV6Y'>

                  2. <legend id='VmV6Y'><style id='VmV6Y'><dir id='VmV6Y'><q id='VmV6Y'></q></dir></style></legend>

                      • <bdo id='VmV6Y'></bdo><ul id='VmV6Y'></ul>