C# Visual Studio对变量的赋值不正确

C# Visual Studio对变量的赋值不正确,c#,automation,visual-studio-2019,flaui,C#,Automation,Visual Studio 2019,Flaui,我正在使用库来自动化Windows计算器 由于Calculator是Windows应用商店应用程序,因此应在主窗口的父窗口上执行窗口操作,如移动、更改视觉状态等。 这样做,我遇到了以下奇怪的问题: Window parent = window.Parent.AsWindow(); 当“window.Parent”是x时,由于某种原因,“Parent”被指定为x.Parent(在本例中是desktop) 它不是常数;有时“家长”被指定为桌面,有时则被指定为预期的计算器 我以前从未见过类似的问

我正在使用库来自动化Windows计算器

由于Calculator是Windows应用商店应用程序,因此应在主窗口的父窗口上执行窗口操作,如移动、更改视觉状态等。 这样做,我遇到了以下奇怪的问题:

Window parent = window.Parent.AsWindow();
当“window.Parent”是x时,由于某种原因,“Parent”被指定为x.Parent(在本例中是desktop)

它不是常数;有时“家长”被指定为桌面,有时则被指定为预期的计算器

我以前从未见过类似的问题,也不知道如何解决,也不知道如何用几个关键字来描述它来搜索解决方案


任何帮助都将不胜感激

最主要的问题肯定是
GetMainWindow
。这是流程的主窗口。Windows在进程主窗口中相当不一致。就像闪屏一样,闪屏可能会搞乱(有时会引起闪屏,有时闪屏后会出现闪屏)。您还经常会得到甚至不再可用的窗口。商店应用程序使用此代理可执行文件启动时也会发生同样的情况。 您可以尝试以下几种方法:

  • 尝试使用流程中的第一个窗口(
    app.GetAllTopLevelWindows(自动化)[0]
  • 从桌面获取窗口(
    automation.GetDesktop().FindFirst(cf=>cf.ByName(“计算器”))
  • 使用重试(
    var mainWindow=retry.While(()=>app.GetMainWindow(自动化),(mw)=>mw.Title!=“计算器”)
  • 希望有帮助