C# 等待 Progam/Process 启动

本文关键字:Process 启动 Progam 等待 | 更新日期: 2023-09-27 18:19:13

我怎样才能制作一个程序,当所述的程序/进程被打开而不启动规定的程序本身时,它会激活代码。

现在我有这个代码:

while (!IsProcessOpen("ThisProcess")) //"IsProcessOpen" just checks whether the program stated is open in the task manager.
{
}
gopatch.DoWork += new DoWorkEventHandler(gopatch_DoWork);
gopatch.RunWorkerCompleted += new RunWorkerCompletedEventHandler(gopatch_RunWorkerCompleted);
gopatch.RunWorkerAsync();

但是这种方式使用了太多的CPU。有没有办法让它使用更少的 cpu 但按照我想要的方式完成工作?

C# 等待 Progam/Process 启动

您可以在 while 循环中使用 Thread.Sleep 方法来防止过多的 CPU 消耗。这不是最佳的,但很简单。如果您需要更好的内容,请尝试使用事件。本页介绍如何使用ManagementEventWatcher执行此操作。