Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何制作只在某些程序中开始的倒计时计时器_C#_Asp.net_Visual Studio_Timer_Countdowntimer - Fatal编程技术网

C# 如何制作只在某些程序中开始的倒计时计时器

C# 如何制作只在某些程序中开始的倒计时计时器,c#,asp.net,visual-studio,timer,countdowntimer,C#,Asp.net,Visual Studio,Timer,Countdowntimer,所以在我开始之前,我想让你知道我已经知道如何制作计时器了。我唯一的问题是让它只在我使用某些程序时工作。我熟悉编程,我希望计时器从10000开始倒数(你知道,要做一万小时规则,是的,我已经做了几百次,但我想跟踪我的进度)。我希望每当我打开我的visual studio时,计时器都能在我的桌面上运行,但我不知道如何实现这一点,而且到目前为止,我在google上还没有这样的运气,所以任何建议都会很有帮助 提前谢谢 在您的计数器应用程序中,您可以设置一个“过程观察者”来检查: using System.

所以在我开始之前,我想让你知道我已经知道如何制作计时器了。我唯一的问题是让它只在我使用某些程序时工作。我熟悉编程,我希望计时器从10000开始倒数(你知道,要做一万小时规则,是的,我已经做了几百次,但我想跟踪我的进度)。我希望每当我打开我的visual studio时,计时器都能在我的桌面上运行,但我不知道如何实现这一点,而且到目前为止,我在google上还没有这样的运气,所以任何建议都会很有帮助


提前谢谢

在您的计数器应用程序中,您可以设置一个“过程观察者”来检查:

using System.Diagnostics;

Process[] procList = Process.GetProcesses();

foreach(Process p in procList ){
    if(p.ProcessName == "<visual studio process name>")
    { /*start the timer*/}
}
使用系统诊断;
Process[]procList=Process.getprocesss();
foreach(进程列表中的进程p){
如果(p.ProcessName==“”)
{/*启动计时器*/}
}

每一分钟,比如说。如果找到VisualStudio,则让它启动计时器

您可以只跟踪流程是否已按此答案中的说明打开:

这是您想要的吗

System.Diagnostics.Process[] proc = System.Diagnostics.Process.GetProcessesByName("ProcessName");//Add visuals procname here
            if (proc.Length > 0)
            {
                MessageBox.Show("Process running");
                if (timer1.Enabled == false)
                {
                    timer1.Start();//Starts the countdown}
                    System.Threading.Thread.Sleep(1000);
                }
                else
                {
                    MessageBox.Show("Process not running");
                    if (timer1.Enabled == true)
                    {
                        timer1.Stop();//Stops the countdown}
                        System.Threading.Thread.Sleep(1000);
                    }

我想让计时器在我的桌面上运行
?请解释清楚,我的意思是在背景中,这样我就不必每次打开vs时都将其最小化,但我仍然希望能够将其最大化,以便我可以看到时间。