C#中的控制台应用程序对其他应用程序产生奇怪的影

时间:2016-10-13 10:03:06

标签: c# console-application

您好,感谢您的帮助。 我在这里遇到一个奇怪的问题,我想听听你对此的建议,评论或想法。我的麻烦是我无法在我的开发计算机中重现这个问题

情况 我已经构建了一个控制台应用程序(在C#中)。它很棒。现在其他人正在使用它。 在其中一个用户的计算机中,有另一个应用程序。通过它,它是一个Windows应用程序。我不知道它的代码,而且我用相当模糊的语言告诉我"它是用C#" 构建的。 该应用程序基本上是窗口中的一些初始化,关闭该窗口,然后出现一个带有按钮的登录窗口,两个文本框用于输入密码。 报告给我的(并且归因于我的控制台应用程序)的问题是,当控制台应用程序正在运行而未最小化,然后启动另一个应用程序时,出现的登录窗口没有第一个文本框。这意味着,如果我开始写没有任何事情发生,我必须明确选择该文本框写入其中。 当我的控制台应用程序最小化或未运行时,另一个应用程序从第一个文本框开始处于焦点(我可以简单地开始编写 - 无需选择文本框)

现在,我的控制台应用程序相当复杂,因此我构建了一个非常简单的控制台应用程序

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;

namespace ConsoleFocus
{
    class Program
    {
        private static volatile bool keepRunning = true;

        static void Main(string[] args)
        {

            //We manage to set the way to finish this program with CTRL+C
            Console.CancelKeyPress += delegate (object sender, ConsoleCancelEventArgs e)
            {
                e.Cancel = true; //execution continues after the delegate
                //we leave the whole program entirely

                keepRunning = false;
            };


            while(keepRunning)
            {
                Console.WriteLine("I am still here");
                Thread.Sleep(2000);
            }

            Console.WriteLine("Hit enter to finish...");
            Console.Read();

        }
    }
}

还有一个非常简单的Windows应用程序。 我在其他应用程序中尝试了两者的效果。 正如预期的那样,即使最简单的控制台应用程序也会导致失去对其他应用程序的关注。同时Windows应用程序不会导致任何问题。

所以似乎以某种方式控制ctrl-c完成的控制台应用程序干扰了这个应用程序。 (我已经构建了自己的应用程序,这根本不会发生)

知道为什么会发生这种情况吗?

提前致谢

0 个答案:

没有答案