繁体   English   中英

如何制作仅在某些程序中开始的倒数计时器

[英]How to make a countdown timer that only begins in certain programs

所以在我开始之前,我想让你知道我已经知道如何制作计时器。 我唯一的问题是它只在我使用某些程序时才有效。 我知道编程,我希望计时器从10,000计数(你知道,要做一万小时的规则,是的,我已经完成了几百个,但我想跟踪我的进度)。 每当我打开我的视觉工作室时,我都希望计时器能够在我的桌面上运行,但我不知道如何实现这一点,到目前为止我在谷歌上没有运气,所以任何建议都会有所帮助!

提前致谢!

在您的柜台应用程序中,您可以设置一个“进程监视器”来检查:

using System.Diagnostics;

Process[] procList = Process.GetProcesses();

foreach(Process p in procList ){
    if(p.ProcessName == "<visual studio process name>")
    { /*start the timer*/}
}

比如每分钟。 如果它找到visual studio,那么让它启动你的计时器。

您可以按照以下答案中的说明跟踪进程是否已打开: 如何在C#中获取活动进程名称?

这是你想要的吗?

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);
                    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM