public WebSkypeSwitcher(InternetBrowserData ibData, Keys switchBind, List <GBC_KeyModifier> modifiers, GBC.BindMethod bindMethod, GBC.HookBehaviour hBehaviour) { //initialize webSkypeStruct = new WebSkypeStruct(); threadHwnd = IntPtr.Zero; browserData = ibData; //if(browserData.BrowserName == InternetBrowser.GoogleChrome) //Create var kvp = new List <KeyValuePair <GBC_KeyModifier, Action> >(); Action bindAction = BindAction; foreach (GBC_KeyModifier mod in modifiers) { kvp.Add(new KeyValuePair <GBC_KeyModifier, Action>(mod, BindAction)); } controller = new GBC(switchBind, GBC.BindMethod.RegisterHotKey, GBC.HookBehaviour.Replacement, kvp); atInstance = AltTabSimulator.Instance; }
/// <summary> /// Обновляет структу webSkypeStruct /// </summary> public static bool WebSkypeStructRefresh(ref WebSkypeStruct wSkype, InternetBrowserData data) { //получим список нужных окон List <IntPtr> widgetsHandles = WowDisableWinKeyTools.GetWidgetWindowHandles(data.ProcessId, Const.CHROME_CLASS_NAME); //найдем элементы: вкладку скайпа и расширение toggle extension foreach (IntPtr widgetHandle in widgetsHandles) { bool isRestored = Tools.RestoreMinimizedWindow(widgetHandle); wSkype.skypeTab = SkypeTab(widgetHandle); wSkype.toggleExtension = ToggleExtension(data.MainWindowHandle); wSkype.windowHandle = widgetHandle; if (isRestored) { Tools.MinimizeWindow(widgetHandle); } if (wSkype.skypeTab != null && wSkype.toggleExtension != null) { return(true); } } return(false); }
public static bool WebSkypeIsNull(WebSkypeStruct wSkype) { if (wSkype.skypeTab == null || wSkype.toggleExtension == null) { return(true); } return(false); }
public static bool WebSkypeIsEmpty(WebSkypeStruct wSkype) { if (wSkype.skypeTab != null && String.IsNullOrEmpty(wSkype.toggleExtension.Current.Name)) { return(true); } return(false); }
/// <summary> /// /// </summary> /// <returns></returns> public static bool WebSkypeIsNullOrEmpty(WebSkypeStruct wSkype) { // if (wSkype.skypeTab == null || wSkype.toggleExtension == null || String.IsNullOrEmpty(wSkype.toggleExtension.Current.Name) || String.IsNullOrEmpty(wSkype.skypeTab.Current.Name)) if (wSkype.skypeTab == null || String.IsNullOrEmpty(wSkype.skypeTab.Current.Name)) { return(true); } return(false); }
/// <summary> /// Calls a similar method depending on browser type /// </summary> /// <param name="wSkype"></param> private void WebSkypeStructToNull(ref WebSkypeStruct wSkype) { switch (browserData.Browser) { case InternetBrowser.GoogleChrome: GoogleChromeSet.WebSkypeStructToNull(ref wSkype); break; case InternetBrowser.Opera: OperaSet.WebSkypeStructToNull(ref wSkype); break; case InternetBrowser.Firefox: //FirefoxSet.WebSkypeStructToNull(ref wSkype); break; case InternetBrowser.TorBrowser: //TorBrowserSet.WebSkypeStructToNull(ref wSkype); break; } }
/// <summary> /// Calls a similar method depending on browser type /// </summary> /// <param name="wSkype"></param> /// <param name="browserData"></param> private void WebSkypeStructRefresh(ref WebSkypeStruct wSkype, InternetBrowserData browserData) { switch (browserData.Browser) { case InternetBrowser.GoogleChrome: GoogleChromeSet.WebSkypeStructRefresh(ref webSkypeStruct, browserData); break; case InternetBrowser.Opera: OperaSet.WebSkypeStructRefresh(ref webSkypeStruct, browserData); break; case InternetBrowser.Firefox: //FirefoxSet.WebSkypeStructRefresh(ref webSkypeStruct, browserData); break; case InternetBrowser.TorBrowser: //TorBrowserSet.WebSkypeStructRefresh(ref webSkypeStruct, browserData); break; } }
/// <summary> /// Обнуляет структу webSkypeStruct /// </summary> public static void WebSkypeStructToNull(ref WebSkypeStruct wSkype) { wSkype.skypeTab = null; wSkype.toggleExtension = null; wSkype.windowHandle = IntPtr.Zero; }