Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.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# 检查Windows应用程序是否正在运行(不是进程)_C#_Automated Tests - Fatal编程技术网

C# 检查Windows应用程序是否正在运行(不是进程)

C# 检查Windows应用程序是否正在运行(不是进程),c#,automated-tests,C#,Automated Tests,我希望在自动测试开始时检查应用程序是否打开。我可以通过执行以下操作来检查进程是否正在运行 foreach (Process proc in Process.GetProcesses()) { if (proc.ProcessName.Contains(name)) { return true; } } 然而,我想要找到的过程在应用程序实际打开前大约一分钟启动,并准备由测试方法使用(这是一个启动非常慢的应用程序)。上面的代码示例查看了所有正在运行的win

我希望在自动测试开始时检查应用程序是否打开。我可以通过执行以下操作来检查进程是否正在运行

foreach (Process proc in Process.GetProcesses()) 
{
    if (proc.ProcessName.Contains(name))
    {
        return true;
    }
}
然而,我想要找到的过程在应用程序实际打开前大约一分钟启动,并准备由测试方法使用(这是一个启动非常慢的应用程序)。上面的代码示例查看了所有正在运行的windows进程,但我想知道,除了查看正在运行的windows应用程序之外,是否还有其他类似的方法。 若你们可以修改应用程序,你们可以在应用程序开始时创建文件,并在结束时删除它。因此,您可以将chceck文件存在。如果文件存在,应用程序将启动/启动

如果在创建主窗体时需要信息,请使用:

WINFORMS 事件

WPF事件

应用是一个过程。 若你们可以修改应用程序,你们可以在应用程序开始时创建文件,并在结束时删除它。因此,您可以将chceck文件存在。如果文件存在,应用程序将启动/启动

如果在创建主窗体时需要信息,请使用:

WINFORMS 事件


WPFEvent

类进程中已有一个方法,您可以使用该方法检查具有UI的应用程序是否已完全启动:

这将等待最长
毫秒
ms,使消息循环变为空闲(并返回bool以指示成功状态)。根据您正在等待的应用程序,您可能需要30秒或更长的时间

这可能对您有用,但请注意,根据我的经验,在某些应用程序中,它并不完全可靠


包含有关幕后调用的Windows API函数的更多详细信息。

类进程中已有一个方法,可用于检查具有UI的应用程序是否已完全启动:

这将等待最长
毫秒
ms,使消息循环变为空闲(并返回bool以指示成功状态)。根据您正在等待的应用程序,您可能需要30秒或更长的时间

这可能对您有用,但请注意,根据我的经验,在某些应用程序中,它并不完全可靠


有更多关于Windows API函数的详细信息,该函数在幕后调用。

进程启动时,可以说应用程序已启动。 您需要等待应用程序启动进度是否完成

这意味着,当进程启动时,应用程序启动开始。当应用程序启动完成时,is将准备好供用户输入。所以我认为你们应该看看下面的问题和答案


当进程启动时,可以说应用程序已启动。 您需要等待应用程序启动进度是否完成

这意味着,当进程启动时,应用程序启动开始。当应用程序启动完成时,is将准备好供用户输入。所以我认为你们应该看看下面的问题和答案


uITestControl.Exists
帮了我一把


此方法将返回与正在打开的应用程序窗口的存在对应的布尔值。这允许创建if语句,如果应用程序尚未打开,则可以打开该应用程序;如果应用程序已打开,则不执行任何操作。

uITestControl.Exists
帮了我的忙


此方法将返回与正在打开的应用程序窗口的存在对应的布尔值。这允许创建一个if语句,该语句可以在应用程序尚未打开时打开应用程序,或者在应用程序已打开时不执行任何操作。

您认为“windows进程”和“windows应用程序”之间的区别是什么?查看任务管理器,有一个适用于应用程序和进程的选项卡。与“我的应用程序”对应的进程开始运行,并在单击图标时显示在“进程”菜单中,但直到稍后窗口实际打开时,应用程序才真正显示在“应用程序”菜单中。我想确保这个窗口是打开的。。不仅仅是进程正在运行。我欢迎任何方法来检查它。@Nate winforms或WCF?@BWA我相信这是一个WPFIf。如果您可以修改缓慢启动的应用程序,那么您可以添加同步来检查它是否启动(或者为它编写一个启动应用程序,但在这种情况下,您必须确保始终使用哪个启动应用程序来启动它)。名为
Mutex
的是一个很好的候选者。您认为“windows进程”和“windows应用程序”之间有什么区别?查看任务管理器,应用程序和进程都有一个选项卡。与“我的应用程序”对应的进程开始运行,并在单击图标时显示在“进程”菜单中,但直到稍后窗口实际打开时,应用程序才真正显示在“应用程序”菜单中。我想确保这个窗口是打开的。。不仅仅是进程正在运行。我欢迎任何方法来检查它。@Nate winforms或WCF?@BWA我相信这是一个WPFIf。如果您可以修改缓慢启动的应用程序,那么您可以添加同步来检查它是否启动(或者为它编写一个启动应用程序,但在这种情况下,您必须确保始终使用哪个启动应用程序来启动它)。名为
Mutex
的是一个很好的候选者。这对我来说是可行的,但是,在执行此操作之前,我需要确保应用程序已完全加载并准备就绪。。这就是我要解决的问题。。希望这是合理的这将为我工作,但是,我需要确保应用程序已完全加载,并准备好使用之前这样做。。这就是我要解决的问题。。希望这是合理的这是接近我所寻找的,但我如何使用它来检查应用程序是否是