public IEAccessible(IntPtr ieHandle, int tabIndexToActivate) { AccessibleObjectFromWindow(GetDirectUIHWND(ieHandle), OBJID.OBJID_WINDOW, ref accessible); if (accessible == null) throw new Exception(); var index = 0; var ieDirectUIHWND = new IEAccessible(ieHandle); foreach (IEAccessible accessor in ieDirectUIHWND.Children) { foreach (var child in accessor.Children) { foreach (var tab in child.Children) { if (tabIndexToActivate >= child.ChildCount - 1) return; if (index == tabIndexToActivate) { tab.Activate(); return; } index++; } } } }
public void ActivateTab(IntPtr ieHandle, string tabCaptionToActivate) { AccessibleObjectFromWindow(GetDirectUIHWND(ieHandle), OBJID.OBJID_WINDOW, ref accessible); if (accessible == null) { throw new Exception(); } var ieDirectUIHWND = new IEAccessible(ieHandle); foreach (IEAccessible accessor in ieDirectUIHWND.Children) { foreach (var child in accessor.Children) { foreach (var tab in child.Children) { if (tab.Name == tabCaptionToActivate) { tab.Activate(); return; } } } } }
public List <string> GetTabCaptions(IntPtr ieHandle) { AccessibleObjectFromWindow(GetDirectUIHWND(ieHandle), OBJID.OBJID_WINDOW, ref accessible); if (accessible == null) { throw new Exception(); } var ieDirectUIHWND = new IEAccessible(ieHandle); var captionList = new List <string>(); foreach (IEAccessible accessor in ieDirectUIHWND.Children) { foreach (var child in accessor.Children) { foreach (var tab in child.Children) { captionList.Add(tab.Name); } } } if (captionList.Count > 0) { captionList.RemoveAt(captionList.Count - 1); } return(captionList); }
public void CloseTab(IntPtr ieHandle, int tabIndexToClose) { AccessibleObjectFromWindow(GetDirectUIHWND(ieHandle), OBJID.OBJID_WINDOW, ref accessible); if (accessible == null) { throw new Exception(); } var ieDirectUIHWND = new IEAccessible(ieHandle); foreach (IEAccessible accessor in ieDirectUIHWND.Children) { foreach (var child in accessor.Children) { foreach (var tab in child.Children) { object tabIndex = tab.accessible.get_accState(0); if ((int)tabIndex == tabIndexToClose) { foreach (var CloseTab in tab.Children) { CloseTab.Activate(); } return; } } } } }
public List <string> GetTabUrls(IntPtr ieHandle) { AccessibleObjectFromWindow(GetDirectUIHWND(ieHandle), OBJID.OBJID_WINDOW, ref accessible); if (accessible == null) { throw new Exception(); } var ieDirectUIHWND = new IEAccessible(ieHandle); var urlList = new List <string>(); foreach (IEAccessible accessor in ieDirectUIHWND.Children) { foreach (var child in accessor.Children) { foreach (var tab in child.Children) { var description = tab.accessible.get_accDescription(CHILDID_SELF); if (!string.IsNullOrEmpty(description)) { if (description.Contains(Environment.NewLine)) { var url = description.Substring(description.IndexOf(Environment.NewLine)).Trim(); urlList.Add(url); } } } } } //if (urlList.Count > 0) // urlList.RemoveAt(urlList.Count - 1); return(urlList); }
public string GetActiveTabCaption(IntPtr ieHandle) { AccessibleObjectFromWindow(GetDirectUIHWND(ieHandle), OBJID.OBJID_WINDOW, ref accessible); if (accessible == null) { throw new Exception(); } var ieDirectUIHWND = new IEAccessible(ieHandle); foreach (IEAccessible accessor in ieDirectUIHWND.Children) { foreach (var child in accessor.Children) { foreach (var tab in child.Children) { object tabIndex = tab.accessible.get_accState(0); if ((int)tabIndex == IE_ACTIVE_TAB) { return(tab.Name); } } } } return(String.Empty); }
public IEAccessible(IntPtr ieHandle, int tabIndexToActivate) { AccessibleObjectFromWindow(GetDirectUIHWND(ieHandle), OBJID.OBJID_WINDOW, ref accessible); if (accessible == null) { throw new Exception(); } var index = 0; var ieDirectUIHWND = new IEAccessible(ieHandle); foreach (IEAccessible accessor in ieDirectUIHWND.Children) { foreach (var child in accessor.Children) { foreach (var tab in child.Children) { if (tabIndexToActivate >= child.ChildCount - 1) { return; } if (index == tabIndexToActivate) { tab.Activate(); return; } index++; } } } }
public int GetTabCount(IntPtr ieHandle) { AccessibleObjectFromWindow(GetDirectUIHWND(ieHandle), OBJID.OBJID_WINDOW, ref accessible); if (accessible == null) { throw new Exception(); } var ieDirectUIHWND = new IEAccessible(ieHandle); foreach (IEAccessible accessor in ieDirectUIHWND.Children) { foreach (var child in accessor.Children) { foreach (var tab in child.Children) { return(child.ChildCount - 1); } } } return(0); }
public IEAccessible(IntPtr ieHandle, string tabCaptionToActivate) { AccessibleObjectFromWindow(GetDirectUIHWND(ieHandle), OBJID.OBJID_WINDOW, ref accessible); if (accessible == null) throw new Exception(); var ieDirectUIHWND = new IEAccessible(ieHandle); foreach (IEAccessible accessor in ieDirectUIHWND.Children) { foreach (var child in accessor.Children) { foreach (var tab in child.Children) { if (tab.Name == tabCaptionToActivate) { tab.Activate(); return; } } } } }
public string GetActiveTabUrl(IntPtr ieHandle) { AccessibleObjectFromWindow(GetDirectUIHWND(ieHandle), OBJID.OBJID_WINDOW, ref accessible); if (accessible == null) { throw new Exception(); } var ieDirectUIHWND = new IEAccessible(ieHandle); foreach (IEAccessible accessor in ieDirectUIHWND.Children) { foreach (var child in accessor.Children) { foreach (var tab in child.Children) { object tabIndex = tab.accessible.get_accState(CHILDID_SELF); if ((int)tabIndex == IE_ACTIVE_TAB) { var description = tab.accessible.get_accDescription(CHILDID_SELF); if (!string.IsNullOrEmpty(description)) { if (description.Contains(Environment.NewLine)) { var url = description.Substring(description.IndexOf(Environment.NewLine)).Trim(); return(url); } } } } } } return(String.Empty); }
public List<string> GetTabUrls(IntPtr ieHandle) { AccessibleObjectFromWindow(GetDirectUIHWND(ieHandle), OBJID.OBJID_WINDOW, ref accessible); if (accessible == null) throw new Exception(); var ieDirectUIHWND = new IEAccessible(ieHandle); var urlList = new List<string>(); foreach (IEAccessible accessor in ieDirectUIHWND.Children) { foreach (var child in accessor.Children) foreach (var tab in child.Children) { var description = tab.accessible.get_accDescription(CHILDID_SELF); if (!string.IsNullOrEmpty(description)) { if (description.Contains(Environment.NewLine)) { var url = description.Substring(description.IndexOf(Environment.NewLine)).Trim(); urlList.Add(url); } } } } //if (urlList.Count > 0) // urlList.RemoveAt(urlList.Count - 1); return urlList; }
public int GetTabCount(IntPtr ieHandle) { AccessibleObjectFromWindow(GetDirectUIHWND(ieHandle), OBJID.OBJID_WINDOW, ref accessible); if (accessible == null) throw new Exception(); var ieDirectUIHWND = new IEAccessible(ieHandle); foreach (IEAccessible accessor in ieDirectUIHWND.Children) { foreach (var child in accessor.Children) { foreach (var tab in child.Children) return child.ChildCount - 1; } } return 0; }
public List<string> GetTabCaptions(IntPtr ieHandle) { AccessibleObjectFromWindow(GetDirectUIHWND(ieHandle), OBJID.OBJID_WINDOW, ref accessible); if (accessible == null) throw new Exception(); var ieDirectUIHWND = new IEAccessible(ieHandle); var captionList = new List<string>(); foreach (IEAccessible accessor in ieDirectUIHWND.Children) { foreach (var child in accessor.Children) foreach (var tab in child.Children) captionList.Add(tab.Name); } if (captionList.Count > 0) captionList.RemoveAt(captionList.Count - 1); return captionList; }
public string GetActiveTabUrl(IntPtr ieHandle) { AccessibleObjectFromWindow(GetDirectUIHWND(ieHandle), OBJID.OBJID_WINDOW, ref accessible); if (accessible == null) throw new Exception(); var ieDirectUIHWND = new IEAccessible(ieHandle); foreach (IEAccessible accessor in ieDirectUIHWND.Children) { foreach (var child in accessor.Children) { foreach (var tab in child.Children) { object tabIndex = tab.accessible.get_accState(CHILDID_SELF); if ((int)tabIndex == IE_ACTIVE_TAB) { var description = tab.accessible.get_accDescription(CHILDID_SELF); if (!string.IsNullOrEmpty(description)) { if (description.Contains(Environment.NewLine)) { var url = description.Substring(description.IndexOf(Environment.NewLine)).Trim(); return url; } } } } } } return String.Empty; }
public int GetActiveTabIndex(IntPtr ieHandle) { AccessibleObjectFromWindow(GetDirectUIHWND(ieHandle), OBJID.OBJID_WINDOW, ref accessible); if (accessible == null) throw new Exception(); var index = 0; var ieDirectUIHWND = new IEAccessible(ieHandle); foreach (IEAccessible accessor in ieDirectUIHWND.Children) { foreach (var child in accessor.Children) { foreach (var tab in child.Children) { object tabIndex = tab.accessible.get_accState(0); if ((int)tabIndex == IE_ACTIVE_TAB) return index; index++; } } } return -1; }
public void CloseTab(IntPtr ieHandle, int tabIndexToClose) { AccessibleObjectFromWindow(GetDirectUIHWND(ieHandle), OBJID.OBJID_WINDOW, ref accessible); if (accessible == null) throw new Exception(); var ieDirectUIHWND = new IEAccessible(ieHandle); foreach (IEAccessible accessor in ieDirectUIHWND.Children) { foreach (var child in accessor.Children) { foreach (var tab in child.Children) { object tabIndex = tab.accessible.get_accState(0); if ((int)tabIndex == tabIndexToClose) { foreach (var CloseTab in tab.Children) CloseTab.Activate(); return; } } } } }