internal static Window Create(AutomationElement element, InitializeOption option, WindowSession windowSession) { SpecializedWindowFactory specializedWindowFactory = SpecializedWindowFactories.Find(factory => factory.DoesSpecializeInThis(element)); if (specializedWindowFactory != null) { return(specializedWindowFactory.Create(element, option, windowSession)); } var windowsFramework = new WindowsFramework(element.Current.FrameworkId); if (windowsFramework.WinForm) { return(new WinFormWindow(element, option, windowSession)); } if (windowsFramework.WPF) { return(new WPFWindow(element, WindowFactory.Desktop, option, windowSession)); } if (windowsFramework.Win32) { return(new Win32Window(element, WindowFactory.Desktop, option, windowSession)); } if (windowsFramework.UIAutomationBug) { return(null); } throw new UIItemSearchException(string.Format("{0} is not supported yet.", windowsFramework)); }
public static void AddSpecializedWindowFactory(SpecializedWindowFactory specializedWindowFactory) { SpecializedWindowFactories.Add(specializedWindowFactory); }
public static void AddSpecializedWindowFactory(SpecializedWindowFactory specializedWindowFactory) { specializedWindowFactories.Add(specializedWindowFactory); }